From 3fa922dbab63b65d40e18bf179d1e37c2c6fd157 Mon Sep 17 00:00:00 2001 From: Alex Towle Date: Wed, 25 Sep 2019 18:09:50 -0700 Subject: [PATCH 01/83] `@0x:contracts-staking` Wrote a basic deployment test --- .../test/end_to_end_tests/deployment.ts | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 contracts/staking/test/end_to_end_tests/deployment.ts diff --git a/contracts/staking/test/end_to_end_tests/deployment.ts b/contracts/staking/test/end_to_end_tests/deployment.ts new file mode 100644 index 0000000000..07ba56ade1 --- /dev/null +++ b/contracts/staking/test/end_to_end_tests/deployment.ts @@ -0,0 +1,117 @@ +import { artifacts as exchangeArtifacts, ExchangeContract } from '@0x/contracts-exchange'; +import { artifacts as multisigArtifacts, AssetProxyOwnerContract } from '@0x/contracts-multisig'; +import { blockchainTests, constants, expect } from '@0x/contracts-test-utils'; +import { BigNumber } from '@0x/utils'; +import { TxData } from 'ethereum-types'; + +import { artifacts as stakingArtifacts, ReadOnlyProxyContract, StakingContract, StakingProxyContract } from '../../src'; + +blockchainTests.only('Deployment and Configuration End to End Tests', env => { + // Available Addresses + let nonOwner: string; + let owner: string; + + // Contract Instances + let assetProxyOwner: AssetProxyOwnerContract; + let exchange: ExchangeContract; + let readOnlyProxy: ReadOnlyProxyContract; + let staking: StakingContract; + let stakingProxy: StakingProxyContract; + let stakingWrapper: StakingContract; + + // TxDefaults + let txDefaults: Partial; + + // ChainId of the Exchange + const chainId = new BigNumber(1); + + before(async () => { + [nonOwner, owner] = await env.getAccountAddressesAsync(); + + txDefaults = { + from: owner, + ...env.txDefaults, + }; + + // 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, + 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 Staking. + stakingProxy = await StakingProxyContract.deployFrom0xArtifactAsync( + stakingArtifacts.StakingProxy, + env.provider, + txDefaults, + stakingArtifacts, + staking.address, + readOnlyProxy.address, + ); + + // 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); + }); + + it('should have properly configured the staking proxy', async () => { + // Ensure that the registered read-only proxy is correct. + const readOnlyProxyAddres = await stakingProxy.readOnlyProxy.callAsync(); + expect(readOnlyProxyAddres).to.be.eq(readOnlyProxy.address); + + // Ensure that the registered read-only proxy callee is correct. + const readOnlyProxyCalleeAddres = await stakingProxy.readOnlyProxyCallee.callAsync(); + expect(readOnlyProxyCalleeAddres).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', async () => { + // Ensure that the correct parameters were set. + const params = await stakingWrapper.getParams.callAsync(); + expect(params.length).to.be.eq(6); + expect(params[0]).bignumber.to.be.eq(new BigNumber(864000)); // epochDurationInSeconds + expect(params[1]).bignumber.to.be.eq(new BigNumber(900000)); // rewardDelegatedStakeWeight + expect(params[2]).bignumber.to.be.eq(new BigNumber(100000000000000000000)); // minimumPoolStake + expect(params[3]).bignumber.to.be.eq(10); // maximumMakerInPool + expect(params[4]).bignumber.to.be.eq(1); // cobbDouglasAlphaNumerator + expect(params[5]).bignumber.to.be.eq(2); // cobbDouglasAlphaDenominator + }); +}); From 9282684d931b99d0c52cc5610dab943a61cdef07 Mon Sep 17 00:00:00 2001 From: Alex Towle Date: Thu, 26 Sep 2019 18:00:25 -0700 Subject: [PATCH 02/83] `@0x:contracts-staking` Added a full end-to-end test of a deployment of the exchange and staking system --- contracts/staking/package.json | 2 + .../test/end_to_end_tests/deployment.ts | 374 ++++++++++++++++-- contracts/test-utils/src/constants.ts | 5 + .../utils/contracts/src/Authorizable.sol | 2 +- 4 files changed, 352 insertions(+), 31 deletions(-) diff --git a/contracts/staking/package.json b/contracts/staking/package.json index 0889a633e4..ac37bfe6b9 100644 --- a/contracts/staking/package.json +++ b/contracts/staking/package.json @@ -51,6 +51,8 @@ "devDependencies": { "@0x/abi-gen": "^4.1.0", "@0x/contracts-gen": "^1.0.13", + "@0x/contracts-exchange": "^2.1.14", + "@0x/contracts-multisig": "^3.1.14", "@0x/contracts-test-utils": "^3.1.2", "@0x/dev-utils": "^2.2.1", "@0x/sol-compiler": "^3.1.6", diff --git a/contracts/staking/test/end_to_end_tests/deployment.ts b/contracts/staking/test/end_to_end_tests/deployment.ts index 07ba56ade1..b471b26d79 100644 --- a/contracts/staking/test/end_to_end_tests/deployment.ts +++ b/contracts/staking/test/end_to_end_tests/deployment.ts @@ -1,21 +1,50 @@ -import { artifacts as exchangeArtifacts, ExchangeContract } from '@0x/contracts-exchange'; +import { + artifacts as assetProxyArtifacts, + ERC1155ProxyContract, + ERC20ProxyContract, + ERC721ProxyContract, + MultiAssetProxyContract, + StaticCallProxyContract, +} from '@0x/contracts-asset-proxy'; +import { + artifacts as exchangeArtifacts, + ExchangeContract, + MixinAssetProxyDispatcherAssetProxyRegisteredEventArgs, + MixinProtocolFeesProtocolFeeCollectorAddressEventArgs, + MixinProtocolFeesProtocolFeeMultiplierEventArgs, +} from '@0x/contracts-exchange'; import { artifacts as multisigArtifacts, AssetProxyOwnerContract } from '@0x/contracts-multisig'; import { blockchainTests, constants, expect } from '@0x/contracts-test-utils'; +import { + AuthorizableAuthorizedAddressAddedEventArgs, + AuthorizableAuthorizedAddressRemovedEventArgs, +} from '@0x/contracts-utils'; import { BigNumber } from '@0x/utils'; -import { TxData } from 'ethereum-types'; +import { LogWithDecodedArgs, TxData } from 'ethereum-types'; -import { artifacts as stakingArtifacts, ReadOnlyProxyContract, StakingContract, StakingProxyContract } from '../../src'; +import { + artifacts as stakingArtifacts, + MixinExchangeManagerExchangeAddedEventArgs, + ReadOnlyProxyContract, + StakingContract, + StakingProxyContract, +} from '../../src'; -blockchainTests.only('Deployment and Configuration End to End Tests', env => { +// tslint:disable:no-unnecessary-type-assertion +blockchainTests('Deployment and Configuration End to End Tests', env => { // Available Addresses - let nonOwner: string; 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; @@ -23,14 +52,20 @@ blockchainTests.only('Deployment and Configuration End to End Tests', env => { let txDefaults: Partial; // ChainId of the Exchange - const chainId = new BigNumber(1); + let chainId: number; + + // Protocol Fees + const protocolFeeMultiplier = new BigNumber(150000); before(async () => { - [nonOwner, owner] = await env.getAccountAddressesAsync(); + // Get the chain ID. + chainId = await env.getChainIdAsync(); + // Create accounts and tx defaults + [owner] = await env.getAccountAddressesAsync(); txDefaults = { - from: owner, ...env.txDefaults, + from: owner, }; // Deploy AssetProxyOwner. For the purposes of this test, we will assume that @@ -55,7 +90,7 @@ blockchainTests.only('Deployment and Configuration End to End Tests', env => { env.provider, txDefaults, exchangeArtifacts, - chainId, + new BigNumber(chainId), ); // Deploy ReadOnlyProxy. @@ -74,7 +109,7 @@ blockchainTests.only('Deployment and Configuration End to End Tests', env => { stakingArtifacts, ); - // Deploy Staking. + // Deploy the staking proxy. stakingProxy = await StakingProxyContract.deployFrom0xArtifactAsync( stakingArtifacts.StakingProxy, env.provider, @@ -84,34 +119,313 @@ blockchainTests.only('Deployment and Configuration End to End Tests', env => { readOnlyProxy.address, ); + // 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); }); - it('should have properly configured the staking proxy', async () => { - // Ensure that the registered read-only proxy is correct. - const readOnlyProxyAddres = await stakingProxy.readOnlyProxy.callAsync(); - expect(readOnlyProxyAddres).to.be.eq(readOnlyProxy.address); + 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: any, // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) + assetProxyAddress: string, + assetProxyId: string, + ): Promise { + // Register the asset proxy. + const receipt = await registrationContract.registerAssetProxy.awaitTransactionSuccessAsync( + assetProxyAddress, + { + from: owner, + }, + ); - // Ensure that the registered read-only proxy callee is correct. - const readOnlyProxyCalleeAddres = await stakingProxy.readOnlyProxyCallee.callAsync(); - expect(readOnlyProxyCalleeAddres).to.be.eq(staking.address); + // Ensure that the correct event was logged. + expect(receipt.logs.length).to.be.eq(1); + const log = receipt.logs[0] as LogWithDecodedArgs< + MixinAssetProxyDispatcherAssetProxyRegisteredEventArgs + >; + expect(log.event).to.be.eq('AssetProxyRegistered'); + expect(log.args.id).to.be.eq(assetProxyId); + expect(log.args.assetProxy).to.be.eq(assetProxyAddress); - // Ensure that the registered staking contract is correct. - const stakingAddress = await stakingProxy.stakingContract.callAsync(); - expect(stakingAddress).to.be.eq(staking.address); + // 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: any, // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) + newAuthorityAddress: string, + ): Promise { + // Authorize the address. + const receipt = await authorizable.addAuthorizedAddress.awaitTransactionSuccessAsync( + newAuthorityAddress, + { from: owner }, + ); + + // Ensure that the correct log was emitted. + expect(receipt.logs.length).to.be.eq(1); + const log = receipt.logs[0] as LogWithDecodedArgs; + expect(log.event).to.be.eq('AuthorizedAddressAdded'); + expect(log.args.target).to.be.eq(newAuthorityAddress); + expect(log.args.caller).to.be.eq(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, constants.ERC20_PROXY_ID); + await registerAssetProxyAndAssertSuccessAsync(exchange, erc721Proxy.address, constants.ERC721_PROXY_ID); + await registerAssetProxyAndAssertSuccessAsync( + exchange, + erc1155Proxy.address, + constants.ERC1155_PROXY_ID, + ); + await registerAssetProxyAndAssertSuccessAsync( + exchange, + multiAssetProxy.address, + constants.MULTI_ASSET_PROXY_ID, + ); + await registerAssetProxyAndAssertSuccessAsync( + exchange, + staticCallProxy.address, + constants.STATIC_CALL_PROXY_ID, + ); + }); + + 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, + constants.ERC20_PROXY_ID, + ); + await registerAssetProxyAndAssertSuccessAsync( + multiAssetProxy, + erc721Proxy.address, + constants.ERC721_PROXY_ID, + ); + await registerAssetProxyAndAssertSuccessAsync( + multiAssetProxy, + erc1155Proxy.address, + constants.ERC1155_PROXY_ID, + ); + await registerAssetProxyAndAssertSuccessAsync( + multiAssetProxy, + staticCallProxy.address, + constants.STATIC_CALL_PROXY_ID, + ); + }); + + 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 readOnlyProxyAddres = await stakingProxy.readOnlyProxy.callAsync(); + expect(readOnlyProxyAddres).to.be.eq(readOnlyProxy.address); + + // Ensure that the registered read-only proxy callee is correct. + const readOnlyProxyCalleeAddres = await stakingProxy.readOnlyProxyCallee.callAsync(); + expect(readOnlyProxyCalleeAddres).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.length).to.be.eq(6); + expect(params[0]).bignumber.to.be.eq(new BigNumber(864000)); // epochDurationInSeconds + expect(params[1]).bignumber.to.be.eq(new BigNumber(900000)); // rewardDelegatedStakeWeight + expect(params[2]).bignumber.to.be.eq(new BigNumber(100000000000000000000)); // minimumPoolStake + expect(params[3]).bignumber.to.be.eq(10); // maximumMakerInPool + expect(params[4]).bignumber.to.be.eq(1); // cobbDouglasAlphaNumerator + expect(params[5]).bignumber.to.be.eq(2); // cobbDouglasAlphaDenominator + }); + }); + + 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. + expect(receipt.logs.length).to.be.eq(1); + const log = receipt.logs[0] as LogWithDecodedArgs; + expect(log.event).to.be.eq('ExchangeAdded'); + expect(log.args.exchangeAddress).to.be.eq(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. + expect(receipt.logs.length).to.be.eq(1); + const log = receipt.logs[0] as LogWithDecodedArgs< + MixinProtocolFeesProtocolFeeCollectorAddressEventArgs + >; + expect(log.event).to.be.eq('ProtocolFeeCollectorAddress'); + expect(log.args.oldProtocolFeeCollector).bignumber.to.be.eq(constants.NULL_ADDRESS); + expect(log.args.updatedProtocolFeeCollector).bignumber.to.be.eq(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. + expect(receipt.logs.length).to.be.eq(1); + const log = receipt.logs[0] as LogWithDecodedArgs; + expect(log.event).to.be.eq('ProtocolFeeMultiplier'); + expect(log.args.oldProtocolFeeMultiplier).bignumber.to.be.eq(constants.ZERO_AMOUNT); + expect(log.args.updatedProtocolFeeMultiplier).bignumber.to.be.eq(protocolFeeMultiplier); + + // Ensure that the protocol fee multiplier was set correctly. + const multiplier = await exchange.protocolFeeMultiplier.callAsync(); + expect(multiplier).bignumber.to.be.eq(protocolFeeMultiplier); + }); + }); }); - it('should have initialized the correct parameters', async () => { - // Ensure that the correct parameters were set. - const params = await stakingWrapper.getParams.callAsync(); - expect(params.length).to.be.eq(6); - expect(params[0]).bignumber.to.be.eq(new BigNumber(864000)); // epochDurationInSeconds - expect(params[1]).bignumber.to.be.eq(new BigNumber(900000)); // rewardDelegatedStakeWeight - expect(params[2]).bignumber.to.be.eq(new BigNumber(100000000000000000000)); // minimumPoolStake - expect(params[3]).bignumber.to.be.eq(10); // maximumMakerInPool - expect(params[4]).bignumber.to.be.eq(1); // cobbDouglasAlphaNumerator - expect(params[5]).bignumber.to.be.eq(2); // cobbDouglasAlphaDenominator + describe('transferring ownership', () => { + // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) + // Removes authorization of the "externally owned address" owner and transfers the authorization + // to the asset proxy owner. + async function transferAuthorizationAndAssertSuccessAsync(contract: any): Promise { + // Remove authorization from the old owner. + let receipt = await contract.removeAuthorizedAddress.awaitTransactionSuccessAsync(owner, { from: owner }); + + // Ensure that the correct log was recorded. + expect(receipt.logs.length).to.be.eq(1); + let log = receipt.logs[0] as LogWithDecodedArgs; + expect(log.event).to.be.eq('AuthorizedAddressRemoved'); + expect(log.args.target).to.be.eq(owner); + expect(log.args.caller).to.be.eq(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. + expect(receipt.logs.length).to.be.eq(1); + log = receipt.logs[0] as LogWithDecodedArgs; + expect(log.event).to.be.eq('AuthorizedAddressAdded'); + expect(log.args.target).to.be.eq(assetProxyOwner.address); + expect(log.args.caller).to.be.eq(owner); + + // Ensure that the asset-proxy owner was actually authorized. + isAuthorized = await contract.authorized.callAsync(assetProxyOwner.address); + expect(isAuthorized).to.be.true(); + } + + // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) + // Transfers ownership of a contract to the asset-proxy owner, and ensures that the change was actually made. + async function transferOwnershipAndAssertSuccessAsync(contract: any): 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(readOnlyProxy); + await transferAuthorizationAndAssertSuccessAsync(staking); + 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/test-utils/src/constants.ts b/contracts/test-utils/src/constants.ts index 45bcc6ff72..41c6174d50 100644 --- a/contracts/test-utils/src/constants.ts +++ b/contracts/test-utils/src/constants.ts @@ -84,4 +84,9 @@ export const constants = { PPM_DENOMINATOR: 1e6, PPM_100_PERCENT: 1e6, MAX_CODE_SIZE: 24576, + ERC20_PROXY_ID: '0xf47261b0', + ERC721_PROXY_ID: '0x02571792', + ERC1155_PROXY_ID: '0xa7cb5fb7', + MULTI_ASSET_PROXY_ID: '0x94cfcdd7', + STATIC_CALL_PROXY_ID: '0xc339d10a', }; diff --git a/contracts/utils/contracts/src/Authorizable.sol b/contracts/utils/contracts/src/Authorizable.sol index 38a7a3eed2..e0c6fbfea0 100644 --- a/contracts/utils/contracts/src/Authorizable.sol +++ b/contracts/utils/contracts/src/Authorizable.sol @@ -151,6 +151,6 @@ contract Authorizable is delete authorized[target]; authorities[index] = authorities[authorities.length - 1]; authorities.length -= 1; - emit AuthorizedAddressRemoved(target, msg.sender); + emit AuthorizedAddressRemoved(target, msg.sender); } } From 5b0fc813c49df52af622cb40148cbbeb45f7302e Mon Sep 17 00:00:00 2001 From: fragosti Date: Fri, 27 Sep 2019 15:00:24 -0700 Subject: [PATCH 03/83] Update json-schemas --- .../schemas/eip712_domain_schema.json | 16 +++-- .../schemas/orders_request_opts_schema.json | 58 ++++++++++++++----- ...ayer_api_order_config_response_schema.json | 31 ++++++++-- .../schemas/relayer_api_orders_schema.json | 4 +- 4 files changed, 86 insertions(+), 23 deletions(-) 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" + } } From 87615025fe81d6b81313088807d354e6bf4f2300 Mon Sep 17 00:00:00 2001 From: fragosti Date: Fri, 27 Sep 2019 15:00:35 -0700 Subject: [PATCH 04/83] Remove Client type --- packages/connect/src/http_client.ts | 4 ++-- packages/connect/src/index.ts | 2 +- packages/connect/src/types.ts | 13 +------------ 3 files changed, 4 insertions(+), 15 deletions(-) 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..7578dc9d6f 100644 --- a/packages/connect/src/types.ts +++ b/packages/connect/src/types.ts @@ -11,21 +11,10 @@ import { OrdersRequestOpts, PagedRequestOpts, PaginatedCollection, + RequestOpts, 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; -} - export interface OrdersChannel { subscribe: (subscriptionOpts: OrdersChannelSubscriptionOpts) => void; close: () => void; From a36a5366d322e09c4995b182f63063f2794fe137 Mon Sep 17 00:00:00 2001 From: fragosti Date: Fri, 27 Sep 2019 15:25:18 -0700 Subject: [PATCH 05/83] Update connect tests --- .../test/fixtures/standard_relayer_api/order_config.json | 4 +++- .../test/fixtures/standard_relayer_api/order_config.ts | 2 ++ packages/connect/test/http_client_test.ts | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) 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/connect/test/http_client_test.ts b/packages/connect/test/http_client_test.ts index f799ca8494..196a361621 100644 --- a/packages/connect/test/http_client_test.ts +++ b/packages/connect/test/http_client_test.ts @@ -112,7 +112,7 @@ describe('HttpClient', () => { it('gets orderbook with default page options when none are provided', async () => { const urlWithQuery = `${url}?baseAssetData=${request.baseAssetData}"eAssetData=${ request.quoteAssetData - }`; + }`; fetchMock.get(urlWithQuery, orderbookJSON); const orderbook = await relayerClient.getOrderbookAsync(request); expect(orderbook).to.be.deep.equal(orderbookResponse); @@ -120,7 +120,7 @@ describe('HttpClient', () => { it('gets orderbook with specified page options', async () => { const urlWithQuery = `${url}?baseAssetData=${ request.baseAssetData - }&networkId=42&page=3&perPage=50"eAssetData=${request.quoteAssetData}`; + }&networkId=42&page=3&perPage=50"eAssetData=${request.quoteAssetData}`; fetchMock.get(urlWithQuery, orderbookJSON); const pagedRequestOptions = { page: 3, From c7b7f57ab2b42f3f2c18af7fbbda211fec591b62 Mon Sep 17 00:00:00 2001 From: fragosti Date: Fri, 27 Sep 2019 15:25:43 -0700 Subject: [PATCH 06/83] Update request types --- packages/types/src/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index b4c2c09c39..fe92a36807 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -428,6 +428,8 @@ export interface OrdersRequestOpts { senderAddress?: string; makerAssetData?: string; takerAssetData?: string; + makerFeeAssetData?: string; + takerFeeAssetData?: string; makerAddress?: string; takerAddress?: string; traderAddress?: string; @@ -467,6 +469,8 @@ export interface OrderConfigResponse { takerFee: BigNumber; feeRecipientAddress: string; senderAddress: string; + makerFeeAssetData: string; + takerFeeAssetData: string; } export type FeeRecipientsResponse = PaginatedCollection; From d39fcd347542534023903bb36643afb68fd568e6 Mon Sep 17 00:00:00 2001 From: fragosti Date: Fri, 27 Sep 2019 15:49:57 -0700 Subject: [PATCH 07/83] Upgrade sra-spec --- packages/connect/test/http_client_test.ts | 4 +- packages/sra-spec/.discharge.json | 4 +- packages/sra-spec/public/index.html | 39 +++++++------- packages/sra-spec/src/api.ts | 54 ++++++++++++------- .../sra-spec/src/examples/relayerApiOrder.ts | 3 ++ .../examples/relayerApiOrderConfigResponse.ts | 2 + .../examples/relayerApiOrderbookResponse.ts | 4 ++ .../src/examples/relayerApiOrdersResponse.ts | 3 ++ packages/sra-spec/src/examples/signedOrder.ts | 3 ++ packages/sra-spec/src/md/introduction.md | 16 +++--- 10 files changed, 84 insertions(+), 48 deletions(-) diff --git a/packages/connect/test/http_client_test.ts b/packages/connect/test/http_client_test.ts index 196a361621..f799ca8494 100644 --- a/packages/connect/test/http_client_test.ts +++ b/packages/connect/test/http_client_test.ts @@ -112,7 +112,7 @@ describe('HttpClient', () => { it('gets orderbook with default page options when none are provided', async () => { const urlWithQuery = `${url}?baseAssetData=${request.baseAssetData}"eAssetData=${ request.quoteAssetData - }`; + }`; fetchMock.get(urlWithQuery, orderbookJSON); const orderbook = await relayerClient.getOrderbookAsync(request); expect(orderbook).to.be.deep.equal(orderbookResponse); @@ -120,7 +120,7 @@ describe('HttpClient', () => { it('gets orderbook with specified page options', async () => { const urlWithQuery = `${url}?baseAssetData=${ request.baseAssetData - }&networkId=42&page=3&perPage=50"eAssetData=${request.quoteAssetData}`; + }&networkId=42&page=3&perPage=50"eAssetData=${request.quoteAssetData}`; fetchMock.get(urlWithQuery, orderbookJSON); const pagedRequestOptions = { page: 3, 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/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. From 319b4dfd7506b83944cbb021c82d36a67a895060 Mon Sep 17 00:00:00 2001 From: fragosti Date: Fri, 27 Sep 2019 16:00:41 -0700 Subject: [PATCH 08/83] Remove unused imports --- packages/connect/src/types.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/packages/connect/src/types.ts b/packages/connect/src/types.ts index 7578dc9d6f..db614ebf3b 100644 --- a/packages/connect/src/types.ts +++ b/packages/connect/src/types.ts @@ -1,18 +1,6 @@ import { APIOrder, - AssetPairsItem, - AssetPairsRequestOpts, - FeeRecipientsResponse, - OrderbookRequest, - OrderbookResponse, - OrderConfigRequest, - OrderConfigResponse, OrdersChannelSubscriptionOpts, - OrdersRequestOpts, - PagedRequestOpts, - PaginatedCollection, - RequestOpts, - SignedOrder, } from '@0x/types'; export interface OrdersChannel { From a9f1237208b003135868ca5500beebad51e271f3 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 27 Sep 2019 19:32:05 -0400 Subject: [PATCH 09/83] `ethereum-types`: Add `DecodedLogs` type (again?). --- packages/ethereum-types/CHANGELOG.json | 4 ++++ packages/ethereum-types/src/index.ts | 2 ++ 2 files changed, 6 insertions(+) diff --git a/packages/ethereum-types/CHANGELOG.json b/packages/ethereum-types/CHANGELOG.json index cb81379742..007e3bbbfb 100644 --- a/packages/ethereum-types/CHANGELOG.json +++ b/packages/ethereum-types/CHANGELOG.json @@ -5,6 +5,10 @@ { "note": "Add `RevertErrorAbi` interface as part of `AbiDefinition` types", "pr": 1761 + }, + { + "note": "Add `DecodedLogs` type", + "pr": "TODO" } ] }, 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; } From cf8d424b9bd52af5e7b2bae4a5b6e47f9219c8a1 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 27 Sep 2019 19:32:55 -0400 Subject: [PATCH 10/83] `@0x/contracts-test-utils`: Add `number_utils.ts` and `hexSize()`. --- contracts/test-utils/CHANGELOG.json | 4 ++ contracts/test-utils/src/hex_utils.ts | 7 ++ contracts/test-utils/src/index.ts | 21 +++++- contracts/test-utils/src/number_utils.ts | 88 ++++++++++++++++++++++++ 4 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 contracts/test-utils/src/number_utils.ts diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 8496757a6f..b300e9e69a 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -93,6 +93,10 @@ { "note": "Add `shortZip()` to `lang_utils.ts`", "pr": 2155 + }, + { + "note": "Add `number_utils.ts` and `hexSize()`", + "pr": "TODO" } ] }, 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/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; +} From d6a4d67a1490626b1f6c7d53f68cc3d9bdc1051f Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 27 Sep 2019 19:33:33 -0400 Subject: [PATCH 11/83] `@0x/contracts-asset-proxy`: Add `ERC20BridgeProxy` and tests. --- contracts/asset-proxy/CHANGELOG.json | 4 + .../contracts/src/ERC20BridgeProxy.sol | 128 ++++++++ .../contracts/src/interfaces/IERC20Bridge.sol | 40 +++ .../contracts/test/TestERC20Bridge.sol | 108 +++++++ contracts/asset-proxy/package.json | 2 +- contracts/asset-proxy/src/artifacts.ts | 6 + contracts/asset-proxy/src/wrappers.ts | 3 + .../asset-proxy/test/erc20bridge_proxy.ts | 296 ++++++++++++++++++ contracts/asset-proxy/tsconfig.json | 3 + 9 files changed, 589 insertions(+), 1 deletion(-) create mode 100644 contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol create mode 100644 contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol create mode 100644 contracts/asset-proxy/contracts/test/TestERC20Bridge.sol create mode 100644 contracts/asset-proxy/test/erc20bridge_proxy.ts diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 70ea1b093c..885c73a686 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -17,6 +17,10 @@ { "note": "Remove unused dependency on IAuthorizable in IAssetProxy", "pr": 1910 + }, + { + "note": "Add `ERC20BridgeProxy`", + "pr": "TODO" } ] }, diff --git a/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol new file mode 100644 index 0000000000..67b32030a2 --- /dev/null +++ b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol @@ -0,0 +1,128 @@ +/* + + 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 Result of a successful bridge call. + bytes4 constant public BRIDGE_SUCCESS = 0xb5d40d78; + // @dev Id of this proxy. + // bytes4(keccak256("ERC20BridgeProxy(address,address,bytes)")) + bytes4 constant private PROXY_ID = 0x37708e9b; + + /// @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).transfer( + bridgeData, + tokenAddress, + from, + to, + amount + ); + // Bridge must return the magic bytes to indicate success. + require(success == BRIDGE_SUCCESS, "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, address, bytes) + ); + 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/interfaces/IERC20Bridge.sol b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol new file mode 100644 index 0000000000..7cb260eacc --- /dev/null +++ b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol @@ -0,0 +1,40 @@ +/* + + 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 Transfers `amount` of the ERC20 `tokenAddress` from `from` to `to`. + /// @param bridgeData Arbitrary asset data needed by the bridge contract. + /// @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. + /// @return success The magic bytes `0xb5d40d78` if successful. + function transfer( + bytes calldata bridgeData, + address tokenAddress, + address from, + address to, + uint256 amount + ) + external + returns (bytes4 success); +} diff --git a/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol new file mode 100644 index 0000000000..4f3240ee5d --- /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 BridgeTransfer( + bytes bridgeData, + address tokenAddress, + address from, + address to, + uint256 amount + ); + + constructor() public { + testToken = new TestERC20BridgeToken(); + } + + function setTestTokenBalance(address owner, uint256 balance) + external + { + testToken.setBalance(owner, balance); + } + + function transfer( + bytes calldata bridgeData, + address tokenAddress, + address from, + address to, + uint256 amount + ) + external + returns (bytes4) + { + emit BridgeTransfer( + bridgeData, + tokenAddress, + from, + to, + amount + ); + // 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/package.json b/contracts/asset-proxy/package.json index a05fa69afe..702a17e35f 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -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|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|TestStaticCallTarget).json", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually." }, "repository": { diff --git a/contracts/asset-proxy/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index 85f9cbc640..add295190b 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -6,23 +6,27 @@ 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 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 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 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, @@ -31,5 +35,7 @@ export const artifacts = { IAssetProxy: IAssetProxy as ContractArtifact, IAssetProxyDispatcher: IAssetProxyDispatcher as ContractArtifact, IAuthorizable: IAuthorizable as ContractArtifact, + IERC20Bridge: IERC20Bridge as ContractArtifact, + TestERC20Bridge: TestERC20Bridge as ContractArtifact, TestStaticCallTarget: TestStaticCallTarget as ContractArtifact, }; diff --git a/contracts/asset-proxy/src/wrappers.ts b/contracts/asset-proxy/src/wrappers.ts index a1d2bcb46d..16578fd181 100644 --- a/contracts/asset-proxy/src/wrappers.ts +++ b/contracts/asset-proxy/src/wrappers.ts @@ -4,15 +4,18 @@ * ----------------------------------------------------------------------------- */ 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/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/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_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..05a3f170bf --- /dev/null +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -0,0 +1,296 @@ +import { + blockchainTests, + constants, + expect, + getRandomInteger, + hexLeftPad, + hexRightPad, + hexSlice, + Numberish, + randomAddress, +} from '@0x/contracts-test-utils'; +import { AbiEncoder, AuthorizableRevertErrors, BigNumber, StringRevertError } from '@0x/utils'; +import { DecodedLogs } from 'ethereum-types'; +import * as _ from 'lodash'; + +import { + artifacts, + ERC20BridgeProxyContract, + TestERC20BridgeBridgeTransferEventArgs, + TestERC20BridgeContract, +} from '../src'; + +blockchainTests.resets.only('ERC20BridgeProxy unit tests', env => { + const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad('0xb5d40d78'); + 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', 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 TestERC20BridgeBridgeTransferEventArgs; + expect(args.bridgeData).to.eq(encodeBridgeData(opts.assetData.bridgeData)); + 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); + }); + + 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, + }), + }), + }); + // This will actually revert when the AP tries to decode the return + // value. + return expect(tx).to.revertWith(revertError); + }); + + it('fails if balance of `to` increases by `amount - 1`', async () => { + const amount = getRandomInteger(1, 100e18); + const tx = transferFromAsync({ + amount, + assetData: createAssetData({ + bridgeData: createBridgeData({ + transferAmount: amount.minus(1), + }), + }), + }); + // This will actually revert when the AP tries to decode the return + // value. + 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, + }), + }), + }); + // This will actually revert when the AP tries to decode the return + // value. + 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); + }); + }); +}); diff --git a/contracts/asset-proxy/tsconfig.json b/contracts/asset-proxy/tsconfig.json index b601856b16..9c332c4a33 100644 --- a/contracts/asset-proxy/tsconfig.json +++ b/contracts/asset-proxy/tsconfig.json @@ -4,17 +4,20 @@ "include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"], "files": [ "generated-artifacts/ERC1155Proxy.json", + "generated-artifacts/ERC20BridgeProxy.json", "generated-artifacts/ERC20Proxy.json", "generated-artifacts/ERC721Proxy.json", "generated-artifacts/IAssetData.json", "generated-artifacts/IAssetProxy.json", "generated-artifacts/IAssetProxyDispatcher.json", "generated-artifacts/IAuthorizable.json", + "generated-artifacts/IERC20Bridge.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/TestStaticCallTarget.json" ], "exclude": ["./deploy/solc/solc_bin"] From 3e2e05caf2ac12ab9a812bbeb19c440b7399868d Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 27 Sep 2019 19:47:14 -0400 Subject: [PATCH 12/83] Update changelogs --- contracts/asset-proxy/CHANGELOG.json | 2 +- contracts/test-utils/CHANGELOG.json | 2 +- packages/ethereum-types/CHANGELOG.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 885c73a686..d4fa7bb152 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -20,7 +20,7 @@ }, { "note": "Add `ERC20BridgeProxy`", - "pr": "TODO" + "pr": 2220 } ] }, diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index b300e9e69a..5703365767 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -96,7 +96,7 @@ }, { "note": "Add `number_utils.ts` and `hexSize()`", - "pr": "TODO" + "pr": 2220 } ] }, diff --git a/packages/ethereum-types/CHANGELOG.json b/packages/ethereum-types/CHANGELOG.json index 007e3bbbfb..9d7002e308 100644 --- a/packages/ethereum-types/CHANGELOG.json +++ b/packages/ethereum-types/CHANGELOG.json @@ -8,7 +8,7 @@ }, { "note": "Add `DecodedLogs` type", - "pr": "TODO" + "pr": 2220 } ] }, From 1959d149f8d11ba3e299512cb41b2cb3110dd0a7 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 27 Sep 2019 19:49:23 -0400 Subject: [PATCH 13/83] `@0x/contracts-asset-proxy`: Fix incorrect comments in `ERC20BridgeProxy` tests. --- contracts/asset-proxy/test/erc20bridge_proxy.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/contracts/asset-proxy/test/erc20bridge_proxy.ts b/contracts/asset-proxy/test/erc20bridge_proxy.ts index 05a3f170bf..1f6a4b8bc8 100644 --- a/contracts/asset-proxy/test/erc20bridge_proxy.ts +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -244,8 +244,6 @@ blockchainTests.resets.only('ERC20BridgeProxy unit tests', env => { }), }), }); - // This will actually revert when the AP tries to decode the return - // value. return expect(tx).to.revertWith(revertError); }); @@ -259,8 +257,6 @@ blockchainTests.resets.only('ERC20BridgeProxy unit tests', env => { }), }), }); - // This will actually revert when the AP tries to decode the return - // value. return expect(tx).to.revertWith('BRIDGE_UNDERPAY'); }); @@ -275,8 +271,6 @@ blockchainTests.resets.only('ERC20BridgeProxy unit tests', env => { }), }), }); - // This will actually revert when the AP tries to decode the return - // value. return expect(tx).to.revertWith('BRIDGE_UNDERPAY'); }); }); From b728d13d8c419390a049f1855d1168817b94eafb Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 27 Sep 2019 23:54:32 -0400 Subject: [PATCH 14/83] `@0x/contracts-asset-proxy`: Remove `only` tests modifier. --- contracts/asset-proxy/test/erc20bridge_proxy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/asset-proxy/test/erc20bridge_proxy.ts b/contracts/asset-proxy/test/erc20bridge_proxy.ts index 1f6a4b8bc8..1d791f8f6b 100644 --- a/contracts/asset-proxy/test/erc20bridge_proxy.ts +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -20,7 +20,7 @@ import { TestERC20BridgeContract, } from '../src'; -blockchainTests.resets.only('ERC20BridgeProxy unit tests', env => { +blockchainTests.resets('ERC20BridgeProxy unit tests', env => { const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad('0xb5d40d78'); let owner: string; let badCaller: string; From b50e26dc2a40d290046fa689de83bf1528cd72a4 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sun, 29 Sep 2019 17:08:43 -0400 Subject: [PATCH 15/83] `@0x/contracts-asset-proxy`: Rename `IERC20Bridge.transfer()` -> `IERC20Bridge.withdrawTo()`. `@0x/contracts-asset-proxy`: Make `bridgeData` last parameter in `IERC20Bridge.withdrawTo()`. `@0x/contracts-asset-proxy`: Reuse `PROXY_ID` as `BRIDGE_SUCCESS`. --- .../contracts/src/ERC20BridgeProxy.sol | 18 +++++------ .../contracts/src/bridges/ERC20Bridge.sol | 30 +++++++++++++++++++ .../contracts/src/interfaces/IERC20Bridge.sol | 12 ++++---- .../contracts/test/TestERC20Bridge.sol | 22 +++++++------- .../asset-proxy/test/erc20bridge_proxy.ts | 16 +++++++--- 5 files changed, 67 insertions(+), 31 deletions(-) create mode 100644 contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol diff --git a/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol index 67b32030a2..8ccc428682 100644 --- a/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol +++ b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol @@ -34,9 +34,7 @@ contract ERC20BridgeProxy is using LibBytes for bytes; using LibSafeMath for uint256; - // @dev Result of a successful bridge call. - bytes4 constant public BRIDGE_SUCCESS = 0xb5d40d78; - // @dev Id of this proxy. + // @dev Id of this proxy. Also the result of a successful bridge call. // bytes4(keccak256("ERC20BridgeProxy(address,address,bytes)")) bytes4 constant private PROXY_ID = 0x37708e9b; @@ -75,15 +73,15 @@ contract ERC20BridgeProxy is uint256 balanceBefore = balanceOf(tokenAddress, to); // Call the bridge, who should transfer `amount` of `tokenAddress` to // `to`. - bytes4 success = IERC20Bridge(bridgeAddress).transfer( - bridgeData, + bytes4 success = IERC20Bridge(bridgeAddress).withdrawTo( tokenAddress, from, to, - amount + amount, + bridgeData ); - // Bridge must return the magic bytes to indicate success. - require(success == BRIDGE_SUCCESS, "BRIDGE_FAILED"); + // 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), @@ -109,9 +107,9 @@ contract ERC20BridgeProxy is view returns (uint256 balance) { - (address tokenAddress, ,) = abi.decode( + (address tokenAddress) = abi.decode( assetData.sliceDestructive(4, assetData.length), - (address, address, bytes) + (address) ); return balanceOf(tokenAddress, owner); } diff --git a/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol b/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol new file mode 100644 index 0000000000..9b9f00f764 --- /dev/null +++ b/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol @@ -0,0 +1,30 @@ +/* + + 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 "../interfaces/IERC20Bridge.sol"; + + +contract ERC20Bridge is + IERC20Bridge +{ + // @dev Result of a successful bridge call. + bytes4 constant internal BRIDGE_SUCCESS = 0x37708e9b; +} diff --git a/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol index 7cb260eacc..1ee1361fbe 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol @@ -19,21 +19,21 @@ pragma solidity ^0.5.9; -contract IERC20Bridge { +interface IERC20Bridge { /// @dev Transfers `amount` of the ERC20 `tokenAddress` from `from` to `to`. - /// @param bridgeData Arbitrary asset data needed by the bridge contract. /// @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. - /// @return success The magic bytes `0xb5d40d78` if successful. - function transfer( - bytes calldata bridgeData, + /// @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 + uint256 amount, + bytes calldata bridgeData ) external returns (bytes4 success); diff --git a/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol index 4f3240ee5d..e6b3441658 100644 --- a/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol +++ b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol @@ -19,7 +19,7 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; -import "../src/interfaces/IERC20Bridge.sol"; +import "../src/bridges/ERC20Bridge.sol"; /// @dev Test bridge token @@ -50,16 +50,16 @@ contract TestERC20BridgeToken { /// @dev Test bridge contract. contract TestERC20Bridge is - IERC20Bridge + ERC20Bridge { TestERC20BridgeToken public testToken; - event BridgeTransfer( - bytes bridgeData, + event BridgeWithdrawTo( address tokenAddress, address from, address to, - uint256 amount + uint256 amount, + bytes bridgeData ); constructor() public { @@ -72,22 +72,22 @@ contract TestERC20Bridge is testToken.setBalance(owner, balance); } - function transfer( - bytes calldata bridgeData, + function withdrawTo( address tokenAddress, address from, address to, - uint256 amount + uint256 amount, + bytes calldata bridgeData ) external returns (bytes4) { - emit BridgeTransfer( - bridgeData, + emit BridgeWithdrawTo( tokenAddress, from, to, - amount + amount, + bridgeData ); // Unpack the bridgeData. ( diff --git a/contracts/asset-proxy/test/erc20bridge_proxy.ts b/contracts/asset-proxy/test/erc20bridge_proxy.ts index 1d791f8f6b..22dfe5b1cc 100644 --- a/contracts/asset-proxy/test/erc20bridge_proxy.ts +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -16,12 +16,13 @@ import * as _ from 'lodash'; import { artifacts, ERC20BridgeProxyContract, - TestERC20BridgeBridgeTransferEventArgs, + TestERC20BridgeBridgeWithdrawToEventArgs, TestERC20BridgeContract, } from '../src'; blockchainTests.resets('ERC20BridgeProxy unit tests', env => { - const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad('0xb5d40d78'); + const PROXY_ID = '0xb5d40d78'; + const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad(PROXY_ID); let owner: string; let badCaller: string; let assetProxy: ERC20BridgeProxyContract; @@ -162,12 +163,12 @@ blockchainTests.resets('ERC20BridgeProxy unit tests', env => { const opts = createTransferFromOpts(); const logs = await transferFromAsync(opts); expect(logs.length).to.eq(1); - const args = logs[0].args as TestERC20BridgeBridgeTransferEventArgs; - expect(args.bridgeData).to.eq(encodeBridgeData(opts.assetData.bridgeData)); + 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 () => { @@ -287,4 +288,11 @@ blockchainTests.resets('ERC20BridgeProxy unit tests', env => { 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); + }); + }); }); From 8006e4fe3b3d461adfa8a173535318882c022356 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sun, 29 Sep 2019 21:53:42 -0400 Subject: [PATCH 16/83] `@0x/contracts-asset-proxy`: Change proxy ID and add proxy signature to `IAssetData`. --- .../asset-proxy/contracts/src/ERC20BridgeProxy.sol | 4 ++-- .../asset-proxy/contracts/src/bridges/ERC20Bridge.sol | 2 +- .../contracts/src/interfaces/IAssetData.sol | 11 +++++++++++ contracts/asset-proxy/package.json | 2 +- contracts/asset-proxy/src/artifacts.ts | 2 ++ contracts/asset-proxy/src/wrappers.ts | 1 + contracts/asset-proxy/test/erc20bridge_proxy.ts | 2 +- contracts/asset-proxy/tsconfig.json | 1 + 8 files changed, 20 insertions(+), 5 deletions(-) diff --git a/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol index 8ccc428682..f1b4401224 100644 --- a/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol +++ b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol @@ -35,8 +35,8 @@ contract ERC20BridgeProxy is using LibSafeMath for uint256; // @dev Id of this proxy. Also the result of a successful bridge call. - // bytes4(keccak256("ERC20BridgeProxy(address,address,bytes)")) - bytes4 constant private PROXY_ID = 0x37708e9b; + // 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`. diff --git a/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol b/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol index 9b9f00f764..74351f3922 100644 --- a/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol @@ -26,5 +26,5 @@ contract ERC20Bridge is IERC20Bridge { // @dev Result of a successful bridge call. - bytes4 constant internal BRIDGE_SUCCESS = 0x37708e9b; + bytes4 constant internal BRIDGE_SUCCESS = 0xdc1600f3; } 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/package.json b/contracts/asset-proxy/package.json index 702a17e35f..a442bdae07 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -35,7 +35,7 @@ "compile:truffle": "truffle compile" }, "config": { - "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20BridgeProxy|ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|TestStaticCallTarget).json", + "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20Bridge|ERC20BridgeProxy|ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|TestStaticCallTarget).json", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually." }, "repository": { diff --git a/contracts/asset-proxy/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index add295190b..3c82130b49 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -6,6 +6,7 @@ import { ContractArtifact } from 'ethereum-types'; import * as ERC1155Proxy from '../generated-artifacts/ERC1155Proxy.json'; +import * as ERC20Bridge from '../generated-artifacts/ERC20Bridge.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'; @@ -31,6 +32,7 @@ export const artifacts = { ERC721Proxy: ERC721Proxy as ContractArtifact, MultiAssetProxy: MultiAssetProxy as ContractArtifact, StaticCallProxy: StaticCallProxy as ContractArtifact, + ERC20Bridge: ERC20Bridge as ContractArtifact, IAssetData: IAssetData as ContractArtifact, IAssetProxy: IAssetProxy as ContractArtifact, IAssetProxyDispatcher: IAssetProxyDispatcher as ContractArtifact, diff --git a/contracts/asset-proxy/src/wrappers.ts b/contracts/asset-proxy/src/wrappers.ts index 16578fd181..a72cdf72de 100644 --- a/contracts/asset-proxy/src/wrappers.ts +++ b/contracts/asset-proxy/src/wrappers.ts @@ -4,6 +4,7 @@ * ----------------------------------------------------------------------------- */ export * from '../generated-wrappers/erc1155_proxy'; +export * from '../generated-wrappers/erc20_bridge'; export * from '../generated-wrappers/erc20_bridge_proxy'; export * from '../generated-wrappers/erc20_proxy'; export * from '../generated-wrappers/erc721_proxy'; diff --git a/contracts/asset-proxy/test/erc20bridge_proxy.ts b/contracts/asset-proxy/test/erc20bridge_proxy.ts index 22dfe5b1cc..7dec5d2345 100644 --- a/contracts/asset-proxy/test/erc20bridge_proxy.ts +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -21,7 +21,7 @@ import { } from '../src'; blockchainTests.resets('ERC20BridgeProxy unit tests', env => { - const PROXY_ID = '0xb5d40d78'; + const PROXY_ID = '0xdc1600f3'; const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad(PROXY_ID); let owner: string; let badCaller: string; diff --git a/contracts/asset-proxy/tsconfig.json b/contracts/asset-proxy/tsconfig.json index 9c332c4a33..a0a766a352 100644 --- a/contracts/asset-proxy/tsconfig.json +++ b/contracts/asset-proxy/tsconfig.json @@ -4,6 +4,7 @@ "include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"], "files": [ "generated-artifacts/ERC1155Proxy.json", + "generated-artifacts/ERC20Bridge.json", "generated-artifacts/ERC20BridgeProxy.json", "generated-artifacts/ERC20Proxy.json", "generated-artifacts/ERC721Proxy.json", From 991cbc9f4ed6866e4c431ecb99f1abfb2ac55bd2 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Mon, 30 Sep 2019 22:16:56 +0800 Subject: [PATCH 17/83] Add ability to pass specific dist tag to npm publish command from publishing flow --- packages/monorepo-scripts/src/publish.ts | 3 +++ packages/monorepo-scripts/src/utils/configs.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/monorepo-scripts/src/publish.ts b/packages/monorepo-scripts/src/publish.ts index 429b70b639..19c91567ed 100644 --- a/packages/monorepo-scripts/src/publish.ts +++ b/packages/monorepo-scripts/src/publish.ts @@ -252,6 +252,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/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', }; From 891d6859511ebc053b9cd29e9dcfc44de0a0fec6 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Mon, 30 Sep 2019 22:17:44 +0800 Subject: [PATCH 18/83] Pass '3.0' tag when publishing so that publishes from 3.0 branch don't clobber the 2.1 packages installed with the default 'latest' tag --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6e3d1f5465..6b0a7e3de4 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "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=3.0 node ./packages/monorepo-scripts/lib/publish.js", "install:all": "yarn install", "wsrun": "wsrun", "lerna": "lerna", From 737ad586a56fdd7bb4cf0c7d3790a972b76661d4 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Mon, 30 Sep 2019 16:10:59 -0700 Subject: [PATCH 19/83] `@0x/types`: Add `ERC20Bridge` to `AssetProxyId` --- packages/types/CHANGELOG.json | 4 ++++ packages/types/src/index.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/types/CHANGELOG.json b/packages/types/CHANGELOG.json index 3c341ca548..4a317f6ed6 100644 --- a/packages/types/CHANGELOG.json +++ b/packages/types/CHANGELOG.json @@ -13,6 +13,10 @@ { "note": "Add status types for Staking contracts", "pr": 1910 + }, + { + "note": "Add `ERC20Bridge` to `AssetProxyId`", + "pr": 2220 } ] }, diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 22ad940e3f..092273100e 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -177,6 +177,7 @@ export enum AssetProxyId { MultiAsset = '0x94cfcdd7', ERC1155 = '0xa7cb5fb7', StaticCall = '0xc339d10a', + ERC20Bridge = '0xdc1600f3', } export interface ERC20AssetData { From 579dba1473abef7f399b88f428b81a3dfa456b86 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Mon, 30 Sep 2019 17:06:31 -0700 Subject: [PATCH 20/83] `@0x/contracts-asset-proxy`: Minor `ERC20BridgeProxy` test changes. --- contracts/asset-proxy/test/erc20bridge_proxy.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/contracts/asset-proxy/test/erc20bridge_proxy.ts b/contracts/asset-proxy/test/erc20bridge_proxy.ts index 7dec5d2345..358b0038b2 100644 --- a/contracts/asset-proxy/test/erc20bridge_proxy.ts +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -9,6 +9,7 @@ import { 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'; @@ -21,7 +22,7 @@ import { } from '../src'; blockchainTests.resets('ERC20BridgeProxy unit tests', env => { - const PROXY_ID = '0xdc1600f3'; + const PROXY_ID = AssetProxyId.ERC20Bridge; const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad(PROXY_ID); let owner: string; let badCaller: string; @@ -141,7 +142,7 @@ blockchainTests.resets('ERC20BridgeProxy unit tests', env => { return (logs as any) as DecodedLogs; } - it('succeeds if the bridge succeeds and balance increases', async () => { + it('succeeds if the bridge succeeds and balance increases by `amount`', async () => { const tx = transferFromAsync(); return expect(tx).to.be.fulfilled(''); }); @@ -248,7 +249,7 @@ blockchainTests.resets('ERC20BridgeProxy unit tests', env => { return expect(tx).to.revertWith(revertError); }); - it('fails if balance of `to` increases by `amount - 1`', async () => { + it('fails if balance of `to` increases by less than `amount`', async () => { const amount = getRandomInteger(1, 100e18); const tx = transferFromAsync({ amount, From 6ca8edbf19225bc34b2207a729a48cd3c8f91e81 Mon Sep 17 00:00:00 2001 From: Alex Towle Date: Mon, 30 Sep 2019 16:59:59 -0700 Subject: [PATCH 21/83] `@0x:contracts-exchange` Moved the deployment test to the exchange and addressed other review comments --- contracts/exchange/package.json | 2 + contracts/exchange/src/index.ts | 1 + contracts/exchange/src/wrapper_interfaces.ts | 53 ++++++ .../test/end-to-end}/deployment.ts | 179 +++++++++--------- contracts/staking/package.json | 1 - contracts/test-utils/src/constants.ts | 5 - 6 files changed, 149 insertions(+), 92 deletions(-) create mode 100644 contracts/exchange/src/wrapper_interfaces.ts rename contracts/{staking/test/end_to_end_tests => exchange/test/end-to-end}/deployment.ts (74%) diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index e14b5b896b..ca5e7ce055 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -50,6 +50,8 @@ "devDependencies": { "@0x/abi-gen": "^4.2.1", "@0x/contracts-gen": "^1.0.15", + "@0x/contracts-multisig": "^3.1.14", + "@0x/contracts-staking": "^1.0.0", "@0x/contracts-test-utils": "^3.1.16", "@0x/dev-utils": "^2.3.3", "@0x/sol-compiler": "^3.1.15", 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/staking/test/end_to_end_tests/deployment.ts b/contracts/exchange/test/end-to-end/deployment.ts similarity index 74% rename from contracts/staking/test/end_to_end_tests/deployment.ts rename to contracts/exchange/test/end-to-end/deployment.ts index b471b26d79..e557adae3f 100644 --- a/contracts/staking/test/end_to_end_tests/deployment.ts +++ b/contracts/exchange/test/end-to-end/deployment.ts @@ -6,28 +6,35 @@ import { MultiAssetProxyContract, StaticCallProxyContract, } from '@0x/contracts-asset-proxy'; -import { - artifacts as exchangeArtifacts, - ExchangeContract, - MixinAssetProxyDispatcherAssetProxyRegisteredEventArgs, - MixinProtocolFeesProtocolFeeCollectorAddressEventArgs, - MixinProtocolFeesProtocolFeeMultiplierEventArgs, -} from '@0x/contracts-exchange'; import { artifacts as multisigArtifacts, AssetProxyOwnerContract } from '@0x/contracts-multisig'; -import { blockchainTests, constants, expect } from '@0x/contracts-test-utils'; +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 { LogWithDecodedArgs, TxData } from 'ethereum-types'; +import { TxData } from 'ethereum-types'; import { - artifacts as stakingArtifacts, - MixinExchangeManagerExchangeAddedEventArgs, - ReadOnlyProxyContract, - StakingContract, - StakingProxyContract, + artifacts as exchangeArtifacts, + AssetProxyDispatcher, + Authorizable, + ExchangeAssetProxyRegisteredEventArgs, + ExchangeContract, + ExchangeEvents, + ExchangeProtocolFeeCollectorAddressEventArgs, + ExchangeProtocolFeeMultiplierEventArgs, + Ownable, } from '../../src'; // tslint:disable:no-unnecessary-type-assertion @@ -160,7 +167,7 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { describe('exchange specific', () => { // Registers an asset proxy in the exchange contract and ensure that the correct state changes occurred. async function registerAssetProxyAndAssertSuccessAsync( - registrationContract: any, // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) + registrationContract: AssetProxyDispatcher, assetProxyAddress: string, assetProxyId: string, ): Promise { @@ -173,13 +180,11 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { ); // Ensure that the correct event was logged. - expect(receipt.logs.length).to.be.eq(1); - const log = receipt.logs[0] as LogWithDecodedArgs< - MixinAssetProxyDispatcherAssetProxyRegisteredEventArgs - >; - expect(log.event).to.be.eq('AssetProxyRegistered'); - expect(log.args.id).to.be.eq(assetProxyId); - expect(log.args.assetProxy).to.be.eq(assetProxyAddress); + 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); @@ -188,7 +193,7 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { // Authorizes an address for a given asset proxy using the owner address. async function authorizeAddressAndAssertSuccessAsync( - authorizable: any, // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) + authorizable: Authorizable, newAuthorityAddress: string, ): Promise { // Authorize the address. @@ -198,11 +203,11 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { ); // Ensure that the correct log was emitted. - expect(receipt.logs.length).to.be.eq(1); - const log = receipt.logs[0] as LogWithDecodedArgs; - expect(log.event).to.be.eq('AuthorizedAddressAdded'); - expect(log.args.target).to.be.eq(newAuthorityAddress); - expect(log.args.caller).to.be.eq(owner); + 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); @@ -211,46 +216,38 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { it('should successfully register the asset proxies in the exchange', async () => { // Register the asset proxies in the exchange. - await registerAssetProxyAndAssertSuccessAsync(exchange, erc20Proxy.address, constants.ERC20_PROXY_ID); - await registerAssetProxyAndAssertSuccessAsync(exchange, erc721Proxy.address, constants.ERC721_PROXY_ID); - await registerAssetProxyAndAssertSuccessAsync( - exchange, - erc1155Proxy.address, - constants.ERC1155_PROXY_ID, - ); + 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, - constants.MULTI_ASSET_PROXY_ID, + AssetProxyId.MultiAsset, ); await registerAssetProxyAndAssertSuccessAsync( exchange, staticCallProxy.address, - constants.STATIC_CALL_PROXY_ID, + 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, - constants.ERC20_PROXY_ID, - ); + await registerAssetProxyAndAssertSuccessAsync(multiAssetProxy, erc20Proxy.address, AssetProxyId.ERC20); await registerAssetProxyAndAssertSuccessAsync( multiAssetProxy, erc721Proxy.address, - constants.ERC721_PROXY_ID, + AssetProxyId.ERC721, ); await registerAssetProxyAndAssertSuccessAsync( multiAssetProxy, erc1155Proxy.address, - constants.ERC1155_PROXY_ID, + AssetProxyId.ERC1155, ); await registerAssetProxyAndAssertSuccessAsync( multiAssetProxy, staticCallProxy.address, - constants.STATIC_CALL_PROXY_ID, + AssetProxyId.StaticCall, ); }); @@ -273,12 +270,12 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { 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 readOnlyProxyAddres = await stakingProxy.readOnlyProxy.callAsync(); - expect(readOnlyProxyAddres).to.be.eq(readOnlyProxy.address); + const readOnlyProxyAddress = await stakingProxy.readOnlyProxy.callAsync(); + expect(readOnlyProxyAddress).to.be.eq(readOnlyProxy.address); // Ensure that the registered read-only proxy callee is correct. - const readOnlyProxyCalleeAddres = await stakingProxy.readOnlyProxyCallee.callAsync(); - expect(readOnlyProxyCalleeAddres).to.be.eq(staking.address); + 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(); @@ -288,13 +285,16 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { 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.length).to.be.eq(6); - expect(params[0]).bignumber.to.be.eq(new BigNumber(864000)); // epochDurationInSeconds - expect(params[1]).bignumber.to.be.eq(new BigNumber(900000)); // rewardDelegatedStakeWeight - expect(params[2]).bignumber.to.be.eq(new BigNumber(100000000000000000000)); // minimumPoolStake - expect(params[3]).bignumber.to.be.eq(10); // maximumMakerInPool - expect(params[4]).bignumber.to.be.eq(1); // cobbDouglasAlphaNumerator - expect(params[5]).bignumber.to.be.eq(2); // cobbDouglasAlphaDenominator + expect(params).to.be.deep.eq( + [ + 864000, // epochDurationInSeconds + 900000, // rewardDelegatedStakeWeight + 100000000000000000000, // minimumPoolStake + 10, // maximumMakerInPool + 1, // cobbDouglasAlphaNumerator + 2, // cobbDouglasAlphaDenominator + ].map(value => new BigNumber(value)), + ); }); }); @@ -306,10 +306,11 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { }); // Ensure that the correct events were logged. - expect(receipt.logs.length).to.be.eq(1); - const log = receipt.logs[0] as LogWithDecodedArgs; - expect(log.event).to.be.eq('ExchangeAdded'); - expect(log.args.exchangeAddress).to.be.eq(exchange.address); + 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); @@ -326,13 +327,16 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { ); // Ensure that the correct events were logged. - expect(receipt.logs.length).to.be.eq(1); - const log = receipt.logs[0] as LogWithDecodedArgs< - MixinProtocolFeesProtocolFeeCollectorAddressEventArgs - >; - expect(log.event).to.be.eq('ProtocolFeeCollectorAddress'); - expect(log.args.oldProtocolFeeCollector).bignumber.to.be.eq(constants.NULL_ADDRESS); - expect(log.args.updatedProtocolFeeCollector).bignumber.to.be.eq(stakingProxy.address); + 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(); @@ -346,11 +350,16 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { ); // Ensure that the correct events were logged. - expect(receipt.logs.length).to.be.eq(1); - const log = receipt.logs[0] as LogWithDecodedArgs; - expect(log.event).to.be.eq('ProtocolFeeMultiplier'); - expect(log.args.oldProtocolFeeMultiplier).bignumber.to.be.eq(constants.ZERO_AMOUNT); - expect(log.args.updatedProtocolFeeMultiplier).bignumber.to.be.eq(protocolFeeMultiplier); + 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(); @@ -360,19 +369,18 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { }); describe('transferring ownership', () => { - // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) // Removes authorization of the "externally owned address" owner and transfers the authorization // to the asset proxy owner. - async function transferAuthorizationAndAssertSuccessAsync(contract: any): Promise { + 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. - expect(receipt.logs.length).to.be.eq(1); - let log = receipt.logs[0] as LogWithDecodedArgs; - expect(log.event).to.be.eq('AuthorizedAddressRemoved'); - expect(log.args.target).to.be.eq(owner); - expect(log.args.caller).to.be.eq(owner); + 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); @@ -384,20 +392,19 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { }); // Ensure that the correct log was recorded. - expect(receipt.logs.length).to.be.eq(1); - log = receipt.logs[0] as LogWithDecodedArgs; - expect(log.event).to.be.eq('AuthorizedAddressAdded'); - expect(log.args.target).to.be.eq(assetProxyOwner.address); - expect(log.args.caller).to.be.eq(owner); + 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(); } - // TODO(jalextowle): Express this in a type-safe way (during a debt-demolition) // Transfers ownership of a contract to the asset-proxy owner, and ensures that the change was actually made. - async function transferOwnershipAndAssertSuccessAsync(contract: any): Promise { + async function transferOwnershipAndAssertSuccessAsync(contract: Ownable): Promise { // Transfer ownership to the new owner. await contract.transferOwnership.awaitTransactionSuccessAsync(assetProxyOwner.address, { from: owner }); diff --git a/contracts/staking/package.json b/contracts/staking/package.json index ac37bfe6b9..1b049cbf2d 100644 --- a/contracts/staking/package.json +++ b/contracts/staking/package.json @@ -51,7 +51,6 @@ "devDependencies": { "@0x/abi-gen": "^4.1.0", "@0x/contracts-gen": "^1.0.13", - "@0x/contracts-exchange": "^2.1.14", "@0x/contracts-multisig": "^3.1.14", "@0x/contracts-test-utils": "^3.1.2", "@0x/dev-utils": "^2.2.1", diff --git a/contracts/test-utils/src/constants.ts b/contracts/test-utils/src/constants.ts index 41c6174d50..45bcc6ff72 100644 --- a/contracts/test-utils/src/constants.ts +++ b/contracts/test-utils/src/constants.ts @@ -84,9 +84,4 @@ export const constants = { PPM_DENOMINATOR: 1e6, PPM_100_PERCENT: 1e6, MAX_CODE_SIZE: 24576, - ERC20_PROXY_ID: '0xf47261b0', - ERC721_PROXY_ID: '0x02571792', - ERC1155_PROXY_ID: '0xa7cb5fb7', - MULTI_ASSET_PROXY_ID: '0x94cfcdd7', - STATIC_CALL_PROXY_ID: '0xc339d10a', }; From 9b91d574f86eccd66033f36e8bdd34703d520a23 Mon Sep 17 00:00:00 2001 From: fragosti Date: Mon, 30 Sep 2019 17:27:01 -0700 Subject: [PATCH 22/83] Fix failing json-schema test --- packages/json-schemas/test/schema_test.ts | 2 ++ 1 file changed, 2 insertions(+) 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); From 6da48be1a4a378ef8993d58b0e1ea53337afdb57 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Mon, 30 Sep 2019 17:28:36 -0700 Subject: [PATCH 23/83] `@0x/contracts-asset-proxy`: Merge `ERC20Bridge` into `IERC20Bridge`. --- .../contracts/src/bridges/ERC20Bridge.sol | 30 ------------------- .../contracts/src/interfaces/IERC20Bridge.sol | 5 +++- .../contracts/test/TestERC20Bridge.sol | 4 +-- contracts/asset-proxy/package.json | 2 +- contracts/asset-proxy/src/artifacts.ts | 2 -- contracts/asset-proxy/src/wrappers.ts | 1 - contracts/asset-proxy/tsconfig.json | 1 - 7 files changed, 7 insertions(+), 38 deletions(-) delete mode 100644 contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol diff --git a/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol b/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol deleted file mode 100644 index 74351f3922..0000000000 --- a/contracts/asset-proxy/contracts/src/bridges/ERC20Bridge.sol +++ /dev/null @@ -1,30 +0,0 @@ -/* - - 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 "../interfaces/IERC20Bridge.sol"; - - -contract ERC20Bridge is - IERC20Bridge -{ - // @dev Result of a successful bridge call. - bytes4 constant internal BRIDGE_SUCCESS = 0xdc1600f3; -} diff --git a/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol index 1ee1361fbe..947aa475bb 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol @@ -19,7 +19,10 @@ pragma solidity ^0.5.9; -interface IERC20Bridge { +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. diff --git a/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol index e6b3441658..197ee3eb11 100644 --- a/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol +++ b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol @@ -19,7 +19,7 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; -import "../src/bridges/ERC20Bridge.sol"; +import "../src/interfaces/IERC20Bridge.sol"; /// @dev Test bridge token @@ -50,7 +50,7 @@ contract TestERC20BridgeToken { /// @dev Test bridge contract. contract TestERC20Bridge is - ERC20Bridge + IERC20Bridge { TestERC20BridgeToken public testToken; diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index a442bdae07..702a17e35f 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -35,7 +35,7 @@ "compile:truffle": "truffle compile" }, "config": { - "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20Bridge|ERC20BridgeProxy|ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|TestStaticCallTarget).json", + "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20BridgeProxy|ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|TestStaticCallTarget).json", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually." }, "repository": { diff --git a/contracts/asset-proxy/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index 3c82130b49..add295190b 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -6,7 +6,6 @@ import { ContractArtifact } from 'ethereum-types'; import * as ERC1155Proxy from '../generated-artifacts/ERC1155Proxy.json'; -import * as ERC20Bridge from '../generated-artifacts/ERC20Bridge.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'; @@ -32,7 +31,6 @@ export const artifacts = { ERC721Proxy: ERC721Proxy as ContractArtifact, MultiAssetProxy: MultiAssetProxy as ContractArtifact, StaticCallProxy: StaticCallProxy as ContractArtifact, - ERC20Bridge: ERC20Bridge as ContractArtifact, IAssetData: IAssetData as ContractArtifact, IAssetProxy: IAssetProxy as ContractArtifact, IAssetProxyDispatcher: IAssetProxyDispatcher as ContractArtifact, diff --git a/contracts/asset-proxy/src/wrappers.ts b/contracts/asset-proxy/src/wrappers.ts index a72cdf72de..16578fd181 100644 --- a/contracts/asset-proxy/src/wrappers.ts +++ b/contracts/asset-proxy/src/wrappers.ts @@ -4,7 +4,6 @@ * ----------------------------------------------------------------------------- */ export * from '../generated-wrappers/erc1155_proxy'; -export * from '../generated-wrappers/erc20_bridge'; export * from '../generated-wrappers/erc20_bridge_proxy'; export * from '../generated-wrappers/erc20_proxy'; export * from '../generated-wrappers/erc721_proxy'; diff --git a/contracts/asset-proxy/tsconfig.json b/contracts/asset-proxy/tsconfig.json index a0a766a352..9c332c4a33 100644 --- a/contracts/asset-proxy/tsconfig.json +++ b/contracts/asset-proxy/tsconfig.json @@ -4,7 +4,6 @@ "include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"], "files": [ "generated-artifacts/ERC1155Proxy.json", - "generated-artifacts/ERC20Bridge.json", "generated-artifacts/ERC20BridgeProxy.json", "generated-artifacts/ERC20Proxy.json", "generated-artifacts/ERC721Proxy.json", From 03595dd1dd9d7ce2656c80e890f7f8b9e3c7fc58 Mon Sep 17 00:00:00 2001 From: fragosti Date: Mon, 30 Sep 2019 17:28:41 -0700 Subject: [PATCH 24/83] Run prettier --- packages/connect/src/types.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/connect/src/types.ts b/packages/connect/src/types.ts index db614ebf3b..5e990de9e7 100644 --- a/packages/connect/src/types.ts +++ b/packages/connect/src/types.ts @@ -1,7 +1,4 @@ -import { - APIOrder, - OrdersChannelSubscriptionOpts, -} from '@0x/types'; +import { APIOrder, OrdersChannelSubscriptionOpts } from '@0x/types'; export interface OrdersChannel { subscribe: (subscriptionOpts: OrdersChannelSubscriptionOpts) => void; From 072ff65bf9ff995c6caf86ee6a6c9a197bd758ee Mon Sep 17 00:00:00 2001 From: Alex Towle Date: Mon, 30 Sep 2019 17:46:57 -0700 Subject: [PATCH 25/83] `@0x:contracts-staking` Removed multisig as a dependency --- contracts/staking/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/contracts/staking/package.json b/contracts/staking/package.json index 1b049cbf2d..0889a633e4 100644 --- a/contracts/staking/package.json +++ b/contracts/staking/package.json @@ -51,7 +51,6 @@ "devDependencies": { "@0x/abi-gen": "^4.1.0", "@0x/contracts-gen": "^1.0.13", - "@0x/contracts-multisig": "^3.1.14", "@0x/contracts-test-utils": "^3.1.2", "@0x/dev-utils": "^2.2.1", "@0x/sol-compiler": "^3.1.6", From 9a658bf9324f6ab27bda1e059ec16a929706387b Mon Sep 17 00:00:00 2001 From: fabioberger Date: Tue, 1 Oct 2019 09:04:20 +0800 Subject: [PATCH 26/83] Change tag to protocolV3 to disambiguate with a specific version of a package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b0a7e3de4..c27cb1a9e3 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "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": "DIST_TAG=3.0 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", From 3f8639bd9c87ad62b076e9be47df9c373f4c9f7d Mon Sep 17 00:00:00 2001 From: Michael Zhu Date: Wed, 25 Sep 2019 15:24:40 -0700 Subject: [PATCH 27/83] Update MixinExchangeWrapper to handle protocol fees --- .../contracts/src/MixinExchangeWrapper.sol | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol index 9218aa7e93..f2f7caf66d 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol @@ -67,13 +67,14 @@ contract MixinExchangeWrapper is 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 + 160 // output size is 160 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))) + mstore(add(fillResults, 128), mload(add(fillOrderCalldata, 128))) } } // fillResults values will be 0 by default if call was unsuccessful @@ -107,7 +108,9 @@ 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( @@ -115,11 +118,13 @@ contract MixinExchangeWrapper is ); // WETH fee } else if (order.takerFeeAssetData.equals(order.takerAssetData)) { + uint256 protocolFee = tx.gasprice.safeMul(EXCHANGE.protocolFeeMultiplier()); + // 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. uint256 takerAssetFillAmount = LibMath.getPartialAmountCeil( order.takerAssetAmount, - order.takerAssetAmount.safeAdd(order.takerFee), + order.takerAssetAmount.safeAdd(order.takerFee).safeAdd(protocolFee), remainingTakerAssetFillAmount ); @@ -132,6 +137,8 @@ contract MixinExchangeWrapper is // WETH is also spent on the taker fee, so we add it here. wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( singleFillResults.takerFeePaid + ).safeAdd( + singleFillResults.protocolFeePaid ); makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount; @@ -234,6 +241,8 @@ contract MixinExchangeWrapper is // WETH is also spent on the taker fee, so we add it here. wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( singleFillResults.takerFeePaid + ).safeAdd( + singleFillResults.protocolFeePaid ); makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount; @@ -253,7 +262,9 @@ 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( From e954e9ca20b51edf5ea519774a11b158d739c27c Mon Sep 17 00:00:00 2001 From: Michael Zhu Date: Thu, 26 Sep 2019 15:59:12 -0700 Subject: [PATCH 28/83] update tests --- .../dev-utils/test/order_validation_utils.ts | 2 +- .../contracts/src/MixinExchangeWrapper.sol | 41 +-- .../contracts/src/MixinWeth.sol | 20 +- .../contracts/src/libs/LibConstants.sol | 1 - .../src/libs/LibForwarderRichErrors.sol | 24 +- .../src/test/TestProtocolFeeCollector.sol | 70 +++++ contracts/exchange-forwarder/package.json | 3 +- contracts/exchange-forwarder/src/artifacts.ts | 2 + contracts/exchange-forwarder/src/wrappers.ts | 1 + .../exchange-forwarder/test/forwarder.ts | 153 +++++---- .../test/utils/forwarder_test_factory.ts | 297 +++++++++--------- contracts/exchange-forwarder/tsconfig.json | 3 +- contracts/exchange/test/core.ts | 2 +- contracts/exchange/test/match_orders.ts | 2 +- contracts/exchange/test/transactions.ts | 2 +- .../exchange/test/utils/exchange_wrapper.ts | 95 +++--- .../utils/fill_order_combinatorial_utils.ts | 4 +- contracts/exchange/test/wrapper.ts | 2 +- .../test/balance_threshold_filter.ts | 2 +- contracts/extensions/test/dutch_auction.ts | 2 +- contracts/extensions/test/order_matcher.ts | 2 +- contracts/test-utils/src/order_factory.ts | 2 +- .../src/forwarder_revert_errors.ts | 16 +- packages/utils/src/revert_error.ts | 2 +- 24 files changed, 413 insertions(+), 337 deletions(-) create mode 100644 contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol 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/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol index f2f7caf66d..46c35d10bc 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol @@ -57,26 +57,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 - 160 // output size is 160 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))) - mstore(add(fillResults, 128), mload(add(fillOrderCalldata, 128))) - } + (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; } @@ -99,12 +85,14 @@ contract MixinExchangeWrapper is uint256 makerAssetAcquiredAmount ) { - // No fee or percentage fee + uint256 protocolFee = tx.gasprice.safeMul(EXCHANGE.protocolFeeMultiplier()); + + // 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( order, - remainingTakerAssetFillAmount, + remainingTakerAssetFillAmount.safeSub(protocolFee), signature ); @@ -118,14 +106,13 @@ contract MixinExchangeWrapper is ); // WETH fee } else if (order.takerFeeAssetData.equals(order.takerAssetData)) { - uint256 protocolFee = tx.gasprice.safeMul(EXCHANGE.protocolFeeMultiplier()); // 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).safeAdd(protocolFee), - remainingTakerAssetFillAmount + order.takerAssetAmount.safeAdd(order.takerFee), + remainingTakerAssetFillAmount.safeSub(protocolFee) ); LibFillResults.FillResults memory singleFillResults = _fillOrderNoThrow( @@ -222,7 +209,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( @@ -238,7 +225,7 @@ contract MixinExchangeWrapper is signature ); - // WETH is also spent on the taker fee, so we add it here. + // WETH is also spent on the protocol and taker fees, so we add it here. wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( singleFillResults.takerFeePaid ).safeAdd( 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..3210fb2892 100644 --- a/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol +++ b/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol @@ -51,9 +51,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 +63,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 = @@ -164,8 +164,8 @@ library LibForwarderRichErrors { ); } - function OversoldWethError( - uint256 wethSold, + function OverspentWethError( + uint256 wethSpent, uint256 msgValue ) internal @@ -173,8 +173,8 @@ library LibForwarderRichErrors { returns (bytes memory) { return abi.encodeWithSelector( - OVERSOLD_WETH_ERROR_SELECTOR, - wethSold, + OVERSPENT_WETH_ERROR_SELECTOR, + wethSpent, msgValue ); } @@ -205,12 +205,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..9db7296212 --- /dev/null +++ b/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol @@ -0,0 +1,70 @@ +/* + + 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-asset-proxy/contracts/src/interfaces/IAssetData.sol"; +import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol"; +import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; + + + // solhint-disable no-unused-vars +contract TestProtocolFeeCollector { + + address private _wethAddress; + address private _wethAssetProxyAddress; + + constructor ( + address wethAddress, + address wethAssetProxyAddress + ) + public + { + _wethAddress = wethAddress; + _wethAssetProxyAddress = wethAssetProxyAddress; + } + + /// @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); + + IAssetProxy wethAssetProxy = IAssetProxy(_wethAssetProxyAddress); + bytes memory wethAssetData = abi.encodeWithSelector( + IAssetData(address(0)).ERC20Token.selector, + _wethAddress + ); + // Transfer the protocol fee to this address in WETH. + wethAssetProxy.transferFrom( + wethAssetData, + payerAddress, + address(this), + protocolFeePaid + ); + } +} diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index 33c072824f..e2d9729f86 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -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": { 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..025a491a84 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); + + 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 () => { - await env.blockchainLifecycle.startAsync(); - - chainId = await env.getChainIdAsync(); - + // 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,68 @@ blockchainTests(ContractName.Forwarder, env => { {}, ); weth = new DummyERC20TokenContract(wethContract.address, env.provider); - erc20Wrapper.addDummyTokenContract(weth); - wethAssetData = assetDataUtils.encodeERC20AssetData(wethContract.address); - const exchangeInstance = await ExchangeContract.deployFrom0xArtifactAsync( - exchangeArtifacts.Exchange, + erc20Wrapper.addDummyTokenContract(weth); + await erc20Wrapper.setBalancesAndAllowancesAsync(); + + // 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, + erc20Proxy.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, { + await exchangeContract.setProtocolFeeMultiplier.awaitTransactionSuccessAsync(PROTOCOL_FEE_MULTIPLIER); + await exchangeContract.setProtocolFeeCollectorAddress.awaitTransactionSuccessAsync( + protocolFeeCollector.address, + ); + await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(protocolFeeCollector.address, { from: owner, }); + // 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, + 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 }); 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 +165,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 +189,7 @@ blockchainTests(ContractName.Forwarder, env => { env.provider, env.txDefaults, {}, - exchangeInstance.address, + exchange.address, wethAssetData, ) as any) as sendTransactionResult; @@ -223,7 +244,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 +252,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)); @@ -273,15 +294,15 @@ blockchainTests(ContractName.Forwarder, env => { }); 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)); }); @@ -527,7 +548,7 @@ blockchainTests(ContractName.Forwarder, env => { const fillableOrder = await orderFactory.newSignedOrderAsync(); 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 +574,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 +589,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 +609,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 +631,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 +640,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)); @@ -661,7 +684,7 @@ 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, ); diff --git a/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts b/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts index b97124e145..2d7380621a 100644 --- a/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts +++ b/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts @@ -2,118 +2,31 @@ 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 { 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; + protocolFees: BigNumber; wethFees: BigNumber; percentageFees: 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,28 +34,19 @@ 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[], @@ -167,22 +71,18 @@ 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 tx = this._forwarderWrapper.marketBuyOrdersWithEthAsync( orders, expectedResults.makerAssetFillAmount.minus(expectedResults.percentageFees), @@ -240,21 +140,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 +167,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, @@ -303,6 +201,7 @@ export class ForwarderTestFactory { .minus(expectedResults.makerAssetFillAmount) .minus(expectedResults.maxOverboughtMakerAsset), oldBalances[this._makerAddress][makerAssetAddress].minus(expectedResults.makerAssetFillAmount), + 'Maker makerAsset balance', ); expectBalanceWithin( newBalances[this._takerAddress][makerAssetAddress], @@ -313,11 +212,18 @@ export class ForwarderTestFactory { .plus(expectedResults.makerAssetFillAmount) .minus(expectedResults.percentageFees) .plus(expectedResults.maxOverboughtMakerAsset), + 'Taker makerAsset balance', ); - expect(newBalances[this._orderFeeRecipientAddress][makerAssetAddress]).to.be.bignumber.equal( + expect( + newBalances[this._orderFeeRecipientAddress][makerAssetAddress], + 'Order fee recipient makerAsset balance', + ).to.be.bignumber.equal( oldBalances[this._orderFeeRecipientAddress][makerAssetAddress].plus(expectedResults.percentageFees), ); - expect(newBalances[this._forwarderAddress][makerAssetAddress]).to.be.bignumber.equal(constants.ZERO_AMOUNT); + expect( + newBalances[this._forwarderAddress][makerAssetAddress], + 'Forwarder contract makerAsset balance', + ).to.be.bignumber.equal(constants.ZERO_AMOUNT); } private async _checkResultsAsync( @@ -340,18 +246,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,12 +266,13 @@ 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), ); } @@ -375,7 +281,7 @@ export class ForwarderTestFactory { 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); + expect(newOwner, 'New ERC721 owner').to.be.bignumber.equal(this._takerAddress); } expectBalanceWithin( @@ -384,12 +290,97 @@ 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 = { + takerAssetFillAmount: constants.ZERO_AMOUNT, + makerAssetFillAmount: constants.ZERO_AMOUNT, + protocolFees: 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 (this._protocolFeeCollectorAddress !== constants.NULL_ADDRESS) { + currentState.protocolFees = currentState.protocolFees.plus( + this._gasPrice.times(this._protocolFeeMultiplier), + ); + } + 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; + } } 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/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/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/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/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/packages/order-utils/src/forwarder_revert_errors.ts b/packages/order-utils/src/forwarder_revert_errors.ts index d23075721f..b88eb857b8 100644 --- a/packages/order-utils/src/forwarder_revert_errors.ts +++ b/packages/order-utils/src/forwarder_revert_errors.ts @@ -64,10 +64,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 +87,9 @@ export class DefaultFunctionWethContractOnlyError extends RevertError { } } -export class MsgValueCantEqualZeroError extends RevertError { +export class MsgValueCannotEqualZeroError extends RevertError { constructor() { - super('MsgValueCantEqualZeroError', 'MsgValueCantEqualZeroError()', {}); + super('MsgValueCannotEqualZeroError', 'MsgValueCannotEqualZeroError()', {}); } } @@ -109,10 +109,10 @@ const types = [ UnsupportedFeeError, FeePercentageTooLargeError, InsufficientEthForFeeError, - OversoldWethError, + OverspentWethError, TransferFailedError, DefaultFunctionWethContractOnlyError, - MsgValueCantEqualZeroError, + MsgValueCannotEqualZeroError, Erc721AmountMustEqualOneError, ]; 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( From b01de802cb93c1d3ef59a1c6c860a1b69833c4b0 Mon Sep 17 00:00:00 2001 From: Michael Zhu Date: Fri, 27 Sep 2019 15:50:24 -0700 Subject: [PATCH 29/83] address styling nits; only calculate protocol fee once --- .../contracts/src/MixinExchangeWrapper.sol | 64 +++++++++---------- .../exchange-forwarder/test/forwarder.ts | 5 ++ 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol index 46c35d10bc..96a0e291ff 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol @@ -72,12 +72,14 @@ contract MixinExchangeWrapper is /// @param order A single order specification. /// @param signature Signature for the given order. /// @param remainingTakerAssetFillAmount Remaining amount of WETH to sell. + /// @param protocolFee Amount of WETH that will be spent on the protocol fee for each order. /// @return wethSpentAmount Amount of WETH spent on the given order. /// @return makerAssetAcquiredAmount Amount of maker asset acquired from the given order. function _marketSellSingleOrder( LibOrder.Order memory order, bytes memory signature, - uint256 remainingTakerAssetFillAmount + uint256 remainingTakerAssetFillAmount, + uint256 protocolFee ) internal returns ( @@ -85,8 +87,6 @@ contract MixinExchangeWrapper is uint256 makerAssetAcquiredAmount ) { - uint256 protocolFee = tx.gasprice.safeMul(EXCHANGE.protocolFeeMultiplier()); - // No taker fee or percentage fee if (order.takerFee == 0 || order.takerFeeAssetData.equals(order.makerAssetData)) { // Attempt to sell the remaining amount of WETH @@ -96,14 +96,12 @@ contract MixinExchangeWrapper is signature ); - wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( - singleFillResults.protocolFeePaid - ); + 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)) { @@ -122,11 +120,9 @@ contract MixinExchangeWrapper is ); // WETH is also spent on the taker fee, so we add it here. - wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( - singleFillResults.takerFeePaid - ).safeAdd( - singleFillResults.protocolFeePaid - ); + wethSpentAmount = singleFillResults.takerAssetFilledAmount + .safeAdd(singleFillResults.takerFeePaid) + .safeAdd(singleFillResults.protocolFeePaid); makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount; // Unsupported fee @@ -155,6 +151,7 @@ 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)) { @@ -170,7 +167,8 @@ contract MixinExchangeWrapper is } // The remaining amount of WETH to sell - uint256 remainingTakerAssetFillAmount = wethSellAmount.safeSub(totalWethSpentAmount); + uint256 remainingTakerAssetFillAmount = wethSellAmount + .safeSub(totalWethSpentAmount); ( uint256 wethSpentAmount, @@ -178,11 +176,14 @@ contract MixinExchangeWrapper is ) = _marketSellSingleOrder( orders[i], signatures[i], - remainingTakerAssetFillAmount + remainingTakerAssetFillAmount, + protocolFee ); - totalWethSpentAmount = totalWethSpentAmount.safeAdd(wethSpentAmount); - totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount.safeAdd(makerAssetAcquiredAmount); + totalWethSpentAmount = totalWethSpentAmount + .safeAdd(wethSpentAmount); + totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount + .safeAdd(makerAssetAcquiredAmount); // Stop execution if the entire amount of WETH has been sold if (totalWethSpentAmount >= wethSellAmount) { @@ -226,11 +227,9 @@ contract MixinExchangeWrapper is ); // WETH is also spent on the protocol and taker fees, so we add it here. - wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( - singleFillResults.takerFeePaid - ).safeAdd( - singleFillResults.protocolFeePaid - ); + wethSpentAmount = singleFillResults.takerAssetFilledAmount + .safeAdd(singleFillResults.takerFeePaid) + .safeAdd(singleFillResults.protocolFeePaid); makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount; // Percentage fee @@ -249,14 +248,12 @@ contract MixinExchangeWrapper is signature ); - wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( - singleFillResults.protocolFeePaid - ); + 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)); @@ -299,7 +296,8 @@ contract MixinExchangeWrapper is continue; } - uint256 remainingMakerAssetFillAmount = makerAssetBuyAmount.safeSub(totalMakerAssetAcquiredAmount); + uint256 remainingMakerAssetFillAmount = makerAssetBuyAmount + .safeSub(totalMakerAssetAcquiredAmount); ( uint256 wethSpentAmount, @@ -310,8 +308,10 @@ contract MixinExchangeWrapper is remainingMakerAssetFillAmount ); - totalWethSpentAmount = totalWethSpentAmount.safeAdd(wethSpentAmount); - totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount.safeAdd(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/test/forwarder.ts b/contracts/exchange-forwarder/test/forwarder.ts index 025a491a84..aba1ee0c27 100644 --- a/contracts/exchange-forwarder/test/forwarder.ts +++ b/contracts/exchange-forwarder/test/forwarder.ts @@ -131,6 +131,7 @@ blockchainTests(ContractName.Forwarder, env => { // Set defaults defaultMakerAssetAddress = erc20Token.address; + const defaultTakerAssetAddress = wethContract.address; const defaultOrderParams = { makerAddress, feeRecipientAddress: orderFeeRecipientAddress, @@ -138,6 +139,10 @@ blockchainTests(ContractName.Forwarder, env => { takerAssetAmount: Web3Wrapper.toBaseUnitAmount(10, DECIMALS_DEFAULT), makerFee: Web3Wrapper.toBaseUnitAmount(0, DECIMALS_DEFAULT), takerFee: Web3Wrapper.toBaseUnitAmount(0, DECIMALS_DEFAULT), + makerAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), + takerAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerAssetAddress), + makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), + takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), exchangeAddress: exchangeContract.address, chainId, }; From b83043648e68dfb4f413f701394baab506d471d6 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Tue, 1 Oct 2019 16:58:05 +0800 Subject: [PATCH 30/83] Also exclude coordinator and extension contract packages when running `build` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c27cb1a9e3..db9e5a5863 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "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", From 71660850afbce56a20efb0e3016da9bd28d1745f Mon Sep 17 00:00:00 2001 From: fabioberger Date: Tue, 1 Oct 2019 17:11:54 +0800 Subject: [PATCH 31/83] Add new addresses to contract-addresses given the latest deployment --- packages/contract-addresses/src/index.ts | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 61320fcb0c..9b43da8a27 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -30,29 +30,29 @@ const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; const networkToAddresses: { [networkId: number]: ContractAddresses } = { 1: { - exchange: '0x080bf510fcbf18b91105470639e9561022937712', + 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', multiAssetProxy: '0xef701d5389ae74503d633396c4d654eabedc9d78', staticCallProxy: '0x3517b88c19508c08650616019062b898ab65ed29', erc1155Proxy: '0x7eefbd48fd63d441ec7435d024ec7c5131019add', - devUtils: '0x92d9a4d50190ae04e03914db2ee650124af844e6', + devUtils: NULL_ADDRESS, }, 3: { erc20Proxy: '0xb1408f4c245a23c31b98d2c626777d4c0d766caa', erc721Proxy: '0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4', zrxToken: '0xff67881f8d12f372d91baae9752eb3631ff0ed00', etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', - exchange: '0xbff9493f92a3df4b0429b6d00743b3cfb4c85831', - assetProxyOwner: '0xf5fa5b5fed2727a0e44ac67f6772e97977aa358b', + exchange: '0x725bc2f8c85ed0289d3da79cde3125d33fc1d7e6', + assetProxyOwner: '0xdcf20f7b447d51f2b3e5499b7f6cbbf7295a5d26', forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', orderValidator: '0x6eb6237350f3c110c96223e6ff9db55532525d2b', dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', @@ -64,12 +64,12 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { devUtils: '0x3e0b46bad8e374e4a110c12b832cb120dbe4a479', }, 4: { - exchange: '0xbff9493f92a3df4b0429b6d00743b3cfb4c85831', + exchange: '0x8e1dfaf747b804d041adaed79d68dcef85b8de85', erc20Proxy: '0x2f5ae4f6106e89b4147651688a92256885c5f410', erc721Proxy: '0x7656d773e11ff7383a14dcf09a9c50990481cd10', zrxToken: '0x8080c7e4b81ecf23aa6f877cfbfd9b0c228c6ffa', etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', - assetProxyOwner: '0xe1703da878afcebff5b7624a826902af475b9c03', + assetProxyOwner: '0x5d751aa855a1aee5fe44cf5350ed25b5727b66ae', forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', orderValidator: '0x6eb6237350f3c110c96223e6ff9db55532525d2b', dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', @@ -85,8 +85,8 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { erc721Proxy: '0x2a9127c745688a165106c11cd4d647d2220af821', zrxToken: '0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa', etherToken: '0xd0a1e359811322d97991e03f863a0c30c2cf029c', - exchange: '0x30589010550762d2f0d06f650d8e8b6ade6dbf4b', - assetProxyOwner: '0x2c824d2882baa668e0d5202b1e7f2922278703f8', + exchange: '0x617602cd3f734cf1e028c96b3f54c0489bed8022', + assetProxyOwner: '0x3654e5363cd75c8974c76208137df9691e820e97', forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', orderValidator: '0xbcd49bf9b75cab056610fab3c788e8ce1b209f30', dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', @@ -104,7 +104,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { erc1155Proxy: '0x6a4a62e5a7ed13c361b176a5f62c2ee620ac0df8', zrxToken: '0x871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c', etherToken: '0x0b1ba0af832d7c05fd64161e0db78e85978e8082', - exchange: '0x48bacb9266a570d521063ef5dd96e61686dbe788', + exchange: NULL_ADDRESS, assetProxyOwner: '0x8d42e38980ce74736c21c059b2240df09958d3c8', forwarder: '0xaa86dda78e9434aca114b6676fc742a18d15a1cc', orderValidator: '0x4d3d5c850dd5bd9d6f4adda3dd039a3c8054ca29', From 8c5e12d389078565922eb488445117208d7b8080 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Tue, 1 Oct 2019 17:56:57 +0800 Subject: [PATCH 32/83] Update or add CHANGELOG entries for all packages that will be published by Lerna to include a beta version. This dictates the version published to NPM and avoids any default patch bumps --- contracts/asset-proxy/CHANGELOG.json | 2 +- contracts/coordinator/CHANGELOG.json | 2 +- contracts/dev-utils/CHANGELOG.json | 2 +- contracts/erc1155/CHANGELOG.json | 2 +- contracts/erc20/CHANGELOG.json | 8 ++++++++ contracts/erc721/CHANGELOG.json | 8 ++++++++ contracts/exchange-forwarder/CHANGELOG.json | 8 ++++++++ contracts/exchange-libs/CHANGELOG.json | 2 +- contracts/exchange/CHANGELOG.json | 2 +- contracts/extensions/CHANGELOG.json | 8 ++++++++ contracts/multisig/CHANGELOG.json | 8 ++++++++ contracts/staking/CHANGELOG.json | 2 +- contracts/test-utils/CHANGELOG.json | 2 +- contracts/utils/CHANGELOG.json | 2 +- packages/0x.js/CHANGELOG.json | 8 ++++++++ packages/abi-gen-wrappers/CHANGELOG.json | 2 +- packages/abi-gen/CHANGELOG.json | 8 ++++++++ packages/assert/CHANGELOG.json | 8 ++++++++ packages/asset-buyer/CHANGELOG.json | 8 ++++++++ packages/asset-swapper/CHANGELOG.json | 8 ++++++++ packages/base-contract/CHANGELOG.json | 2 +- packages/connect/CHANGELOG.json | 8 ++++++++ packages/contract-addresses/CHANGELOG.json | 2 +- packages/contract-artifacts/CHANGELOG.json | 2 +- packages/contract-wrappers/CHANGELOG.json | 2 +- packages/contracts-gen/CHANGELOG.json | 2 +- packages/dev-utils/CHANGELOG.json | 2 +- packages/ethereum-types/CHANGELOG.json | 2 +- packages/fill-scenarios/CHANGELOG.json | 2 +- packages/json-schemas/CHANGELOG.json | 2 +- packages/migrations/CHANGELOG.json | 2 +- packages/order-utils/CHANGELOG.json | 2 +- packages/orderbook/CHANGELOG.json | 8 ++++++++ packages/sol-compiler/CHANGELOG.json | 2 +- packages/sol-coverage/CHANGELOG.json | 8 ++++++++ packages/sol-doc/CHANGELOG.json | 8 ++++++++ packages/sol-profiler/CHANGELOG.json | 8 ++++++++ packages/sol-resolver/CHANGELOG.json | 8 ++++++++ packages/sol-trace/CHANGELOG.json | 8 ++++++++ packages/sol-tracing-utils/CHANGELOG.json | 8 ++++++++ packages/sra-spec/CHANGELOG.json | 8 ++++++++ packages/subproviders/CHANGELOG.json | 8 ++++++++ packages/types/CHANGELOG.json | 2 +- packages/typescript-typings/CHANGELOG.json | 2 +- packages/utils/CHANGELOG.json | 2 +- packages/web3-wrapper/CHANGELOG.json | 2 +- 46 files changed, 186 insertions(+), 26 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index d4fa7bb152..08f6ccf2c6 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", diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index 93ecd5e65e..36f8ea116c 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", diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index b7fb45f384..27865b5070 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", diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 4ba2fafdcf..98933fa5cd 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "1.1.16", + "version": "1.2.0-beta.0", "changes": [ { "note": "Add `mintKnownFungibleTokensAsync()`, `isNonFungibleItemAsync()`, `isFungibleItemAsync()`, `getOwnerOfAsync()`, `getBalanceAsync()` to `Erc1155Wrapper`.", diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 1380664901..a7375c368e 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.3.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.2.14", diff --git a/contracts/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index e57032dd49..9874270f75 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.1.15", diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index fe5484a869..75f246baa3 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "3.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "3.0.12", diff --git a/contracts/exchange-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index f4c2d53115..6fc8af8a76 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", diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index dbcbcf3cc9..afc115d905 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", diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index 4968d29bb9..a6e0fef7dd 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "4.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "4.0.8", diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index 80efc18e85..f6b963104d 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "3.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "3.1.14", diff --git a/contracts/staking/CHANGELOG.json b/contracts/staking/CHANGELOG.json index da9df57fe2..ab12ae2f72 100644 --- a/contracts/staking/CHANGELOG.json +++ b/contracts/staking/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "1.0.0", + "version": "1.0.0-beta.0", "changes": [ { "note": "Created package", diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 5703365767..282dcd9817 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", diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index 1557a9c289..1940438ff0 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", diff --git a/packages/0x.js/CHANGELOG.json b/packages/0x.js/CHANGELOG.json index a79dd838e2..e52696efde 100644 --- a/packages/0x.js/CHANGELOG.json +++ b/packages/0x.js/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "7.1.0-beta.0", + "changes": [ + { + "note": "Updated to work with 0x v3" + } + ] + }, { "timestamp": 1568744790, "version": "7.0.2", diff --git a/packages/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index 81feeb5df0..1e46d8b4ba 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", diff --git a/packages/abi-gen/CHANGELOG.json b/packages/abi-gen/CHANGELOG.json index 72342560f5..b4230a887c 100644 --- a/packages/abi-gen/CHANGELOG.json +++ b/packages/abi-gen/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "4.3.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "4.2.1", "changes": [ diff --git a/packages/assert/CHANGELOG.json b/packages/assert/CHANGELOG.json index 5249681b7a..86197fa9d0 100644 --- a/packages/assert/CHANGELOG.json +++ b/packages/assert/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.1.6", diff --git a/packages/asset-buyer/CHANGELOG.json b/packages/asset-buyer/CHANGELOG.json index 7c5385420b..ed8dad3442 100644 --- a/packages/asset-buyer/CHANGELOG.json +++ b/packages/asset-buyer/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "6.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "6.1.14", diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index ca3b01158a..2a48478030 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "2.0.0", "changes": [ diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index e7370d4fb2..b186f4a508 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`", diff --git a/packages/connect/CHANGELOG.json b/packages/connect/CHANGELOG.json index 57d0e5bb4a..c653721f13 100644 --- a/packages/connect/CHANGELOG.json +++ b/packages/connect/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "5.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "5.0.19", diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 52e66e4cf2..0c54429737 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.", diff --git a/packages/contract-artifacts/CHANGELOG.json b/packages/contract-artifacts/CHANGELOG.json index 7fa5e3441b..8de3a2f8b9 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", diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 8b8d2bb4f4..41590bd13c 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", diff --git a/packages/contracts-gen/CHANGELOG.json b/packages/contracts-gen/CHANGELOG.json index 6ef663f02f..52ffa3a43c 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", diff --git a/packages/dev-utils/CHANGELOG.json b/packages/dev-utils/CHANGELOG.json index 1924529ea5..21980adc6c 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", diff --git a/packages/ethereum-types/CHANGELOG.json b/packages/ethereum-types/CHANGELOG.json index 9d7002e308..405f764e97 100644 --- a/packages/ethereum-types/CHANGELOG.json +++ b/packages/ethereum-types/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "2.2.0", + "version": "2.2.0-beta.0", "changes": [ { "note": "Add `RevertErrorAbi` interface as part of `AbiDefinition` types", diff --git a/packages/fill-scenarios/CHANGELOG.json b/packages/fill-scenarios/CHANGELOG.json index cad61e91ba..5b1c197d3d 100644 --- a/packages/fill-scenarios/CHANGELOG.json +++ b/packages/fill-scenarios/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.1.0", + "version": "3.1.0-beta.0", "changes": [ { "note": "Use new `Order` structure with `domain` field", diff --git a/packages/json-schemas/CHANGELOG.json b/packages/json-schemas/CHANGELOG.json index 9b6983b679..8a90054029 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", diff --git a/packages/migrations/CHANGELOG.json b/packages/migrations/CHANGELOG.json index f483a3a62e..2864b67852 100644 --- a/packages/migrations/CHANGELOG.json +++ b/packages/migrations/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.4.0", + "version": "4.4.0-beta.0", "changes": [ { "note": "Update Coordinator and Exchange deployments to pass `chainId`", diff --git a/packages/order-utils/CHANGELOG.json b/packages/order-utils/CHANGELOG.json index 8f3a957f32..a247461d0f 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`", diff --git a/packages/orderbook/CHANGELOG.json b/packages/orderbook/CHANGELOG.json index 161bc1bd48..61a59b453f 100644 --- a/packages/orderbook/CHANGELOG.json +++ b/packages/orderbook/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "0.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "0.0.2", diff --git a/packages/sol-compiler/CHANGELOG.json b/packages/sol-compiler/CHANGELOG.json index 61c1c5e389..22847d146d 100644 --- a/packages/sol-compiler/CHANGELOG.json +++ b/packages/sol-compiler/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.2.0", + "version": "3.2.0-beta.0", "changes": [ { "note": "Convert `getContractNamesToCompile` to public function of `Compiler` class", diff --git a/packages/sol-coverage/CHANGELOG.json b/packages/sol-coverage/CHANGELOG.json index ac2cecd31a..a1ff759828 100644 --- a/packages/sol-coverage/CHANGELOG.json +++ b/packages/sol-coverage/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "3.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "3.0.12", diff --git a/packages/sol-doc/CHANGELOG.json b/packages/sol-doc/CHANGELOG.json index 4ccdbffda6..419d82013d 100644 --- a/packages/sol-doc/CHANGELOG.json +++ b/packages/sol-doc/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.0.19", diff --git a/packages/sol-profiler/CHANGELOG.json b/packages/sol-profiler/CHANGELOG.json index 3e1e74d13d..7308befbad 100644 --- a/packages/sol-profiler/CHANGELOG.json +++ b/packages/sol-profiler/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "3.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "3.1.14", diff --git a/packages/sol-resolver/CHANGELOG.json b/packages/sol-resolver/CHANGELOG.json index 14411c27e5..5208d80128 100644 --- a/packages/sol-resolver/CHANGELOG.json +++ b/packages/sol-resolver/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.0.11", diff --git a/packages/sol-trace/CHANGELOG.json b/packages/sol-trace/CHANGELOG.json index f8148e7a7d..f65ea76cbc 100644 --- a/packages/sol-trace/CHANGELOG.json +++ b/packages/sol-trace/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.0.20", diff --git a/packages/sol-tracing-utils/CHANGELOG.json b/packages/sol-tracing-utils/CHANGELOG.json index 5f1b5ae83c..8da6fadb84 100644 --- a/packages/sol-tracing-utils/CHANGELOG.json +++ b/packages/sol-tracing-utils/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "6.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "6.0.19", diff --git a/packages/sra-spec/CHANGELOG.json b/packages/sra-spec/CHANGELOG.json index 6e631296b9..937c6640fc 100644 --- a/packages/sra-spec/CHANGELOG.json +++ b/packages/sra-spec/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "2.0.17", diff --git a/packages/subproviders/CHANGELOG.json b/packages/subproviders/CHANGELOG.json index 7833994445..9672c0a909 100644 --- a/packages/subproviders/CHANGELOG.json +++ b/packages/subproviders/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "5.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1568744790, "version": "5.0.4", diff --git a/packages/types/CHANGELOG.json b/packages/types/CHANGELOG.json index 4a317f6ed6..e5425cf8dc 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", diff --git a/packages/typescript-typings/CHANGELOG.json b/packages/typescript-typings/CHANGELOG.json index 5c60331f4b..1bafbc1019 100644 --- a/packages/typescript-typings/CHANGELOG.json +++ b/packages/typescript-typings/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.4.0", + "version": "4.4.0-beta.0", "changes": [ { "note": "Add types for `@0x/dev-utils` chai helpers in `types/@0x`", diff --git a/packages/utils/CHANGELOG.json b/packages/utils/CHANGELOG.json index d3a23a7d04..d567f8e35f 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.", diff --git a/packages/web3-wrapper/CHANGELOG.json b/packages/web3-wrapper/CHANGELOG.json index 7781956917..2def09b902 100644 --- a/packages/web3-wrapper/CHANGELOG.json +++ b/packages/web3-wrapper/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "6.0.14", + "version": "6.1.0-beta.0", "changes": [ { "note": "Let `toBaseUnitAmount()` accept a `number`", From 39a8c0f4e6a953d22ade2684a98884a8be81df10 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Tue, 1 Oct 2019 18:43:56 +0800 Subject: [PATCH 33/83] Update the Ganache snapshot addresses with latest v3 snapshot --- packages/contract-addresses/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 9b43da8a27..7a21b7dc26 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -104,8 +104,8 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { erc1155Proxy: '0x6a4a62e5a7ed13c361b176a5f62c2ee620ac0df8', zrxToken: '0x871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c', etherToken: '0x0b1ba0af832d7c05fd64161e0db78e85978e8082', - exchange: NULL_ADDRESS, - assetProxyOwner: '0x8d42e38980ce74736c21c059b2240df09958d3c8', + exchange: '0x48bacb9266a570d521063ef5dd96e61686dbe788', + assetProxyOwner: NULL_ADDRESS, forwarder: '0xaa86dda78e9434aca114b6676fc742a18d15a1cc', orderValidator: '0x4d3d5c850dd5bd9d6f4adda3dd039a3c8054ca29', dutchAuction: '0xa31e64ea55b9b6bbb9d6a676738e9a5b23149f84', From 0ff8b12770488452f0dde2be1677eb83b9869379 Mon Sep 17 00:00:00 2001 From: Michael Zhu Date: Tue, 1 Oct 2019 13:02:47 -0700 Subject: [PATCH 34/83] rmeove maker asset equality check; update to reflect removal of weth asset proxy --- .../contracts/src/MixinExchangeWrapper.sol | 14 --------- .../contracts/src/MixinForwarderCore.sol | 5 ++++ .../src/libs/LibForwarderRichErrors.sol | 19 ------------ .../src/test/TestProtocolFeeCollector.sol | 17 ++--------- .../exchange-forwarder/test/forwarder.ts | 30 +++---------------- .../src/forwarder_revert_errors.ts | 14 --------- 6 files changed, 12 insertions(+), 87 deletions(-) diff --git a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol index 96a0e291ff..85f2ae6239 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol @@ -154,13 +154,6 @@ contract MixinExchangeWrapper is 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; @@ -284,13 +277,6 @@ 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; diff --git a/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol b/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol index 0a4ea59a72..ff4a5fb7a9 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol @@ -53,6 +53,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 diff --git a/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol b/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol index 3210fb2892..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; @@ -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 ) diff --git a/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol b/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol index 9db7296212..84ac37d878 100644 --- a/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol +++ b/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol @@ -19,25 +19,20 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; -import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetData.sol"; -import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol"; -import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; +import "@0x/contracts-erc20/contracts/src/interfaces/IEtherToken.sol"; // solhint-disable no-unused-vars contract TestProtocolFeeCollector { address private _wethAddress; - address private _wethAssetProxyAddress; constructor ( - address wethAddress, - address wethAssetProxyAddress + address wethAddress ) public { _wethAddress = wethAddress; - _wethAssetProxyAddress = wethAssetProxyAddress; } /// @dev Pays a protocol fee in WETH (Forwarder orders will always pay protocol fees in WETH). @@ -54,14 +49,8 @@ contract TestProtocolFeeCollector { { assert(msg.value == 0); - IAssetProxy wethAssetProxy = IAssetProxy(_wethAssetProxyAddress); - bytes memory wethAssetData = abi.encodeWithSelector( - IAssetData(address(0)).ERC20Token.selector, - _wethAddress - ); // Transfer the protocol fee to this address in WETH. - wethAssetProxy.transferFrom( - wethAssetData, + IEtherToken(_wethAddress).transferFrom( payerAddress, address(this), protocolFeePaid diff --git a/contracts/exchange-forwarder/test/forwarder.ts b/contracts/exchange-forwarder/test/forwarder.ts index aba1ee0c27..977a27ae95 100644 --- a/contracts/exchange-forwarder/test/forwarder.ts +++ b/contracts/exchange-forwarder/test/forwarder.ts @@ -119,15 +119,12 @@ blockchainTests(ContractName.Forwarder, env => { env.txDefaults, {}, wethContract.address, - erc20Proxy.address, ); await exchangeContract.setProtocolFeeMultiplier.awaitTransactionSuccessAsync(PROTOCOL_FEE_MULTIPLIER); await exchangeContract.setProtocolFeeCollectorAddress.awaitTransactionSuccessAsync( protocolFeeCollector.address, ); - await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(protocolFeeCollector.address, { - from: owner, - }); + erc20Wrapper.addTokenOwnerAddress(protocolFeeCollector.address); // Set defaults defaultMakerAssetAddress = erc20Token.address; @@ -157,7 +154,9 @@ blockchainTests(ContractName.Forwarder, env => { wethAssetData, ); forwarderWrapper = new ForwarderWrapper(forwarderContract, env.provider); - await forwarderWrapper.approveMakerAssetProxyAsync(defaultOrderParams.makerAssetData, { from: takerAddress }); + await forwarderWrapper.approveMakerAssetProxyAsync(assetDataUtils.encodeERC20AssetData(erc20Token.address), { + from: takerAddress, + }); erc20Wrapper.addTokenOwnerAddress(forwarderContract.address); // Set up factories @@ -311,27 +310,6 @@ blockchainTests(ContractName.Forwarder, env => { expect(takerEthBalanceAfter).to.be.bignumber.equal(takerEthBalanceBefore.minus(totalEthSpent)); }); - it('should fail to fill orders with mismatched 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, - }); - - const orders = [firstOrder, secondOrder]; - - const revertError = new ForwarderRevertErrors.MakerAssetMismatchError( - firstOrderMakerAssetData, - secondOrderMakerAssetData, - ); - await forwarderTestFactory.marketSellTestAsync(orders, 2, erc20Token, { - revertError, - }); - }); 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); const takerFeeAssetData = assetDataUtils.encodeERC20AssetData(secondErc20Token.address); diff --git a/packages/order-utils/src/forwarder_revert_errors.ts b/packages/order-utils/src/forwarder_revert_errors.ts index b88eb857b8..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 }); @@ -105,7 +92,6 @@ const types = [ UnregisteredAssetProxyError, UnsupportedAssetProxyError, CompleteBuyFailedError, - MakerAssetMismatchError, UnsupportedFeeError, FeePercentageTooLargeError, InsufficientEthForFeeError, From 8077123e9ffbc30cd5db8603613240f328820233 Mon Sep 17 00:00:00 2001 From: Michael Zhu Date: Tue, 1 Oct 2019 14:15:03 -0700 Subject: [PATCH 35/83] update contracts and tests to support different maker assets --- .../contracts/src/MixinExchangeWrapper.sol | 22 ++-- .../contracts/src/MixinForwarderCore.sol | 21 +--- .../exchange-forwarder/test/forwarder.ts | 106 +++++++++++------- .../test/utils/forwarder_test_factory.ts | 89 ++++++++++----- 4 files changed, 143 insertions(+), 95 deletions(-) diff --git a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol index 85f2ae6239..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; @@ -72,14 +74,12 @@ contract MixinExchangeWrapper is /// @param order A single order specification. /// @param signature Signature for the given order. /// @param remainingTakerAssetFillAmount Remaining amount of WETH to sell. - /// @param protocolFee Amount of WETH that will be spent on the protocol fee for each order. /// @return wethSpentAmount Amount of WETH spent on the given order. /// @return makerAssetAcquiredAmount Amount of maker asset acquired from the given order. function _marketSellSingleOrder( LibOrder.Order memory order, bytes memory signature, - uint256 remainingTakerAssetFillAmount, - uint256 protocolFee + uint256 remainingTakerAssetFillAmount ) internal returns ( @@ -92,7 +92,7 @@ contract MixinExchangeWrapper is // Attempt to sell the remaining amount of WETH LibFillResults.FillResults memory singleFillResults = _fillOrderNoThrow( order, - remainingTakerAssetFillAmount.safeSub(protocolFee), + remainingTakerAssetFillAmount, signature ); @@ -110,7 +110,7 @@ contract MixinExchangeWrapper is uint256 takerAssetFillAmount = LibMath.getPartialAmountCeil( order.takerAssetAmount, order.takerAssetAmount.safeAdd(order.takerFee), - remainingTakerAssetFillAmount.safeSub(protocolFee) + remainingTakerAssetFillAmount ); LibFillResults.FillResults memory singleFillResults = _fillOrderNoThrow( @@ -161,7 +161,8 @@ contract MixinExchangeWrapper is // The remaining amount of WETH to sell uint256 remainingTakerAssetFillAmount = wethSellAmount - .safeSub(totalWethSpentAmount); + .safeSub(totalWethSpentAmount) + .safeSub(protocolFee); ( uint256 wethSpentAmount, @@ -169,10 +170,11 @@ contract MixinExchangeWrapper is ) = _marketSellSingleOrder( orders[i], signatures[i], - remainingTakerAssetFillAmount, - protocolFee + remainingTakerAssetFillAmount ); + _transferAssetToSender(orders[i].makerAssetData, makerAssetAcquiredAmount); + totalWethSpentAmount = totalWethSpentAmount .safeAdd(wethSpentAmount); totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount @@ -294,6 +296,8 @@ contract MixinExchangeWrapper is remainingMakerAssetFillAmount ); + _transferAssetToSender(orders[i].makerAssetData, makerAssetAcquiredAmount); + totalWethSpentAmount = totalWethSpentAmount .safeAdd(wethSpentAmount); totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount diff --git a/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol b/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol index ff4a5fb7a9..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; @@ -93,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 @@ -110,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. @@ -148,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 @@ -167,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/test/forwarder.ts b/contracts/exchange-forwarder/test/forwarder.ts index 977a27ae95..1bff25011a 100644 --- a/contracts/exchange-forwarder/test/forwarder.ts +++ b/contracts/exchange-forwarder/test/forwarder.ts @@ -154,7 +154,7 @@ blockchainTests(ContractName.Forwarder, env => { wethAssetData, ); forwarderWrapper = new ForwarderWrapper(forwarderContract, env.provider); - await forwarderWrapper.approveMakerAssetProxyAsync(assetDataUtils.encodeERC20AssetData(erc20Token.address), { + await forwarderWrapper.approveMakerAssetProxyAsync(defaultOrderParams.makerAssetData, { from: takerAddress, }); erc20Wrapper.addTokenOwnerAddress(forwarderContract.address); @@ -203,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(); @@ -212,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({ @@ -233,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); @@ -280,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({ @@ -294,7 +294,7 @@ 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(); @@ -310,6 +310,21 @@ blockchainTests(ContractName.Forwarder, env => { expect(takerEthBalanceAfter).to.be.bignumber.equal(takerEthBalanceBefore.minus(totalEthSpent)); }); + it('should fill 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.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); const takerFeeAssetData = assetDataUtils.encodeERC20AssetData(secondErc20Token.address); @@ -321,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({ @@ -336,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({ @@ -344,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(); @@ -353,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', () => { @@ -376,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), }); }); @@ -387,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, }); @@ -399,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(); @@ -408,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, }); }); @@ -426,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({ @@ -435,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(); @@ -444,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, }); @@ -456,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, }); }); @@ -468,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, }); }); @@ -483,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({ @@ -498,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({ @@ -506,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(); @@ -515,21 +545,21 @@ 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 () => { // The 0x Protocol contracts round the exchange rate in favor of the Maker. @@ -649,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), }); }); @@ -658,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, }); @@ -674,7 +704,7 @@ blockchainTests(ContractName.Forwarder, env => { 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 2d7380621a..5c64df817c 100644 --- a/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts +++ b/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts @@ -3,6 +3,7 @@ import { DummyERC20TokenContract } from '@0x/contracts-erc20'; import { DummyERC721TokenContract } from '@0x/contracts-erc721'; import { ExchangeWrapper } from '@0x/contracts-exchange'; 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 _ from 'lodash'; @@ -12,10 +13,14 @@ import { ForwarderWrapper } from './forwarder_wrapper'; // 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; } @@ -51,7 +56,7 @@ export class ForwarderTestFactory { public async marketBuyTestAsync( orders: SignedOrder[], fractionalNumberOfOrdersToFill: number, - makerAssetContract: DummyERC20TokenContract | DummyERC721TokenContract, + makerAssetContracts: Array, options: { ethValueAdjustment?: number; // Used to provided insufficient/excess ETH forwarderFeePercentage?: BigNumber; @@ -83,9 +88,16 @@ export class ForwarderTestFactory { constants.PERCENTAGE_DENOMINATOR, forwarderFeePercentage, ); + + 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, @@ -110,7 +122,7 @@ export class ForwarderTestFactory { expectedResults, takerEthBalanceBefore, erc20Balances, - makerAssetContract, + makerAssetContracts, { forwarderFeePercentage, forwarderFeeRecipientEthBalanceBefore, @@ -123,7 +135,7 @@ export class ForwarderTestFactory { public async marketSellTestAsync( orders: SignedOrder[], fractionalNumberOfOrdersToFill: number, - makerAssetContract: DummyERC20TokenContract, + makerAssetContracts: DummyERC20TokenContract[], options: { forwarderFeePercentage?: BigNumber; revertError?: RevertError; @@ -179,7 +191,7 @@ export class ForwarderTestFactory { expectedResults, takerEthBalanceBefore, erc20Balances, - makerAssetContract, + makerAssetContracts, { forwarderFeePercentage, forwarderFeeRecipientEthBalanceBefore, @@ -195,31 +207,35 @@ 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), + .plus(makerAssetFillAmount) + .minus(percentageFees) + .plus(maxOverboughtMakerAsset), 'Taker makerAsset balance', ); expect( newBalances[this._orderFeeRecipientAddress][makerAssetAddress], 'Order fee recipient makerAsset balance', - ).to.be.bignumber.equal( - oldBalances[this._orderFeeRecipientAddress][makerAssetAddress].plus(expectedResults.percentageFees), - ); + ).to.be.bignumber.equal(oldBalances[this._orderFeeRecipientAddress][makerAssetAddress].plus(percentageFees)); expect( newBalances[this._forwarderAddress][makerAssetAddress], 'Forwarder contract makerAsset balance', @@ -234,7 +250,7 @@ export class ForwarderTestFactory { expectedResults: ForwarderFillState, takerEthBalanceBefore: BigNumber, erc20Balances: ERC20BalancesByOwner, - makerAssetContract: DummyERC20TokenContract | DummyERC721TokenContract, + makerAssetContracts: Array, options: { forwarderFeePercentage?: BigNumber; forwarderFeeRecipientEthBalanceBefore?: BigNumber; @@ -277,11 +293,13 @@ export class ForwarderTestFactory { ); } - 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); + 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( @@ -313,18 +331,25 @@ export class ForwarderTestFactory { ordersInfoBefore: OrderInfo[], fractionalNumberOfOrdersToFill: number, ): ForwarderFillState { - const currentState = { + const currentState: ForwarderFillState = { takerAssetFillAmount: constants.ZERO_AMOUNT, - makerAssetFillAmount: constants.ZERO_AMOUNT, + makerAssetFillAmount: {}, protocolFees: constants.ZERO_AMOUNT, wethFees: constants.ZERO_AMOUNT, - percentageFees: 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; } @@ -365,7 +390,9 @@ export class ForwarderTestFactory { makerAssetAmount = BigNumber.max(makerAssetAmount.minus(makerAssetFilled), constants.ZERO_AMOUNT); currentState.takerAssetFillAmount = currentState.takerAssetFillAmount.plus(takerAssetAmount); - currentState.makerAssetFillAmount = currentState.makerAssetFillAmount.plus(makerAssetAmount); + currentState.makerAssetFillAmount[order.makerAssetData] = currentState.makerAssetFillAmount[ + order.makerAssetData + ].plus(makerAssetAmount); if (this._protocolFeeCollectorAddress !== constants.NULL_ADDRESS) { currentState.protocolFees = currentState.protocolFees.plus( @@ -373,7 +400,9 @@ export class ForwarderTestFactory { ); } if (order.takerFeeAssetData === order.makerAssetData) { - currentState.percentageFees = currentState.percentageFees.plus(takerFee); + currentState.percentageFees[order.makerAssetData] = currentState.percentageFees[ + order.makerAssetData + ].plus(takerFee); } else if (order.takerFeeAssetData === order.takerAssetData) { currentState.wethFees = currentState.wethFees.plus(takerFee); } From 1d68c4105ac35c342de76046655748528ba6c3b8 Mon Sep 17 00:00:00 2001 From: xianny Date: Tue, 1 Oct 2019 17:17:40 -0700 Subject: [PATCH 36/83] redo changes from #2147 --- packages/0x.js/src/index.ts | 36 ++-------------------- packages/testnet-faucets/package.json | 1 + packages/testnet-faucets/src/ts/handler.ts | 17 +++++----- 3 files changed, 10 insertions(+), 44 deletions(-) diff --git a/packages/0x.js/src/index.ts b/packages/0x.js/src/index.ts index a7518a7029..8ac78e3ad3 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, @@ -9,12 +9,10 @@ export { } from '@0x/order-utils'; export { - ContractWrappers, CoordinatorWrapper, CoordinatorServerCancellationResponse, CoordinatorServerError, IndexedFilterValues, - ContractWrappersConfig, OrderTransactionOpts, TransactionOpts, OrderInfo, @@ -33,9 +31,6 @@ export { ExchangeAssetProxyRegisteredEventArgs, ExchangeContract, DevUtilsContract, - ForwarderContract, - DutchAuctionContract, - CoordinatorContract, CoordinatorRegistryEventArgs, CoordinatorRegistryEvents, CoordinatorRegistryCoordinatorEndpointSetEventArgs, @@ -70,28 +65,6 @@ export { 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, } from '@0x/abi-gen-wrappers'; export import Web3ProviderEngine = require('web3-provider-engine'); @@ -104,7 +77,7 @@ export { MetamaskSubprovider, } from '@0x/subproviders'; -export { AbiDecoder, DecodedCalldata, BigNumber } from '@0x/utils'; +export { DecodedCalldata, BigNumber } from '@0x/utils'; export { Order, @@ -139,12 +112,7 @@ export { JSONRPCRequestPayload, JSONRPCResponsePayload, JSONRPCResponseError, - LogEntry, DecodedLogArgs, - LogEntryEvent, - DecodedLogEntry, - DecodedLogEntryEvent, - RawLog, AbiDefinition, FunctionAbi, EventAbi, diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index 25073d8287..d2c751cd4d 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -20,6 +20,7 @@ "license": "Apache-2.0", "dependencies": { "0x.js": "^7.0.2", + "@0x/contract-addresses": "^3.1.0", "@0x/contract-wrappers": "^12.1.0", "@0x/subproviders": "^5.0.4", "@0x/typescript-typings": "^4.3.0", 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); From 3adbe843dafe3a2f7361a8b3e423db6cc0246889 Mon Sep 17 00:00:00 2001 From: xianny Date: Tue, 1 Oct 2019 17:51:25 -0700 Subject: [PATCH 37/83] update contract-addresses version --- packages/testnet-faucets/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index d2c751cd4d..aab6c24775 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -20,7 +20,7 @@ "license": "Apache-2.0", "dependencies": { "0x.js": "^7.0.2", - "@0x/contract-addresses": "^3.1.0", + "@0x/contract-addresses": "^3.2.0", "@0x/contract-wrappers": "^12.1.0", "@0x/subproviders": "^5.0.4", "@0x/typescript-typings": "^4.3.0", From e0743352850ffc10bfcf9cdfd1aecac515bc4656 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 09:15:50 +0800 Subject: [PATCH 38/83] Null out all contracts not re-deployed or updated to V3 --- packages/contract-addresses/src/index.ts | 38 ++++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 7a21b7dc26..153c8e57c4 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -40,7 +40,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { assetProxyOwner: NULL_ADDRESS, dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x45797531b873fd5e519477a070a955764c1a5b07', - coordinator: '0xa14857e8930acd9a882d33ec20559beb5479c8a6', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xef701d5389ae74503d633396c4d654eabedc9d78', staticCallProxy: '0x3517b88c19508c08650616019062b898ab65ed29', erc1155Proxy: '0x7eefbd48fd63d441ec7435d024ec7c5131019add', @@ -53,15 +53,15 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', exchange: '0x725bc2f8c85ed0289d3da79cde3125d33fc1d7e6', assetProxyOwner: '0xdcf20f7b447d51f2b3e5499b7f6cbbf7295a5d26', - forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', - orderValidator: '0x6eb6237350f3c110c96223e6ff9db55532525d2b', - dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', + forwarder: NULL_ADDRESS, + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x403cc23e88c17c4652fb904784d1af640a6722d9', - coordinator: '0x2ba02e03ee0029311e0f43715307870a3e701b53', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xab8fbd189c569ccdee3a4d929bb7f557be4028f6', staticCallProxy: '0xe1b97e47aa3796276033a5341e884d2ba46b6ac1', erc1155Proxy: '0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d', - devUtils: '0x3e0b46bad8e374e4a110c12b832cb120dbe4a479', + devUtils: NULL_ADDRESS, }, 4: { exchange: '0x8e1dfaf747b804d041adaed79d68dcef85b8de85', @@ -70,15 +70,15 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { zrxToken: '0x8080c7e4b81ecf23aa6f877cfbfd9b0c228c6ffa', etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', assetProxyOwner: '0x5d751aa855a1aee5fe44cf5350ed25b5727b66ae', - forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', - orderValidator: '0x6eb6237350f3c110c96223e6ff9db55532525d2b', - dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', + forwarder: NULL_ADDRESS, + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x1084b6a398e47907bae43fec3ff4b677db6e4fee', - coordinator: '0x2ba02e03ee0029311e0f43715307870a3e701b53', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xb34cde0ad3a83d04abebc0b66e75196f22216621', staticCallProxy: '0xe1b97e47aa3796276033a5341e884d2ba46b6ac1', erc1155Proxy: '0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d', - devUtils: '0x2d4a9abda7b8b3605c8dbd34e3550a7467c78287', + devUtils: NULL_ADDRESS, }, 42: { erc20Proxy: '0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e', @@ -87,11 +87,11 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { etherToken: '0xd0a1e359811322d97991e03f863a0c30c2cf029c', exchange: '0x617602cd3f734cf1e028c96b3f54c0489bed8022', assetProxyOwner: '0x3654e5363cd75c8974c76208137df9691e820e97', - forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', - orderValidator: '0xbcd49bf9b75cab056610fab3c788e8ce1b209f30', - dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', + forwarder: NULL_ADDRESS, + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x09fb99968c016a3ff537bf58fb3d9fe55a7975d5', - coordinator: '0x2ba02e03ee0029311e0f43715307870a3e701b53', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xf6313a772c222f51c28f2304c0703b8cf5428fd8', staticCallProxy: '0x48e94bdb9033640d45ea7c721e25f380f8bffa43', erc1155Proxy: '0x64517fa2b480ba3678a2a3c0cf08ef7fd4fad36f', @@ -106,11 +106,11 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { etherToken: '0x0b1ba0af832d7c05fd64161e0db78e85978e8082', exchange: '0x48bacb9266a570d521063ef5dd96e61686dbe788', assetProxyOwner: NULL_ADDRESS, - forwarder: '0xaa86dda78e9434aca114b6676fc742a18d15a1cc', - orderValidator: '0x4d3d5c850dd5bd9d6f4adda3dd039a3c8054ca29', - dutchAuction: '0xa31e64ea55b9b6bbb9d6a676738e9a5b23149f84', + forwarder: NULL_ADDRESS, + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x1941ff73d1154774d87521d2d0aaad5d19c8df60', - coordinator: '0x0d8b0dd11f5d34ed41d556def5f841900d5b1c6b', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xcfc18cec799fbd1793b5c43e773c98d4d61cc2db', staticCallProxy: '0x6dfff22588be9b3ef8cf0ad6dc9b84796f9fb45f', devUtils: '0x38ef19fdf8e8415f18c307ed71967e19aac28ba1', From 82ac8e29e3751c7407233923ba4413d1b383cbab Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sat, 28 Sep 2019 01:29:06 -0400 Subject: [PATCH 39/83] `@0x/contracts-asset-proxy`: Add `Eth2DaiBridge` and tests. --- contracts/asset-proxy/CHANGELOG.json | 4 + .../contracts/src/bridges/Eth2DaiBridge.sol | 102 +++++++++ .../contracts/src/interfaces/IEth2Dai.sol | 32 +++ .../contracts/test/TestEth2DaiBridge.sol | 197 ++++++++++++++++++ contracts/asset-proxy/src/artifacts.ts | 5 + contracts/asset-proxy/src/wrappers.ts | 3 + contracts/asset-proxy/test/eth2dai_bridge.ts | 147 +++++++++++++ contracts/asset-proxy/tsconfig.json | 3 + 8 files changed, 493 insertions(+) create mode 100644 contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol create mode 100644 contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol create mode 100644 contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol create mode 100644 contracts/asset-proxy/test/eth2dai_bridge.ts diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index d4fa7bb152..344060b59c 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -21,6 +21,10 @@ { "note": "Add `ERC20BridgeProxy`", "pr": 2220 + }, + { + "note": "Add `Eth2DaiBridge`", + "pr": "TODO" } ] }, 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..46cffb9c3c --- /dev/null +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -0,0 +1,102 @@ +/* + + 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 "./ERC20Bridge.sol"; +import "../interfaces/IEth2Dai.sol"; + + +contract Eth2DaiBridge is + ERC20Bridge +{ + /* Mainnet addresses */ + address constant public ETH2DAI_ADDRESS = 0x39755357759cE0d7f32dC8dC45414CCa409AE24e; + address constant public WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; + address constant public DAI_ADDRESS = 0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359; + + constructor() public { + // Grant the Eth2Dai contract unlimited weth and dai allowances. + _getWethContract().approve(address(_getEth2DaiContract()), uint256(-1)); + _getDaiContract().approve(address(_getEth2DaiContract()), uint256(-1)); + } + + // solhint-disable space-after-comma + function transfer( + bytes calldata /* bridgeData */, + address toTokenAddress, + address /* from */, + address to, + uint256 amount + ) + external + returns (bytes4 success) + { + // The "from" token is the opposite of the "to" token. + IERC20Token fromToken = _getWethContract(); + IERC20Token toToken = _getDaiContract(); + // Swap them if necessary. + if (toTokenAddress == address(fromToken)) { + (fromToken, toToken) = (toToken, fromToken); + } else { + require( + toTokenAddress == address(toToken), + "INVALID_ETH2DAI_TOKEN" + ); + } + // Try to sell all of this contract's `fromToken` balance. + uint256 boughtAmount = _getEth2DaiContract().sellAllAmount( + address(fromToken), + fromToken.balanceOf(address(this)), + address(toToken), + amount + ); + // Transfer the converted `toToken`s to `to`. + toToken.transfer(to, boughtAmount); + return BRIDGE_SUCCESS; + } + + /// @dev Overridable way to get the weth contract. + function _getWethContract() + internal + view + returns (IERC20Token) + { + return IERC20Token(WETH_ADDRESS); + } + + /// @dev Overridable way to get the dai contract. + function _getDaiContract() + internal + view + returns (IERC20Token) + { + return IERC20Token(DAI_ADDRESS); + } + + /// @dev Overridable way to get the eth2dai contract. + function _getEth2DaiContract() + internal + view + returns (IEth2Dai) + { + return IEth2Dai(ETH2DAI_ADDRESS); + } +} 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..ec6431b53a --- /dev/null +++ b/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol @@ -0,0 +1,32 @@ +/* + + 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; + + +// solhint-disable func-param-name-mixedcase +interface IEth2Dai { + function sellAllAmount( + address pay_gem, + uint256 pay_amt, + address buy_gem, + uint256 min_fill_amount + ) + external + returns (uint256 fill_amt); +} diff --git a/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol b/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol new file mode 100644 index 0000000000..6774401e9d --- /dev/null +++ b/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol @@ -0,0 +1,197 @@ +/* + + 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 +/// @dev Interface that allows `TestToken` to call `raiseTransferEvent` on +/// the `TestEth2DaiBridge` contract. +interface IRaiseTransferEvent { + function raiseTransferEvent( + address from, + address to, + uint256 amount + ) + external; +} + + +/// @dev A minimalist ERC20 token. +contract TestToken { + + mapping (address => uint256) public balances; + mapping (address => mapping (address => uint256)) public allowances; + + /// @dev Just calls `raiseTransferEvent()` on the caller. + function transfer(address to, uint256 amount) + external + returns (bool) + { + IRaiseTransferEvent(msg.sender).raiseTransferEvent(msg.sender, to, amount); + return true; + } + + /// @dev Set the balance for `owner`. + function setBalance(address owner, uint256 balance) + external + { + balances[owner] = balance; + } + + /// @dev Records allowance values. + function approve(address spender, uint256 allowance) + external + returns (bool) + { + allowances[msg.sender][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 + IEth2Dai, + Eth2DaiBridge +{ + event SellAllAmount( + address sellToken, + uint256 sellTokenAmount, + address buyToken, + uint256 minimumFillAmount + ); + + event TokenTransfer( + address token, + address from, + address to, + uint256 amount + ); + + TestToken public wethToken = new TestToken(); + TestToken public daiToken = new TestToken(); + string private _nextRevertReason; + uint256 private _nextFillAmount; + + /// @dev Set token balances for this contract. + function setTokenBalances(uint256 wethBalance, uint256 daiBalance) + external + { + wethToken.setBalance(address(this), wethBalance); + daiToken.setBalance(address(this), daiBalance); + } + + /// @dev Set the behavior for `IEth2Dai.sellAllAmount()`. + function setFillBehavior(string calldata revertReason, uint256 fillAmount) + external + { + _nextRevertReason = revertReason; + _nextFillAmount = fillAmount; + } + + /// @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; + } + + function raiseTransferEvent( + address from, + address to, + uint256 amount + ) + external + { + emit TokenTransfer( + msg.sender, + from, + to, + amount + ); + } + + /// @dev Retrieves the allowances of the test tokens. + function getEth2DaiTokenAllowances() + external + view + returns (uint256 wethAllowance, uint256 daiAllowance) + { + wethAllowance = wethToken.allowances(address(this), address(this)); + daiAllowance = daiToken.allowances(address(this), address(this)); + return (wethAllowance, daiAllowance); + } + + // @dev Use `wethToken`. + function _getWethContract() + internal + view + returns (IERC20Token) + { + return IERC20Token(address(wethToken)); + } + + // @dev Use `daiToken`. + function _getDaiContract() + internal + view + returns (IERC20Token) + { + return IERC20Token(address(daiToken)); + } + + // @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/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index add295190b..1296b11a1d 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -9,17 +9,20 @@ 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 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, @@ -36,6 +39,8 @@ export const artifacts = { IAssetProxyDispatcher: IAssetProxyDispatcher as ContractArtifact, IAuthorizable: IAuthorizable as ContractArtifact, IERC20Bridge: IERC20Bridge as ContractArtifact, + IEth2Dai: IEth2Dai 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 16578fd181..4731de6c12 100644 --- a/contracts/asset-proxy/src/wrappers.ts +++ b/contracts/asset-proxy/src/wrappers.ts @@ -7,15 +7,18 @@ 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/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/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts new file mode 100644 index 0000000000..b63fb7c216 --- /dev/null +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -0,0 +1,147 @@ +import { + blockchainTests, + constants, + expect, + filterLogsToArguments, + getRandomInteger, + Numberish, + randomAddress, + TransactionHelper, +} from '@0x/contracts-test-utils'; +import { BigNumber } from '@0x/utils'; +import { DecodedLogs } from 'ethereum-types'; +import * as _ from 'lodash'; + +import { + artifacts, + TestEth2DaiBridgeContract, + TestEth2DaiBridgeEvents, + TestEth2DaiBridgeSellAllAmountEventArgs, + TestEth2DaiBridgeTokenTransferEventArgs, +} from '../src'; + +blockchainTests.resets('Eth2DaiBridge unit tests', env => { + const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); + let testContract: TestEth2DaiBridgeContract; + let daiTokenAddress: string; + let wethTokenAddress: string; + + before(async () => { + testContract = await TestEth2DaiBridgeContract.deployFrom0xArtifactAsync( + artifacts.TestEth2DaiBridge, + env.provider, + env.txDefaults, + artifacts, + ); + [daiTokenAddress, wethTokenAddress] = await Promise.all([ + testContract.daiToken.callAsync(), + testContract.wethToken.callAsync(), + ]); + }); + + describe('deployment', () => { + it('sets Eth2Dai allowances to maximum', async () => { + const [wethAllowance, daiAllowance] = await testContract.getEth2DaiTokenAllowances.callAsync(); + expect(wethAllowance).to.bignumber.eq(constants.MAX_UINT256); + expect(daiAllowance).to.bignumber.eq(constants.MAX_UINT256); + }); + }); + + describe('transfer()', () => { + interface TransferOpts { + toTokenAddress: string; + toAddress: string; + amount: Numberish; + fromTokenBalance: Numberish; + revertReason: string; + fillAmount: Numberish; + } + + function createTransferOpts(opts?: Partial): TransferOpts { + return { + toTokenAddress: _.sampleSize([wethTokenAddress, daiTokenAddress], 1)[0], + toAddress: randomAddress(), + amount: getRandomInteger(1, 100e18), + revertReason: '', + fillAmount: getRandomInteger(1, 100e18), + fromTokenBalance: getRandomInteger(1, 100e18), + ...opts, + }; + } + + async function transferAsync(opts?: Partial): Promise<[string, DecodedLogs]> { + const _opts = createTransferOpts(opts); + // Set the fill behavior. + await testContract.setFillBehavior.awaitTransactionSuccessAsync( + _opts.revertReason, + new BigNumber(_opts.fillAmount), + ); + // Set the token balance for the token we're converting from. + await testContract.setTokenBalances.awaitTransactionSuccessAsync( + _opts.toTokenAddress === daiTokenAddress + ? new BigNumber(_opts.fromTokenBalance) + : constants.ZERO_AMOUNT, + _opts.toTokenAddress === wethTokenAddress + ? new BigNumber(_opts.fromTokenBalance) + : constants.ZERO_AMOUNT, + ); + // Call transfer(). + const [result, { logs }] = await txHelper.getResultAndReceiptAsync( + testContract.transfer, + '0x', + _opts.toTokenAddress, + randomAddress(), + _opts.toAddress, + new BigNumber(_opts.amount), + ); + return [result, (logs as any) as DecodedLogs]; + } + + function getOppositeToken(tokenAddress: string): string { + if (tokenAddress === daiTokenAddress) { + return wethTokenAddress; + } + return daiTokenAddress; + } + + it('returns magic bytes on success', async () => { + const BRIDGE_SUCCESS_RETURN_DATA = '0xb5d40d78'; + const [result] = await transferAsync(); + expect(result).to.eq(BRIDGE_SUCCESS_RETURN_DATA); + }); + + it('calls `Eth2Dai.sellAllAmount()`', async () => { + const opts = createTransferOpts(); + const [, logs] = await transferAsync(opts); + const transfers = filterLogsToArguments( + logs, + TestEth2DaiBridgeEvents.SellAllAmount, + ); + expect(transfers.length).to.eq(1); + expect(transfers[0].sellToken).to.eq(getOppositeToken(opts.toTokenAddress)); + 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('transfers filled amount to `to`', async () => { + const opts = createTransferOpts(); + const [, logs] = await transferAsync(opts); + 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 = createTransferOpts({ revertReason: 'FOOBAR' }); + const tx = transferAsync(opts); + return expect(tx).to.revertWith(opts.revertReason); + }); + }); +}); diff --git a/contracts/asset-proxy/tsconfig.json b/contracts/asset-proxy/tsconfig.json index 9c332c4a33..ff6ab95a27 100644 --- a/contracts/asset-proxy/tsconfig.json +++ b/contracts/asset-proxy/tsconfig.json @@ -7,17 +7,20 @@ "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/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"] From 7762b7b665e798cf6b9461523e2877e8670e0e35 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sat, 28 Sep 2019 01:54:09 -0400 Subject: [PATCH 40/83] `@0x/contracts-asset-proxy`: Add signature validation. --- contracts/asset-proxy/CHANGELOG.json | 2 +- .../contracts/src/bridges/Eth2DaiBridge.sol | 28 +++++++++++++++++-- contracts/asset-proxy/test/eth2dai_bridge.ts | 11 +++++++- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 344060b59c..65526c41c3 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -24,7 +24,7 @@ }, { "note": "Add `Eth2DaiBridge`", - "pr": "TODO" + "pr": 2221 } ] }, diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol index 46cffb9c3c..ab56e1bf66 100644 --- a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -20,13 +20,17 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; +import "@0x/contracts-exchange/contracts/src/interfaces/IWallet.sol"; import "./ERC20Bridge.sol"; import "../interfaces/IEth2Dai.sol"; +// solhint-disable space-after-comma contract Eth2DaiBridge is - ERC20Bridge + ERC20Bridge, + IWallet { + bytes4 private constant LEGACY_WALLET_MAGIC_VALUE = 0xb0671381; /* Mainnet addresses */ address constant public ETH2DAI_ADDRESS = 0x39755357759cE0d7f32dC8dC45414CCa409AE24e; address constant public WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; @@ -38,7 +42,14 @@ contract Eth2DaiBridge is _getDaiContract().approve(address(_getEth2DaiContract()), uint256(-1)); } - // solhint-disable space-after-comma + /// @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. + /// @return success The magic bytes `0xb5d40d78` if successful. function transfer( bytes calldata /* bridgeData */, address toTokenAddress, @@ -73,6 +84,19 @@ contract Eth2DaiBridge is return BRIDGE_SUCCESS; } + /// @dev `SignatureType.Wallet` callback, so that this bridge can be the maker + /// and sign for itself in orders. Always succeeds. + function isValidSignature( + bytes32, + bytes calldata + ) + external + view + returns (bytes4 magicValue) + { + return LEGACY_WALLET_MAGIC_VALUE; + } + /// @dev Overridable way to get the weth contract. function _getWethContract() internal diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index b63fb7c216..9d1cd32585 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -4,6 +4,7 @@ import { expect, filterLogsToArguments, getRandomInteger, + hexRandom, Numberish, randomAddress, TransactionHelper, @@ -20,7 +21,7 @@ import { TestEth2DaiBridgeTokenTransferEventArgs, } from '../src'; -blockchainTests.resets('Eth2DaiBridge unit tests', env => { +blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); let testContract: TestEth2DaiBridgeContract; let daiTokenAddress: string; @@ -47,6 +48,14 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { }); }); + 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('transfer()', () => { interface TransferOpts { toTokenAddress: string; From 38e540ad9f54167768e30e52709261b49e0b8f88 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sat, 28 Sep 2019 01:54:35 -0400 Subject: [PATCH 41/83] `@0x/contracts-asset-proxy`: Remove `only` modifier on tests. --- contracts/asset-proxy/test/eth2dai_bridge.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index 9d1cd32585..5ad82216b0 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -21,7 +21,7 @@ import { TestEth2DaiBridgeTokenTransferEventArgs, } from '../src'; -blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { +blockchainTests.resets('Eth2DaiBridge unit tests', env => { const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); let testContract: TestEth2DaiBridgeContract; let daiTokenAddress: string; From 6e4186adbefc3f1b147f94f07766c95808c06d83 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sat, 28 Sep 2019 02:02:41 -0400 Subject: [PATCH 42/83] `@0x/contracts-asset-proxy`: Add some more unit tests for `Eth2DaiBridge`. --- contracts/asset-proxy/test/eth2dai_bridge.ts | 26 +++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index 5ad82216b0..336da7e45a 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -21,7 +21,7 @@ import { TestEth2DaiBridgeTokenTransferEventArgs, } from '../src'; -blockchainTests.resets('Eth2DaiBridge unit tests', env => { +blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); let testContract: TestEth2DaiBridgeContract; let daiTokenAddress: string; @@ -133,6 +133,30 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { expect(transfers[0].minimumFillAmount).to.bignumber.eq(opts.amount); }); + it('can swap DAI for WETH', async () => { + const opts = createTransferOpts({ toTokenAddress: wethTokenAddress }); + const [, logs] = await transferAsync(opts); + const transfers = filterLogsToArguments( + logs, + TestEth2DaiBridgeEvents.SellAllAmount, + ); + expect(transfers.length).to.eq(1); + expect(transfers[0].sellToken).to.eq(daiTokenAddress); + expect(transfers[0].buyToken).to.eq(wethTokenAddress); + }); + + it('can swap WETH for DAI', async () => { + const opts = createTransferOpts({ toTokenAddress: daiTokenAddress }); + const [, logs] = await transferAsync(opts); + const transfers = filterLogsToArguments( + logs, + TestEth2DaiBridgeEvents.SellAllAmount, + ); + expect(transfers.length).to.eq(1); + expect(transfers[0].sellToken).to.eq(wethTokenAddress); + expect(transfers[0].buyToken).to.eq(daiTokenAddress); + }); + it('transfers filled amount to `to`', async () => { const opts = createTransferOpts(); const [, logs] = await transferAsync(opts); From 29bcc1b5b74b220d5c6fdddf9d43e0f377c65142 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sat, 28 Sep 2019 02:14:58 -0400 Subject: [PATCH 43/83] `@0x/contracts-asset-proxy`: omg these insidious `only` modifiers. --- contracts/asset-proxy/test/eth2dai_bridge.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index 336da7e45a..fe7aed7f63 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -21,7 +21,7 @@ import { TestEth2DaiBridgeTokenTransferEventArgs, } from '../src'; -blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { +blockchainTests.resets('Eth2DaiBridge unit tests', env => { const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); let testContract: TestEth2DaiBridgeContract; let daiTokenAddress: string; From 4ca08adcfa7e61e3678e26dc2aa8aa33c12b1038 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sun, 29 Sep 2019 18:35:22 -0400 Subject: [PATCH 44/83] `@0x/contracts-asset-proxy`: Rebase and add extra comments. --- .../contracts/src/bridges/Eth2DaiBridge.sol | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol index ab56e1bf66..fe9fd5807d 100644 --- a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -49,13 +49,13 @@ contract Eth2DaiBridge is /// @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. - /// @return success The magic bytes `0xb5d40d78` if successful. - function transfer( - bytes calldata /* bridgeData */, + /// @return success The magic bytes if successful. + function withdrawTo( address toTokenAddress, address /* from */, address to, - uint256 amount + uint256 amount, + bytes calldata /* bridgeData */ ) external returns (bytes4 success) @@ -86,6 +86,7 @@ contract Eth2DaiBridge is /// @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 @@ -98,28 +99,31 @@ contract Eth2DaiBridge is } /// @dev Overridable way to get the weth contract. + /// @return weth The WETH contract. function _getWethContract() internal view - returns (IERC20Token) + returns (IERC20Token weth) { return IERC20Token(WETH_ADDRESS); } /// @dev Overridable way to get the dai contract. + /// @return token The token contract. function _getDaiContract() internal view - returns (IERC20Token) + returns (IERC20Token token) { return IERC20Token(DAI_ADDRESS); } /// @dev Overridable way to get the eth2dai contract. + /// @return exchange The Eth2Dai exchange contract. function _getEth2DaiContract() internal view - returns (IEth2Dai) + returns (IEth2Dai exchange) { return IEth2Dai(ETH2DAI_ADDRESS); } From 98c59091abd8fd56b7e1d3914cca6aa64f5c70e5 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sun, 29 Sep 2019 18:54:55 -0400 Subject: [PATCH 45/83] `@0x/contracts-asset-proxy`: Add comments and update naming convention in `IEth2Dai`. --- .../contracts/src/interfaces/IEth2Dai.sol | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol b/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol index ec6431b53a..38fab155b6 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol @@ -19,14 +19,20 @@ pragma solidity ^0.5.9; -// solhint-disable func-param-name-mixedcase 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 pay_gem, - uint256 pay_amt, - address buy_gem, - uint256 min_fill_amount + address fromToken, + uint256 sellAmount, + address toToken, + uint256 minFillAmount ) external - returns (uint256 fill_amt); + returns (uint256 fillAmount); } From 48f7a24505796087743ee81c3d57aa2668e57f7f Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Sun, 29 Sep 2019 21:58:42 -0400 Subject: [PATCH 46/83] `@0x/contracts-asset-proxy`: Rebase and update tests for new proxy selector. --- contracts/asset-proxy/test/eth2dai_bridge.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index fe7aed7f63..418431bd46 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -56,7 +56,7 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { }); }); - describe('transfer()', () => { + describe('withdrawTo()', () => { interface TransferOpts { toTokenAddress: string; toAddress: string; @@ -94,14 +94,14 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { ? new BigNumber(_opts.fromTokenBalance) : constants.ZERO_AMOUNT, ); - // Call transfer(). + // Call withdrawTo(). const [result, { logs }] = await txHelper.getResultAndReceiptAsync( - testContract.transfer, - '0x', + testContract.withdrawTo, _opts.toTokenAddress, randomAddress(), _opts.toAddress, new BigNumber(_opts.amount), + '0x', ); return [result, (logs as any) as DecodedLogs]; } @@ -114,7 +114,7 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { } it('returns magic bytes on success', async () => { - const BRIDGE_SUCCESS_RETURN_DATA = '0xb5d40d78'; + const BRIDGE_SUCCESS_RETURN_DATA = '0xdc1600f3'; const [result] = await transferAsync(); expect(result).to.eq(BRIDGE_SUCCESS_RETURN_DATA); }); From bb87c8e7b5b4f0af115fc7392f7fac3fde0ae781 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Mon, 30 Sep 2019 16:08:42 -0700 Subject: [PATCH 47/83] `@0x/contracts-asset-proxy`: Switch Eth2DaiBridge to support arbitrary tokens. `@0x/contracts-asset-proxy`: Support non-conformant tokens in Eth2DaiBridge --- .../contracts/src/bridges/Eth2DaiBridge.sol | 126 +++++++++------ .../contracts/src/interfaces/IWallet.sol | 38 +++++ .../contracts/test/TestEth2DaiBridge.sol | 141 +++++++++-------- contracts/asset-proxy/src/artifacts.ts | 2 + contracts/asset-proxy/src/wrappers.ts | 1 + contracts/asset-proxy/test/eth2dai_bridge.ts | 145 ++++++++++-------- contracts/asset-proxy/tsconfig.json | 1 + 7 files changed, 277 insertions(+), 177 deletions(-) create mode 100644 contracts/asset-proxy/contracts/src/interfaces/IWallet.sol diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol index fe9fd5807d..0dcf9f3e10 100644 --- a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -20,9 +20,9 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; -import "@0x/contracts-exchange/contracts/src/interfaces/IWallet.sol"; import "./ERC20Bridge.sol"; import "../interfaces/IEth2Dai.sol"; +import "../interfaces/IWallet.sol"; // solhint-disable space-after-comma @@ -30,17 +30,11 @@ contract Eth2DaiBridge is ERC20Bridge, IWallet { - bytes4 private constant LEGACY_WALLET_MAGIC_VALUE = 0xb0671381; /* Mainnet addresses */ address constant public ETH2DAI_ADDRESS = 0x39755357759cE0d7f32dC8dC45414CCa409AE24e; - address constant public WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; - address constant public DAI_ADDRESS = 0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359; - constructor() public { - // Grant the Eth2Dai contract unlimited weth and dai allowances. - _getWethContract().approve(address(_getEth2DaiContract()), uint256(-1)); - _getDaiContract().approve(address(_getEth2DaiContract()), uint256(-1)); - } + /// @dev Whether we've granted an allowance to a spender for a token. + mapping (address => mapping (address => bool)) private _hasAllowance; /// @dev Callback for `IERC20Bridge`. Tries to buy `amount` of /// `toTokenAddress` tokens by selling the entirety of the opposing asset @@ -49,38 +43,34 @@ contract Eth2DaiBridge is /// @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 */ + bytes calldata bridgeData ) external returns (bytes4 success) { - // The "from" token is the opposite of the "to" token. - IERC20Token fromToken = _getWethContract(); - IERC20Token toToken = _getDaiContract(); - // Swap them if necessary. - if (toTokenAddress == address(fromToken)) { - (fromToken, toToken) = (toToken, fromToken); - } else { - require( - toTokenAddress == address(toToken), - "INVALID_ETH2DAI_TOKEN" - ); - } - // Try to sell all of this contract's `fromToken` balance. + // 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. + _grantAllowanceForToken(address(exchange), fromTokenAddress); + + // Try to sell all of this contract's `fromTokenAddress` token balance. uint256 boughtAmount = _getEth2DaiContract().sellAllAmount( - address(fromToken), - fromToken.balanceOf(address(this)), - address(toToken), + address(fromTokenAddress), + IERC20Token(fromTokenAddress).balanceOf(address(this)), + toTokenAddress, amount ); // Transfer the converted `toToken`s to `to`. - toToken.transfer(to, boughtAmount); + _transferERC20Token(toTokenAddress, to, boughtAmount); return BRIDGE_SUCCESS; } @@ -98,26 +88,6 @@ contract Eth2DaiBridge is return LEGACY_WALLET_MAGIC_VALUE; } - /// @dev Overridable way to get the weth contract. - /// @return weth The WETH contract. - function _getWethContract() - internal - view - returns (IERC20Token weth) - { - return IERC20Token(WETH_ADDRESS); - } - - /// @dev Overridable way to get the dai contract. - /// @return token The token contract. - function _getDaiContract() - internal - view - returns (IERC20Token token) - { - return IERC20Token(DAI_ADDRESS); - } - /// @dev Overridable way to get the eth2dai contract. /// @return exchange The Eth2Dai exchange contract. function _getEth2DaiContract() @@ -127,4 +97,66 @@ contract Eth2DaiBridge is { return IEth2Dai(ETH2DAI_ADDRESS); } + + /// @dev Grants an unlimited allowance to `spender` for `tokenAddress` token, + /// if we haven't done so already. + /// @param spender The spender address. + /// @param tokenAddress The token address. + function _grantAllowanceForToken( + address spender, + address tokenAddress + ) + private + { + mapping (address => bool) storage spenderHasAllowance = _hasAllowance[spender]; + if (!spenderHasAllowance[tokenAddress]) { + spenderHasAllowance[tokenAddress] = true; + IERC20Token(tokenAddress).approve(spender, uint256(-1)); + } + } + + /// @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/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/TestEth2DaiBridge.sol b/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol index 6774401e9d..2f1b07703e 100644 --- a/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol @@ -25,15 +25,41 @@ import "../src/interfaces/IEth2Dai.sol"; // solhint-disable no-simple-event-func-name -/// @dev Interface that allows `TestToken` to call `raiseTransferEvent` on -/// the `TestEth2DaiBridge` contract. -interface IRaiseTransferEvent { - function raiseTransferEvent( +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; + external + { + emit TokenTransfer( + msg.sender, + from, + to, + amount + ); + } + + function raiseTokenApprove(address spender, uint256 allowance) + external + { + emit TokenApprove(msg.sender, spender, allowance); + } } @@ -41,15 +67,20 @@ interface IRaiseTransferEvent { contract TestToken { mapping (address => uint256) public balances; - mapping (address => mapping (address => uint256)) public allowances; + string private _nextTransferRevertReason; + bytes private _nextTransferReturnData; - /// @dev Just calls `raiseTransferEvent()` on the caller. + /// @dev Just calls `raiseTokenTransfer()` on the caller. function transfer(address to, uint256 amount) external returns (bool) { - IRaiseTransferEvent(msg.sender).raiseTransferEvent(msg.sender, to, amount); - return true; + 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`. @@ -59,12 +90,23 @@ contract TestToken { balances[owner] = balance; } - /// @dev Records allowance values. + /// @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) { - allowances[msg.sender][spender] = allowance; + TestEvents(msg.sender).raiseTokenApprove(spender, allowance); return true; } @@ -82,6 +124,7 @@ contract TestToken { /// @dev Eth2DaiBridge overridden to mock tokens and /// implement IEth2Dai. contract TestEth2DaiBridge is + TestEvents, IEth2Dai, Eth2DaiBridge { @@ -92,24 +135,19 @@ contract TestEth2DaiBridge is uint256 minimumFillAmount ); - event TokenTransfer( - address token, - address from, - address to, - uint256 amount - ); - - TestToken public wethToken = new TestToken(); - TestToken public daiToken = new TestToken(); + mapping (address => TestToken) public testTokens; string private _nextRevertReason; uint256 private _nextFillAmount; - /// @dev Set token balances for this contract. - function setTokenBalances(uint256 wethBalance, uint256 daiBalance) + /// @dev Create a token and set this contract's balance. + function createToken(uint256 balance) external + returns (address tokenAddress) { - wethToken.setBalance(address(this), wethBalance); - daiToken.setBalance(address(this), daiBalance); + TestToken token = new TestToken(); + testTokens[address(token)] = token; + token.setBalance(address(this), balance); + return address(token); } /// @dev Set the behavior for `IEth2Dai.sellAllAmount()`. @@ -120,6 +158,17 @@ contract TestEth2DaiBridge is _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, @@ -142,50 +191,6 @@ contract TestEth2DaiBridge is return _nextFillAmount; } - function raiseTransferEvent( - address from, - address to, - uint256 amount - ) - external - { - emit TokenTransfer( - msg.sender, - from, - to, - amount - ); - } - - /// @dev Retrieves the allowances of the test tokens. - function getEth2DaiTokenAllowances() - external - view - returns (uint256 wethAllowance, uint256 daiAllowance) - { - wethAllowance = wethToken.allowances(address(this), address(this)); - daiAllowance = daiToken.allowances(address(this), address(this)); - return (wethAllowance, daiAllowance); - } - - // @dev Use `wethToken`. - function _getWethContract() - internal - view - returns (IERC20Token) - { - return IERC20Token(address(wethToken)); - } - - // @dev Use `daiToken`. - function _getDaiContract() - internal - view - returns (IERC20Token) - { - return IERC20Token(address(daiToken)); - } - // @dev This contract will double as the Eth2Dai contract. function _getEth2DaiContract() internal diff --git a/contracts/asset-proxy/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index 1296b11a1d..6662a863f5 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -16,6 +16,7 @@ import * as IAssetProxyDispatcher from '../generated-artifacts/IAssetProxyDispat 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'; @@ -40,6 +41,7 @@ export const artifacts = { 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 4731de6c12..a87eda1f77 100644 --- a/contracts/asset-proxy/src/wrappers.ts +++ b/contracts/asset-proxy/src/wrappers.ts @@ -14,6 +14,7 @@ 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'; diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index 418431bd46..ff851451ea 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -4,6 +4,7 @@ import { expect, filterLogsToArguments, getRandomInteger, + hexLeftPad, hexRandom, Numberish, randomAddress, @@ -18,14 +19,13 @@ import { TestEth2DaiBridgeContract, TestEth2DaiBridgeEvents, TestEth2DaiBridgeSellAllAmountEventArgs, + TestEth2DaiBridgeTokenApproveEventArgs, TestEth2DaiBridgeTokenTransferEventArgs, } from '../src'; -blockchainTests.resets('Eth2DaiBridge unit tests', env => { +blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); let testContract: TestEth2DaiBridgeContract; - let daiTokenAddress: string; - let wethTokenAddress: string; before(async () => { testContract = await TestEth2DaiBridgeContract.deployFrom0xArtifactAsync( @@ -34,18 +34,6 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { env.txDefaults, artifacts, ); - [daiTokenAddress, wethTokenAddress] = await Promise.all([ - testContract.daiToken.callAsync(), - testContract.wethToken.callAsync(), - ]); - }); - - describe('deployment', () => { - it('sets Eth2Dai allowances to maximum', async () => { - const [wethAllowance, daiAllowance] = await testContract.getEth2DaiTokenAllowances.callAsync(); - expect(wethAllowance).to.bignumber.eq(constants.MAX_UINT256); - expect(daiAllowance).to.bignumber.eq(constants.MAX_UINT256); - }); }); describe('isValidSignature()', () => { @@ -57,109 +45,126 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { }); describe('withdrawTo()', () => { - interface TransferOpts { - toTokenAddress: string; + interface WithdrawToOpts { + toTokenAddress?: string; + fromTokenAddress?: string; toAddress: string; amount: Numberish; fromTokenBalance: Numberish; revertReason: string; fillAmount: Numberish; + toTokentransferRevertReason: string; + toTokenTransferReturnData: string; } - function createTransferOpts(opts?: Partial): TransferOpts { + interface WithdrawToResult { + opts: WithdrawToOpts; + result: string; + logs: DecodedLogs; + } + + function createWithdrawToOpts(opts?: Partial): WithdrawToOpts { return { - toTokenAddress: _.sampleSize([wethTokenAddress, daiTokenAddress], 1)[0], toAddress: randomAddress(), amount: getRandomInteger(1, 100e18), revertReason: '', fillAmount: getRandomInteger(1, 100e18), fromTokenBalance: getRandomInteger(1, 100e18), + toTokentransferRevertReason: '', + toTokenTransferReturnData: hexLeftPad(1), ...opts, }; } - async function transferAsync(opts?: Partial): Promise<[string, DecodedLogs]> { - const _opts = createTransferOpts(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), ); - // Set the token balance for the token we're converting from. - await testContract.setTokenBalances.awaitTransactionSuccessAsync( - _opts.toTokenAddress === daiTokenAddress - ? new BigNumber(_opts.fromTokenBalance) - : constants.ZERO_AMOUNT, - _opts.toTokenAddress === wethTokenAddress - ? new BigNumber(_opts.fromTokenBalance) - : constants.ZERO_AMOUNT, + // 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), - '0x', + // ABI-encode the "from" token address as the bridge data. + hexLeftPad(_opts.fromTokenAddress as string), ); - return [result, (logs as any) as DecodedLogs]; - } - - function getOppositeToken(tokenAddress: string): string { - if (tokenAddress === daiTokenAddress) { - return wethTokenAddress; - } - return daiTokenAddress; + return { + opts: _opts, + result, + logs: (logs as any) as DecodedLogs, + }; } it('returns magic bytes on success', async () => { const BRIDGE_SUCCESS_RETURN_DATA = '0xdc1600f3'; - const [result] = await transferAsync(); + const { result } = await withdrawToAsync(); expect(result).to.eq(BRIDGE_SUCCESS_RETURN_DATA); }); it('calls `Eth2Dai.sellAllAmount()`', async () => { - const opts = createTransferOpts(); - const [, logs] = await transferAsync(opts); + const { opts, logs } = await withdrawToAsync(); const transfers = filterLogsToArguments( logs, TestEth2DaiBridgeEvents.SellAllAmount, ); expect(transfers.length).to.eq(1); - expect(transfers[0].sellToken).to.eq(getOppositeToken(opts.toTokenAddress)); + 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('can swap DAI for WETH', async () => { - const opts = createTransferOpts({ toTokenAddress: wethTokenAddress }); - const [, logs] = await transferAsync(opts); - const transfers = filterLogsToArguments( + it('sets an unlimited allowance on the `fromTokenAddress` token', async () => { + const { opts, logs } = await withdrawToAsync(); + const approvals = filterLogsToArguments( logs, - TestEth2DaiBridgeEvents.SellAllAmount, + TestEth2DaiBridgeEvents.TokenApprove, ); - expect(transfers.length).to.eq(1); - expect(transfers[0].sellToken).to.eq(daiTokenAddress); - expect(transfers[0].buyToken).to.eq(wethTokenAddress); + 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('can swap WETH for DAI', async () => { - const opts = createTransferOpts({ toTokenAddress: daiTokenAddress }); - const [, logs] = await transferAsync(opts); - const transfers = filterLogsToArguments( + it('does not set an unlimited allowance on the `fromTokenAddress` token if already set', async () => { + const { opts } = await withdrawToAsync(); + const { logs } = await withdrawToAsync({ fromTokenAddress: opts.fromTokenAddress }); + const approvals = filterLogsToArguments( logs, - TestEth2DaiBridgeEvents.SellAllAmount, + TestEth2DaiBridgeEvents.TokenApprove, ); - expect(transfers.length).to.eq(1); - expect(transfers[0].sellToken).to.eq(wethTokenAddress); - expect(transfers[0].buyToken).to.eq(daiTokenAddress); + expect(approvals.length).to.eq(0); }); it('transfers filled amount to `to`', async () => { - const opts = createTransferOpts(); - const [, logs] = await transferAsync(opts); + const { opts, logs } = await withdrawToAsync(); const transfers = filterLogsToArguments( logs, TestEth2DaiBridgeEvents.TokenTransfer, @@ -172,9 +177,25 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { }); it('fails if `Eth2Dai.sellAllAmount()` reverts', async () => { - const opts = createTransferOpts({ revertReason: 'FOOBAR' }); - const tx = transferAsync(opts); + 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 ff6ab95a27..b3faf3e356 100644 --- a/contracts/asset-proxy/tsconfig.json +++ b/contracts/asset-proxy/tsconfig.json @@ -14,6 +14,7 @@ "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", From 35daecd5aed5a890133a2efbfffebc879d1eb34c Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Mon, 30 Sep 2019 17:13:15 -0700 Subject: [PATCH 48/83] `@0x/contracts-asset-proxy`: Rebase and use `@0x/types.AssetProxyId`. --- contracts/asset-proxy/test/eth2dai_bridge.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index ff851451ea..c8411595a6 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -10,6 +10,7 @@ import { 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'; @@ -123,7 +124,7 @@ blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { } it('returns magic bytes on success', async () => { - const BRIDGE_SUCCESS_RETURN_DATA = '0xdc1600f3'; + const BRIDGE_SUCCESS_RETURN_DATA = AssetProxyId.ERC20Bridge; const { result } = await withdrawToAsync(); expect(result).to.eq(BRIDGE_SUCCESS_RETURN_DATA); }); From 1356237ec912a0ffc8a2e293e90e449ba7acd606 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Mon, 30 Sep 2019 17:43:08 -0700 Subject: [PATCH 49/83] `@0x/contracts-asset-proxy`: Rebase and use `IERC20Bridge` --- contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol | 4 ++-- contracts/asset-proxy/package.json | 2 +- contracts/asset-proxy/src/artifacts.ts | 1 + contracts/asset-proxy/test/eth2dai_bridge.ts | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol index 0dcf9f3e10..d95f57a856 100644 --- a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -20,14 +20,14 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; -import "./ERC20Bridge.sol"; +import "../interfaces/IERC20Bridge.sol"; import "../interfaces/IEth2Dai.sol"; import "../interfaces/IWallet.sol"; // solhint-disable space-after-comma contract Eth2DaiBridge is - ERC20Bridge, + IERC20Bridge, IWallet { /* Mainnet addresses */ diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index 702a17e35f..e3b85d38cc 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -35,7 +35,7 @@ "compile:truffle": "truffle compile" }, "config": { - "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20BridgeProxy|ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|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": { diff --git a/contracts/asset-proxy/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index 6662a863f5..a7145fd6c5 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -35,6 +35,7 @@ export const artifacts = { 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, diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index c8411595a6..5f24e29596 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -24,7 +24,7 @@ import { TestEth2DaiBridgeTokenTransferEventArgs, } from '../src'; -blockchainTests.resets.only('Eth2DaiBridge unit tests', env => { +blockchainTests.resets('Eth2DaiBridge unit tests', env => { const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); let testContract: TestEth2DaiBridgeContract; From 4098238019c363cf9106657258ae731d08a94c9d Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Tue, 1 Oct 2019 18:35:24 -0700 Subject: [PATCH 50/83] `@0x/contracts-asset-proxy`: Set allowance every time. --- .../contracts/src/bridges/Eth2DaiBridge.sol | 12 ++---------- contracts/asset-proxy/test/eth2dai_bridge.ts | 10 ---------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol index d95f57a856..28be6df443 100644 --- a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -33,9 +33,6 @@ contract Eth2DaiBridge is /* Mainnet addresses */ address constant public ETH2DAI_ADDRESS = 0x39755357759cE0d7f32dC8dC45414CCa409AE24e; - /// @dev Whether we've granted an allowance to a spender for a token. - mapping (address => mapping (address => bool)) private _hasAllowance; - /// @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 @@ -98,8 +95,7 @@ contract Eth2DaiBridge is return IEth2Dai(ETH2DAI_ADDRESS); } - /// @dev Grants an unlimited allowance to `spender` for `tokenAddress` token, - /// if we haven't done so already. + /// @dev Grants an unlimited allowance to `spender` for `tokenAddress` token. /// @param spender The spender address. /// @param tokenAddress The token address. function _grantAllowanceForToken( @@ -108,11 +104,7 @@ contract Eth2DaiBridge is ) private { - mapping (address => bool) storage spenderHasAllowance = _hasAllowance[spender]; - if (!spenderHasAllowance[tokenAddress]) { - spenderHasAllowance[tokenAddress] = true; - IERC20Token(tokenAddress).approve(spender, uint256(-1)); - } + IERC20Token(tokenAddress).approve(spender, uint256(-1)); } /// @dev Permissively transfers an ERC20 token that may not adhere to diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts index 5f24e29596..f8958a00ef 100644 --- a/contracts/asset-proxy/test/eth2dai_bridge.ts +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -154,16 +154,6 @@ blockchainTests.resets('Eth2DaiBridge unit tests', env => { expect(approvals[0].allowance).to.bignumber.eq(constants.MAX_UINT256); }); - it('does not set an unlimited allowance on the `fromTokenAddress` token if already set', async () => { - const { opts } = await withdrawToAsync(); - const { logs } = await withdrawToAsync({ fromTokenAddress: opts.fromTokenAddress }); - const approvals = filterLogsToArguments( - logs, - TestEth2DaiBridgeEvents.TokenApprove, - ); - expect(approvals.length).to.eq(0); - }); - it('transfers filled amount to `to`', async () => { const { opts, logs } = await withdrawToAsync(); const transfers = filterLogsToArguments( From d15f4de4aecd38423b6c22da89ddb9581a41d981 Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Tue, 1 Oct 2019 19:17:12 -0700 Subject: [PATCH 51/83] `@0x/contracts-asset-proxy`: Inline `_grantAllowances()` in `Eth2DaiBridge`. --- .../contracts/src/bridges/Eth2DaiBridge.sol | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol index 28be6df443..d724dc5c51 100644 --- a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -57,7 +57,7 @@ contract Eth2DaiBridge is IEth2Dai exchange = _getEth2DaiContract(); // Grant an allowance to the exchange to spend `fromTokenAddress` token. - _grantAllowanceForToken(address(exchange), fromTokenAddress); + IERC20Token(fromTokenAddress).approve(address(exchange), uint256(-1)); // Try to sell all of this contract's `fromTokenAddress` token balance. uint256 boughtAmount = _getEth2DaiContract().sellAllAmount( @@ -95,18 +95,6 @@ contract Eth2DaiBridge is return IEth2Dai(ETH2DAI_ADDRESS); } - /// @dev Grants an unlimited allowance to `spender` for `tokenAddress` token. - /// @param spender The spender address. - /// @param tokenAddress The token address. - function _grantAllowanceForToken( - address spender, - address tokenAddress - ) - private - { - IERC20Token(tokenAddress).approve(spender, uint256(-1)); - } - /// @dev Permissively transfers an ERC20 token that may not adhere to /// specs. /// @param tokenAddress The token contract address. From 27c039d51c87fd8d645c59544a60cce4354a578b Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Tue, 1 Oct 2019 21:44:43 -0700 Subject: [PATCH 52/83] Fix deployment and configuration tests --- contracts/exchange/test/end-to-end/deployment.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contracts/exchange/test/end-to-end/deployment.ts b/contracts/exchange/test/end-to-end/deployment.ts index e557adae3f..a2ca5d856c 100644 --- a/contracts/exchange/test/end-to-end/deployment.ts +++ b/contracts/exchange/test/end-to-end/deployment.ts @@ -126,6 +126,9 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { readOnlyProxy.address, ); + // Authorize owner in the staking proxy. + await stakingProxy.addAuthorizedAddress.awaitTransactionSuccessAsync(owner); + // Deploy the asset proxy contracts. erc20Proxy = await ERC20ProxyContract.deployFrom0xArtifactAsync( assetProxyArtifacts.ERC20Proxy, @@ -417,8 +420,6 @@ blockchainTests('Deployment and Configuration End to End Tests', env => { // 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(readOnlyProxy); - await transferAuthorizationAndAssertSuccessAsync(staking); await transferAuthorizationAndAssertSuccessAsync(stakingProxy); }); From 90541f0436e436c06060e887a96de7b39175911e Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Tue, 1 Oct 2019 18:27:22 -0700 Subject: [PATCH 53/83] Updated Forwarder --- .../generated-wrappers/asset_proxy_owner.ts | 5230 ++--- .../src/generated-wrappers/dev_utils.ts | 6356 +++--- .../generated-wrappers/dummy_erc20_token.ts | 2650 +-- .../generated-wrappers/dummy_erc721_token.ts | 2664 +-- .../src/generated-wrappers/erc1155_proxy.ts | 818 +- .../src/generated-wrappers/erc20_proxy.ts | 2 +- .../src/generated-wrappers/erc20_token.ts | 2 +- .../src/generated-wrappers/erc721_proxy.ts | 2 +- .../src/generated-wrappers/erc721_token.ts | 1784 +- .../generated-wrappers/eth_balance_checker.ts | 2 +- .../src/generated-wrappers/exchange.ts | 16064 ++++++++-------- .../src/generated-wrappers/forwarder.ts | 654 +- .../generated-wrappers/multi_asset_proxy.ts | 2 +- .../generated-wrappers/static_call_proxy.ts | 2 +- .../src/generated-wrappers/weth9.ts | 2 +- .../src/generated-wrappers/zrx_token.ts | 2 +- .../artifacts/AssetProxyOwner.json | 458 +- .../artifacts/DevUtils.json | 754 +- .../artifacts/DummyERC20Token.json | 202 +- .../artifacts/DummyERC721Token.json | 352 +- .../artifacts/ERC1155Proxy.json | 106 +- .../artifacts/ERC20Proxy.json | 4 +- .../artifacts/ERC20Token.json | 4 +- .../artifacts/ERC721Proxy.json | 4 +- .../artifacts/ERC721Token.json | 144 +- .../artifacts/EthBalanceChecker.json | 4 +- .../artifacts/Exchange.json | 1580 +- .../artifacts/Forwarder.json | 58 +- .../artifacts/MultiAssetProxy.json | 4 +- .../artifacts/StaticCallProxy.json | 4 +- .../contract-artifacts/artifacts/WETH9.json | 4 +- .../artifacts/ZRXToken.json | 4 +- 32 files changed, 19961 insertions(+), 19961 deletions(-) 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 9592b48ee9..36a086ff87 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 @@ -32,48 +32,32 @@ 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 +65,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 +83,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,625 +102,26 @@ 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 = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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); - 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('owners(uint256)', [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('owners(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). - * @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('owners(uint256)', [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): BigNumber { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('owners(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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Allows to remove an owner. Transaction has to be sent by wallet. - */ - 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 owner Address of 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 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 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( - owner: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('owner', owner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.removeOwner.sendTransactionAsync(owner.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 owner Address of 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 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(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 owner Address of owner. - */ - 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, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.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('removeOwner(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 Address of 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(), - ]); - 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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('removeOwner(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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Allows an owner to revoke a confirmation for a transaction. - */ - public revokeConfirmation = { - /** - * 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('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 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.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 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; - }, - /** - * 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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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. - */ - 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 AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.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('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; - }, - /** - * 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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isOwner(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('isOwner(address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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; - }, - }; - public secondsTimeLocked = { + '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 @@ -749,7 +137,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('MAX_OWNER_COUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -769,7 +157,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -783,7 +171,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); return abiEncodedTransactionData; }, /** @@ -793,7 +181,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -805,105 +193,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Returns total number of transactions after filers are applied. - */ - 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 pending Include pending transactions. - * @param executed Include executed transactions. - * @returns Total number of transactions after filters are applied. - */ - async callAsync( - pending: boolean, - executed: boolean, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBoolean('pending', pending); - assert.isBoolean('executed', executed); - 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('getTransactionCount(bool,bool)', [pending, executed]); - 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('getTransactionCount(bool,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 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); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ - pending, - executed, - ]); - 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): boolean { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); - // 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('getTransactionCount(bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1079,6 +369,1734 @@ export class AssetProxyOwnerContract extends BaseContract { return abiDecodedReturnData; }, }; + /** + * 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 + */ + awaitTransactionSuccessAsync( + _required: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, 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 _required Number of required confirmations. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(_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 gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + _required: BigNumber, + txData?: Partial | undefined, + ): Promise { + 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 _required Number of required confirmations. + */ + async callAsync( + _required: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('_required', _required); + 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('changeRequirement(uint256)', [_required]); + 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('changeRequirement(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 _required Number of required confirmations. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(_required: BigNumber): string { + assert.isBigNumber('_required', _required); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + 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('changeRequirement(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Changes the duration of the time lock for transactions. + */ + public changeTimeLock = { + /** + * 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. + */ + async callAsync( + _secondsTimeLocked: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + 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('changeTimeLock(uint256)', [_secondsTimeLocked]); + 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('changeTimeLock(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 _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(_secondsTimeLocked: BigNumber): string { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ + _secondsTimeLocked, + ]); + 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('changeTimeLock(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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( + 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('confirmTransaction(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('confirmTransaction(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 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('confirmTransaction(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('confirmTransaction(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + async callAsync( + index_0: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('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 AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [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('confirmationTimes(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). + * @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('confirmationTimes(uint256)', [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): BigNumber { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('confirmationTimes(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): BigNumber { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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; + }, + }; + /** + * 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 = { + /** + * 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('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 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.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, + ); + })(), + ); + }, + /** + * 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('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; + }, + 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 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('executeTransaction(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('executeTransaction(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 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('executeTransaction(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('executeTransaction(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + public functionCallTimeLocks = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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, + index_1: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): 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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,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('functionCallTimeLocks(bytes4,address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[boolean, 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). + * @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 AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,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): [string, string] { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + // 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): [boolean, BigNumber] { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[boolean, BigNumber]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Returns number of confirmations of a transaction. + */ + 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 Number of confirmations. + */ + 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('getConfirmationCount(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('getConfirmationCount(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 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('getConfirmationCount(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('getConfirmationCount(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): BigNumber { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Returns array with owner addresses, which confirmed transaction. + */ + public getConfirmations = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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, + 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('getConfirmations(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('getConfirmations(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 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('getConfirmations(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('getConfirmations(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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(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('getOwners()', []); + 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('getOwners()'); + // 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('getOwners()', []); + 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('getOwners()'); + // 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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('getOwners()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Returns total number of transactions after filers are applied. + */ + 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 pending Include pending transactions. + * @param executed Include executed transactions. + * @returns Total number of transactions after filters are applied. + */ + async callAsync( + pending: boolean, + executed: boolean, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBoolean('pending', pending); + assert.isBoolean('executed', executed); + 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('getTransactionCount(bool,bool)', [pending, executed]); + 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('getTransactionCount(bool,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 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); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ + pending, + executed, + ]); + 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): boolean { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); + // 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('getTransactionCount(bool,bool)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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( + from: BigNumber, + to: BigNumber, + pending: boolean, + executed: boolean, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): 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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + 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 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('getTransactionIds(uint256,uint256,bool,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 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); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTransactionIds(uint256,uint256,bool,bool)', + [from, to, pending, executed], + ); + 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('getTransactionIds(uint256,uint256,bool,bool)'); + // 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('getTransactionIds(uint256,uint256,bool,bool)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Returns the confirmation status of a transaction. + */ + 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. + * @param transactionId Transaction ID. + * @returns Confirmation status. + */ + 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('isConfirmed(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('isConfirmed(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 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('isConfirmed(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('isConfirmed(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + 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 AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.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('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; + }, + /** + * 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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('isOwner(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('isOwner(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + async callAsync( + index_0: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('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 AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('owners(uint256)', [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('owners(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). + * @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('owners(uint256)', [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): BigNumber { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('owners(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; /** * Registers a custom timelock to a specific function selector / destination combo */ @@ -1354,114 +2372,20 @@ export class AssetProxyOwnerContract extends BaseContract { }, }; /** - * Returns the confirmation status of a transaction. + * Allows to remove an owner. Transaction has to be sent by wallet. */ - 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. - * @param transactionId Transaction ID. - * @returns Confirmation status. - */ - 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('isConfirmed(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('isConfirmed(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 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('isConfirmed(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('isConfirmed(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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Changes the duration of the time lock for transactions. - */ - public changeTimeLock = { + 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 _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. + * @param owner Address of owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync( - _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1480,21 +2404,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 _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. + * @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( - _secondsTimeLocked: BigNumber, + owner: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); + const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1509,15 +2432,207 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * 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 owner Address of owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.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(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 owner Address of owner. + */ + 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, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.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('removeOwner(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 Address of 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(), + ]); + 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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('removeOwner(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 AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Allows to replace an owner with a new owner. Transaction has to be sent by wallet. + */ + 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 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( + 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('replaceOwner(address,address)', [ + owner.toLowerCase(), + 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 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( + owner: string, + newOwner: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.replaceOwner.sendTransactionAsync( + owner.toLowerCase(), + 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 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(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('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1534,26 +2649,29 @@ export class AssetProxyOwnerContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _secondsTimeLocked: BigNumber, + owner: string, + newOwner: string, txData?: Partial | undefined, ): Promise { - await (this as any).changeTimeLock.callAsync(_secondsTimeLocked, txData); - const txHash = await (this as any).changeTimeLock.sendTransactionAsync(_secondsTimeLocked, 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 _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. */ async callAsync( - _secondsTimeLocked: BigNumber, + owner: string, + newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1563,7 +2681,10 @@ 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('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1583,7 +2704,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1593,108 +2714,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 _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + 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('changeTimeLock(uint256)', [ - _secondsTimeLocked, - ]); - 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('changeTimeLock(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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - public functionCallTimeLocks = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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, - index_1: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): 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, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,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('functionCallTimeLocks(bytes4,address)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[boolean, 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). - * @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 AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,address)', [ - index_0, - index_1.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -1705,7 +2735,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string, string] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); return abiDecodedCallData; @@ -1715,478 +2745,15 @@ 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): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[boolean, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; - /** - * Returns number of confirmations of a transaction. - */ - 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 Number of confirmations. - */ - 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('getConfirmationCount(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('getConfirmationCount(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 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('getConfirmationCount(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('getConfirmationCount(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): BigNumber { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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. - */ - async callAsync( - index_0: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[string, BigNumber, string, boolean]> { - assert.isBigNumber('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 AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactions(uint256)', [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('transactions(uint256)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(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): string { - assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [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): [BigNumber] { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactions(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): [string, BigNumber, string, boolean] { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>( - returnData, - ); - return abiDecodedReturnData; - }, - }; - /** - * 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(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('getOwners()', []); - 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('getOwners()'); - // 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('getOwners()', []); - 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('getOwners()'); - // 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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getOwners()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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( - from: BigNumber, - to: BigNumber, - pending: boolean, - executed: boolean, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): 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, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - 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 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('getTransactionIds(uint256,uint256,bool,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 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); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTransactionIds(uint256,uint256,bool,bool)', - [from, to, pending, executed], - ); - 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('getTransactionIds(uint256,uint256,bool,bool)'); - // 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('getTransactionIds(uint256,uint256,bool,bool)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Returns array with owner addresses, which confirmed transaction. - */ - public getConfirmations = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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, - 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('getConfirmations(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('getConfirmations(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 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('getConfirmations(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('getConfirmations(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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - public transactionCount = { + 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 @@ -2202,7 +2769,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactionCount()', []); + const encodedData = self._strictEncodeArguments('required()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2222,7 +2789,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -2236,7 +2803,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); return abiEncodedTransactionData; }, /** @@ -2246,7 +2813,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -2258,193 +2825,16 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; /** - * Allows to change the number of required confirmations. Transaction has to be sent by wallet. + * Allows an owner to revoke a confirmation for a transaction. */ - 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 - */ - awaitTransactionSuccessAsync( - _required: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, 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 _required Number of required confirmations. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync(_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 gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - _required: BigNumber, - txData?: Partial | undefined, - ): Promise { - 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 _required Number of required confirmations. - */ - async callAsync( - _required: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('_required', _required); - 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('changeRequirement(uint256)', [_required]); - 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('changeRequirement(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 _required Number of required confirmations. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_required: BigNumber): string { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); - 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('changeRequirement(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 AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Allows an owner to confirm a transaction. - */ - public confirmTransaction = { + public revokeConfirmation = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. @@ -2455,7 +2845,7 @@ export class AssetProxyOwnerContract extends BaseContract { 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 encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2487,7 +2877,7 @@ export class AssetProxyOwnerContract extends BaseContract { ): PromiseWithTransactionHash { assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); + const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -2509,7 +2899,7 @@ export class AssetProxyOwnerContract extends BaseContract { 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 encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2529,8 +2919,8 @@ export class AssetProxyOwnerContract extends BaseContract { transactionId: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).confirmTransaction.callAsync(transactionId, txData); - const txHash = await (this as any).confirmTransaction.sendTransactionAsync(transactionId, txData); + await (this as any).revokeConfirmation.callAsync(transactionId, txData); + const txHash = await (this as any).revokeConfirmation.sendTransactionAsync(transactionId, txData); return txHash; }, /** @@ -2554,7 +2944,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('revokeConfirmation(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2574,7 +2964,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -2590,7 +2980,7 @@ export class AssetProxyOwnerContract extends BaseContract { getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ + const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ transactionId, ]); return abiEncodedTransactionData; @@ -2602,7 +2992,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; @@ -2614,12 +3004,90 @@ 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('revokeConfirmation(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; + 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 + * 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 AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); + 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('secondsTimeLocked()'); + // 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('secondsTimeLocked()', []); + 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('secondsTimeLocked()'); + // 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('secondsTimeLocked()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; /** * Allows an owner to submit and confirm a transaction. */ @@ -2855,18 +3323,13 @@ export class AssetProxyOwnerContract extends BaseContract { return abiDecodedReturnData; }, }; - public confirmationTimes = { + public transactionCount = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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, @@ -2876,7 +3339,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('transactionCount()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2896,12 +3359,95 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + const abiEncoder = self._lookupAbiEncoder('transactionCount()'); // 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('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; + }, + }; + 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. + */ + async callAsync( + index_0: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, BigNumber, string, boolean]> { + assert.isBigNumber('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 AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('transactions(uint256)', [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('transactions(uint256)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(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 @@ -2911,555 +3457,7 @@ export class AssetProxyOwnerContract extends BaseContract { getABIEncodedTransactionData(index_0: BigNumber): string { assert.isBigNumber('index_0', index_0); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [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): BigNumber { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(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): BigNumber { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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(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('MAX_OWNER_COUNT()', []); - 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('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; - }, - /** - * 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('MAX_OWNER_COUNT()'); - // 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('MAX_OWNER_COUNT()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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(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('required()', []); - 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('required()'); - // 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('required()', []); - 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('required()'); - // 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('required()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Allows to replace an owner with a new owner. Transaction has to be sent by wallet. - */ - 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 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( - 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('replaceOwner(address,address)', [ - owner.toLowerCase(), - 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 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( - owner: string, - newOwner: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.replaceOwner.sendTransactionAsync( - owner.toLowerCase(), - 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 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(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('replaceOwner(address,address)', [ - owner.toLowerCase(), - 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( - owner: string, - newOwner: 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); - 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. - */ - async callAsync( - owner: string, - newOwner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('owner', owner); - 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 AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - 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('replaceOwner(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 Address of owner to be replaced. - * @param newOwner Address of new owner. - * @returns The ABI encoded transaction data as a string - */ - 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('replaceOwner(address,address)', [ - owner.toLowerCase(), - 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, string] { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); - // 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): void { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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 = { - /** - * 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('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 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.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, - ); - })(), - ); - }, - /** - * 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('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; - }, - 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 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('executeTransaction(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('executeTransaction(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 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('executeTransaction(uint256)', [ - transactionId, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); return abiEncodedTransactionData; }, /** @@ -3469,7 +3467,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; @@ -3479,11 +3477,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; }, }; @@ -3614,18 +3614,243 @@ 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: '_defaultSecondsTimeLocked', type: 'uint256', }, ], - name: 'owners', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { + name: 'sender', + type: 'address', + indexed: true, + }, + { + name: 'transactionId', + type: 'uint256', + indexed: true, + }, + ], + name: 'Confirmation', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'transactionId', + type: 'uint256', + indexed: true, + }, + { + name: 'confirmationTime', + type: 'uint256', + indexed: false, + }, + ], + name: 'ConfirmationTimeSet', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'sender', + type: 'address', + indexed: true, + }, + { + name: 'value', + type: 'uint256', + indexed: false, + }, + ], + name: 'Deposit', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'transactionId', + type: 'uint256', + indexed: true, + }, + ], + name: 'Execution', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'transactionId', + type: 'uint256', + indexed: true, + }, + ], + name: 'ExecutionFailure', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'functionSelector', + type: 'bytes4', + indexed: false, + }, + { + name: 'destination', + type: 'address', + indexed: false, + }, + { + name: 'hasCustomTimeLock', + type: 'bool', + indexed: false, + }, + { + name: 'newSecondsTimeLocked', + type: 'uint128', + indexed: false, + }, + ], + name: 'FunctionCallTimeLockRegistration', + 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: 'OwnerRemoval', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'required', + type: 'uint256', + indexed: false, + }, + ], + name: 'RequirementChange', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'sender', + type: 'address', + indexed: true, + }, + { + name: 'transactionId', + type: 'uint256', + indexed: true, + }, + ], + 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: '', - type: 'address', + type: 'uint256', }, ], payable: false, @@ -3640,7 +3865,35 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'address', }, ], - name: 'removeOwner', + name: 'addOwner', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_required', + type: 'uint256', + }, + ], + name: 'changeRequirement', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_secondsTimeLocked', + type: 'uint256', + }, + ], + name: 'changeTimeLock', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -3654,7 +3907,7 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'uint256', }, ], - name: 'revokeConfirmation', + name: 'confirmTransaction', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -3665,14 +3918,14 @@ export class AssetProxyOwnerContract extends BaseContract { inputs: [ { name: 'index_0', - type: 'address', + type: 'uint256', }, ], - name: 'isOwner', + name: 'confirmationTimes', outputs: [ { name: '', - type: 'bool', + type: 'uint256', }, ], payable: false, @@ -3702,111 +3955,15 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { - constant: true, - inputs: [], - name: 'secondsTimeLocked', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'pending', - type: 'bool', - }, - { - name: 'executed', - type: 'bool', - }, - ], - name: 'getTransactionCount', - outputs: [ - { - name: 'count', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, { constant: false, - inputs: [ - { - name: 'owner', - type: 'address', - }, - ], - name: 'addOwner', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'hasCustomTimeLock', - type: 'bool', - }, - { - name: 'functionSelector', - type: 'bytes4', - }, - { - name: 'destination', - type: 'address', - }, - { - name: 'newSecondsTimeLocked', - type: 'uint128', - }, - ], - name: 'registerFunctionCall', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, inputs: [ { name: 'transactionId', type: 'uint256', }, ], - name: 'isConfirmed', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_secondsTimeLocked', - type: 'uint256', - }, - ], - name: 'changeTimeLock', + name: 'executeTransaction', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -3862,27 +4019,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, @@ -3903,6 +4048,29 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'view', type: 'function', }, + { + constant: true, + inputs: [ + { + name: 'pending', + type: 'bool', + }, + { + name: 'executed', + type: 'bool', + }, + ], + name: 'getTransactionCount', + outputs: [ + { + name: 'count', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, { constant: true, inputs: [ @@ -3942,21 +4110,117 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'uint256', }, ], - name: 'getConfirmations', + name: 'isConfirmed', outputs: [ { - name: '_confirmations', - type: 'address[]', + name: '', + type: 'bool', }, ], payable: false, stateMutability: 'view', type: 'function', }, + { + constant: true, + inputs: [ + { + name: 'index_0', + type: 'address', + }, + ], + name: 'isOwner', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'index_0', + type: 'uint256', + }, + ], + name: 'owners', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'hasCustomTimeLock', + type: 'bool', + }, + { + name: 'functionSelector', + type: 'bytes4', + }, + { + name: 'destination', + type: 'address', + }, + { + name: 'newSecondsTimeLocked', + type: 'uint128', + }, + ], + name: 'registerFunctionCall', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'owner', + type: 'address', + }, + ], + name: 'removeOwner', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'owner', + type: 'address', + }, + { + name: 'newOwner', + type: 'address', + }, + ], + name: 'replaceOwner', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, { constant: true, inputs: [], - name: 'transactionCount', + name: 'required', outputs: [ { name: '', @@ -3971,28 +4235,28 @@ export class AssetProxyOwnerContract extends BaseContract { constant: false, inputs: [ { - name: '_required', + name: 'transactionId', type: 'uint256', }, ], - name: 'changeRequirement', + name: 'revokeConfirmation', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, { - constant: false, - inputs: [ + constant: true, + inputs: [], + name: 'secondsTimeLocked', + outputs: [ { - name: 'transactionId', + name: '', type: 'uint256', }, ], - name: 'confirmTransaction', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { @@ -4022,6 +4286,20 @@ export class AssetProxyOwnerContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, + { + constant: true, + inputs: [], + name: 'transactionCount', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, { constant: true, inputs: [ @@ -4030,306 +4308,28 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'uint256', }, ], - name: 'confirmationTimes', + name: 'transactions', outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'MAX_OWNER_COUNT', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'required', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'owner', - type: 'address', - }, - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'replaceOwner', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'transactionId', - type: 'uint256', - }, - ], - name: 'executeTransaction', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - name: '_functionSelectors', - type: 'bytes4[]', - }, - { - name: '_destinations', - type: 'address[]', - }, - { - name: '_functionCallTimeLockSeconds', - type: 'uint128[]', - }, - { - name: '_owners', - type: 'address[]', - }, - { - name: '_required', - type: 'uint256', - }, - { - name: '_defaultSecondsTimeLocked', - type: 'uint256', - }, - ], - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - 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: 'newSecondsTimeLocked', - type: 'uint128', - indexed: false, - }, - ], - name: 'FunctionCallTimeLockRegistration', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'transactionId', - type: 'uint256', - indexed: true, - }, - { - name: 'confirmationTime', - type: 'uint256', - indexed: false, - }, - ], - name: 'ConfirmationTimeSet', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'secondsTimeLocked', - type: 'uint256', - indexed: false, - }, - ], - name: 'TimeLockChange', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'sender', - type: 'address', - indexed: true, - }, - { - name: 'transactionId', - 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: 'Revocation', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'transactionId', - type: 'uint256', - indexed: true, - }, - ], - name: 'Submission', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'transactionId', - type: 'uint256', - indexed: true, - }, - ], - name: 'Execution', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'transactionId', - type: 'uint256', - indexed: true, - }, - ], - name: 'ExecutionFailure', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'sender', - 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: 'data', + type: 'bytes', }, - ], - name: 'OwnerAddition', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ { - name: 'owner', - type: 'address', - indexed: true, + name: 'executed', + type: 'bool', }, ], - name: 'OwnerRemoval', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'required', - type: 'uint256', - indexed: false, - }, - ], - 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/dev_utils.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts index 2ba9b118cf..4f01ed273d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts @@ -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,276 +84,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('decodeOrderStatusError(bytes)', [encoded]); - 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('decodeOrderStatusError(bytes)'); - // 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): [string, number] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, number]>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Decode ERC-721 asset data from the format described in the AssetProxy contract specification. - */ - 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 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( - assetData: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[string, string, BigNumber]> { - assert.isString('assetData', assetData); - 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('decodeERC721AssetData(bytes)', [assetData]); - 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('decodeERC721AssetData(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, 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 assetData AssetProxy-compliant asset data describing an ERC-721 - * asset. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(assetData: string): string { - assert.isString('assetData', assetData); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC721AssetData(bytes)', [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('decodeERC721AssetData(bytes)'); - // 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): [string, string, BigNumber] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Calls getBalance() and getAllowance() for assetData. - */ - 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 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( - ownerAddress: string, - assetData: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber]> { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); - 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('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._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(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 Details of asset, 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.isString('assetData', assetData); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getBalanceAndAssetProxyAllowance(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('getBalanceAndAssetProxyAllowance(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('getBalanceAndAssetProxyAllowance(address,bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Decompose an ABI-encoded IncompleteFillError. - */ - 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 orderHash Hash of the order being filled. - */ - async callAsync( - encoded: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[number, BigNumber, BigNumber]> { - assert.isString('encoded', encoded); - 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('decodeIncompleteFillError(bytes)', [encoded]); - 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('decodeIncompleteFillError(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, 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 encoded ABI-encoded revert error. - * @returns The ABI encoded transaction data as a string - */ - 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('decodeAssetProxyDispatchError(bytes)', [ encoded, ]); return abiEncodedTransactionData; @@ -365,7 +96,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('decodeAssetProxyDispatchError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -375,35 +106,31 @@ 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): [number, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, BigNumber, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); return abiDecodedReturnData; }, }; /** - * Gets the amount of an asset transferable by the owner. + * Decompose an ABI-encoded AssetProxyExistsError. */ - public getTransferableAssetAmount = { + 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 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 encoded ABI-encoded revert error. + * @returns assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. */ async callAsync( - ownerAddress: string, - assetData: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + ): Promise<[string, string]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -413,32 +140,21 @@ 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('decodeAssetProxyExistsError(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('getTransferableAssetAmount(address,bytes)'); + + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -446,18 +162,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 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('getTransferableAssetAmount(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, + const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyExistsError(bytes)', [ + encoded, ]); return abiEncodedTransactionData; }, @@ -466,11 +178,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('decodeAssetProxyExistsError(bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -478,11 +190,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, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, }; @@ -570,6 +282,680 @@ export class DevUtilsContract extends BaseContract { return abiDecodedReturnData; }, }; + /** + * Decompose an ABI-encoded SignatureValidatorError. + */ + 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 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<[string, string, string, string]> { + assert.isString('encoded', encoded); + 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('decodeEIP1271SignatureError(bytes)', [encoded]); + 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('decodeEIP1271SignatureError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>(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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeEIP1271SignatureError(bytes)', [ + encoded, + ]); + 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('decodeEIP1271SignatureError(bytes)'); + // 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): [string, string, string, string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>( + returnData, + ); + return abiDecodedReturnData; + }, + }; + /** + * Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. + */ + 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 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( + assetData: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, string, BigNumber[], BigNumber[], string]> { + assert.isString('assetData', assetData); + 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('decodeERC1155AssetData(bytes)', [assetData]); + 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('decodeERC1155AssetData(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber[], BigNumber[], string]>( + 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 AssetProxy-compliant asset data describing an ERC-1155 set + * of assets. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC1155AssetData(bytes)', [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('decodeERC1155AssetData(bytes)'); + // 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): [string, string, BigNumber[], BigNumber[], string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + [string, string, BigNumber[], BigNumber[], string] + >(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decode ERC-20 asset data from the format described in the AssetProxy contract specification. + */ + 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 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( + assetData: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, string]> { + assert.isString('assetData', assetData); + 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('decodeERC20AssetData(bytes)', [assetData]); + 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('decodeERC20AssetData(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(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 AssetProxy-compliant asset data describing an ERC-20 asset. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC20AssetData(bytes)', [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('decodeERC20AssetData(bytes)'); + // 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): [string, string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decode ERC-721 asset data from the format described in the AssetProxy contract specification. + */ + 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 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( + assetData: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, string, BigNumber]> { + assert.isString('assetData', assetData); + 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('decodeERC721AssetData(bytes)', [assetData]); + 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('decodeERC721AssetData(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, string, 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 assetData AssetProxy-compliant asset data describing an ERC-721 + * asset. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC721AssetData(bytes)', [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('decodeERC721AssetData(bytes)'); + // 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): [string, string, BigNumber] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decompose an ABI-encoded OrderStatusError. + */ + 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 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, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[number, string, string]> { + assert.isString('encoded', encoded); + 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('decodeExchangeInvalidContextError(bytes)', [encoded]); + 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('decodeExchangeInvalidContextError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[number, string, string]>(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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeExchangeInvalidContextError(bytes)', [ + encoded, + ]); + 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('decodeExchangeInvalidContextError(bytes)'); + // 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): [number, string, string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decompose an ABI-encoded FillError. + */ + 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.orderHash The order hash. + */ + async callAsync( + encoded: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[number, string]> { + assert.isString('encoded', encoded); + 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('decodeFillError(bytes)', [encoded]); + 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('decodeFillError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[number, string]>(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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeFillError(bytes)', [encoded]); + 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('decodeFillError(bytes)'); + // 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): [number, string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decompose an ABI-encoded IncompleteFillError. + */ + 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 orderHash Hash of the order being filled. + */ + async callAsync( + encoded: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[number, BigNumber, BigNumber]> { + assert.isString('encoded', encoded); + 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('decodeIncompleteFillError(bytes)', [encoded]); + 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('decodeIncompleteFillError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[number, 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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeIncompleteFillError(bytes)', [ + encoded, + ]); + 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('decodeIncompleteFillError(bytes)'); + // 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): [number, BigNumber, BigNumber] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, BigNumber, BigNumber]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decode multi-asset data from the format described in the AssetProxy contract specification. + */ + 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 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( + assetData: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, BigNumber[], string[]]> { + assert.isString('assetData', assetData); + 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('decodeMultiAssetData(bytes)', [assetData]); + 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('decodeMultiAssetData(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>(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 AssetProxy-compliant data describing a multi-asset basket. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeMultiAssetData(bytes)', [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('decodeMultiAssetData(bytes)'); + // 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): [string, BigNumber[], string[]] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>( + returnData, + ); + return abiDecodedReturnData; + }, + }; /** * Decompose an ABI-encoded NegativeSpreadError. */ @@ -655,21 +1041,21 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Decompose an ABI-encoded AssetProxyDispatchError. + * Decompose an ABI-encoded OrderEpochError. */ - public decodeAssetProxyDispatchError = { + public decodeOrderEpochError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 makerAddress The order maker.orderSenderAddress The order sender.currentEpoch The current epoch for the maker. */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, string, string]> { + ): Promise<[string, string, BigNumber]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -680,7 +1066,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('decodeOrderEpochError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -692,9 +1078,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeOrderEpochError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -708,9 +1094,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)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrderEpochError(bytes)', [encoded]); return abiEncodedTransactionData; }, /** @@ -720,7 +1104,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('decodeOrderEpochError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -730,11 +1114,264 @@ 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): [string, string, BigNumber] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeOrderEpochError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decompose an ABI-encoded OrderStatusError. + */ + 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 encoded ABI-encoded revert error. + * @returns orderHash The order hash.orderStatus The order status. + */ + async callAsync( + encoded: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, number]> { + assert.isString('encoded', encoded); + 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('decodeOrderStatusError(bytes)', [encoded]); + 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('decodeOrderStatusError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, number]>(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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrderStatusError(bytes)', [encoded]); + 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('decodeOrderStatusError(bytes)'); + // 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): [string, number] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, number]>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Decompose an ABI-encoded SignatureError. + */ + 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 errorCode The error code.signerAddress The expected signer of the hash.signature The full signature. + */ + async callAsync( + encoded: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[number, string, string, string]> { + assert.isString('encoded', encoded); + 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('decodeSignatureError(bytes)', [encoded]); + 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('decodeSignatureError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>(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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decodeSignatureError(bytes)', [encoded]); + 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('decodeSignatureError(bytes)'); + // 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): [number, string, string, string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>( + returnData, + ); + return abiDecodedReturnData; + }, + }; + /** + * Decompose an ABI-encoded SignatureValidatorNotApprovedError. + */ + public decodeSignatureValidatorNotApprovedError = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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.validatorAddress The expected validator. + */ + async callAsync( + encoded: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<[string, string]> { + assert.isString('encoded', encoded); + 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('decodeSignatureValidatorNotApprovedError(bytes)', [ + encoded, + ]); + 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('decodeSignatureValidatorNotApprovedError(bytes)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(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 encoded ABI-encoded revert error. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'decodeSignatureValidatorNotApprovedError(bytes)', + [encoded], + ); + 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('decodeSignatureValidatorNotApprovedError(bytes)'); + // 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): [string, string] { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('decodeSignatureValidatorNotApprovedError(bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, }; @@ -825,15 +1462,15 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Decompose an ABI-encoded FillError. + * Decompose an ABI-encoded TransactionError. */ - public decodeFillError = { + 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 encoded ABI-encoded revert error. - * @returns errorCode The error code.orderHash The order hash. + * @returns errorCode The error code.transactionHash Hash of the transaction. */ async callAsync( encoded: string, @@ -850,7 +1487,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('decodeTransactionError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -862,7 +1499,7 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<[number, string]>(rawCallResult); // tslint:enable boolean-naming @@ -878,7 +1515,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('decodeFillError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionError(bytes)', [encoded]); return abiEncodedTransactionData; }, /** @@ -888,7 +1525,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('decodeTransactionError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -900,219 +1537,28 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): [number, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); return abiDecodedReturnData; }, }; /** - * Calls getAssetProxyAllowance() for each element of assetData. + * Decompose an ABI-encoded TransactionExecutionError. */ - 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 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( - ownerAddress: string, - assetData: string[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - 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); - } - 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; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,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 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( - 'getBatchAssetProxyAllowances(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('getBatchAssetProxyAllowances(address,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): BigNumber[] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Encode ERC-20 asset data into the format described in the AssetProxy contract specification. - */ - public encodeERC20AssetData = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 callAsync( - tokenAddress: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - 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('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 abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(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 tokenAddress The address of the ERC-20 contract hosting the asset to - * be traded. - * @returns The ABI encoded transaction data as a string - */ - 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; - }, - }; - /** - * Decompose an ABI-encoded OrderEpochError. - */ - public decodeOrderEpochError = { + 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 makerAddress The order maker.orderSenderAddress The order sender.currentEpoch The current epoch for the maker. + * @returns transactionHash Hash of the transaction.errorData Error thrown by exeucteTransaction(). */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string, BigNumber]> { + ): Promise<[string, string]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1123,7 +1569,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeOrderEpochError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1135,9 +1581,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeOrderEpochError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(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; }, @@ -1151,7 +1597,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('decodeOrderEpochError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [ + encoded, + ]); return abiEncodedTransactionData; }, /** @@ -1161,7 +1609,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeOrderEpochError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -1171,11 +1619,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('decodeOrderEpochError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, }; @@ -1354,22 +1802,33 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Decompose an ABI-encoded AssetProxyExistsError. + * Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. */ - public decodeAssetProxyExistsError = { + 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 encoded ABI-encoded revert error. - * @returns assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. + * @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( - encoded: string, + tokenAddress: string, + tokenIds: BigNumber[], + tokenValues: BigNumber[], + callbackData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string]> { - assert.isString('encoded', encoded); + ): 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, @@ -1379,7 +1838,10 @@ 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( + 'encodeERC1155AssetData(address,uint256[],uint256[],bytes)', + [tokenAddress.toLowerCase(), tokenIds, tokenValues, callbackData], + ); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1391,9 +1853,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1401,101 +1863,28 @@ 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 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(encoded: string): string { - assert.isString('encoded', encoded); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyExistsError(bytes)', [ - encoded, - ]); - 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('decodeAssetProxyExistsError(bytes)'); - // 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): [string, string] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Decompose an ABI-encoded SignatureValidatorNotApprovedError. - */ - public decodeSignatureValidatorNotApprovedError = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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.validatorAddress The expected validator. - */ - async callAsync( - encoded: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[string, string]> { - assert.isString('encoded', encoded); - 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('decodeSignatureValidatorNotApprovedError(bytes)', [ - encoded, - ]); - 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('decodeSignatureValidatorNotApprovedError(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(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 encoded ABI-encoded revert error. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + 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( - 'decodeSignatureValidatorNotApprovedError(bytes)', - [encoded], + 'encodeERC1155AssetData(address,uint256[],uint256[],bytes)', + [tokenAddress.toLowerCase(), tokenIds, tokenValues, callbackData], ); return abiEncodedTransactionData; }, @@ -1504,11 +1893,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('decodeSignatureValidatorNotApprovedError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1516,11 +1905,392 @@ 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 { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureValidatorNotApprovedError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Encode ERC-20 asset data into the format described in the AssetProxy contract specification. + */ + public encodeERC20AssetData = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 callAsync( + tokenAddress: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + 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('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 abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(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 tokenAddress The address of the ERC-20 contract hosting the asset to + * be traded. + * @returns The ABI encoded transaction data as a string + */ + 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; + }, + }; + /** + * 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; + }, + }; + /** + * 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 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 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( + ownerAddress: string, + assetData: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); + 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('getAssetProxyAllowance(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._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,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 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(ownerAddress: string, assetData: string): string { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); + const self = (this as any) as DevUtilsContract; + 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(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 DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; @@ -1628,21 +2398,25 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Decode ERC-20 asset data from the format described in the AssetProxy contract specification. + * Calls getBalance() and getAllowance() for assetData. */ - public decodeERC20AssetData = { + 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 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 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( + ownerAddress: string, assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string]> { + ): Promise<[BigNumber, BigNumber]> { + assert.isString('ownerAddress', ownerAddress); assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1653,21 +2427,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeERC20AssetData(bytes)', [assetData]); - 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('decodeERC20AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(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; }, @@ -1675,13 +2460,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 asset data describing an ERC-20 asset. + * @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(assetData: string): string { + 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('decodeERC20AssetData(bytes)', [assetData]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getBalanceAndAssetProxyAllowance(address,bytes)', + [ownerAddress.toLowerCase(), assetData], + ); return abiEncodedTransactionData; }, /** @@ -1689,11 +2480,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('decodeERC20AssetData(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; }, /** @@ -1701,31 +2492,35 @@ 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('decodeERC20AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(returnData); return abiDecodedReturnData; }, }; /** - * Decompose an ABI-encoded SignatureError. + * Calls getAssetProxyAllowance() for each element of assetData. */ - public decodeSignatureError = { + 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 encoded ABI-encoded revert error. - * @returns errorCode The error code.signerAddress The expected signer of the hash.signature The full signature. + * @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( - encoded: string, + ownerAddress: string, + assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, string, string, string]> { - assert.isString('encoded', encoded); + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1735,21 +2530,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeSignatureError(bytes)', [encoded]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + 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; 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('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1757,13 +2563,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('decodeSignatureError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getBatchAssetProxyAllowances(address,bytes[])', + [ownerAddress.toLowerCase(), assetData], + ); return abiEncodedTransactionData; }, /** @@ -1771,11 +2583,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('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1783,34 +2595,35 @@ 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): BigNumber[] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; /** - * Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. + * Calls getBalance() for each element of assetData. */ - public decodeERC1155AssetData = { + 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 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 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, string, BigNumber[], 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, @@ -1820,23 +2633,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeERC1155AssetData(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('decodeERC1155AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber[], BigNumber[], string]>( - rawCallResult, - ); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1844,14 +2666,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 asset data describing an ERC-1155 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 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('decodeERC1155AssetData(bytes)', [assetData]); + const abiEncodedTransactionData = self._strictEncodeArguments('getBatchBalances(address,bytes[])', [ + ownerAddress.toLowerCase(), + assetData, + ]); return abiEncodedTransactionData; }, /** @@ -1859,11 +2686,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('decodeERC1155AssetData(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; }, /** @@ -1871,13 +2698,114 @@ 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): BigNumber[] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - [string, string, BigNumber[], BigNumber[], string] - >(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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); + } + const self = (this as any) as DevUtilsContract; + 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._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + 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; }, }; @@ -1971,6 +2899,777 @@ export class DevUtilsContract extends BaseContract { return abiDecodedReturnData; }, }; + /** + * 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. + */ + 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; + }, + signature: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise< + [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] + > { + 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 DevUtilsContract; + 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, + ...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( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + ); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue< + [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] + >(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 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( + 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( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + [order, 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, + ): [ + { + 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( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),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; + }, + 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 }, BigNumber, boolean] { + 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)', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] + >(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Fetches all order-relevant information needed to validate if the supplied orders are fillable. + */ + 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 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( + 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< + [ + 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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + 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], + ); + 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( + '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; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data 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 + */ + 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( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + [orders, 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; + }>, + 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; + }, + }; + /** + * Simulates all of the transfers within an order and returns the index of the first failed transfer. + */ + public getSimulatedOrderTransferResults = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param order The order to simulate transfers for. + * @param takerAddress The address of the taker that will fill the order. + * @param takerAssetFillAmount The amount of takerAsset that the taker wished + * to fill. + * @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; + }, + takerAddress: string, + takerAssetFillAmount: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('takerAddress', takerAddress); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + const self = (this as any) as DevUtilsContract; + const encodedData = self._strictEncodeArguments( + 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', + [order, takerAddress.toLowerCase(), takerAssetFillAmount], + ); + 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 order The order to simulate transfers for. + * @param takerAddress The address of the taker that will fill the order. + * @param takerAssetFillAmount The amount of takerAsset that the taker wished + * to fill. + * @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; + }, + takerAddress: string, + takerAssetFillAmount: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('takerAddress', takerAddress); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + const self = (this as any) as DevUtilsContract; + const txHashPromise = self.getSimulatedOrderTransferResults.sendTransactionAsync( + order, + takerAddress.toLowerCase(), + takerAssetFillAmount, + 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 order The order to simulate transfers for. + * @param takerAddress The address of the taker that will fill the order. + * @param takerAssetFillAmount The amount of takerAsset that the taker wished + * to fill. + * @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; + }, + takerAddress: string, + takerAssetFillAmount: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('takerAddress', takerAddress); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + const self = (this as any) as DevUtilsContract; + const encodedData = self._strictEncodeArguments( + 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', + [order, takerAddress.toLowerCase(), takerAssetFillAmount], + ); + 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( + 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; + }, + takerAddress: string, + takerAssetFillAmount: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).getSimulatedOrderTransferResults.callAsync( + order, + takerAddress, + takerAssetFillAmount, + txData, + ); + const txHash = await (this as any).getSimulatedOrderTransferResults.sendTransactionAsync( + order, + takerAddress, + takerAssetFillAmount, + 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 The order to simulate transfers for. + * @param takerAddress The address of the taker that will fill the order. + * @param takerAssetFillAmount The amount of takerAsset that the taker wished + * to fill. + * @returns The index of the first failed transfer (or 4 if all transfers are successful). + */ + 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; + }, + takerAddress: string, + takerAssetFillAmount: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('takerAddress', takerAddress); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + 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( + 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', + [order, takerAddress.toLowerCase(), takerAssetFillAmount], + ); + 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( + 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),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 order The order to simulate transfers for. + * @param takerAddress The address of the taker that will fill the order. + * @param takerAssetFillAmount The amount of takerAsset that the taker wished + * to fill. + * @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; + }, + takerAddress: string, + takerAssetFillAmount: BigNumber, + ): string { + assert.isString('takerAddress', takerAddress); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', + [order, takerAddress.toLowerCase(), takerAssetFillAmount], + ); + 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 DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder( + 'getSimulatedOrderTransferResults((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; + }>(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): number { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder( + 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; /** * Simulates all of the transfers for each given order and returns the indices of each first failed transfer. */ @@ -2357,663 +4056,17 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Encode ERC-721 asset data into the format described in the AssetProxy specification. + * Gets the amount of an asset transferable by the owner. */ - public encodeERC721AssetData = { + 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 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; - }, - }; - /** - * Decompose an ABI-encoded SignatureValidatorError. - */ - 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 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<[string, string, string, string]> { - assert.isString('encoded', encoded); - 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('decodeEIP1271SignatureError(bytes)', [encoded]); - 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('decodeEIP1271SignatureError(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>(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 encoded ABI-encoded revert error. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeEIP1271SignatureError(bytes)', [ - encoded, - ]); - 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('decodeEIP1271SignatureError(bytes)'); - // 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): [string, string, string, string] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>( - returnData, - ); - return abiDecodedReturnData; - }, - }; - /** - * Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. - */ - 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 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( - tokenAddress: string, - tokenIds: BigNumber[], - tokenValues: BigNumber[], - callbackData: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): 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, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - 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 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('encodeERC1155AssetData(address,uint256[],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 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( - 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( - '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 { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],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('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Decode multi-asset data from the format described in the AssetProxy contract specification. - */ - 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 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( - assetData: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[string, BigNumber[], string[]]> { - assert.isString('assetData', assetData); - 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('decodeMultiAssetData(bytes)', [assetData]); - 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('decodeMultiAssetData(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>(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 AssetProxy-compliant data describing a multi-asset basket. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(assetData: string): string { - assert.isString('assetData', assetData); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeMultiAssetData(bytes)', [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('decodeMultiAssetData(bytes)'); - // 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): [string, BigNumber[], string[]] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>( - returnData, - ); - return abiDecodedReturnData; - }, - }; - /** - * Decompose an ABI-encoded TransactionExecutionError. - */ - 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 transactionHash Hash of the transaction.errorData Error thrown by exeucteTransaction(). - */ - async callAsync( - encoded: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[string, string]> { - assert.isString('encoded', encoded); - 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('decodeTransactionExecutionError(bytes)', [encoded]); - 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('decodeTransactionExecutionError(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(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 encoded ABI-encoded revert error. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [ - encoded, - ]); - 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('decodeTransactionExecutionError(bytes)'); - // 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): [string, string] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Decompose an ABI-encoded TransactionError. - */ - 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 encoded ABI-encoded revert error. - * @returns errorCode The error code.transactionHash Hash of the transaction. - */ - async callAsync( - encoded: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[number, string]> { - assert.isString('encoded', encoded); - 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('decodeTransactionError(bytes)', [encoded]); - 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('decodeTransactionError(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string]>(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 encoded ABI-encoded revert error. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionError(bytes)', [encoded]); - 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('decodeTransactionError(bytes)'); - // 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): [number, string] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Calls getBalance() for each element of assetData. - */ - 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 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( - ownerAddress: string, - assetData: string[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - 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); - } - const self = (this as any) as DevUtilsContract; - 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._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,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 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('getBatchBalances(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('getBatchBalances(address,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): BigNumber[] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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 ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract + * @param ownerAddress Address of the owner of the asset. + * @param assetData Description of tokens, per the AssetProxy contract * specification. - * @returns Number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. + * @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( ownerAddress: string, @@ -3032,7 +4085,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getAssetProxyAllowance(address,bytes)', [ + const encodedData = self._strictEncodeArguments('getTransferableAssetAmount(address,bytes)', [ ownerAddress.toLowerCase(), assetData, ]); @@ -3055,7 +4108,7 @@ export class DevUtilsContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -3065,8 +4118,8 @@ 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 + * @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 */ @@ -3074,7 +4127,7 @@ export class DevUtilsContract extends BaseContract { assert.isString('ownerAddress', ownerAddress); assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxyAllowance(address,bytes)', [ + const abiEncodedTransactionData = self._strictEncodeArguments('getTransferableAssetAmount(address,bytes)', [ ownerAddress.toLowerCase(), assetData, ]); @@ -3087,7 +4140,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -3099,1065 +4152,12 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; - /** - * Simulates all of the transfers within an order and returns the index of the first failed transfer. - */ - public getSimulatedOrderTransferResults = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param order The order to simulate transfers for. - * @param takerAddress The address of the taker that will fill the order. - * @param takerAssetFillAmount The amount of takerAsset that the taker wished - * to fill. - * @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; - }, - takerAddress: string, - takerAssetFillAmount: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('takerAddress', takerAddress); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments( - 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', - [order, takerAddress.toLowerCase(), takerAssetFillAmount], - ); - 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 order The order to simulate transfers for. - * @param takerAddress The address of the taker that will fill the order. - * @param takerAssetFillAmount The amount of takerAsset that the taker wished - * to fill. - * @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; - }, - takerAddress: string, - takerAssetFillAmount: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('takerAddress', takerAddress); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - const self = (this as any) as DevUtilsContract; - const txHashPromise = self.getSimulatedOrderTransferResults.sendTransactionAsync( - order, - takerAddress.toLowerCase(), - takerAssetFillAmount, - 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 order The order to simulate transfers for. - * @param takerAddress The address of the taker that will fill the order. - * @param takerAssetFillAmount The amount of takerAsset that the taker wished - * to fill. - * @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; - }, - takerAddress: string, - takerAssetFillAmount: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('takerAddress', takerAddress); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments( - 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', - [order, takerAddress.toLowerCase(), takerAssetFillAmount], - ); - 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( - 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; - }, - takerAddress: string, - takerAssetFillAmount: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).getSimulatedOrderTransferResults.callAsync( - order, - takerAddress, - takerAssetFillAmount, - txData, - ); - const txHash = await (this as any).getSimulatedOrderTransferResults.sendTransactionAsync( - order, - takerAddress, - takerAssetFillAmount, - 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 The order to simulate transfers for. - * @param takerAddress The address of the taker that will fill the order. - * @param takerAssetFillAmount The amount of takerAsset that the taker wished - * to fill. - * @returns The index of the first failed transfer (or 4 if all transfers are successful). - */ - 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; - }, - takerAddress: string, - takerAssetFillAmount: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('takerAddress', takerAddress); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - 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( - 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', - [order, takerAddress.toLowerCase(), takerAssetFillAmount], - ); - 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( - 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),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 order The order to simulate transfers for. - * @param takerAddress The address of the taker that will fill the order. - * @param takerAssetFillAmount The amount of takerAsset that the taker wished - * to fill. - * @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; - }, - takerAddress: string, - takerAssetFillAmount: BigNumber, - ): string { - assert.isString('takerAddress', takerAddress); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', - [order, takerAddress.toLowerCase(), takerAssetFillAmount], - ); - 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 DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getSimulatedOrderTransferResults((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; - }>(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): number { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getSimulatedOrderTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),address,uint256)', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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; - }, - }; - /** - * Fetches all order-relevant information needed to validate if the supplied orders are fillable. - */ - 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 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( - 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< - [ - 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, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - 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], - ); - 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( - '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; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data 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 - */ - 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( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - [orders, 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; - }>, - 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; - }, - }; - /** - * 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); - } - const self = (this as any) as DevUtilsContract; - 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._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - 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; - }, - }; - /** - * 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. - */ - 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; - }, - signature: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise< - [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] - > { - 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 DevUtilsContract; - 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, - ...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( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - ); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] - >(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 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( - 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( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - [order, 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, - ): [ - { - 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( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),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; - }, - 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 }, BigNumber, boolean] { - 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)', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] - >(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Decompose an ABI-encoded OrderStatusError. - */ - 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 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, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[number, string, string]> { - assert.isString('encoded', encoded); - 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('decodeExchangeInvalidContextError(bytes)', [encoded]); - 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('decodeExchangeInvalidContextError(bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string, string]>(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 encoded ABI-encoded revert error. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeExchangeInvalidContextError(bytes)', [ - encoded, - ]); - 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('decodeExchangeInvalidContextError(bytes)'); - // 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): [number, string, string] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); - return abiDecodedReturnData; - }, - }; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -4241,81 +4241,16 @@ export class DevUtilsContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: true, inputs: [ { - name: 'encoded', - type: 'bytes', - }, - ], - name: 'decodeOrderStatusError', - outputs: [ - { - name: 'orderHash', - type: 'bytes32', - }, - { - name: 'orderStatus', - type: 'uint8', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'assetData', - type: 'bytes', - }, - ], - name: 'decodeERC721AssetData', - outputs: [ - { - name: 'assetProxyId', - type: 'bytes4', - }, - { - name: 'tokenAddress', + name: '_exchange', type: 'address', }, - { - name: 'tokenId', - type: 'uint256', - }, ], + outputs: [], payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', - type: 'bytes', - }, - ], - name: 'getBalanceAndAssetProxyAllowance', - outputs: [ - { - name: 'balance', - type: 'uint256', - }, - { - name: 'allowance', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', + stateMutability: 'nonpayable', + type: 'constructor', }, { constant: true, @@ -4325,19 +4260,19 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeIncompleteFillError', + name: 'decodeAssetProxyDispatchError', outputs: [ { name: 'errorCode', type: 'uint8', }, { - name: 'expectedAssetFillAmount', - type: 'uint256', + name: 'orderHash', + type: 'bytes32', }, { - name: 'actualAssetFillAmount', - type: 'uint256', + name: 'assetData', + type: 'bytes', }, ], payable: false, @@ -4348,23 +4283,23 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', + name: 'encoded', type: 'bytes', }, ], - name: 'getTransferableAssetAmount', + name: 'decodeAssetProxyExistsError', outputs: [ { - name: 'transferableAssetAmount', - type: 'uint256', + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'assetProxyAddress', + type: 'address', }, ], payable: false, - stateMutability: 'view', + stateMutability: 'pure', type: 'function', }, { @@ -4394,6 +4329,226 @@ export class DevUtilsContract extends BaseContract { stateMutability: 'pure', type: 'function', }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeEIP1271SignatureError', + outputs: [ + { + name: 'verifyingContractAddress', + type: 'address', + }, + { + name: 'data', + type: 'bytes', + }, + { + name: 'signature', + type: 'bytes', + }, + { + name: 'errorData', + type: 'bytes', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'decodeERC1155AssetData', + outputs: [ + { + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'tokenAddress', + type: 'address', + }, + { + name: 'tokenIds', + type: 'uint256[]', + }, + { + name: 'tokenValues', + type: 'uint256[]', + }, + { + name: 'callbackData', + type: 'bytes', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'decodeERC20AssetData', + outputs: [ + { + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'tokenAddress', + type: 'address', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'decodeERC721AssetData', + outputs: [ + { + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'tokenAddress', + type: 'address', + }, + { + name: 'tokenId', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeExchangeInvalidContextError', + outputs: [ + { + name: 'errorCode', + type: 'uint8', + }, + { + name: 'orderHash', + type: 'bytes32', + }, + { + name: 'contextAddress', + type: 'address', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeFillError', + outputs: [ + { + name: 'errorCode', + type: 'uint8', + }, + { + name: 'orderHash', + type: 'bytes32', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeIncompleteFillError', + outputs: [ + { + name: 'errorCode', + type: 'uint8', + }, + { + name: 'expectedAssetFillAmount', + type: 'uint256', + }, + { + name: 'actualAssetFillAmount', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'decodeMultiAssetData', + outputs: [ + { + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'amounts', + type: 'uint256[]', + }, + { + name: 'nestedAssetData', + type: 'bytes[]', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, { constant: true, inputs: [ @@ -4425,18 +4580,72 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeAssetProxyDispatchError', + name: 'decodeOrderEpochError', + outputs: [ + { + name: 'makerAddress', + type: 'address', + }, + { + name: 'orderSenderAddress', + type: 'address', + }, + { + name: 'currentEpoch', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeOrderStatusError', + outputs: [ + { + name: 'orderHash', + type: 'bytes32', + }, + { + name: 'orderStatus', + type: 'uint8', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeSignatureError', outputs: [ { name: 'errorCode', type: 'uint8', }, { - name: 'orderHash', + name: 'hash', type: 'bytes32', }, { - name: 'assetData', + name: 'signerAddress', + type: 'address', + }, + { + name: 'signature', type: 'bytes', }, ], @@ -4444,6 +4653,29 @@ export class DevUtilsContract extends BaseContract { stateMutability: 'pure', type: 'function', }, + { + constant: true, + inputs: [ + { + name: 'encoded', + type: 'bytes', + }, + ], + name: 'decodeSignatureValidatorNotApprovedError', + outputs: [ + { + name: 'signerAddress', + type: 'address', + }, + { + name: 'validatorAddress', + type: 'address', + }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, { constant: true, inputs: [ @@ -4483,14 +4715,14 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeFillError', + name: 'decodeTransactionError', outputs: [ { name: 'errorCode', type: 'uint8', }, { - name: 'orderHash', + name: 'transactionHash', type: 'bytes32', }, ], @@ -4498,48 +4730,6 @@ export class DevUtilsContract extends BaseContract { stateMutability: 'pure', 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: 'tokenAddress', - type: 'address', - }, - ], - name: 'encodeERC20AssetData', - outputs: [ - { - name: 'assetData', - type: 'bytes', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, { constant: true, inputs: [ @@ -4548,19 +4738,15 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeOrderEpochError', + name: 'decodeTransactionExecutionError', outputs: [ { - name: 'makerAddress', - type: 'address', + name: 'transactionHash', + type: 'bytes32', }, { - name: 'orderSenderAddress', - type: 'address', - }, - { - name: 'currentEpoch', - type: 'uint256', + name: 'errorData', + type: 'bytes', }, ], payable: false, @@ -4656,322 +4842,6 @@ export class DevUtilsContract extends BaseContract { stateMutability: 'pure', type: 'function', }, - { - constant: true, - inputs: [ - { - name: 'encoded', - type: 'bytes', - }, - ], - name: 'decodeAssetProxyExistsError', - outputs: [ - { - name: 'assetProxyId', - type: 'bytes4', - }, - { - name: 'assetProxyAddress', - type: 'address', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'encoded', - type: 'bytes', - }, - ], - name: 'decodeSignatureValidatorNotApprovedError', - outputs: [ - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'validatorAddress', - type: 'address', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', - type: 'bytes', - }, - ], - name: 'getBalance', - outputs: [ - { - name: 'balance', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'assetData', - type: 'bytes', - }, - ], - name: 'decodeERC20AssetData', - outputs: [ - { - name: 'assetProxyId', - type: 'bytes4', - }, - { - name: 'tokenAddress', - type: 'address', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'encoded', - type: 'bytes', - }, - ], - name: 'decodeSignatureError', - outputs: [ - { - name: 'errorCode', - type: 'uint8', - }, - { - name: 'hash', - type: 'bytes32', - }, - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'signature', - type: 'bytes', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'assetData', - type: 'bytes', - }, - ], - name: 'decodeERC1155AssetData', - outputs: [ - { - name: 'assetProxyId', - type: 'bytes4', - }, - { - name: 'tokenAddress', - type: 'address', - }, - { - name: 'tokenIds', - type: 'uint256[]', - }, - { - name: 'tokenValues', - type: 'uint256[]', - }, - { - name: 'callbackData', - type: 'bytes', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'addresses', - type: 'address[]', - }, - ], - name: 'getEthBalances', - outputs: [ - { - name: '', - type: 'uint256[]', - }, - ], - payable: false, - stateMutability: 'view', - 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: 'takerAddresses', - type: 'address[]', - }, - { - name: 'takerAssetFillAmounts', - type: 'uint256[]', - }, - ], - name: 'getSimulatedOrdersTransferResults', - outputs: [ - { - name: 'orderTransferResults', - type: 'uint8[]', - }, - ], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'tokenAddress', - type: 'address', - }, - { - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'encodeERC721AssetData', - outputs: [ - { - name: 'assetData', - type: 'bytes', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'encoded', - type: 'bytes', - }, - ], - name: 'decodeEIP1271SignatureError', - outputs: [ - { - name: 'verifyingContractAddress', - type: 'address', - }, - { - name: 'data', - type: 'bytes', - }, - { - name: 'signature', - type: 'bytes', - }, - { - name: 'errorData', - type: 'bytes', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, { constant: true, inputs: [ @@ -5006,17 +4876,48 @@ export class DevUtilsContract extends BaseContract { { constant: true, inputs: [ + { + name: 'tokenAddress', + type: 'address', + }, + ], + name: 'encodeERC20AssetData', + outputs: [ { name: 'assetData', type: 'bytes', }, ], - name: 'decodeMultiAssetData', + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'tokenAddress', + type: 'address', + }, + { + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'encodeERC721AssetData', outputs: [ { - name: 'assetProxyId', - type: 'bytes4', + name: 'assetData', + type: 'bytes', }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ { name: 'amounts', type: 'uint256[]', @@ -5026,26 +4927,10 @@ export class DevUtilsContract extends BaseContract { type: 'bytes[]', }, ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'encoded', - type: 'bytes', - }, - ], - name: 'decodeTransactionExecutionError', + name: 'encodeMultiAssetData', outputs: [ { - name: 'transactionHash', - type: 'bytes32', - }, - { - name: 'errorData', + name: 'assetData', type: 'bytes', }, ], @@ -5057,23 +4942,96 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'encoded', + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', type: 'bytes', }, ], - name: 'decodeTransactionError', + name: 'getAssetProxyAllowance', outputs: [ { - name: 'errorCode', - type: 'uint8', - }, - { - name: 'transactionHash', - type: 'bytes32', + name: 'allowance', + type: 'uint256', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'getBalance', + outputs: [ + { + name: 'balance', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'getBalanceAndAssetProxyAllowance', + outputs: [ + { + name: 'balance', + type: 'uint256', + }, + { + name: 'allowance', + type: 'uint256', + }, + ], + payable: false, + 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', }, { @@ -5099,240 +5057,6 @@ export class DevUtilsContract extends BaseContract { stateMutability: 'view', type: 'function', }, - { - constant: true, - inputs: [ - { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', - type: 'bytes', - }, - ], - name: 'getAssetProxyAllowance', - outputs: [ - { - name: 'allowance', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'order', - 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: 'takerAddress', - type: 'address', - }, - { - name: 'takerAssetFillAmount', - type: 'uint256', - }, - ], - name: 'getSimulatedOrderTransferResults', - outputs: [ - { - name: 'orderTransferResults', - type: 'uint8', - }, - ], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'amounts', - type: 'uint256[]', - }, - { - name: 'nestedAssetData', - type: 'bytes[]', - }, - ], - name: 'encodeMultiAssetData', - outputs: [ - { - name: 'assetData', - type: 'bytes', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - 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: 'signatures', - type: 'bytes[]', - }, - ], - name: 'getOrderRelevantStates', - outputs: [ - { - name: 'ordersInfo', - type: 'tuple[]', - components: [ - { - name: 'orderStatus', - type: 'uint8', - }, - { - name: 'orderHash', - type: 'bytes32', - }, - { - name: 'orderTakerAssetFilledAmount', - type: 'uint256', - }, - ], - }, - { - name: 'fillableTakerAssetAmounts', - type: 'uint256[]', - }, - { - name: 'isValidSignature', - type: 'bool[]', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, { constant: true, inputs: [ @@ -5360,6 +5084,25 @@ export class DevUtilsContract extends BaseContract { stateMutability: 'view', type: 'function', }, + { + constant: true, + inputs: [ + { + name: 'addresses', + type: 'address[]', + }, + ], + name: 'getEthBalances', + outputs: [ + { + name: '', + type: 'uint256[]', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, { constant: true, inputs: [ @@ -5467,40 +5210,297 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'encoded', - type: 'bytes', + 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: 'signatures', + type: 'bytes[]', }, ], - name: 'decodeExchangeInvalidContextError', + name: 'getOrderRelevantStates', outputs: [ { - name: 'errorCode', - type: 'uint8', + name: 'ordersInfo', + type: 'tuple[]', + components: [ + { + name: 'orderStatus', + type: 'uint8', + }, + { + name: 'orderHash', + type: 'bytes32', + }, + { + name: 'orderTakerAssetFilledAmount', + type: 'uint256', + }, + ], }, { - name: 'orderHash', - type: 'bytes32', + name: 'fillableTakerAssetAmounts', + type: 'uint256[]', }, { - name: 'contextAddress', - type: 'address', + name: 'isValidSignature', + type: 'bool[]', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', type: 'function', }, { + constant: false, inputs: [ { - name: '_exchange', + name: 'order', + 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: 'takerAddress', type: 'address', }, + { + name: 'takerAssetFillAmount', + type: 'uint256', + }, + ], + name: 'getSimulatedOrderTransferResults', + outputs: [ + { + name: 'orderTransferResults', + type: 'uint8', + }, ], - outputs: [], payable: false, stateMutability: 'nonpayable', - type: 'constructor', + 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: 'takerAddresses', + type: 'address[]', + }, + { + name: 'takerAssetFillAmounts', + type: 'uint256[]', + }, + ], + name: 'getSimulatedOrdersTransferResults', + outputs: [ + { + name: 'orderTransferResults', + type: 'uint8[]', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', + type: 'bytes', + }, + ], + name: 'getTransferableAssetAmount', + outputs: [ + { + name: 'transferableAssetAmount', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', }, ] 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 2892e15965..fa8cd6b349 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 @@ -31,17 +31,11 @@ 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 +44,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 +72,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 +92,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 +106,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 +116,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 +126,109 @@ 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; + }, + }; + 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; }, }; @@ -345,6 +443,791 @@ export class DummyERC20TokenContract extends BaseContract { return abiDecodedReturnData; }, }; + /** + * Query the balance of owner + */ + 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 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); + 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('balanceOf(address)', [_owner.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('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 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); + const self = (this as any) as DummyERC20TokenContract; + 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 DummyERC20TokenContract; + 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 DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + public decimals = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('decimals()', []); + 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('decimals()'); + // 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 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; + }, + }; + /** + * 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.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; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 + */ + async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + 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('mint(uint256)', [_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('mint(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 _value Amount of tokens to mint + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(_value: BigNumber): string { + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_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): [BigNumber] { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('mint(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 DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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 DummyERC20TokenContract; + 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 DummyERC20TokenContract; + 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 DummyERC20TokenContract; + 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 DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('name()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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); + } + const self = (this as any) as DummyERC20TokenContract; + 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 DummyERC20TokenContract; + 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 DummyERC20TokenContract; + 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 DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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( + _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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.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('setBalance(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 _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(_target: string, _value: BigNumber): string { + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.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, BigNumber] { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('setBalance(address,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 DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + 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 DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('symbol()', []); + 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('symbol()'); + // 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 DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); + 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('symbol()'); + // 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 DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('symbol()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; /** * Query total supply of token */ @@ -427,6 +1310,204 @@ export class DummyERC20TokenContract extends BaseContract { return abiDecodedReturnData; }, }; + /** + * send `value` token to `to` from `msg.sender` + */ + public transfer = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _to The address of the recipient + * @param _value The amount of token to be transferred + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.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 _to The address of the recipient + * @param _value The amount of token to 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 + */ + awaitTransactionSuccessAsync( + _to: string, + _value: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.transfer.sendTransactionAsync(_to.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 _to The address of the recipient + * @param _value The amount of token to be transferred + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.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( + _to: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).transfer.callAsync(_to, _value, txData); + const txHash = await (this as any).transfer.sendTransactionAsync(_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 _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; + }, + }; /** * ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. See https://github.com/ethereum/EIPs/issues/717 */ @@ -662,1009 +1743,6 @@ export class DummyERC20TokenContract extends BaseContract { return abiDecodedReturnData; }, }; - public decimals = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('decimals()', []); - 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('decimals()'); - // 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 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; - }, - }; - /** - * Query the balance of owner - */ - 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 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); - 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('balanceOf(address)', [_owner.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('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 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); - const self = (this as any) as DummyERC20TokenContract; - 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 DummyERC20TokenContract; - 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 DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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); - } - const self = (this as any) as DummyERC20TokenContract; - 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 DummyERC20TokenContract; - 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 DummyERC20TokenContract; - 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 DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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. - */ - 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 DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('symbol()', []); - 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('symbol()'); - // 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 DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); - 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('symbol()'); - // 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 DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('symbol()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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.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; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 - */ - async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - 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('mint(uint256)', [_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('mint(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 _value Amount of tokens to mint - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_value: BigNumber): string { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_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): [BigNumber] { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(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 DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * send `value` token to `to` from `msg.sender` - */ - public transfer = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _to The address of the recipient - * @param _value The amount of token to be transferred - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.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 _to The address of the recipient - * @param _value The amount of token to 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 - */ - awaitTransactionSuccessAsync( - _to: string, - _value: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transfer.sendTransactionAsync(_to.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 _to The address of the recipient - * @param _value The amount of token to be transferred - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync(_to: string, _value: BigNumber, txData?: Partial | undefined): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.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( - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).transfer.callAsync(_to, _value, txData); - const txHash = await (this as any).transfer.sendTransactionAsync(_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 _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; - }, - }; - 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; - }, - }; - /** - * 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( - _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, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.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('setBalance(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 _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(_target: string, _value: BigNumber): string { - assert.isString('_target', _target); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.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, BigNumber] { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('setBalance(address,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 DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; public transferOwnership = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write @@ -1829,84 +1907,6 @@ export class DummyERC20TokenContract extends BaseContract { return abiDecodedReturnData; }, }; - 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 { - 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('MAX_MINT_AMOUNT()', []); - 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('MAX_MINT_AMOUNT()'); - // 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 DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_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): void { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); - // 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('MAX_MINT_AMOUNT()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, @@ -1999,14 +1999,107 @@ export class DummyERC20TokenContract extends BaseContract { */ public static ABI(): ContractAbi { const abi = [ + { + inputs: [ + { + name: '_name', + type: 'string', + }, + { + name: '_symbol', + type: 'string', + }, + { + name: '_decimals', + type: 'uint256', + }, + { + name: '_totalSupply', + type: 'uint256', + }, + ], + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { + name: '_owner', + type: 'address', + indexed: true, + }, + { + name: '_spender', + type: 'address', + indexed: true, + }, + { + name: '_value', + type: 'uint256', + indexed: false, + }, + ], + name: 'Approval', + outputs: [], + type: 'event', + }, + { + anonymous: 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', + }, { constant: true, inputs: [], - name: 'name', + name: 'MAX_MINT_AMOUNT', outputs: [ { name: '', - type: 'string', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_spender', + type: 'address', + }, + ], + name: 'allowance', + outputs: [ + { + name: '', + type: 'uint256', }, ], payable: false, @@ -2036,6 +2129,113 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'decimals', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_value', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'name', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'owner', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_target', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'setBalance', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'symbol', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, { constant: true, inputs: [], @@ -2050,6 +2250,29 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'view', type: 'function', }, + { + constant: false, + inputs: [ + { + name: '_to', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, { constant: false, inputs: [ @@ -2077,145 +2300,6 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { - constant: true, - inputs: [], - name: 'decimals', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'owner', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'symbol', - outputs: [ - { - name: '', - type: 'string', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_value', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_to', - type: 'address', - }, - { - name: '_value', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - { - name: '_spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_target', - type: 'address', - }, - { - name: '_value', - type: 'uint256', - }, - ], - name: 'setBalance', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, { constant: false, inputs: [ @@ -2230,90 +2314,6 @@ export class DummyERC20TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { - constant: true, - inputs: [], - name: 'MAX_MINT_AMOUNT', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - name: '_name', - type: 'string', - }, - { - name: '_symbol', - type: 'string', - }, - { - name: '_decimals', - type: 'uint256', - }, - { - name: '_totalSupply', - type: 'uint256', - }, - ], - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: 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', - }, - { - anonymous: false, - inputs: [ - { - name: '_owner', - type: 'address', - indexed: true, - }, - { - name: '_spender', - type: 'address', - indexed: true, - }, - { - name: '_value', - type: 'uint256', - indexed: false, - }, - ], - name: 'Approval', - outputs: [], - type: 'event', - }, ] 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 7dea2ffa46..3e27072ac8 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 @@ -32,20 +32,14 @@ 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,180 +54,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; - }, - }; - /** - * 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; - }, - }; + '0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158207bb3c4b1d40aa051fbb8e4f8230bb310013e75ca9fa97c528018b4c4aba3b92564736f6c634300050c0032'; /** * The zero address indicates there is no approved address. * Throws unless `msg.sender` is the current NFT owner, or an authorized @@ -447,36 +279,118 @@ 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 a read-only call to the contract method. Returns the result that would happen if one were to send 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); + 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('balanceOf(address)', [_owner.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('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; + }, + }; + /** + * 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 _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 sendTransactionAsync( - _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, @@ -495,31 +409,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 _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 => { @@ -534,27 +440,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, @@ -571,32 +470,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, @@ -607,11 +502,195 @@ 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(), + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _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('burn(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 _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(_owner: string, _tokenId: BigNumber): string { + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ + _owner.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, BigNumber] { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('burn(address,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 DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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; + }, + }; + 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, @@ -631,9 +710,9 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,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; }, @@ -641,20 +720,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 _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @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(_from: string, _to: string, _tokenId: BigNumber): string { - assert.isString('_from', _from); - 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('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -663,11 +739,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 { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -675,11 +751,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('transferFrom(address,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; }, }; @@ -885,6 +961,253 @@ export class DummyERC721TokenContract extends BaseContract { return abiDecodedReturnData; }, }; + 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; + }, + }; + 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); + } + const self = (this as any) as DummyERC721TokenContract; + 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 DummyERC721TokenContract; + 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 DummyERC721TokenContract; + 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 DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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( + _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('ownerOf(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('ownerOf(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 identifier for an NFT + * @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('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 DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('ownerOf(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('ownerOf(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; /** * This works identically to the other function with an extra data parameter, * except this function just sets data to "". @@ -1120,761 +1443,6 @@ export class DummyERC721TokenContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * 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( - _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('ownerOf(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('ownerOf(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 identifier for an NFT - * @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('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 DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(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('ownerOf(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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 - */ - 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, - ]); - 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, - ...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('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; - }, - }; - 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); - } - const self = (this as any) as DummyERC721TokenContract; - 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 DummyERC721TokenContract; - 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 DummyERC721TokenContract; - 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 DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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. - */ - 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('symbol()', []); - 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('symbol()'); - // 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('symbol()', []); - 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('symbol()'); - // 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('symbol()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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 _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( - _owner: string, - _tokenId: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.burn.sendTransactionAsync(_owner.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 _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( - _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 gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - _owner: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - 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 _owner Owner of token with given token ID - * @param _tokenId ID of the token to be burned by the msg.sender - */ - async callAsync( - _owner: string, - _tokenId: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); - 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('burn(address,uint256)', [_owner.toLowerCase(), _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('burn(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 _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(_owner: string, _tokenId: BigNumber): string { - assert.isString('_owner', _owner); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ - _owner.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, BigNumber] { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('burn(address,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 DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Emits the ApprovalForAll event. The contract MUST allow - * multiple operators per owner. - */ - public setApprovalForAll = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - _operator: string, - _approved: boolean, - txData?: Partial | undefined, - ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - 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 _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval - * @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( - _operator: string, - _approved: boolean, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync( - _operator.toLowerCase(), - _approved, - 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 _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - _operator: string, - _approved: boolean, - txData?: Partial | undefined, - ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - 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( - _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; - }, - }; /** * Throws unless `msg.sender` is the current owner, an authorized * operator, or the approved address for this NFT. Throws if `_from` is @@ -2139,23 +1707,140 @@ export class DummyERC721TokenContract extends BaseContract { return abiDecodedReturnData; }, }; - public isApprovedForAll = { + /** + * Emits the ApprovalForAll event. The contract MUST allow + * multiple operators per owner. + */ + public setApprovalForAll = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + _operator: string, + _approved: boolean, + txData?: Partial | undefined, + ): Promise { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + 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 _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @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( + _operator: string, + _approved: boolean, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync( + _operator.toLowerCase(), + _approved, + 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 _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + _operator: string, + _approved: boolean, + txData?: Partial | undefined, + ): Promise { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + 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( + _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 _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 _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval */ async callAsync( - _owner: string, _operator: string, + _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); + ): Promise { assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2165,9 +1850,9 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), + _approved, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2188,9 +1873,9 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2198,17 +1883,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 _owner The address that owns the NFTs - * @param _operator The address that acts on behalf of the owner + * @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(_owner: string, _operator: string): string { - assert.isString('_owner', _owner); + 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('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), + _approved, ]); return abiEncodedTransactionData; }, @@ -2217,11 +1902,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): [string, boolean] { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, boolean]>(callData); return abiDecodedCallData; }, /** @@ -2229,11 +1914,326 @@ 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): boolean { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + 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('symbol()', []); + 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('symbol()'); + // 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('symbol()', []); + 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('symbol()'); + // 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('symbol()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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. + */ + 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 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('transferFrom(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.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, + ); + })(), + ); + }, + /** + * 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('transferFrom(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).transferFrom.callAsync(_from, _to, _tokenId, txData); + const txHash = await (this as any).transferFrom.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( + _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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + 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 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('transferFrom(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 _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(_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('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.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, string, BigNumber] { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<[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 DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; @@ -2487,284 +2487,6 @@ export class DummyERC721TokenContract extends BaseContract { */ public static ABI(): ContractAbi { const abi = [ - { - constant: true, - inputs: [], - name: 'name', - outputs: [ - { - name: '', - type: 'string', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'getApproved', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_approved', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'approve', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'safeTransferFrom', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'ownerOf', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'owner', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'symbol', - outputs: [ - { - name: '', - type: 'string', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_owner', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'burn', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_operator', - type: 'address', - }, - { - name: '_approved', - type: 'bool', - }, - ], - name: 'setApprovalForAll', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - { - name: '_data', - type: 'bytes', - }, - ], - name: 'safeTransferFrom', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - { - name: '_operator', - type: 'address', - }, - ], - name: 'isApprovedForAll', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'transferOwnership', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [ { @@ -2781,29 +2503,6 @@ export class DummyERC721TokenContract extends BaseContract { stateMutability: 'nonpayable', type: 'constructor', }, - { - anonymous: 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: [ @@ -2850,6 +2549,307 @@ export class DummyERC721TokenContract extends BaseContract { outputs: [], type: 'event', }, + { + anonymous: 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', + }, + { + constant: false, + inputs: [ + { + name: '_approved', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'getApproved', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + name: '', + 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: 'name', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'owner', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'ownerOf', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'safeTransferFrom', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + { + name: '_data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_operator', + type: 'address', + }, + { + name: '_approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'symbol', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, ] as ContractAbi; return abi; } 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 11d53c51d4..cc56db6cfb 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts @@ -55,7 +55,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. */ @@ -312,6 +312,326 @@ export class ERC1155ProxyContract extends BaseContract { return abiDecodedReturnData; }, }; + 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, + ]); + 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( + { + 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('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; + }, + /** + * 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; + }, + }; + /** + * 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. + */ + 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('getAuthorizedAddresses()', []); + 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('getAuthorizedAddresses()'); + // 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('getAuthorizedAddresses()', []); + 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('getAuthorizedAddresses()'); + // 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('getAuthorizedAddresses()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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, [ + 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 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); + } + 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; + 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; + }, + }; /** * Removes authorizion of an address. */ @@ -484,84 +804,6 @@ export class ERC1155ProxyContract extends BaseContract { return abiDecodedReturnData; }, }; - 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); - } - 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; - 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; - }, - }; /** * Removes authorizion of an address. */ @@ -1042,248 +1284,6 @@ export class ERC1155ProxyContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * 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, [ - 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 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, - ]); - 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( - { - 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('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; - }, - /** - * 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; - }, - }; - /** - * 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. - */ - 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('getAuthorizedAddresses()', []); - 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('getAuthorizedAddresses()'); - // 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('getAuthorizedAddresses()', []); - 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('getAuthorizedAddresses()'); - // 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('getAuthorizedAddresses()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; public transferOwnership = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write @@ -1518,6 +1518,42 @@ export class ERC1155ProxyContract extends BaseContract { */ public static ABI(): ContractAbi { const abi = [ + { + anonymous: false, + inputs: [ + { + name: 'target', + type: 'address', + indexed: true, + }, + { + name: 'caller', + type: 'address', + indexed: true, + }, + ], + name: 'AuthorizedAddressAdded', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'target', + type: 'address', + indexed: true, + }, + { + name: 'caller', + type: 'address', + indexed: true, + }, + ], + name: 'AuthorizedAddressRemoved', + outputs: [], + type: 'event', + }, { constant: false, inputs: [ @@ -1552,17 +1588,50 @@ export class ERC1155ProxyContract extends BaseContract { type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: 'target', + name: 'index_0', type: 'address', }, ], - name: 'removeAuthorizedAddress', - outputs: [], + name: 'authorized', + outputs: [ + { + name: '', + type: 'bool', + }, + ], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'getAuthorizedAddresses', + outputs: [ + { + name: '', + type: 'address[]', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'getProxyId', + outputs: [ + { + name: '', + type: 'bytes4', + }, + ], + payable: false, + stateMutability: 'pure', type: 'function', }, { @@ -1579,6 +1648,20 @@ export class ERC1155ProxyContract extends BaseContract { stateMutability: 'view', type: 'function', }, + { + constant: false, + inputs: [ + { + name: 'target', + type: 'address', + }, + ], + name: 'removeAuthorizedAddress', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, { constant: false, inputs: [ @@ -1623,53 +1706,6 @@ export class ERC1155ProxyContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { - constant: true, - inputs: [], - name: 'getProxyId', - outputs: [ - { - name: '', - type: 'bytes4', - }, - ], - payable: false, - stateMutability: 'pure', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'index_0', - type: 'address', - }, - ], - name: 'authorized', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'getAuthorizedAddresses', - outputs: [ - { - name: '', - type: 'address[]', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, { constant: false, inputs: [ @@ -1684,42 +1720,6 @@ export class ERC1155ProxyContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { - anonymous: false, - inputs: [ - { - name: 'target', - type: 'address', - indexed: true, - }, - { - name: 'caller', - type: 'address', - indexed: true, - }, - ], - name: 'AuthorizedAddressAdded', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'target', - type: 'address', - indexed: true, - }, - { - name: 'caller', - type: 'address', - indexed: true, - }, - ], - name: 'AuthorizedAddressRemoved', - outputs: [], - type: 'event', - }, ] 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 fa1552e437..7b9d371297 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -55,7 +55,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 a3be8999e6..cb9f048b64 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -55,7 +55,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 267a0272b6..bc6005e547 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -55,7 +55,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 41f8ef098d..21739ad79a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -32,20 +32,14 @@ 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,102 +54,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; - }, - }; + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158204bc74831490bca4fbe1805808d58d6b0e12f618a37565e744e91d8dc73dc18b164736f6c634300050c0032'; /** * The zero address indicates there is no approved address. * Throws unless `msg.sender` is the current NFT owner, or an authorized @@ -369,156 +279,112 @@ 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 = { - /** - * 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 ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(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 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, - ); - })(), - ); - }, - /** - * 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 ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(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).transferFrom.callAsync(_from, _to, _tokenId, txData); - const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData); - return txHash; - }, + 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 _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @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); + 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('balanceOf(address)', [_owner.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('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 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; + }, + }; + /** + * 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( - _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, @@ -529,10 +395,99 @@ 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('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; + }, + }; + 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 ERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -553,9 +508,9 @@ export class ERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,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; }, @@ -563,20 +518,17 @@ 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 _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(_from: string, _to: string, _tokenId: BigNumber): string { - assert.isString('_from', _from); - 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 ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -585,11 +537,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): string { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -597,11 +549,102 @@ 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): boolean { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,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; + }, + }; + /** + * 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( + _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('ownerOf(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('ownerOf(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 identifier for an NFT + * @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('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; + }, + /** + * 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('ownerOf(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; @@ -840,403 +883,6 @@ export class ERC721TokenContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * 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( - _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('ownerOf(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('ownerOf(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 identifier for an NFT - * @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('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; - }, - /** - * 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('ownerOf(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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 - */ - 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, - ]); - 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, - ...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('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 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; - }, - }; - /** - * Emits the ApprovalForAll event. The contract MUST allow - * multiple operators per owner. - */ - public setApprovalForAll = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - _operator: string, - _approved: boolean, - txData?: Partial | undefined, - ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - 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 _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval - * @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( - _operator: string, - _approved: boolean, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.setApprovalForAll.sendTransactionAsync( - _operator.toLowerCase(), - _approved, - 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 _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - _operator: string, - _approved: boolean, - txData?: Partial | undefined, - ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); - 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( - _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 ERC721TokenContract; - 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 ERC721TokenContract; - 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 ERC721TokenContract; - 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 ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; /** * Throws unless `msg.sender` is the current owner, an authorized * operator, or the approved address for this NFT. Throws if `_from` is @@ -1501,23 +1147,140 @@ export class ERC721TokenContract extends BaseContract { return abiDecodedReturnData; }, }; - public isApprovedForAll = { + /** + * Emits the ApprovalForAll event. The contract MUST allow + * multiple operators per owner. + */ + public setApprovalForAll = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + _operator: string, + _approved: boolean, + txData?: Partial | undefined, + ): Promise { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + 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 _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @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( + _operator: string, + _approved: boolean, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const txHashPromise = self.setApprovalForAll.sendTransactionAsync( + _operator.toLowerCase(), + _approved, + 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 _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + _operator: string, + _approved: boolean, + txData?: Partial | undefined, + ): Promise { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + 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( + _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 _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 _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval */ async callAsync( - _owner: string, _operator: string, + _approved: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); + ): Promise { assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1527,9 +1290,9 @@ 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(), + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), + _approved, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1550,9 +1313,9 @@ export class ERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1560,17 +1323,17 @@ 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 _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(_owner: string, _operator: string): string { - assert.isString('_owner', _owner); + getABIEncodedTransactionData(_operator: string, _approved: boolean): string { assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ _operator.toLowerCase(), + _approved, ]); return abiEncodedTransactionData; }, @@ -1579,11 +1342,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, boolean] { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, boolean]>(callData); return abiDecodedCallData; }, /** @@ -1591,11 +1354,248 @@ 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('setApprovalForAll(address,bool)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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. + */ + 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 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 ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(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 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, + ); + })(), + ); + }, + /** + * 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 ERC721TokenContract; + const encodedData = self._strictEncodeArguments('transferFrom(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).transferFrom.callAsync(_from, _to, _tokenId, txData); + const txHash = await (this as any).transferFrom.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( + _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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + 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 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('transferFrom(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 _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(_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('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.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, string, BigNumber] { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<[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 ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; @@ -1669,215 +1669,6 @@ export class ERC721TokenContract extends BaseContract { */ public static ABI(): ContractAbi { const abi = [ - { - constant: true, - inputs: [ - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'getApproved', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_approved', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'approve', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'safeTransferFrom', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_tokenId', - type: 'uint256', - }, - ], - name: 'ownerOf', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_operator', - type: 'address', - }, - { - name: '_approved', - type: 'bool', - }, - ], - name: 'setApprovalForAll', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, - { - name: '_tokenId', - type: 'uint256', - }, - { - name: '_data', - type: 'bytes', - }, - ], - name: 'safeTransferFrom', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - { - name: '_operator', - type: 'address', - }, - ], - name: 'isApprovedForAll', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - anonymous: 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: [ @@ -1924,6 +1715,215 @@ export class ERC721TokenContract extends BaseContract { outputs: [], type: 'event', }, + { + anonymous: 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', + }, + { + constant: false, + inputs: [ + { + name: '_approved', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'getApproved', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'ownerOf', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'safeTransferFrom', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + { + name: '_data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_operator', + type: 'address', + }, + { + name: '_approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [], + 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 faea6c7071..f7322ed7e0 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 @@ -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 461e8cf4f0..c658f65453 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -32,34 +32,24 @@ 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 +57,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 +89,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 +114,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 +131,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,88 +151,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); - // 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; - }, - }; - 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); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -249,7 +165,7 @@ export class ExchangeContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('protocolFeeMultiplier()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('EIP1271_MAGIC_VALUE()', []); return abiEncodedTransactionData; }, /** @@ -259,7 +175,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('EIP1271_MAGIC_VALUE()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -269,170 +185,21 @@ 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('EIP1271_MAGIC_VALUE()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; - /** - * Executes an Exchange method call in the context of signer. - */ - 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 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 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( - '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 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 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 - */ - 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 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, - ); - })(), - ); - }, - /** - * 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 - */ - 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 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 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. - * @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( - transaction: { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('signature', signature); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -442,10 +209,7 @@ export class ExchangeContract extends BaseContract { 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 encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -465,9 +229,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -477,26 +239,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 transaction 0x transaction structure. - * @param signature Proof that transaction 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(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, /** @@ -504,27 +251,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): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // 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; }, /** @@ -534,99 +265,13 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; - 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. - */ - 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('filled(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('filled(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('filled(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('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; - }, - }; - public cancelled = { + public allowedValidators = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -634,10 +279,12 @@ 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, @@ -647,7 +294,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); + const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -667,7 +317,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -679,10 +329,14 @@ 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 { + 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('cancelled(bytes32)', [index_0]); + const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -692,7 +346,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -704,25 +358,25 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; /** - * After calling, the order can not be filled anymore. + * Executes multiple calls of cancelOrder. */ - public 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 order Order struct containing order specifications. + * @param orders Array of order specifications. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -737,13 +391,14 @@ export class ExchangeContract extends BaseContract { 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( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -763,13 +418,13 @@ 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 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; @@ -784,13 +439,14 @@ export class ExchangeContract extends BaseContract { 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.cancelOrder.sendTransactionAsync(order, txData); + const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -805,12 +461,12 @@ 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 txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -825,13 +481,14 @@ export class ExchangeContract extends BaseContract { 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( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -849,7 +506,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -864,21 +521,21 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: 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).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 order Order struct containing order specifications. + * @param orders Array of order specifications. */ async callAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -893,10 +550,11 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, + }>, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { + assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -907,8 +565,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], + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -930,7 +588,7 @@ 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))', + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); @@ -941,41 +599,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 order Order struct containing order specifications. + * @param orders Array of order specifications. * @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; @@ -990,16 +618,49 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - } + }>, + ): string { + assert.isArray('orders', orders); + 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], + ); + 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))', + 'batchCancelOrders((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; @@ -1014,7 +675,7 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - } + }> ] >(callData); return abiDecodedCallData; @@ -1027,7 +688,7 @@ export class ExchangeContract extends BaseContract { getABIDecodedReturnData(returnData: string): void { 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))', + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); @@ -1035,17 +696,297 @@ export class ExchangeContract extends BaseContract { }, }; /** - * 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 a batch of Exchange method calls in the context of signer(s). */ - public marketSellOrdersNoThrow = { + 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( + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isArray('transactions', transactions); + assert.isArray('signatures', signatures); + 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( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + [transactions, signatures], + ); + 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( + 'batchExecuteTransactions((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 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( + 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( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + [transactions, 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<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }> { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + ); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode< + Array<{ + 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): string[] { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Executes multiple calls of fillOrKillOrder. + */ + 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 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 */ @@ -1066,17 +1007,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], + '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( { @@ -1097,8 +1038,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 @@ -1120,19 +1062,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.batchFillOrKillOrders.sendTransactionAsync( orders, - takerAssetFillAmount, + takerAssetFillAmounts, signatures, txData, ); @@ -1151,8 +1093,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 */ @@ -1173,17 +1116,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], + '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( { @@ -1217,14 +1160,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).batchFillOrKillOrders.callAsync(orders, takerAssetFillAmounts, signatures, txData); + const txHash = await (this as any).batchFillOrKillOrders.sendTransactionAsync( orders, - takerAssetFillAmount, + takerAssetFillAmounts, signatures, txData, ); @@ -1235,9 +1178,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<{ @@ -1256,19 +1200,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, @@ -1280,8 +1226,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], + '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( { @@ -1303,16 +1249,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[])', + '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<{ - 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; }, @@ -1321,8 +1269,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( @@ -1342,16 +1291,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], + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); return abiEncodedTransactionData; }, @@ -1380,7 +1329,1367 @@ 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[])', + '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< + 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, + ): Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: 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[])', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Executes multiple calls of fillOrder. + */ + 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; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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); + 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( + '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( + { + 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( + '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< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: 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. + * @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( + 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( + 'batchFillOrders((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( + '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< + 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, + ): Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { + 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[])', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Executes multiple calls of fillOrder. If any fill reverts, the error is caught and ignored. + */ + 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 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( + '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); + 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( + '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, + ...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( + '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< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: 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. + * @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( + 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( + 'batchFillOrdersNoThrow((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( + '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; + }, + /** + * 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<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: 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[])', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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 batchMatchOrders = { + /** + * 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; + 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( + '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, + ...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 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( + 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.batchMatchOrders.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( + '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, + ...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).batchMatchOrders.callAsync( + leftOrders, + rightOrders, + leftSignatures, + rightSignatures, + txData, + ); + const txHash = await (this as any).batchMatchOrders.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( + 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[], + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<{ + left: Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>; + right: Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: BigNumber; + }> { + assert.isArray('leftOrders', leftOrders); + assert.isArray('rightOrders', rightOrders); + assert.isArray('leftSignatures', leftSignatures); + assert.isArray('rightSignatures', rightSignatures); + 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( + '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( + { + 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( + '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<{ + left: Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>; + right: Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: 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 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 The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData( + 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[], + ): string { + assert.isArray('leftOrders', leftOrders); + assert.isArray('rightOrders', rightOrders); + assert.isArray('leftSignatures', leftSignatures); + 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[])', + [leftOrders, rightOrders, leftSignatures, rightSignatures], + ); + 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( + '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< @@ -1411,473 +2720,49 @@ export class ExchangeContract extends BaseContract { getABIDecodedReturnData( returnData: string, ): { - 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[])', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ + left: Array<{ makerAssetFilledAmount: BigNumber; takerAssetFilledAmount: BigNumber; makerFeePaid: BigNumber; takerFeePaid: BigNumber; protocolFeePaid: BigNumber; + }>; + right: Array<{ + 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( + '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<{ + left: Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>; + right: Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: BigNumber; }>(returnData); return abiDecodedReturnData; }, }; - /** - * Approves a hash on-chain. - * After presigning a hash, the preSign signature type will become valid for that hash and signer. - */ - 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 hash Any 32-byte hash. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync(hash: string, txData?: Partial | undefined): Promise { - assert.isString('hash', hash); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); - 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 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( - hash: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('hash', hash); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.preSign.sendTransactionAsync(hash, 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 hash Any 32-byte hash. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync(hash: string, txData?: Partial | undefined): Promise { - assert.isString('hash', hash); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); - 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(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 hash Any 32-byte hash. - */ - async callAsync(hash: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('hash', hash); - 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('preSign(bytes32)', [hash]); - 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('preSign(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). - * @param hash Any 32-byte hash. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(hash: string): string { - assert.isString('hash', hash); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32)', [hash]); - 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('preSign(bytes32)'); - // 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('preSign(bytes32)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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 cancelOrdersUpTo = { - /** - * 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 txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - 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 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( - targetOrderEpoch: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, 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 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(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - 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( - 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; - }, - }; - /** - * 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; - }, - }; /** * Match complementary orders that have a profitable spread. * Each order is maximally filled at their respective price point, and @@ -2446,25 +3331,18 @@ export class ExchangeContract extends BaseContract { }, }; /** - * 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. + * After calling, the order can not be filled anymore. */ - public batchMatchOrders = { + 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 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 order Order struct containing order specifications. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - leftOrders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -2479,35 +3357,13 @@ export class ExchangeContract extends BaseContract { 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( - '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], + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2527,18 +3383,13 @@ 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 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 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( - leftOrders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -2553,41 +3404,13 @@ export class ExchangeContract extends BaseContract { 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.batchMatchOrders.sendTransactionAsync( - leftOrders, - rightOrders, - leftSignatures, - rightSignatures, - txData, - ); + const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -2602,17 +3425,12 @@ export class ExchangeContract extends BaseContract { }, /** * 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 order Order struct containing order specifications. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - leftOrders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -2627,35 +3445,13 @@ export class ExchangeContract extends BaseContract { 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( - '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], + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2673,7 +3469,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - leftOrders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -2688,57 +3484,21 @@ export class ExchangeContract extends BaseContract { 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).batchMatchOrders.callAsync( - leftOrders, - rightOrders, - leftSignatures, - rightSignatures, - txData, - ); - const txHash = await (this as any).batchMatchOrders.sendTransactionAsync( - leftOrders, - rightOrders, - leftSignatures, - rightSignatures, - 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 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. + * @param order Order struct containing order specifications. */ async callAsync( - leftOrders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -2753,49 +3513,10 @@ export class ExchangeContract extends BaseContract { 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[], + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - left: Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>; - right: Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>; - profitInLeftMakerAsset: BigNumber; - profitInRightMakerAsset: BigNumber; - }> { - assert.isArray('leftOrders', leftOrders); - assert.isArray('rightOrders', rightOrders); - assert.isArray('leftSignatures', leftSignatures); - assert.isArray('rightSignatures', rightSignatures); + ): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2806,8 +3527,8 @@ 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[])', - [leftOrders, rightOrders, leftSignatures, rightSignatures], + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2829,26 +3550,993 @@ 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[])', + '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 + 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 order Order struct containing order specifications. + * @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, + ): [ + { + 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))', + ); + // 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): void { + 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))', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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 cancelOrdersUpTo = { + /** + * 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 txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + 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 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( + targetOrderEpoch: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, 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 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(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + 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( + 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; + }, + }; + 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); + } + 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(), + ); + 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); + 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('cancelled(bytes32)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + 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('currentContextAddress()', []); + 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('currentContextAddress()'); + // 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('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; + }, + }; + /** + * Executes an Exchange method call in the context of signer. + */ + 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 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 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( + '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 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 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 + */ + 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 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, + ); + })(), + ); + }, + /** + * 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 + */ + 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 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; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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( + 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( + 'executeTransaction((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( + 'executeTransaction((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 0x transaction structure. + * @param signature Proof that transaction 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( + 'executeTransaction((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( + 'executeTransaction((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): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Fills the input order. Reverts if exact takerAssetFillAmount not filled. + */ + 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 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( + 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, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + 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 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 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( + 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, + 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.fillOrKillOrder.sendTransactionAsync( + order, + takerAssetFillAmount, + 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, + ); + })(), + ); + }, + /** + * 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 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, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + 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 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( + 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, + 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, + 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 takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. + */ + 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, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + 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( + '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( + { + 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( + '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: Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>; - right: Array<{ - 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; @@ -2857,16 +4545,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 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 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( - leftOrders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -2881,34 +4566,1552 @@ export class ExchangeContract extends BaseContract { 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[], + }, + takerAssetFillAmount: BigNumber, + signature: string, ): string { - assert.isArray('leftOrders', leftOrders); - assert.isArray('rightOrders', rightOrders); - assert.isArray('leftSignatures', leftSignatures); - assert.isArray('rightSignatures', rightSignatures); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); 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[])', - [leftOrders, rightOrders, leftSignatures, rightSignatures], + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, 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, + ): { + 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( + '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<{ + 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( + '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<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Fills the input order. + */ + 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 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( + 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, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + 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], + ); + 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 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( + 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, + 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); + 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 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( + 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, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); + 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], + ); + 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( + 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, + 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, + 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 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( + 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, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + 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( + '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( + { + 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( + '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<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: 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 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( + 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); + 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], + ); + 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( + '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<{ + 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( + '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<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + 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('filled(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('filled(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('filled(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('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; + }, + }; + /** + * 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; + }, + }; + /** + * Gets information about an order: status, hash, and amount filled. + */ + public getOrderInfo = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 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; + }, + 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); + } + 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], + ); + 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( + '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; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data 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 + */ + 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<{ + 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, + ): { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber } { + 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 abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ + orderStatus: number; + orderHash: string; + orderTakerAssetFilledAmount: BigNumber; + }>(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Verifies that a hash has been signed by the given signer. + */ + 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 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); + 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('isValidHashSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + 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('isValidHashSignature(bytes32,address,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 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); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'isValidHashSignature(bytes32,address,bytes)', + [hash, signerAddress.toLowerCase(), 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): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,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): boolean { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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. + */ + 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; + }, + 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( + 'isValidOrderSignature((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, + ...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( + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,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 order The order. + * @param signature Proof that the order has been signed by signer. + * @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; + }, + signature: string, + ): string { + assert.isString('signature', signature); + 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], + ); + 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( + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),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 abiEncoder = self._lookupAbiEncoder( + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Verifies that a signature for a transaction is valid. + */ + 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; + }, + }; + /** + * 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 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( + 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 encodedData = self._strictEncodeArguments( + '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( + { + 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 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( + 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, + 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 txHashPromise = self.marketBuyOrdersFillOrKill.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, + ); + })(), + ); + }, + /** + * 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 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); + 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], + ); + 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).marketBuyOrdersFillOrKill.callAsync(orders, makerAssetFillAmount, signatures, txData); + const txHash = await (this as any).marketBuyOrdersFillOrKill.sendTransactionAsync( + orders, + makerAssetFillAmount, + 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 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( + 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[], + 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); + 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( + '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( + { + 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( + '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<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: 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. + * @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( + 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); + 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], ); return abiEncodedTransactionData; }, @@ -2937,7 +6140,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[])', + '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< @@ -2968,268 +6171,27 @@ export class ExchangeContract extends BaseContract { getABIDecodedReturnData( returnData: string, ): { - left: Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>; - right: Array<{ - 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( - '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[])', + '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<{ - left: Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>; - right: Array<{ - 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; }, }; - /** - * Approves/unnapproves a Validator contract to verify signatures on signer's behalf - * using the `Validator` signature type. - */ - 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 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( - 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, - ]); - 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 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( - validatorAddress: string, - approval: boolean, - 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, - ); - 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 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( - 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, - ]); - 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( - validatorAddress: string, - approval: boolean, - txData?: Partial | undefined, - ): Promise { - await (this as any).setSignatureValidatorApproval.callAsync(validatorAddress, approval, txData); - const txHash = await (this as any).setSignatureValidatorApproval.sendTransactionAsync( - validatorAddress, - approval, - 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. - */ - async callAsync( - validatorAddress: string, - approval: boolean, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - 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('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); - 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('setSignatureValidatorApproval(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 validatorAddress Address of Validator contract. - * @param approval Approval or disapproval of Validator contract. - * @returns The ABI encoded transaction data as a string - */ - 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( - 'setSignatureValidatorApproval(address,bool)', - [validatorAddress.toLowerCase(), approval], - ); - 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 ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(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 ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; /** * Executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. * If any fill reverts, the error is caught and ignored. @@ -3628,20 +6590,241 @@ export class ExchangeContract extends BaseContract { return abiDecodedReturnData; }, }; - public allowedValidators = { + /** + * Calls marketSellOrdersNoThrow then reverts if < takerAssetFillAmount has been sold. + * NOTE: This function does not enforce that the takerAsset is the same for each order. + */ + public marketSellOrdersFillOrKill = { + /** + * 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 Minimum 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( + 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('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, 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 takerAssetFillAmount Minimum 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( + 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('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketSellOrdersFillOrKill.sendTransactionAsync( + orders, + takerAssetFillAmount, + 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 takerAssetFillAmount Minimum 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( + 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('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, 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; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + await (this as any).marketSellOrdersFillOrKill.callAsync(orders, takerAssetFillAmount, signatures, txData); + const txHash = await (this as any).marketSellOrdersFillOrKill.sendTransactionAsync( + orders, + takerAssetFillAmount, + 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 takerAssetFillAmount Minimum 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( - index_0: string, - index_1: 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; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); + ): 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, @@ -3651,10 +6834,10 @@ 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( + 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3674,9 +6857,17 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersFillOrKill((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; }, @@ -3684,16 +6875,39 @@ 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 takerAssetFillAmount Minimum 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(index_0: string, index_1: string): string { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); + 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; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], + ); return abiEncodedTransactionData; }, /** @@ -3701,11 +6915,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 { + 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('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,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; + }> + >(callData); return abiDecodedCallData; }, /** @@ -3713,37 +6963,266 @@ 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, + ): { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + } { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersFillOrKill((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; }, }; /** - * Verifies that a hash has been signed by the given signer. + * 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 isValidHashSignature = { + 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 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( + 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('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + 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], + ); + 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 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( + 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('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmount, + 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 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( + 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('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + 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], + ); + 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; + }>, + takerAssetFillAmount: 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( + orders, + takerAssetFillAmount, + 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 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. + * @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( - hash: string, - signerAddress: string, - signature: 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; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); + ): 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, @@ -3753,11 +7232,10 @@ 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( + '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( { to: self.address, @@ -3777,9 +7255,17 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + '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; }, @@ -3787,19 +7273,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 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. + * @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(hash: string, signerAddress: string, signature: string): string { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); + 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; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + ): string { + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'isValidHashSignature(bytes32,address,bytes)', - [hash, signerAddress.toLowerCase(), signature], + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], ); return abiEncodedTransactionData; }, @@ -3808,104 +7313,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 { + 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('isValidHashSignature(bytes32,address,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): boolean { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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 - * since they don't modify state. - */ - 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('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,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('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; - }, - /** - * 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('preSigned(bytes32,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; + }> + >(callData); return abiDecodedCallData; }, /** @@ -3913,89 +7361,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): boolean { + getABIDecodedReturnData( + returnData: string, + ): { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + } { 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; - }, - }; - 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. - */ - 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('protocolFeeCollector()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const abiEncoder = self._lookupAbiEncoder( + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,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('protocolFeeCollector()'); // 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('protocolFeeCollector()', []); - 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('protocolFeeCollector()'); - // 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('protocolFeeCollector()'); - // 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; }, }; @@ -4538,3039 +7924,6 @@ export class ExchangeContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * 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 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( - 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 encodedData = self._strictEncodeArguments( - '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( - { - 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 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( - 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, - 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 txHashPromise = self.marketBuyOrdersFillOrKill.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, - ); - })(), - ); - }, - /** - * 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 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); - 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], - ); - 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).marketBuyOrdersFillOrKill.callAsync(orders, makerAssetFillAmount, signatures, txData); - const txHash = await (this as any).marketBuyOrdersFillOrKill.sendTransactionAsync( - orders, - makerAssetFillAmount, - 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 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( - 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[], - 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); - 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( - '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( - { - 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( - '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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: 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. - * @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( - 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); - 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], - ); - 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( - '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< - 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( - '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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Verifies that a signature for a transaction is valid. - */ - 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; - }, - }; - 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); - } - const self = (this as any) as ExchangeContract; - 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 ExchangeContract; - 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 ExchangeContract; - 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 ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Executes multiple calls of fillOrder. If any fill reverts, the error is caught and ignored. - */ - 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 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( - '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); - 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( - '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, - ...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( - '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< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: 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. - * @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( - 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( - 'batchFillOrdersNoThrow((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( - '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; - }, - /** - * 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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: 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[])', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - >(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Allows the owner to update the protocol fee multiplier. - */ - 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; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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( - updatedProtocolFeeMultiplier: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); - 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('setProtocolFeeMultiplier(uint256)', [ - updatedProtocolFeeMultiplier, - ]); - 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('setProtocolFeeMultiplier(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 updatedProtocolFeeMultiplier The updated protocol fee multiplier. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(updatedProtocolFeeMultiplier: BigNumber): string { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ - updatedProtocolFeeMultiplier, - ]); - 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('setProtocolFeeMultiplier(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('setProtocolFeeMultiplier(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Executes multiple calls of fillOrder. - */ - 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; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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); - 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( - '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( - { - 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( - '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< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: 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. - * @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( - 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( - 'batchFillOrders((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( - '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< - 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, - ): Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { - 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[])', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - >(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Fills the input order. - */ - 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 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( - 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, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - 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], - ); - 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 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( - 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, - 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); - 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 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( - 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, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - 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], - ); - 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( - 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, - 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, - 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 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( - 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, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - 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( - '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( - { - 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( - '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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: 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 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( - 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); - 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], - ); - 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( - '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<{ - 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( - '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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Gets information about an order: status, hash, and amount filled. - */ - public getOrderInfo = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send 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 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; - }, - 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); - } - 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], - ); - 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( - '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; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data 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 - */ - 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<{ - 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, - ): { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber } { - 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 abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ - orderStatus: number; - orderHash: string; - orderTakerAssetFilledAmount: BigNumber; - }>(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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. - */ - 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; - }, - 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( - 'isValidOrderSignature((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, - ...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( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,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 order The order. - * @param signature Proof that the order has been signed by signer. - * @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; - }, - signature: string, - ): string { - assert.isString('signature', signature); - 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], - ); - 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( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),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 abiEncoder = self._lookupAbiEncoder( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * Calls marketSellOrdersNoThrow then reverts if < takerAssetFillAmount has been sold. - * NOTE: This function does not enforce that the takerAsset is the same for each order. - */ - public marketSellOrdersFillOrKill = { - /** - * 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 Minimum 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( - 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('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, 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 takerAssetFillAmount Minimum 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( - 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('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketSellOrdersFillOrKill.sendTransactionAsync( - orders, - takerAssetFillAmount, - 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 takerAssetFillAmount Minimum 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( - 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('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, 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; - }>, - takerAssetFillAmount: BigNumber, - signatures: string[], - txData?: Partial | undefined, - ): Promise { - await (this as any).marketSellOrdersFillOrKill.callAsync(orders, takerAssetFillAmount, signatures, txData); - const txHash = await (this as any).marketSellOrdersFillOrKill.sendTransactionAsync( - orders, - takerAssetFillAmount, - 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 takerAssetFillAmount Minimum 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( - 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) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], - ); - 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( - 'marketSellOrdersFillOrKill((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); - // 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. - * @param takerAssetFillAmount Minimum 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( - 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('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, 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( - 'marketSellOrdersFillOrKill((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; - }, - /** - * 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( - 'marketSellOrdersFillOrKill((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; - }, - }; - /** - * 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 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; - }, - }; /** * Match two complementary orders that have a profitable spread. * Each order is maximally filled at their respective price point, and @@ -8116,246 +8469,20 @@ export class ExchangeContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * Executes multiple calls of fillOrKillOrder. - */ - 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 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( - '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( - { - 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.batchFillOrKillOrders.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( - '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( - { - 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).batchFillOrKillOrders.callAsync(orders, takerAssetFillAmounts, signatures, txData); - const txHash = await (this as any).batchFillOrKillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - 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 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[], + index_0: string, + index_1: 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('index_0', index_0); + assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -8365,10 +8492,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } 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], - ); + const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -8388,19 +8515,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // 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; }, @@ -8408,40 +8525,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 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( - 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(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( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -8449,47 +8542,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( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,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(callData); return abiDecodedCallData; }, /** @@ -8497,29 +8554,689 @@ 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): 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[])', - ); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // 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; + }, + }; + 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); + } + const self = (this as any) as ExchangeContract; + 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 ExchangeContract; + 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 ExchangeContract; + 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 ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * Approves a hash on-chain. + * After presigning a hash, the preSign signature type will become valid for that hash and signer. + */ + 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 hash Any 32-byte hash. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(hash: string, txData?: Partial | undefined): Promise { + assert.isString('hash', hash); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + 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 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( + hash: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('hash', hash); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.preSign.sendTransactionAsync(hash, 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 hash Any 32-byte hash. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(hash: string, txData?: Partial | undefined): Promise { + assert.isString('hash', hash); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + 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(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 hash Any 32-byte hash. + */ + async callAsync(hash: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isString('hash', hash); + 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('preSign(bytes32)', [hash]); + 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('preSign(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). + * @param hash Any 32-byte hash. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(hash: string): string { + assert.isString('hash', hash); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + 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('preSign(bytes32)'); + // 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('preSign(bytes32)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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 + * since they don't modify state. + */ + 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('preSigned(bytes32,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('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; + }, + /** + * 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('preSigned(bytes32,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('preSigned(bytes32,address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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. + */ + 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('protocolFeeCollector()', []); + 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('protocolFeeCollector()'); + // 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('protocolFeeCollector()', []); + 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('protocolFeeCollector()'); + // 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('protocolFeeCollector()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + 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; + }, + }; + /** + * Registers an asset proxy to its asset proxy id. + * Once an asset proxy is registered, it cannot be unregistered. + */ + 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 assetProxy Address of new asset proxy to register. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.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 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( + assetProxy: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.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 assetProxy Address of new asset proxy to register. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.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( + assetProxy: string, + txData?: Partial | undefined, + ): Promise { + 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 assetProxy Address of new asset proxy to register. + */ + async callAsync( + assetProxy: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('assetProxy', assetProxy); + 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('registerAssetProxy(address)', [assetProxy.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('registerAssetProxy(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 assetProxy Address of new asset proxy to register. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(assetProxy: string): string { + assert.isString('assetProxy', assetProxy); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ + assetProxy.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('registerAssetProxy(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('registerAssetProxy(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; @@ -8725,100 +9442,26 @@ export class ExchangeContract extends BaseContract { return abiDecodedReturnData; }, }; - 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 { - 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('EIP712_EXCHANGE_DOMAIN_HASH()', []); - 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('EIP712_EXCHANGE_DOMAIN_HASH()'); - // 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('EIP712_EXCHANGE_DOMAIN_HASH()', []); - 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('EIP712_EXCHANGE_DOMAIN_HASH()'); - // 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('EIP712_EXCHANGE_DOMAIN_HASH()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; /** - * Registers an asset proxy to its asset proxy id. - * Once an asset proxy is registered, it cannot be unregistered. + * Allows the owner to update the protocol fee multiplier. */ - public registerAssetProxy = { + 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 assetProxy Address of new asset proxy to register. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. * @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( + updatedProtocolFeeMultiplier: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -8837,20 +9480,23 @@ 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 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( - assetProxy: string, + updatedProtocolFeeMultiplier: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); + const txHashPromise = self.setProtocolFeeMultiplier.sendTransactionAsync( + updatedProtocolFeeMultiplier, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -8865,14 +9511,19 @@ 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 updatedProtocolFeeMultiplier The updated protocol fee multiplier. * @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( + updatedProtocolFeeMultiplier: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -8889,25 +9540,28 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - assetProxy: string, + updatedProtocolFeeMultiplier: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).registerAssetProxy.callAsync(assetProxy, txData); - const txHash = await (this as any).registerAssetProxy.sendTransactionAsync(assetProxy, txData); + 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 assetProxy Address of new asset proxy to register. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. */ async callAsync( - assetProxy: string, + updatedProtocolFeeMultiplier: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isString('assetProxy', assetProxy); + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -8917,7 +9571,9 @@ 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('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -8937,7 +9593,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -8947,14 +9603,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 assetProxy Address of new asset proxy to register. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetProxy: string): string { - assert.isString('assetProxy', assetProxy); + getABIEncodedTransactionData(updatedProtocolFeeMultiplier: BigNumber): string { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ - assetProxy.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, ]); return abiEncodedTransactionData; }, @@ -8963,11 +9619,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('registerAssetProxy(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; }, /** @@ -8977,26 +9633,150 @@ 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('setProtocolFeeMultiplier(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; - public orderEpoch = { + /** + * Approves/unnapproves a Validator contract to verify signatures on signer's behalf + * using the `Validator` signature type. + */ + 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 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( + 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, + ]); + 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 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( + validatorAddress: string, + approval: boolean, + 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, + ); + 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 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( + 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, + ]); + 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( + validatorAddress: string, + approval: boolean, + txData?: Partial | undefined, + ): Promise { + await (this as any).setSignatureValidatorApproval.callAsync(validatorAddress, approval, txData); + const txHash = await (this as any).setSignatureValidatorApproval.sendTransactionAsync( + validatorAddress, + approval, + 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. */ async callAsync( - index_0: string, - index_1: string, + validatorAddress: string, + approval: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); + ): Promise { + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -9006,9 +9786,9 @@ 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(), - index_1.toLowerCase(), + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -9029,9 +9809,389 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); + 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; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data 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. + * @returns The ABI encoded transaction data as a string + */ + 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( + 'setSignatureValidatorApproval(address,bool)', + [validatorAddress.toLowerCase(), approval], + ); + 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 ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(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 ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + }; + /** + * 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 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; + }, + }; + 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; }, @@ -9041,14 +10201,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('orderEpoch(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('transactionsExecuted(bytes32)', [index_0]); return abiEncodedTransactionData; }, /** @@ -9058,7 +10214,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('transactionsExecuted(bytes32)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -9068,886 +10224,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('transactionsExecuted(bytes32)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - 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(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('EIP1271_MAGIC_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('EIP1271_MAGIC_VALUE()'); - // 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('EIP1271_MAGIC_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): void { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); - // 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('EIP1271_MAGIC_VALUE()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; - /** - * 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; - 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.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 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; - }>, - txData?: Partial | undefined, - ): Promise { - 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 orders Array of order specifications. - */ - 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; - }>, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isArray('orders', orders); - 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( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - [orders], - ); - 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( - 'batchCancelOrders((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 - 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. - * @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); - 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], - ); - 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( - 'batchCancelOrders((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); - 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( - 'batchCancelOrders((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; - }, - }; - /** - * Fills the input order. Reverts if exact takerAssetFillAmount not filled. - */ - 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 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( - 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, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - 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 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 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( - 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, - 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.fillOrKillOrder.sendTransactionAsync( - order, - takerAssetFillAmount, - 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, - ); - })(), - ); - }, - /** - * 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 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, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - 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 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( - 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, - 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, - 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 takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. - */ - 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, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - 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( - '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( - { - 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( - '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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: 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 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( - 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); - 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], - ); - 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( - '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<{ - 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( - '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<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(returnData); - return abiDecodedReturnData; - }, - }; - 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. - */ - 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('currentContextAddress()', []); - 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('currentContextAddress()'); - // 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('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); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, }; @@ -10115,287 +10396,6 @@ export class ExchangeContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * 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( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isArray('transactions', transactions); - assert.isArray('signatures', signatures); - 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( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - [transactions, signatures], - ); - 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( - 'batchExecuteTransactions((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 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( - 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( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - [transactions, 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<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }> { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - ); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - 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): string[] { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - }; private readonly _subscriptionManager: SubscriptionManager; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, @@ -10473,18 +10473,254 @@ export class ExchangeContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: true, inputs: [ { - name: 'index_0', - type: 'bytes32', + name: 'chainId', + type: 'uint256', }, ], - name: 'transactionsExecuted', + 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: 'bool', + type: 'bytes4', }, ], payable: false, @@ -10494,77 +10730,13 @@ export class ExchangeContract extends BaseContract { { constant: true, inputs: [], - name: 'protocolFeeMultiplier', + name: 'EIP712_EXCHANGE_DOMAIN_HASH', outputs: [ { name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - 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: 'executeTransaction', - outputs: [ - { - name: '', - type: 'bytes', - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'index_0', type: 'bytes32', }, ], - name: 'filled', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], payable: false, stateMutability: 'view', type: 'function', @@ -10574,10 +10746,14 @@ export class ExchangeContract extends BaseContract { inputs: [ { name: 'index_0', - type: 'bytes32', + type: 'address', + }, + { + name: 'index_1', + type: 'address', }, ], - name: 'cancelled', + name: 'allowedValidators', outputs: [ { name: '', @@ -10592,8 +10768,8 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'order', - type: 'tuple', + name: 'orders', + type: 'tuple[]', components: [ { name: 'makerAddress', @@ -10654,12 +10830,57 @@ export class ExchangeContract extends BaseContract { ], }, ], - name: 'cancelOrder', + name: 'batchCancelOrders', outputs: [], payable: true, stateMutability: 'payable', 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: 'signatures', + type: 'bytes[]', + }, + ], + name: 'batchExecuteTransactions', + outputs: [ + { + name: '', + type: 'bytes[]', + }, + ], + payable: true, + stateMutability: 'payable', + type: 'function', + }, { constant: false, inputs: [ @@ -10726,19 +10947,19 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'takerAssetFillAmount', - type: 'uint256', + name: 'takerAssetFillAmounts', + type: 'uint256[]', }, { name: 'signatures', type: 'bytes[]', }, ], - name: 'marketSellOrdersNoThrow', + name: 'batchFillOrKillOrders', outputs: [ { name: 'fillResults', - type: 'tuple', + type: 'tuple[]', components: [ { name: 'makerAssetFilledAmount', @@ -10771,54 +10992,7 @@ export class ExchangeContract extends BaseContract { 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: [ - { - name: 'leftOrders', + name: 'orders', type: 'tuple[]', components: [ { @@ -10880,7 +11054,52 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'rightOrders', + 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', + }, + ], + }, + ], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'orders', type: 'tuple[]', components: [ { @@ -10942,78 +11161,38 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'leftSignatures', - type: 'bytes[]', + name: 'takerAssetFillAmounts', + type: 'uint256[]', }, { - name: 'rightSignatures', + name: 'signatures', type: 'bytes[]', }, ], - name: 'batchMatchOrdersWithMaximalFill', + name: 'batchFillOrdersNoThrow', outputs: [ { - name: 'batchMatchedFillResults', - type: 'tuple', + 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: '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', + name: 'makerAssetFilledAmount', type: 'uint256', }, { - name: 'profitInRightMakerAsset', + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', type: 'uint256', }, ], @@ -11236,16 +11415,974 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'validatorAddress', - type: 'address', + name: 'leftOrders', + 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: 'approval', + name: 'rightOrders', + 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: 'leftSignatures', + type: 'bytes[]', + }, + { + name: 'rightSignatures', + type: 'bytes[]', + }, + ], + name: 'batchMatchOrdersWithMaximalFill', + outputs: [ + { + name: 'batchMatchedFillResults', + 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: '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: 'order', + 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: 'cancelOrder', + 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: 'index_0', + type: 'bytes32', + }, + ], + name: 'cancelled', + outputs: [ + { + name: '', type: 'bool', }, ], - name: 'setSignatureValidatorApproval', - outputs: [], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'currentContextAddress', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + 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: 'executeTransaction', + outputs: [ + { + name: '', + type: 'bytes', + }, + ], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'order', + 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: 'takerAssetFillAmount', + type: 'uint256', + }, + { + name: 'signature', + type: 'bytes', + }, + ], + name: 'fillOrKillOrder', + 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', + }, + ], + }, + ], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'order', + 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: 'takerAssetFillAmount', + type: 'uint256', + }, + { + name: 'signature', + type: 'bytes', + }, + ], + name: 'fillOrder', + 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', + }, + ], + }, + ], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'index_0', + type: 'bytes32', + }, + ], + name: 'filled', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'assetProxyId', + type: 'bytes4', + }, + ], + name: 'getAssetProxy', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'order', + 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: 'getOrderInfo', + outputs: [ + { + name: 'orderInfo', + type: 'tuple', + components: [ + { + name: 'orderStatus', + type: 'uint8', + }, + { + name: 'orderHash', + type: 'bytes32', + }, + { + name: 'orderTakerAssetFilledAmount', + type: 'uint256', + }, + ], + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'hash', + type: 'bytes32', + }, + { + name: 'signerAddress', + type: 'address', + }, + { + name: 'signature', + type: 'bytes', + }, + ], + name: 'isValidHashSignature', + outputs: [ + { + name: 'isValid', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'order', + 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: 'signature', + type: 'bytes', + }, + ], + name: 'isValidOrderSignature', + outputs: [ + { + name: 'isValid', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + 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: 'isValidTransactionSignature', + outputs: [ + { + name: 'isValid', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', + 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: 'makerAssetFillAmount', + type: 'uint256', + }, + { + name: 'signatures', + type: 'bytes[]', + }, + ], + name: 'marketBuyOrdersFillOrKill', + 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', + }, + ], + }, + ], payable: true, stateMutability: 'payable', type: 'function', @@ -11358,90 +12495,217 @@ export class ExchangeContract extends BaseContract { type: 'function', }, { - constant: true, + constant: false, inputs: [ { - name: 'index_0', - type: 'address', + 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: 'index_1', - type: 'address', + name: 'takerAssetFillAmount', + type: 'uint256', + }, + { + name: 'signatures', + type: 'bytes[]', }, ], - name: 'allowedValidators', + name: 'marketSellOrdersFillOrKill', 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: true, + constant: false, inputs: [ { - name: 'hash', - 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: 'signerAddress', - type: 'address', + name: 'takerAssetFillAmount', + type: 'uint256', }, { - name: 'signature', - type: 'bytes', + name: 'signatures', + type: 'bytes[]', }, ], - name: 'isValidHashSignature', + name: 'marketSellOrdersNoThrow', 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', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'index_0', - type: 'bytes32', - }, - { - name: 'index_1', - type: 'address', - }, - ], - name: 'preSigned', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'protocolFeeCollector', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', + payable: true, + stateMutability: 'payable', type: 'function', }, { @@ -11653,812 +12917,6 @@ export class ExchangeContract extends BaseContract { 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: 'makerAssetFillAmount', - type: 'uint256', - }, - { - name: 'signatures', - type: 'bytes[]', - }, - ], - name: 'marketBuyOrdersFillOrKill', - 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', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - 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: 'isValidTransactionSignature', - outputs: [ - { - name: 'isValid', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'owner', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - 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: 'batchFillOrdersNoThrow', - 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', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'updatedProtocolFeeMultiplier', - type: 'uint256', - }, - ], - name: 'setProtocolFeeMultiplier', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - 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: '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', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'order', - 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: 'takerAssetFillAmount', - type: 'uint256', - }, - { - name: 'signature', - type: 'bytes', - }, - ], - name: 'fillOrder', - 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', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'order', - 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: 'getOrderInfo', - outputs: [ - { - name: 'orderInfo', - type: 'tuple', - components: [ - { - name: 'orderStatus', - type: 'uint8', - }, - { - name: 'orderHash', - type: 'bytes32', - }, - { - name: 'orderTakerAssetFilledAmount', - type: 'uint256', - }, - ], - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'order', - 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: 'signature', - type: 'bytes', - }, - ], - name: 'isValidOrderSignature', - outputs: [ - { - name: 'isValid', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - 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: 'takerAssetFillAmount', - type: 'uint256', - }, - { - name: 'signatures', - type: 'bytes[]', - }, - ], - name: 'marketSellOrdersFillOrKill', - 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', - }, - ], - }, - ], - payable: true, - 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: [ @@ -12668,155 +13126,6 @@ export class ExchangeContract extends BaseContract { 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: 'takerFeePaid', - type: 'uint256', - }, - { - name: 'protocolFeePaid', - type: 'uint256', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - 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: [ @@ -12843,11 +13152,11 @@ export class ExchangeContract extends BaseContract { { constant: true, inputs: [], - name: 'EIP1271_MAGIC_VALUE', + name: 'owner', outputs: [ { name: '', - type: 'bytes4', + type: 'address', }, ], payable: false, @@ -12858,69 +13167,122 @@ export class ExchangeContract extends BaseContract { 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: 'hash', + type: 'bytes32', }, ], - name: 'batchCancelOrders', + name: 'preSign', + outputs: [], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'index_0', + type: 'bytes32', + }, + { + name: 'index_1', + type: 'address', + }, + ], + name: 'preSigned', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'protocolFeeCollector', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'protocolFeeMultiplier', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'assetProxy', + type: 'address', + }, + ], + name: 'registerAssetProxy', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'updatedProtocolFeeCollector', + type: 'address', + }, + ], + name: 'setProtocolFeeCollectorAddress', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'updatedProtocolFeeMultiplier', + type: 'uint256', + }, + ], + name: 'setProtocolFeeMultiplier', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'validatorAddress', + type: 'address', + }, + { + name: 'approval', + type: 'bool', + }, + ], + name: 'setSignatureValidatorApproval', outputs: [], payable: true, stateMutability: 'payable', @@ -12930,117 +13292,41 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'order', - 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: 'assetData', + type: 'bytes[]', }, { - name: 'takerAssetFillAmount', - type: 'uint256', + name: 'fromAddresses', + type: 'address[]', }, { - name: 'signature', - type: 'bytes', + name: 'toAddresses', + type: 'address[]', + }, + { + name: 'amounts', + type: 'uint256[]', }, ], - name: 'fillOrKillOrder', - 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', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', + name: 'simulateDispatchTransferFromCalls', + outputs: [], + payable: false, + stateMutability: 'nonpayable', type: 'function', }, { constant: true, - inputs: [], - name: 'currentContextAddress', + inputs: [ + { + name: 'index_0', + type: 'bytes32', + }, + ], + name: 'transactionsExecuted', outputs: [ { name: '', - type: 'address', + type: 'bool', }, ], payable: false, @@ -13061,292 +13347,6 @@ export class ExchangeContract extends BaseContract { stateMutability: 'nonpayable', 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: 'signatures', - type: 'bytes[]', - }, - ], - name: 'batchExecuteTransactions', - outputs: [ - { - name: '', - type: 'bytes[]', - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [ - { - name: 'chainId', - type: 'uint256', - }, - ], - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - name: 'transactionHash', - type: 'bytes32', - indexed: true, - }, - ], - name: 'TransactionExecution', - 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: 'id', - type: 'bytes4', - indexed: false, - }, - { - name: 'assetProxy', - type: 'address', - indexed: false, - }, - ], - name: 'AssetProxyRegistered', - 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: 'oldProtocolFeeCollector', - type: 'address', - indexed: false, - }, - { - name: 'updatedProtocolFeeCollector', - type: 'address', - indexed: false, - }, - ], - name: 'ProtocolFeeCollectorAddress', - 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: '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', - }, ] 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 f41353fa3c..faf0339639 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -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 @@ -207,287 +207,6 @@ export class ForwarderContract extends BaseContract { return abiDecodedReturnData; }, }; - /** - * 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( - 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('withdrawAsset(bytes,uint256)', [assetData, 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 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 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( - assetData: string, - amount: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, 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, - ); - })(), - ); - }, - /** - * 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( - 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('withdrawAsset(bytes,uint256)', [assetData, 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, - 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( - 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, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); - 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('withdrawAsset(bytes,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 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(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; - }, - }; - 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); - } - 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(), - ); - 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; - }, - }; /** * 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 @@ -1345,6 +1064,84 @@ export class ForwarderContract extends BaseContract { return abiDecodedReturnData; }, }; + 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); + } + 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(), + ); + 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; + }, + }; public transferOwnership = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write @@ -1509,6 +1306,209 @@ export class ForwarderContract extends BaseContract { return abiDecodedReturnData; }, }; + /** + * 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( + 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('withdrawAsset(bytes,uint256)', [assetData, 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 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 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( + assetData: string, + amount: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); + const self = (this as any) as ForwarderContract; + const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, 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, + ); + })(), + ); + }, + /** + * 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( + 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('withdrawAsset(bytes,uint256)', [assetData, 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, + 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( + 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, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + 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('withdrawAsset(bytes,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 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(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; + }, + }; public static async deployFrom0xArtifactAsync( artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, @@ -1594,6 +1594,29 @@ export class ForwarderContract extends BaseContract { */ public static ABI(): ContractAbi { const abi = [ + { + inputs: [ + { + name: '_exchange', + type: 'address', + }, + { + name: '_wethAssetData', + type: 'bytes', + }, + ], + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + outputs: [], + payable: true, + stateMutability: 'payable', + type: 'fallback', + }, { constant: false, inputs: [ @@ -1608,38 +1631,6 @@ export class ForwarderContract extends BaseContract { stateMutability: 'nonpayable', type: 'function', }, - { - constant: false, - inputs: [ - { - name: 'assetData', - type: 'bytes', - }, - { - name: 'amount', - type: 'uint256', - }, - ], - name: 'withdrawAsset', - 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: [ @@ -1838,6 +1829,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: [ @@ -1853,27 +1858,22 @@ export class ForwarderContract extends BaseContract { type: 'function', }, { + constant: false, inputs: [ { - name: '_exchange', - type: 'address', - }, - { - name: '_wethAssetData', + name: 'assetData', 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/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 37561182f3..e0f5f3f784 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 @@ -62,7 +62,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/static_call_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts index 85b1510578..56ff0492ea 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 @@ -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 46cf789600..4d60c5763d 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -71,7 +71,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 74d1eb0f0a..fc5c8953cb 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -55,7 +55,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/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 @@ -3,11 +3,116 @@ "contractName": "AssetProxyOwner", "compilerOutput": { "abi": [ + { + "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": "nonpayable", + "type": "constructor" + }, + { + "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": "uint256", "name": "transactionId", "type": "uint256" }, + { "indexed": false, "internalType": "uint256", "name": "confirmationTime", "type": "uint256" } + ], + "name": "ConfirmationTimeSet", + "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": "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": 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": "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": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "owners", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "inputs": [], + "name": "MAX_OWNER_COUNT", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" @@ -15,7 +120,25 @@ { "constant": false, "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], - "name": "removeOwner", + "name": "addOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "uint256", "name": "_required", "type": "uint256" }], + "name": "changeRequirement", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "uint256", "name": "_secondsTimeLocked", "type": "uint256" }], + "name": "changeTimeLock", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -24,7 +147,7 @@ { "constant": false, "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "revokeConfirmation", + "name": "confirmTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -32,9 +155,9 @@ }, { "constant": true, - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "isOwner", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "confirmationTimes", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" @@ -51,63 +174,10 @@ "stateMutability": "view", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "secondsTimeLocked", - "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" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": false, - "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], - "name": "addOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "isConfirmed", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "_secondsTimeLocked", "type": "uint256" }], - "name": "changeTimeLock", + "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,16 +254,69 @@ { "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": [{ "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": "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", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], + "name": "removeOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "replaceOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": true, "inputs": [], - "name": "transactionCount", + "name": "required", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", @@ -194,20 +324,20 @@ }, { "constant": false, - "inputs": [{ "internalType": "uint256", "name": "_required", "type": "uint256" }], - "name": "changeRequirement", + "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "revokeConfirmation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "confirmTransaction", - "outputs": [], + "constant": true, + "inputs": [], + "name": "secondsTimeLocked", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { @@ -223,158 +353,28 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "transactionCount", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "confirmationTimes", - "outputs": [{ "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": "view", "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_OWNER_COUNT", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "required", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "replaceOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "executeTransaction", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "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" } - ], - "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" } ], "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 @@ -4,98 +4,10 @@ "compilerOutput": { "abi": [ { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeOrderStatusError", - "outputs": [ - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "enum LibOrder.OrderStatus", "name": "orderStatus", "type": "uint8" } - ], + "inputs": [{ "internalType": "address", "name": "_exchange", "type": "address" }], "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "name": "decodeERC721AssetData", - "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" } - ], - "name": "getBalanceAndAssetProxyAllowance", - "outputs": [ - { "internalType": "uint256", "name": "balance", "type": "uint256" }, - { "internalType": "uint256", "name": "allowance", "type": "uint256" } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeIncompleteFillError", - "outputs": [ - { - "internalType": "enum LibExchangeRichErrors.IncompleteFillErrorCode", - "name": "errorCode", - "type": "uint8" - }, - { "internalType": "uint256", "name": "expectedAssetFillAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "actualAssetFillAmount", "type": "uint256" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "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": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeAssetProxyTransferError", - "outputs": [ - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" }, - { "internalType": "bytes", "name": "errorData", "type": "bytes" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "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" + "stateMutability": "nonpayable", + "type": "constructor" }, { "constant": true, @@ -117,10 +29,35 @@ { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeSignatureWalletError", + "name": "decodeAssetProxyExistsError", "outputs": [ - { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "address", "name": "assetProxyAddress", "type": "address" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeAssetProxyTransferError", + "outputs": [ + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "bytes", "name": "assetData", "type": "bytes" }, + { "internalType": "bytes", "name": "errorData", "type": "bytes" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "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" } ], @@ -128,6 +65,63 @@ "stateMutability": "pure", "type": "function" }, + { + "constant": true, + "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" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "decodeERC20AssetData", + "outputs": [ + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "decodeERC721AssetData", + "outputs": [ + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "address", "name": "tokenAddress", "type": "address" }, + { "internalType": "uint256", "name": "tokenId", "type": "uint256" } + ], + "payable": false, + "stateMutability": "pure", + "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" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], @@ -146,21 +140,42 @@ }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" } + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeIncompleteFillError", + "outputs": [ + { + "internalType": "enum LibExchangeRichErrors.IncompleteFillErrorCode", + "name": "errorCode", + "type": "uint8" + }, + { "internalType": "uint256", "name": "expectedAssetFillAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "actualAssetFillAmount", "type": "uint256" } ], - "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": "assetData", "type": "bytes" }], + "name": "decodeMultiAssetData", + "outputs": [ + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, + { "internalType": "bytes[]", "name": "nestedAssetData", "type": "bytes[]" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "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" @@ -178,6 +193,90 @@ "stateMutability": "pure", "type": "function" }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeOrderStatusError", + "outputs": [ + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "enum LibOrder.OrderStatus", "name": "orderStatus", "type": "uint8" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeSignatureError", + "outputs": [ + { + "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", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeSignatureValidatorNotApprovedError", + "outputs": [ + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "address", "name": "validatorAddress", "type": "address" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeSignatureWalletError", + "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" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeTransactionError", + "outputs": [ + { + "internalType": "enum LibExchangeRichErrors.TransactionErrorCodes", + "name": "errorCode", + "type": "uint8" + }, + { "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" } + ], + "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" } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, { "constant": true, "inputs": [{ "internalType": "bytes", "name": "transactionData", "type": "bytes" }], @@ -212,133 +311,27 @@ "stateMutability": "pure", "type": "function" }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeAssetProxyExistsError", - "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "assetProxyAddress", "type": "address" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeSignatureValidatorNotApprovedError", - "outputs": [ - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "address", "name": "validatorAddress", "type": "address" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, { "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", - "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "tokenAddress", "type": "address" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeSignatureError", - "outputs": [ - { - "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", - "type": "function" - }, - { - "constant": true, - "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": "encodeERC1155AssetData", + "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "address[]", "name": "addresses", "type": "address[]" }], - "name": "getEthBalances", - "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }], + "inputs": [{ "internalType": "address", "name": "tokenAddress", "type": "address" }], + "name": "encodeERC20AssetData", + "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "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[]" - }, - { "internalType": "address[]", "name": "takerAddresses", "type": "address[]" }, - { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" } - ], - "name": "getSimulatedOrdersTransferResults", - "outputs": [ - { - "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults[]", - "name": "orderTransferResults", - "type": "uint8[]" - } - ], - "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function" }, { @@ -353,29 +346,13 @@ "stateMutability": "pure", "type": "function" }, - { - "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" } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, { "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": "amounts", "type": "uint256[]" }, + { "internalType": "bytes[]", "name": "nestedAssetData", "type": "bytes[]" } ], - "name": "encodeERC1155AssetData", + "name": "encodeMultiAssetData", "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, "stateMutability": "pure", @@ -383,43 +360,53 @@ }, { "constant": true, - "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[]" } + "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": "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": "getBalance", + "outputs": [{ "internalType": "uint256", "name": "balance", "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": "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" }, { @@ -434,114 +421,6 @@ "stateMutability": "view", "type": "function" }, - { - "constant": true, - "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": "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": "order", - "type": "tuple" - }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" } - ], - "name": "getSimulatedOrderTransferResults", - "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[]" } - ], - "name": "encodeMultiAssetData", - "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "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": "orders", - "type": "tuple[]" - }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "name": "getOrderRelevantStates", - "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": "ordersInfo", - "type": "tuple[]" - }, - { "internalType": "uint256[]", "name": "fillableTakerAssetAmounts", "type": "uint256[]" }, - { "internalType": "bool[]", "name": "isValidSignature", "type": "bool[]" } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": true, "inputs": [ @@ -557,6 +436,15 @@ "stateMutability": "view", "type": "function" }, + { + "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": [ @@ -604,26 +492,138 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeExchangeInvalidContextError", + "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": "bytes[]", "name": "signatures", "type": "bytes[]" } + ], + "name": "getOrderRelevantStates", "outputs": [ { - "internalType": "enum LibExchangeRichErrors.ExchangeContextErrorCodes", - "name": "errorCode", - "type": "uint8" + "components": [ + { "internalType": "uint8", "name": "orderStatus", "type": "uint8" }, + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "uint256", "name": "orderTakerAssetFilledAmount", "type": "uint256" } + ], + "internalType": "struct LibOrder.OrderInfo[]", + "name": "ordersInfo", + "type": "tuple[]" }, - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "address", "name": "contextAddress", "type": "address" } + { "internalType": "uint256[]", "name": "fillableTakerAssetAmounts", "type": "uint256[]" }, + { "internalType": "bool[]", "name": "isValidSignature", "type": "bool[]" } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { - "inputs": [{ "internalType": "address", "name": "_exchange", "type": "address" }], + "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": "order", + "type": "tuple" + }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" } + ], + "name": "getSimulatedOrderTransferResults", + "outputs": [ + { + "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults", + "name": "orderTransferResults", + "type": "uint8" + } + ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor" + "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": "address[]", "name": "takerAddresses", "type": "address[]" }, + { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" } + ], + "name": "getSimulatedOrdersTransferResults", + "outputs": [ + { + "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults[]", + "name": "orderTransferResults", + "type": "uint8[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "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": "view", + "type": "function" } ], "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 @@ -3,11 +3,54 @@ "contractName": "DummyERC20Token", "compilerOutput": { "abi": [ + { + "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": "nonpayable", + "type": "constructor" + }, + { + "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" + }, + { + "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": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "name": "MAX_MINT_AMOUNT", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "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" }], "payable": false, "stateMutability": "view", "type": "function" @@ -24,37 +67,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "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": "uint256", "name": "_value", "type": "uint256" } - ], - "name": "transferFrom", - "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" @@ -127,6 +124,49 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "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" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "transferFrom", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": false, "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], @@ -135,46 +175,6 @@ "payable": false, "stateMutability": "nonpayable", "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_MINT_AMOUNT", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "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": "nonpayable", - "type": "constructor" - }, - { - "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" - }, - { - "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" } ], "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 @@ -3,169 +3,6 @@ "contractName": "DummyERC721Token", "compilerOutput": { "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], - "name": "getApproved", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "_approved", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "approve", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "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" - }, - { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "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", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "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" - }, - { - "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": [], - "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" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "_owner", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "_operator", "type": "address" }, - { "internalType": "bool", "name": "_approved", "type": "bool" } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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" } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "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": false, - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, @@ -175,16 +12,6 @@ "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": [ @@ -204,6 +31,179 @@ ], "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, + "inputs": [ + { "internalType": "address", "name": "_approved", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "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": false, + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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": "_owner", "type": "address" }, + { "internalType": "address", "name": "_operator", "type": "address" } + ], + "name": "isApprovedForAll", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "mint", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "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" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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" } + ], + "name": "safeTransferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "bool", "name": "_approved", "type": "bool" } + ], + "name": "setApprovalForAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "payable": false, + "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": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "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,13 +4,34 @@ "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" + }, + { + "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, @@ -25,29 +46,33 @@ "type": "function" }, { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "transferFrom", - "outputs": [], + "constant": true, + "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], + "name": "balanceOf", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "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", - "outputs": [], + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], + "name": "getApproved", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "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" }, { @@ -59,22 +84,14 @@ "stateMutability": "view", "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": "_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, + "constant": 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" } + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "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" + "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 @@ -3,11 +3,136 @@ "contractName": "Exchange", "compilerOutput": { "abi": [ + { + "inputs": [{ "internalType": "uint256", "name": "chainId", "type": "uint256" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "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": 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" }, + { + "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" } + ], + "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": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "name": "transactionsExecuted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "inputs": [], + "name": "EIP1271_MAGIC_VALUE", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], "payable": false, "stateMutability": "view", "type": "function" @@ -15,48 +140,19 @@ { "constant": true, "inputs": [], - "name": "protocolFeeMultiplier", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "EIP712_EXCHANGE_DOMAIN_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": false, + "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" } + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } ], - "name": "executeTransaction", - "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "name": "filled", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "name": "cancelled", + "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,9 +249,9 @@ { "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, @@ -141,29 +260,182 @@ }, { "constant": false, - "inputs": [{ "internalType": "bytes32", "name": "hash", "type": "bytes32" }], - "name": "preSign", - "outputs": [], + "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": "batchFillOrders", + "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": [{ "internalType": "uint256", "name": "targetOrderEpoch", "type": "uint256" }], - "name": "cancelOrdersUpTo", - "outputs": [], + "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": true, - "inputs": [{ "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }], - "name": "getAssetProxy", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", + "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", + "type": "tuple[]" + }, + { "internalType": "bytes[]", "name": "leftSignatures", "type": "bytes[]" }, + { "internalType": "bytes[]", "name": "rightSignatures", "type": "bytes[]" } + ], + "name": "batchMatchOrders", + "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.BatchMatchedFillResults", + "name": "batchMatchedFillResults", + "type": "tuple" + } + ], + "payable": true, + "stateMutability": "payable", "type": "function" }, { @@ -274,10 +546,290 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order[]", - "name": "leftOrders", - "type": "tuple[]" + "internalType": "struct LibOrder.Order", + "name": "order", + "type": "tuple" + } + ], + "name": "cancelOrder", + "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": "bytes32", "name": "", "type": "bytes32" }], + "name": "cancelled", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentContextAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "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": "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" }, + { "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" + } + ], + "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": "order", + "type": "tuple" + }, + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } + ], + "name": "fillOrder", + "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": true, + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "filled", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "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": 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" + } + ], + "name": "getOrderInfo", + "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" + } + ], + "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", + "type": "function" + }, + { + "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": "bytes", "name": "signature", "type": "bytes" } + ], + "name": "isValidOrderSignature", + "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "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" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ { "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, @@ -296,45 +848,24 @@ { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], "internalType": "struct LibOrder.Order[]", - "name": "rightOrders", + "name": "orders", "type": "tuple[]" }, - { "internalType": "bytes[]", "name": "leftSignatures", "type": "bytes[]" }, - { "internalType": "bytes[]", "name": "rightSignatures", "type": "bytes[]" } + { "internalType": "uint256", "name": "makerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "batchMatchOrders", + "name": "marketBuyOrdersFillOrKill", "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.BatchMatchedFillResults", - "name": "batchMatchedFillResults", + "internalType": "struct LibFillResults.FillResults", + "name": "fillResults", "type": "tuple" } ], @@ -342,18 +873,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": [ @@ -401,49 +920,95 @@ "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" } + { + "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": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "allowedValidators", - "outputs": [{ "internalType": "bool", "name": "", "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" }, { - "constant": true, + "constant": false, "inputs": [ - { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "signature", "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": "orders", + "type": "tuple[]" + }, + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "isValidHashSignature", - "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" }, - { "internalType": "address", "name": "", "type": "address" } + "name": "marketSellOrdersNoThrow", + "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" + } ], - "name": "preSigned", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "protocolFeeCollector", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", + "payable": true, + "stateMutability": "payable", "type": "function" }, { @@ -534,365 +1099,6 @@ "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": "makerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "name": "marketBuyOrdersFillOrKill", - "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": 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" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "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[]" - }, - { "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": [{ "internalType": "uint256", "name": "updatedProtocolFeeMultiplier", "type": "uint256" }], - "name": "setProtocolFeeMultiplier", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "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": "batchFillOrders", - "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": "order", - "type": "tuple" - }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } - ], - "name": "fillOrder", - "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": 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" - } - ], - "name": "getOrderInfo", - "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" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "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": "bytes", "name": "signature", "type": "bytes" } - ], - "name": "isValidOrderSignature", - "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], - "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[]" - }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "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" - }, - { - "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": [ @@ -981,79 +1187,6 @@ "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": "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": "struct LibFillResults.FillResults[]", - "name": "fillResults", - "type": "tuple[]" - } - ], - "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", - "type": "function" - }, { "constant": true, "inputs": [ @@ -1069,38 +1202,85 @@ { "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": [{ "internalType": "bytes32", "name": "hash", "type": "bytes32" }], + "name": "preSign", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "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": "orders", - "type": "tuple[]" - } + { "internalType": "bytes32", "name": "", "type": "bytes32" }, + { "internalType": "address", "name": "", "type": "address" } ], - "name": "batchCancelOrders", + "name": "preSigned", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "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": "assetProxy", "type": "address" }], + "name": "registerAssetProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "updatedProtocolFeeCollector", "type": "address" }], + "name": "setProtocolFeeCollectorAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "uint256", "name": "updatedProtocolFeeMultiplier", "type": "uint256" }], + "name": "setProtocolFeeMultiplier", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "validatorAddress", "type": "address" }, + { "internalType": "bool", "name": "approval", "type": "bool" } + ], + "name": "setSignatureValidatorApproval", "outputs": [], "payable": true, "stateMutability": "payable", @@ -1109,54 +1289,22 @@ { "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": "order", - "type": "tuple" - }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } + { "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": "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" - } - ], - "payable": true, - "stateMutability": "payable", + "name": "simulateDispatchTransferFromCalls", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", "type": "function" }, { "constant": true, - "inputs": [], - "name": "currentContextAddress", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "transactionsExecuted", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", "type": "function" @@ -1169,154 +1317,6 @@ "payable": false, "stateMutability": "nonpayable", "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" - }, - { - "inputs": [{ "internalType": "uint256", "name": "chainId", "type": "uint256" }], - "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" - }, - { - "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": 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" } - ], - "name": "Fill", - "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": "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" } ], "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 @@ -3,6 +3,16 @@ "contractName": "Forwarder", "compilerOutput": { "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "_exchange", "type": "address" }, + { "internalType": "bytes", "name": "_wethAssetData", "type": "bytes" } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": false, "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], @@ -12,27 +22,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": false, - "inputs": [ - { "internalType": "bytes", "name": "assetData", "type": "bytes" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "withdrawAsset", - "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" } } }, From f5a0c87fdc2c2cc2ade065997436926ba5dd8ada Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Tue, 1 Oct 2019 19:46:43 -0700 Subject: [PATCH 54/83] Update Exchange, Forwarder, DevUtils --- packages/contract-addresses/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 153c8e57c4..8f0bf02bdb 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -70,7 +70,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { zrxToken: '0x8080c7e4b81ecf23aa6f877cfbfd9b0c228c6ffa', etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', assetProxyOwner: '0x5d751aa855a1aee5fe44cf5350ed25b5727b66ae', - forwarder: NULL_ADDRESS, + forwarder: '0xc6db36aeb96a2eb52079c342c3a980c83dea8e3c', orderValidator: NULL_ADDRESS, dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x1084b6a398e47907bae43fec3ff4b677db6e4fee', @@ -78,7 +78,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { multiAssetProxy: '0xb34cde0ad3a83d04abebc0b66e75196f22216621', staticCallProxy: '0xe1b97e47aa3796276033a5341e884d2ba46b6ac1', erc1155Proxy: '0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d', - devUtils: NULL_ADDRESS, + devUtils: '0xcfc66b8e75e8f075c3e1d61e6487d73dfe35d808', }, 42: { erc20Proxy: '0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e', @@ -87,7 +87,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { etherToken: '0xd0a1e359811322d97991e03f863a0c30c2cf029c', exchange: '0x617602cd3f734cf1e028c96b3f54c0489bed8022', assetProxyOwner: '0x3654e5363cd75c8974c76208137df9691e820e97', - forwarder: NULL_ADDRESS, + forwarder: '0x4c4edb103a6570fa4b58a309d7ff527b7d9f7cf2', orderValidator: NULL_ADDRESS, dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x09fb99968c016a3ff537bf58fb3d9fe55a7975d5', From 506d27816e6a20c0e98301ab6470b8c3a3c04104 Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Tue, 1 Oct 2019 20:43:28 -0700 Subject: [PATCH 55/83] Update Ropsten devUtils and Forwarder --- packages/contract-addresses/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 8f0bf02bdb..3e66e46fe9 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -53,7 +53,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', exchange: '0x725bc2f8c85ed0289d3da79cde3125d33fc1d7e6', assetProxyOwner: '0xdcf20f7b447d51f2b3e5499b7f6cbbf7295a5d26', - forwarder: NULL_ADDRESS, + forwarder: '0x31c3890769ed3bb30b2781fd238a5bb7ecfeb7c8', orderValidator: NULL_ADDRESS, dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x403cc23e88c17c4652fb904784d1af640a6722d9', @@ -61,7 +61,7 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { multiAssetProxy: '0xab8fbd189c569ccdee3a4d929bb7f557be4028f6', staticCallProxy: '0xe1b97e47aa3796276033a5341e884d2ba46b6ac1', erc1155Proxy: '0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d', - devUtils: NULL_ADDRESS, + devUtils: '0x3dfd5157eec10eb1a357c1074de30787ce92cb43', }, 4: { exchange: '0x8e1dfaf747b804d041adaed79d68dcef85b8de85', From 24c3aefb6f329098b8570b9836275c70b5dc72ed Mon Sep 17 00:00:00 2001 From: xianny Date: Tue, 1 Oct 2019 17:08:51 -0700 Subject: [PATCH 56/83] remove fill-scenarios --- .github/autolabeler.yml | 1 - README.md | 1 - packages/fill-scenarios/.npmignore | 10 - packages/fill-scenarios/CHANGELOG.json | 529 ------------------ packages/fill-scenarios/CHANGELOG.md | 231 -------- packages/fill-scenarios/README.md | 63 --- packages/fill-scenarios/package.json | 46 -- packages/fill-scenarios/src/constants.ts | 5 - packages/fill-scenarios/src/fill_scenarios.ts | 299 ---------- packages/fill-scenarios/src/index.ts | 1 - packages/fill-scenarios/tsconfig.json | 8 - packages/fill-scenarios/tslint.json | 3 - tsconfig.json | 1 - 13 files changed, 1198 deletions(-) delete mode 100644 packages/fill-scenarios/.npmignore delete mode 100644 packages/fill-scenarios/CHANGELOG.json delete mode 100644 packages/fill-scenarios/CHANGELOG.md delete mode 100644 packages/fill-scenarios/README.md delete mode 100644 packages/fill-scenarios/package.json delete mode 100644 packages/fill-scenarios/src/constants.ts delete mode 100644 packages/fill-scenarios/src/fill_scenarios.ts delete mode 100644 packages/fill-scenarios/src/index.ts delete mode 100644 packages/fill-scenarios/tsconfig.json delete mode 100644 packages/fill-scenarios/tslint.json 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/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 5b1c197d3d..0000000000 --- a/packages/fill-scenarios/CHANGELOG.json +++ /dev/null @@ -1,529 +0,0 @@ -[ - { - "version": "3.1.0-beta.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/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" }, From a90c808fb4197fac474180c4056d213d378a1225 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 14:28:27 +0800 Subject: [PATCH 57/83] Remove Geth testing from CI --- .circleci/config.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f1c349617..60ff619e81 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: @@ -405,10 +393,6 @@ 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 From 043534dd56445976c2c5424163e96fdb236d051e Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 14:29:13 +0800 Subject: [PATCH 58/83] Add back publish and doc gen tests to CI --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 60ff619e81..c3d51e7cef 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -399,12 +399,12 @@ workflows: - 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 From 83532fdae75ccd8d79816929d27632e1b5580133 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 17:13:54 +0800 Subject: [PATCH 59/83] Fix Solc bin path so it's _outside_ lib dir and persists across rebuilds --- packages/sol-compiler/src/utils/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sol-compiler/src/utils/constants.ts b/packages/sol-compiler/src/utils/constants.ts index 9dd54f14dd..966332c43b 100644 --- a/packages/sol-compiler/src/utils/constants.ts +++ b/packages/sol-compiler/src/utils/constants.ts @@ -4,7 +4,7 @@ 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.6': 'soljson-v0.5.6+commit.b259423e.js', '0.5.5': 'soljson-v0.5.5+commit.47a71e8f.js', From d810aff33718bc36901f63ea93d3373ca1156418 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 17:14:07 +0800 Subject: [PATCH 60/83] Add latest solc version paths --- packages/sol-compiler/src/utils/constants.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/sol-compiler/src/utils/constants.ts b/packages/sol-compiler/src/utils/constants.ts index 966332c43b..f7bb91d42a 100644 --- a/packages/sol-compiler/src/utils/constants.ts +++ b/packages/sol-compiler/src/utils/constants.ts @@ -6,6 +6,12 @@ export const constants = { LATEST_ARTIFACT_VERSION: '2.0.0', 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', From c4b69efdd1c9a53f75031b93e8f69e6caeeb9c10 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 18:16:10 +0800 Subject: [PATCH 61/83] Update package index.ts exports so that we are able to generate docs --- packages/0x.js/src/index.ts | 31 ++++++------------------- packages/abi-gen-wrappers/src/index.ts | 3 +++ packages/contract-wrappers/src/index.ts | 5 ++++ packages/order-utils/src/index.ts | 12 ++++------ packages/sol-compiler/src/index.ts | 1 + packages/utils/src/index.ts | 24 ++++++------------- packages/web3-wrapper/src/index.ts | 1 + 7 files changed, 28 insertions(+), 49 deletions(-) diff --git a/packages/0x.js/src/index.ts b/packages/0x.js/src/index.ts index 8ac78e3ad3..397643924d 100644 --- a/packages/0x.js/src/index.ts +++ b/packages/0x.js/src/index.ts @@ -8,19 +8,6 @@ export { transactionHashUtils, } from '@0x/order-utils'; -export { - CoordinatorWrapper, - CoordinatorServerCancellationResponse, - CoordinatorServerError, - IndexedFilterValues, - OrderTransactionOpts, - TransactionOpts, - OrderInfo, - EventCallback, - DecodedLogEvent, - OrderStatus, -} from '@0x/contract-wrappers'; - export { ExchangeEventArgs, ExchangeEvents, @@ -31,10 +18,6 @@ export { ExchangeAssetProxyRegisteredEventArgs, ExchangeContract, DevUtilsContract, - CoordinatorRegistryEventArgs, - CoordinatorRegistryEvents, - CoordinatorRegistryCoordinatorEndpointSetEventArgs, - CoordinatorRegistryContract, IValidatorContract, IWalletContract, WETH9EventArgs, @@ -55,16 +38,15 @@ export { ERC721TokenApprovalEventArgs, ERC721TokenApprovalForAllEventArgs, ERC721TokenContract, - ERC1155ProxyEventArgs, - ERC1155ProxyEvents, - ERC1155ProxyAuthorizedAddressAddedEventArgs, - ERC1155ProxyAuthorizedAddressRemovedEventArgs, - ERC1155ProxyContract, ZRXTokenEventArgs, ZRXTokenEvents, ZRXTokenTransferEventArgs, ZRXTokenApprovalEventArgs, ZRXTokenContract, + EventCallback, + ExchangeProtocolFeeCollectorAddressEventArgs, + ExchangeProtocolFeeMultiplierEventArgs, + ExchangeTransactionExecutionEventArgs, } from '@0x/abi-gen-wrappers'; export import Web3ProviderEngine = require('web3-provider-engine'); @@ -101,18 +83,17 @@ export { SimpleStandardContractOutput, SimpleEvmOutput, SimpleEvmBytecodeOutput, + EIP712DomainWithDefaultSchema, } from '@0x/types'; export { BlockRange, ContractAbi, - LogWithDecodedArgs, ContractEventArg, SupportedProvider, JSONRPCRequestPayload, JSONRPCResponsePayload, JSONRPCResponseError, - DecodedLogArgs, AbiDefinition, FunctionAbi, EventAbi, @@ -151,4 +132,6 @@ export { OutputField, ParamDescription, EvmBytecodeOutput, + IndexedFilterValues, + RevertErrorAbi, } from 'ethereum-types'; 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/contract-wrappers/src/index.ts b/packages/contract-wrappers/src/index.ts index 5a4c21c165..9b54b4936a 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 { @@ -142,6 +145,7 @@ export { ConstructorStateMutability, JSONRPCResponseError, StateMutability, + RevertErrorAbi, } from 'ethereum-types'; export { @@ -153,6 +157,7 @@ export { SignedZeroExTransaction, SimpleEvmOutput, SimpleEvmBytecodeOutput, + EIP712DomainWithDefaultSchema, } from '@0x/types'; export { AbiDecoder, DecodedCalldata } from '@0x/utils'; 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/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/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/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, From 30141ca6cf1edfc2147cda3b73a6495c6413b47f Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 18:42:41 +0800 Subject: [PATCH 62/83] Fix md gen for contract-wrappers so also includes re-exported dep content --- packages/contract-wrappers/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index e315e75f4f..192391442d 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -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": { From 06f095ca23054b4cd8ee1846283c26aea4e93ad9 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 19:06:54 +0800 Subject: [PATCH 63/83] Move types part of pkg exported interfaces to @0x/types from base-contract so more easily accessible --- packages/0x.js/src/index.ts | 4 ++-- .../src/generated-wrappers/asset_proxy_owner.ts | 10 ++-------- .../src/generated-wrappers/coordinator.ts | 2 +- .../generated-wrappers/coordinator_registry.ts | 10 ++-------- .../src/generated-wrappers/dev_utils.ts | 2 +- .../src/generated-wrappers/dummy_erc20_token.ts | 10 ++-------- .../src/generated-wrappers/dummy_erc721_token.ts | 10 ++-------- .../src/generated-wrappers/dutch_auction.ts | 2 +- .../src/generated-wrappers/erc1155_proxy.ts | 10 ++-------- .../src/generated-wrappers/erc20_proxy.ts | 10 ++-------- .../src/generated-wrappers/erc20_token.ts | 10 ++-------- .../src/generated-wrappers/erc721_proxy.ts | 10 ++-------- .../src/generated-wrappers/erc721_token.ts | 10 ++-------- .../generated-wrappers/eth_balance_checker.ts | 2 +- .../src/generated-wrappers/exchange.ts | 10 ++-------- .../src/generated-wrappers/forwarder.ts | 2 +- .../src/generated-wrappers/i_asset_proxy.ts | 2 +- .../src/generated-wrappers/i_validator.ts | 2 +- .../src/generated-wrappers/i_wallet.ts | 2 +- .../src/generated-wrappers/multi_asset_proxy.ts | 10 ++-------- .../src/generated-wrappers/order_validator.ts | 2 +- .../src/generated-wrappers/static_call_proxy.ts | 2 +- .../src/generated-wrappers/weth9.ts | 10 ++-------- .../src/generated-wrappers/zrx_token.ts | 10 ++-------- .../templates/TypeScript/contract.handlebars | 4 +--- .../test-cli/output/typescript/abi_gen_dummy.ts | 10 ++-------- .../test-cli/output/typescript/lib_dummy.ts | 2 +- .../test-cli/output/typescript/test_lib_dummy.ts | 2 +- packages/base-contract/src/utils/filter_utils.ts | 3 +-- packages/contract-wrappers/src/index.ts | 6 +++--- packages/contract-wrappers/src/types.ts | 16 ---------------- packages/types/src/index.ts | 16 +++++++++++++++- 32 files changed, 62 insertions(+), 151 deletions(-) diff --git a/packages/0x.js/src/index.ts b/packages/0x.js/src/index.ts index 397643924d..3417235c35 100644 --- a/packages/0x.js/src/index.ts +++ b/packages/0x.js/src/index.ts @@ -43,7 +43,6 @@ export { ZRXTokenTransferEventArgs, ZRXTokenApprovalEventArgs, ZRXTokenContract, - EventCallback, ExchangeProtocolFeeCollectorAddressEventArgs, ExchangeProtocolFeeMultiplierEventArgs, ExchangeTransactionExecutionEventArgs, @@ -84,6 +83,8 @@ export { SimpleEvmOutput, SimpleEvmBytecodeOutput, EIP712DomainWithDefaultSchema, + EventCallback, + IndexedFilterValues, } from '@0x/types'; export { @@ -132,6 +133,5 @@ export { OutputField, ParamDescription, EvmBytecodeOutput, - IndexedFilterValues, RevertErrorAbi, } from 'ethereum-types'; 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 36a086ff87..7f9cb9d1e0 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,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/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index b551fb32ae..482663decc 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 67de768648..827b221b04 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 4f01ed273d..ea3cf1904a 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'; 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 fa8cd6b349..b8b2279a97 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,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/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 3e27072ac8..5540962892 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,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/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index 24bb4d63e6..c0d8d3fb7c 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 cc56db6cfb..ad2fcd745e 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'; 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 7b9d371297..f50041fe22 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'; 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 cb9f048b64..7ce2e25780 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'; 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 bc6005e547..c93e5df751 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'; 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 21739ad79a..6609198dec 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,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/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index f7322ed7e0..c973546cf0 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'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index c658f65453..bb8fc0584c 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,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/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index faf0339639..64e7d4abd3 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'; 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 c609bc220c..4a91819df5 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 05a99e2ba2..d1cd5b401b 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 05e5680ed8..9c8399f017 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 e0f5f3f784..ddac12e1de 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'; 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 b899390542..de5099cd21 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 56ff0492ea..954be6b254 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'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index 4d60c5763d..699f18d94c 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'; 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 fc5c8953cb..6f60e3abab 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'; 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 c002380fc9..5b149586fb 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 e914908a52..275781c69c 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/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/contract-wrappers/src/index.ts b/packages/contract-wrappers/src/index.ts index 9b54b4936a..9da6d1ace8 100644 --- a/packages/contract-wrappers/src/index.ts +++ b/packages/contract-wrappers/src/index.ts @@ -83,13 +83,10 @@ export { ForwarderError, CoordinatorServerCancellationResponse, CoordinatorServerError, - IndexedFilterValues, ContractWrappersConfig, OrderTransactionOpts, TransactionOpts, OrderInfo, - EventCallback, - DecodedLogEvent, } from './types'; export { @@ -158,6 +155,9 @@ export { 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/types/src/index.ts b/packages/types/src/index.ts index 4d385fd8e4..41beb802b0 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,7 +1,7 @@ // 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; @@ -841,3 +841,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; +} From 30417fbf24c76cfa5d79635bf3eab356f4012cdb Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 20:51:41 +0800 Subject: [PATCH 64/83] Increase doc gen timeout --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c3d51e7cef..ea9300af98 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,7 +91,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 From 95f11f2d0ea6a205c7501bf00687bc18f268e34a Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 20:52:25 +0800 Subject: [PATCH 65/83] Fix changelog version for staking package --- contracts/staking/CHANGELOG.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/staking/CHANGELOG.json b/contracts/staking/CHANGELOG.json index ab12ae2f72..8742b56975 100644 --- a/contracts/staking/CHANGELOG.json +++ b/contracts/staking/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "1.0.0-beta.0", + "version": "1.1.0-beta.0", "changes": [ { "note": "Created package", From c63745c2ce07f2f0ff230d1c3ce225c684944761 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 20:57:52 +0800 Subject: [PATCH 66/83] Fix deps --- contracts/staking/package.json | 32 ++++++++++++++--------------- packages/base-contract/package.json | 1 + 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/contracts/staking/package.json b/contracts/staking/package.json index 0e6a2ed35c..8eaa9da416 100644 --- a/contracts/staking/package.json +++ b/contracts/staking/package.json @@ -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.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/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.4.0", + "@0x/contracts-asset-proxy": "^2.2.8", + "@0x/contracts-erc20": "^2.2.14", + "@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", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 4d5cebaa6e..6204fc1b94 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -44,6 +44,7 @@ "dependencies": { "@0x/assert": "^2.1.6", "@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", From 851e4bfbea990ca6326194956d3e948e01274c06 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 20:57:57 +0800 Subject: [PATCH 67/83] Fix prettier --- packages/types/src/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 41beb802b0..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, ContractEventArg, ContractNetworks, DecodedLogArgs, DevdocOutput, LogWithDecodedArgs } from 'ethereum-types'; +import { + ContractAbi, + ContractEventArg, + ContractNetworks, + DecodedLogArgs, + DevdocOutput, + LogWithDecodedArgs, +} from 'ethereum-types'; export interface Order { chainId: number; From 2d69afec866c12b19a5259ce5cbed339eaf4e009 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 21:32:18 +0800 Subject: [PATCH 68/83] Increase timeout on publish test --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ea9300af98..44f93b5dc1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -82,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 From 2825a201cd501640eb4dece7501e4c363b21b7ea Mon Sep 17 00:00:00 2001 From: fabioberger Date: Wed, 2 Oct 2019 21:35:47 +0800 Subject: [PATCH 69/83] Add missing exports to 0x.js --- packages/0x.js/src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/0x.js/src/index.ts b/packages/0x.js/src/index.ts index 3417235c35..5f857bb0fa 100644 --- a/packages/0x.js/src/index.ts +++ b/packages/0x.js/src/index.ts @@ -85,6 +85,7 @@ export { EIP712DomainWithDefaultSchema, EventCallback, IndexedFilterValues, + DecodedLogEvent, } from '@0x/types'; export { @@ -134,4 +135,6 @@ export { ParamDescription, EvmBytecodeOutput, RevertErrorAbi, + DecodedLogArgs, + LogWithDecodedArgs, } from 'ethereum-types'; From d5c0f5aa478705d1a50cfd2b59d603253626a693 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 10:37:09 +0800 Subject: [PATCH 70/83] Move chai extension types out of `@0x/typescript-typings` --- packages/dev-utils/src/chai_setup.ts | 9 +++++++++ packages/typescript-typings/types/@0x/index.d.ts | 6 ------ 2 files changed, 9 insertions(+), 6 deletions(-) delete mode 100644 packages/typescript-typings/types/@0x/index.d.ts 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/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; - } -} From f18e2a09e655f4af342fc4e683ef0ab0d40c6bd2 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 10:59:31 +0800 Subject: [PATCH 71/83] Change publish script so that we don't generate MD docs unless it's an actual publish --- packages/monorepo-scripts/src/publish.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/monorepo-scripts/src/publish.ts b/packages/monorepo-scripts/src/publish.ts index 19c91567ed..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(); } From d8605ed91d7eaac124cbf868813470393910c172 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 11:42:19 +0800 Subject: [PATCH 72/83] Remove ambient Mocha declaration --- contracts/test-utils/src/mocha_blockchain.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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 { From bf4005b0ee0b5ebe2a70a2c63e6ed73e6d870cb6 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 11:58:17 +0800 Subject: [PATCH 73/83] Move mocha to a dependency since it's is actually a dep not a devDep in this case --- contracts/test-utils/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index a08859950c..15cd61f0a5 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -35,7 +35,6 @@ "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", @@ -68,7 +67,8 @@ "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" From 17219d22c3a13b188d2014b2a2d614afa69b8a48 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 13:10:04 +0800 Subject: [PATCH 74/83] Add mocha types to deps --- contracts/test-utils/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 15cd61f0a5..972801964d 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -34,7 +34,6 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md", "devDependencies": { - "@types/mocha": "^5.2.7", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "tslint": "5.11.0", @@ -57,6 +56,7 @@ "@types/js-combinatorics": "^0.5.29", "@types/lodash": "4.14.104", "@types/node": "*", + "@types/mocha": "^5.2.7", "bn.js": "^4.11.8", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", From 8d84ac9cf86b551f2c259ce7f67b3a9b2398adf8 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 14:07:06 +0800 Subject: [PATCH 75/83] increase maxBuffer on exec call --- packages/monorepo-scripts/src/test_installation.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index a0d0bd1603..3ed8933414 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -143,7 +143,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); From 57028069c097f4f10f5d5f11aef817df08e5e2e8 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 14:32:55 +0800 Subject: [PATCH 76/83] Don't run test-publish for contract-coordinator and contracts-extensions since they're not ready yet --- packages/monorepo-scripts/src/test_installation.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index 3ed8933414..b5a8ca93c4 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -12,7 +12,11 @@ import { Changelog, Package } from './types'; 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 UNRUNNABLE_PACKAGES = ['@0x/abi-gen', '@0x/contracts-coordinator', '@0x/contracts-extensions']; const mkdirpAsync = promisify(mkdirp); const rimrafAsync = promisify(rimraf); @@ -145,7 +149,7 @@ async function testInstallPackageAsync( utils.log(`Running test script with ${packageName} imported`); // tslint:disable-next-line:custom-no-magic-numbers const fiveMb = 1024 * 1024 * 5; - await execAsync(`node ${transpiledIndexFilePath}`, {maxBuffer: fiveMb}); + await execAsync(`node ${transpiledIndexFilePath}`, { maxBuffer: fiveMb }); utils.log(`Successfully ran test script with ${packageName} imported`); } await rimrafAsync(testDirectory); From 3832c66ad02fa8c9c0cb29cea9167f2d344bcbc5 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 15:08:05 +0800 Subject: [PATCH 77/83] Exclude unready packages from install step as well --- packages/monorepo-scripts/src/test_installation.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index b5a8ca93c4..3da5283cdb 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -12,11 +12,12 @@ import { Changelog, Package } from './types'; 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 UNRUNNABLE_PACKAGES = ['@0x/abi-gen', '@0x/contracts-coordinator', '@0x/contracts-extensions']; +const UNINSTALLABLE_PACKAGES = ['@0x/contracts-coordinator', '@0x/contracts-extensions']; const mkdirpAsync = promisify(mkdirp); const rimrafAsync = promisify(rimraf); @@ -57,7 +58,12 @@ function logIfDefined(x: any): void { const packages = utils.getTopologicallySortedPackages(monorepoRootPath); const installablePackages = _.filter( packages, - pkg => !pkg.packageJson.private && pkg.packageJson.main !== undefined && pkg.packageJson.main.endsWith('.js'), + 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); From 6d462b0598bc846a79ee671d30449055e93ed404 Mon Sep 17 00:00:00 2001 From: fabioberger Date: Thu, 3 Oct 2019 15:28:06 +0800 Subject: [PATCH 78/83] Fix prettier --- .../monorepo-scripts/src/test_installation.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index 3da5283cdb..c8c38bc9d4 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -56,15 +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 => { - return !pkg.packageJson.private && - pkg.packageJson.main !== undefined && - pkg.packageJson.main.endsWith('.js') && - !UNINSTALLABLE_PACKAGES.includes(pkg.packageJson.name); - }, - ); + 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`); From 501f5ad3dea35bab3d3c526a341d9398ee066a4b Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Thu, 3 Oct 2019 14:10:00 -0700 Subject: [PATCH 79/83] Updated CHANGELOGS & MD docs --- contracts/asset-proxy/CHANGELOG.json | 3 +- contracts/asset-proxy/CHANGELOG.md | 12 + contracts/coordinator/CHANGELOG.json | 3 +- contracts/coordinator/CHANGELOG.md | 13 + contracts/dev-utils/CHANGELOG.json | 3 +- contracts/dev-utils/CHANGELOG.md | 9 + contracts/erc1155/CHANGELOG.json | 3 +- contracts/erc1155/CHANGELOG.md | 4 + contracts/erc20/CHANGELOG.json | 3 +- contracts/erc20/CHANGELOG.md | 4 + contracts/erc721/CHANGELOG.json | 3 +- contracts/erc721/CHANGELOG.md | 4 + contracts/exchange-forwarder/CHANGELOG.json | 3 +- contracts/exchange-forwarder/CHANGELOG.md | 4 + contracts/exchange-libs/CHANGELOG.json | 3 +- contracts/exchange-libs/CHANGELOG.md | 29 + contracts/exchange/CHANGELOG.json | 3 +- contracts/exchange/CHANGELOG.md | 50 + contracts/extensions/CHANGELOG.json | 3 +- contracts/extensions/CHANGELOG.md | 7 + contracts/multisig/CHANGELOG.json | 3 +- contracts/multisig/CHANGELOG.md | 4 + contracts/staking/CHANGELOG.json | 3 +- contracts/staking/CHANGELOG.md | 20 + contracts/test-utils/CHANGELOG.json | 3 +- contracts/test-utils/CHANGELOG.md | 27 + contracts/utils/CHANGELOG.json | 3 +- contracts/utils/CHANGELOG.md | 18 + packages/0x.js/CHANGELOG.json | 3 +- packages/0x.js/CHANGELOG.md | 4 + packages/0x.js/docs/reference.mdx | 20341 +++------- packages/abi-gen-wrappers/CHANGELOG.json | 3 +- packages/abi-gen-wrappers/CHANGELOG.md | 7 + packages/abi-gen/CHANGELOG.json | 3 +- packages/abi-gen/CHANGELOG.md | 4 + packages/assert/CHANGELOG.json | 3 +- packages/assert/CHANGELOG.md | 5 + packages/asset-buyer/CHANGELOG.json | 3 +- packages/asset-buyer/CHANGELOG.md | 4 + packages/asset-buyer/docs/reference.mdx | 804 +- packages/asset-swapper/CHANGELOG.json | 3 +- packages/asset-swapper/CHANGELOG.md | 4 + packages/asset-swapper/docs/reference.mdx | 5088 +-- packages/base-contract/CHANGELOG.json | 3 +- packages/base-contract/CHANGELOG.md | 8 + packages/connect/CHANGELOG.json | 3 +- packages/connect/CHANGELOG.md | 4 + packages/connect/docs/reference.mdx | 564 +- packages/contract-addresses/CHANGELOG.json | 3 +- packages/contract-addresses/CHANGELOG.md | 4 + packages/contract-artifacts/CHANGELOG.json | 3 +- packages/contract-artifacts/CHANGELOG.md | 5 + packages/contract-wrappers/CHANGELOG.json | 3 +- packages/contract-wrappers/CHANGELOG.md | 5 + packages/contract-wrappers/docs/reference.mdx | 33090 +++++++++++++++- packages/contracts-gen/CHANGELOG.json | 3 +- packages/contracts-gen/CHANGELOG.md | 5 + ...compiler-animation.350d539fdb811c75be5d.js | 2 + ...iler-animation.350d539fdb811c75be5d.js.map | 1 + .../bundle-compiler.e7d3a5bb143e462b27d6.js | 47 + ...undle-compiler.e7d3a5bb143e462b27d6.js.map | 1 + ...ndle-cov-animation.2c9196280eef5fc86c22.js | 2 + ...-cov-animation.2c9196280eef5fc86c22.js.map | 1 + .../bundle-coverage.9569129530b586261018.js | 58 + ...undle-coverage.9569129530b586261018.js.map | 1 + ...bundle-highlightjs.b689062270f1d37ff7fb.js | 2 + ...le-highlightjs.b689062270f1d37ff7fb.js.map | 1 + ...profiler-animation.77e8793aac48e129adfb.js | 2 + ...iler-animation.77e8793aac48e129adfb.js.map | 1 + .../bundle-profiler.91964b961f74227fe9e0.js | 58 + ...undle-profiler.91964b961f74227fe9e0.js.map | 1 + ...le-trace-animation.4713f17ac9a2f06de606.js | 2 + ...race-animation.4713f17ac9a2f06de606.js.map | 1 + .../bundle-trace.0d48ab0672b1a0ffa89a.js | 58 + .../bundle-trace.0d48ab0672b1a0ffa89a.js.map | 1 + ...on~trace-animation.438dabdec482ea7573c4.js | 10 + ...race-animation.438dabdec482ea7573c4.js.map | 1 + ...endors~highlightjs.5512e7bbc506db080428.js | 2 + ...rs~highlightjs.5512e7bbc506db080428.js.map | 1 + packages/dev-tools-pages/public/compiler.ico | Bin 0 -> 6518 bytes .../public/compiler/index.html | 67 + packages/dev-tools-pages/public/cov.ico | Bin 0 -> 6518 bytes .../public/fonts/MaisonNeue-Bold-subset.woff2 | Bin 0 -> 11248 bytes .../public/fonts/MaisonNeue-Book-subset.woff2 | Bin 0 -> 11232 bytes .../public/images/og-compiler.png | Bin 0 -> 14494 bytes .../dev-tools-pages/public/images/og-cov.png | Bin 0 -> 13336 bytes .../public/images/og-profiler.png | Bin 0 -> 13717 bytes .../public/images/og-trace.png | Bin 0 -> 13670 bytes packages/dev-tools-pages/public/index.html | 17 + packages/dev-tools-pages/public/profiler.ico | Bin 0 -> 6518 bytes .../public/profiler/index.html | 67 + packages/dev-tools-pages/public/trace.ico | Bin 0 -> 6518 bytes .../dev-tools-pages/public/trace/index.html | 67 + packages/dev-utils/CHANGELOG.json | 3 +- packages/dev-utils/CHANGELOG.md | 9 + packages/ethereum-types/CHANGELOG.json | 3 +- packages/ethereum-types/CHANGELOG.md | 5 + packages/ethereum-types/docs/reference.mdx | 1053 +- packages/json-schemas/CHANGELOG.json | 3 +- packages/json-schemas/CHANGELOG.md | 7 + packages/json-schemas/docs/reference.mdx | 8 +- packages/migrations/CHANGELOG.json | 3 +- packages/migrations/CHANGELOG.md | 4 + packages/migrations/docs/reference.mdx | 280 +- packages/order-utils/CHANGELOG.json | 3 +- packages/order-utils/CHANGELOG.md | 30 + packages/order-utils/docs/reference.mdx | 1299 +- packages/orderbook/CHANGELOG.json | 3 +- packages/orderbook/CHANGELOG.md | 4 + packages/sol-compiler/CHANGELOG.json | 3 +- packages/sol-compiler/CHANGELOG.md | 4 + packages/sol-compiler/docs/reference.mdx | 327 +- packages/sol-coverage/CHANGELOG.json | 3 +- packages/sol-coverage/CHANGELOG.md | 4 + packages/sol-coverage/docs/reference.mdx | 774 +- packages/sol-doc/CHANGELOG.json | 3 +- packages/sol-doc/CHANGELOG.md | 4 + packages/sol-profiler/CHANGELOG.json | 3 +- packages/sol-profiler/CHANGELOG.md | 4 + packages/sol-profiler/docs/reference.mdx | 764 +- packages/sol-resolver/CHANGELOG.json | 3 +- packages/sol-resolver/CHANGELOG.md | 4 + packages/sol-trace/CHANGELOG.json | 3 +- packages/sol-trace/CHANGELOG.md | 4 + packages/sol-trace/docs/reference.mdx | 780 +- packages/sol-tracing-utils/CHANGELOG.json | 3 +- packages/sol-tracing-utils/CHANGELOG.md | 4 + packages/sra-spec/CHANGELOG.json | 3 +- packages/sra-spec/CHANGELOG.md | 4 + packages/subproviders/CHANGELOG.json | 3 +- packages/subproviders/CHANGELOG.md | 4 + packages/subproviders/docs/reference.mdx | 606 +- packages/types/CHANGELOG.json | 3 +- packages/types/CHANGELOG.md | 17 + packages/typescript-typings/CHANGELOG.json | 3 +- packages/typescript-typings/CHANGELOG.md | 4 + packages/utils/CHANGELOG.json | 3 +- packages/utils/CHANGELOG.md | 16 + packages/web3-wrapper/CHANGELOG.json | 3 +- packages/web3-wrapper/CHANGELOG.md | 4 + packages/web3-wrapper/docs/reference.mdx | 1259 +- 141 files changed, 44382 insertions(+), 23662 deletions(-) create mode 100644 packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js create mode 100644 packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js.map create mode 100644 packages/dev-tools-pages/public/bundle-compiler.e7d3a5bb143e462b27d6.js create mode 100644 packages/dev-tools-pages/public/bundle-compiler.e7d3a5bb143e462b27d6.js.map create mode 100644 packages/dev-tools-pages/public/bundle-cov-animation.2c9196280eef5fc86c22.js create mode 100644 packages/dev-tools-pages/public/bundle-cov-animation.2c9196280eef5fc86c22.js.map create mode 100644 packages/dev-tools-pages/public/bundle-coverage.9569129530b586261018.js create mode 100644 packages/dev-tools-pages/public/bundle-coverage.9569129530b586261018.js.map create mode 100644 packages/dev-tools-pages/public/bundle-highlightjs.b689062270f1d37ff7fb.js create mode 100644 packages/dev-tools-pages/public/bundle-highlightjs.b689062270f1d37ff7fb.js.map create mode 100644 packages/dev-tools-pages/public/bundle-profiler-animation.77e8793aac48e129adfb.js create mode 100644 packages/dev-tools-pages/public/bundle-profiler-animation.77e8793aac48e129adfb.js.map create mode 100644 packages/dev-tools-pages/public/bundle-profiler.91964b961f74227fe9e0.js create mode 100644 packages/dev-tools-pages/public/bundle-profiler.91964b961f74227fe9e0.js.map create mode 100644 packages/dev-tools-pages/public/bundle-trace-animation.4713f17ac9a2f06de606.js create mode 100644 packages/dev-tools-pages/public/bundle-trace-animation.4713f17ac9a2f06de606.js.map create mode 100644 packages/dev-tools-pages/public/bundle-trace.0d48ab0672b1a0ffa89a.js create mode 100644 packages/dev-tools-pages/public/bundle-trace.0d48ab0672b1a0ffa89a.js.map create mode 100644 packages/dev-tools-pages/public/bundle-vendors~compiler-animation~cov-animation~profiler-animation~trace-animation.438dabdec482ea7573c4.js create mode 100644 packages/dev-tools-pages/public/bundle-vendors~compiler-animation~cov-animation~profiler-animation~trace-animation.438dabdec482ea7573c4.js.map create mode 100644 packages/dev-tools-pages/public/bundle-vendors~highlightjs.5512e7bbc506db080428.js create mode 100644 packages/dev-tools-pages/public/bundle-vendors~highlightjs.5512e7bbc506db080428.js.map create mode 100644 packages/dev-tools-pages/public/compiler.ico create mode 100644 packages/dev-tools-pages/public/compiler/index.html create mode 100644 packages/dev-tools-pages/public/cov.ico create mode 100644 packages/dev-tools-pages/public/fonts/MaisonNeue-Bold-subset.woff2 create mode 100644 packages/dev-tools-pages/public/fonts/MaisonNeue-Book-subset.woff2 create mode 100644 packages/dev-tools-pages/public/images/og-compiler.png create mode 100644 packages/dev-tools-pages/public/images/og-cov.png create mode 100644 packages/dev-tools-pages/public/images/og-profiler.png create mode 100644 packages/dev-tools-pages/public/images/og-trace.png create mode 100644 packages/dev-tools-pages/public/index.html create mode 100644 packages/dev-tools-pages/public/profiler.ico create mode 100644 packages/dev-tools-pages/public/profiler/index.html create mode 100644 packages/dev-tools-pages/public/trace.ico create mode 100644 packages/dev-tools-pages/public/trace/index.html diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 1254aa3767..d9d6329dc4 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -26,7 +26,8 @@ "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/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index 36f8ea116c..b3f739d5e1 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -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/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index 27865b5070..b2bafed5a6 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -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/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 98933fa5cd..b2d85d92cc 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -6,7 +6,8 @@ "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/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index a7375c368e..4c349e24df 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index 9874270f75..7b77e700de 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index 75f246baa3..59f2d977e5 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index 6fc8af8a76..9fd46bc262 100644 --- a/contracts/exchange-libs/CHANGELOG.json +++ b/contracts/exchange-libs/CHANGELOG.json @@ -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/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index afc115d905..741ff3f973 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -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/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index a6e0fef7dd..e357e80602 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index f6b963104d..281deebef7 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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/staking/CHANGELOG.json b/contracts/staking/CHANGELOG.json index 8742b56975..8c747dbbee 100644 --- a/contracts/staking/CHANGELOG.json +++ b/contracts/staking/CHANGELOG.json @@ -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/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 282dcd9817..c9655a02a2 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -98,7 +98,8 @@ "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/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index 1940438ff0..ecd5d1401a 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -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/packages/0x.js/CHANGELOG.json b/packages/0x.js/CHANGELOG.json index e52696efde..e0e2540d12 100644 --- a/packages/0x.js/CHANGELOG.json +++ b/packages/0x.js/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Updated to work with 0x v3" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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,134 +207,7 @@ 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:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L292)* - -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:279](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L279)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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:** - -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:148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.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 | ------- | ------ | ------ | ------ | -`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: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`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* +**Returns:** *[number, string, string]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -415,7 +215,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: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 @@ -431,9 +231,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: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 @@ -443,218 +243,27 @@ 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. - -**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:134](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L134)* - -**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): *[DevUtilsContract](#class-devutilscontract)* - -*Overrides void* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[DevUtilsContract](#class-devutilscontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - ___ -### address +### decodeAssetProxyExistsError -• **address**: *string* +#### ▪ **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)* - -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/dev_utils.ts:2549](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2549)* - -**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/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`* - -___ - -### `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/dev_utils.ts:2466](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2466)* - -**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 - -### ERC1155_PROXY_ID - -#### ▪ **ERC1155_PROXY_ID**: *object* - -*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)* +Decompose an ABI-encoded AssetProxyExistsError. #### callAsync -▸ **callAsync**(`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: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: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 @@ -662,18 +271,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<[string, string]>`* + +assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, 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: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 @@ -683,15 +295,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: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: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 @@ -701,37 +313,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: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: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 ___ -### ERC20_PROXY_ID +### decodeAssetProxyTransferError -#### ▪ **ERC20_PROXY_ID**: *object* +#### ▪ **decodeAssetProxyTransferError**: *object* -*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)* +*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**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, 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: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 @@ -739,18 +359,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<[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* +▸ **getABIDecodedReturnData**(`returnData`: string): *[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: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 @@ -760,15 +383,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[string, 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: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 @@ -778,37 +401,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: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: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 ___ -### ERC721_PROXY_ID +### decodeEIP1271SignatureError -#### ▪ **ERC721_PROXY_ID**: *object* +#### ▪ **decodeEIP1271SignatureError**: *object* -*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)* +*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**(`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: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: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 @@ -816,18 +447,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<[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* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string, string]* -*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: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 @@ -837,15 +471,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): *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: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 @@ -855,173 +489,25 @@ 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: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: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). -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### MULTI_ASSET_PROXY_ID - -#### ▪ **MULTI_ASSET_PROXY_ID**: *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)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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/dev_utils.ts:1725](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1725)* - -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/dev_utils.ts:1713](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1713)* - -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/dev_utils.ts:1703](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.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). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### STATIC_CALL_PROXY_ID - -#### ▪ **STATIC_CALL_PROXY_ID**: *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)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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/dev_utils.ts:2360](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2360)* - -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/dev_utils.ts:2348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2348)* - -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/dev_utils.ts:2338](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2338)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1033,7 +519,7 @@ ___ #### ▪ **decodeERC1155AssetData**: *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: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. @@ -1041,7 +527,7 @@ Decode ERC-1155 asset data from the format described in the AssetProxy contract ▸ **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: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: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 @@ -1063,7 +549,7 @@ The ERC-1155 AssetProxy identifier, the address of the ERC-1155 contract hosting ▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`[], `BigNumber`[], string]* -*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: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 @@ -1081,7 +567,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: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 @@ -1099,7 +585,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: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: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 @@ -1121,7 +607,7 @@ ___ #### ▪ **decodeERC20AssetData**: *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: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. @@ -1129,7 +615,7 @@ Decode ERC-20 asset data from the format described in the AssetProxy contract sp ▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, 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: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 @@ -1151,7 +637,7 @@ The ERC-20 AssetProxy identifier, and the address of the ERC-20 contract hostin ▸ **getABIDecodedReturnData**(`returnData`: string): *[string, 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: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 @@ -1169,7 +655,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: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 @@ -1187,7 +673,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: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 @@ -1209,7 +695,7 @@ ___ #### ▪ **decodeERC721AssetData**: *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: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. @@ -1217,7 +703,7 @@ Decode ERC-721 asset data from the format described in the AssetProxy contract s ▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber]>`* -*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: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 @@ -1239,7 +725,7 @@ The ERC-721 AssetProxy identifier, the address of the ERC-721 contract hosting t ▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`]* -*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: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 @@ -1257,7 +743,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: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 @@ -1275,7 +761,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: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: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 @@ -1293,11 +779,275 @@ 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: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: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. @@ -1305,7 +1055,7 @@ Decode multi-asset data from the format described in the AssetProxy contract spe ▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, BigNumber[], string[]]>`* -*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: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 @@ -1327,7 +1077,7 @@ The Multi-Asset AssetProxy identifier, an array of the amounts of the assets to ▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `BigNumber`[], string[]]* -*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: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 @@ -1345,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: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: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 @@ -1363,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: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: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 @@ -1381,11 +1131,715 @@ 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: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: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. @@ -1393,7 +1847,7 @@ Decodes the call data for an Exchange contract method call. ▸ **callAsync**(`transactionData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, Array, BigNumber[], string[]]>`* -*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: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 @@ -1415,7 +1869,7 @@ The name of the function called, and the parameters it was given. For singl ▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `Array`, `BigNumber`[], string[]]* -*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: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 @@ -1433,7 +1887,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: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 @@ -1451,7 +1905,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`transactionData`: 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: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 @@ -1473,7 +1927,7 @@ ___ #### ▪ **encodeERC1155AssetData**: *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: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. @@ -1481,7 +1935,7 @@ Encode ERC-1155 asset data into the format described in the AssetProxy contract ▸ **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: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: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 @@ -1506,7 +1960,7 @@ AssetProxy-compliant asset data describing the set of assets. ▸ **getABIDecodedReturnData**(`returnData`: 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: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 @@ -1524,7 +1978,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: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: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 @@ -1542,7 +1996,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: 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: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 @@ -1567,7 +2021,7 @@ ___ #### ▪ **encodeERC20AssetData**: *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: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. @@ -1575,7 +2029,7 @@ Encode ERC-20 asset data into the format described in the AssetProxy contract sp ▸ **callAsync**(`tokenAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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: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 @@ -1597,7 +2051,7 @@ AssetProxy-compliant data describing the asset. ▸ **getABIDecodedReturnData**(`returnData`: 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: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 @@ -1615,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: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: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 @@ -1633,7 +2087,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`tokenAddress`: 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: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 @@ -1655,7 +2109,7 @@ ___ #### ▪ **encodeERC721AssetData**: *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: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. @@ -1663,7 +2117,7 @@ Encode ERC-721 asset data into the format described in the AssetProxy specificat ▸ **callAsync**(`tokenAddress`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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: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 @@ -1686,7 +2140,7 @@ AssetProxy-compliant asset data describing the asset. ▸ **getABIDecodedReturnData**(`returnData`: 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: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 @@ -1704,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: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: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 @@ -1722,7 +2176,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *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: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 @@ -1745,7 +2199,7 @@ ___ #### ▪ **encodeMultiAssetData**: *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: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. @@ -1753,7 +2207,7 @@ Encode data for multiple assets, per the AssetProxy contract specification. ▸ **callAsync**(`amounts`: `BigNumber`[], `nestedAssetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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: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 @@ -1776,7 +2230,7 @@ AssetProxy-compliant data describing the set of assets. ▸ **getABIDecodedReturnData**(`returnData`: string): *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: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 @@ -1794,7 +2248,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`[]* -*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: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 @@ -1812,7 +2266,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`amounts`: `BigNumber`[], `nestedAssetData`: 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: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 @@ -1835,7 +2289,7 @@ ___ #### ▪ **getAssetProxyAllowance**: *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: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. @@ -1843,7 +2297,7 @@ Returns the number of asset(s) (described by assetData) that the corresponding A ▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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: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 @@ -1866,7 +2320,7 @@ Number of assets (or asset baskets) that the corresponding AssetProxy is authori ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*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: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 @@ -1884,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: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: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 @@ -1902,7 +2356,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: 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: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 @@ -1925,7 +2379,7 @@ ___ #### ▪ **getBalance**: *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: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. @@ -1933,7 +2387,7 @@ Returns the owner's balance of the assets(s) specified in assetData. When the a ▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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: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 @@ -1956,7 +2410,7 @@ Number of assets (or asset baskets) held by owner. ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*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: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 @@ -1974,7 +2428,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: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: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 @@ -1992,7 +2446,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: 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: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 @@ -2015,7 +2469,7 @@ ___ #### ▪ **getBalanceAndAssetProxyAllowance**: *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: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. @@ -2023,7 +2477,7 @@ Calls getBalance() and getAllowance() for assetData. ▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber]>`* -*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: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 @@ -2046,7 +2500,7 @@ Number of assets (or asset baskets) held by owner, and number of assets (or asse ▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`]* -*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: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 @@ -2064,7 +2518,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[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: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 @@ -2082,7 +2536,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: 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: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 @@ -2105,7 +2559,7 @@ ___ #### ▪ **getBatchAssetProxyAllowances**: *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: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. @@ -2113,7 +2567,7 @@ Calls getAssetProxyAllowance() for each element of assetData. ▸ **callAsync**(`ownerAddress`: string, `assetData`: 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: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 @@ -2136,7 +2590,7 @@ An array of asset allowances from getAllowance(), with each element correspondin ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* -*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: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 @@ -2154,7 +2608,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: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 @@ -2172,7 +2626,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: 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: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 @@ -2195,7 +2649,7 @@ ___ #### ▪ **getBatchBalances**: *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: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. @@ -2203,7 +2657,7 @@ Calls getBalance() for each element of assetData. ▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `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: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 @@ -2226,7 +2680,7 @@ Array of asset balances from getBalance(), with each element corresponding to th ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* -*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: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 @@ -2244,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: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: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 @@ -2262,7 +2716,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *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: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 @@ -2285,7 +2739,7 @@ ___ #### ▪ **getBatchBalancesAndAssetProxyAllowances**: *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: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. @@ -2293,7 +2747,7 @@ Calls getBatchBalances() and getBatchAllowances() for each element of assetData. ▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber[], BigNumber[]]>`* -*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: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 @@ -2316,7 +2770,7 @@ An array of asset balances from getBalance(), and an array of asset allowances f ▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`[], `BigNumber`[]]* -*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: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 @@ -2334,7 +2788,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string[]]* -*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: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 @@ -2352,7 +2806,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: 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: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 @@ -2371,101 +2825,11 @@ The ABI encoded transaction data as a string ___ -### getERC721TokenOwner - -#### ▪ **getERC721TokenOwner**: *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)* - -Calls `asset.ownerOf(tokenId)`, but returns a null owner instead of reverting on an unowned asset. - -#### callAsync - -▸ **callAsync**(`tokenAddress`: string, `tokenId`: `BigNumber`, `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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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 | - | Address of ERC721 asset. | -`tokenId` | `BigNumber` | - | The identifier for the specific NFT. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Owner of tokenId or null address if unowned. - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*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)* - -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:1914](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1914)* - -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:1899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1899)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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 | Address of ERC721 asset. | -`tokenId` | `BigNumber` | The identifier for the specific NFT. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - ### getEthBalances #### ▪ **getEthBalances**: *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:2815](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2815)* Batch fetches ETH balances @@ -2473,7 +2837,7 @@ Batch fetches ETH balances ▸ **callAsync**(`addresses`: 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: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 @@ -2495,7 +2859,7 @@ Array of ETH balances. ▸ **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: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 @@ -2513,7 +2877,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: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: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 @@ -2531,7 +2895,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`addresses`: 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: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 @@ -2553,7 +2917,7 @@ ___ #### ▪ **getOrderRelevantState**: *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: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. @@ -2561,7 +2925,7 @@ Fetches all order-relevant information needed to validate if the supplied order ▸ **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: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: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 @@ -2584,7 +2948,7 @@ The orderInfo (hash, status, and `takerAssetAmount` already filled for ▸ **getABIDecodedReturnData**(`returnData`: string): *[object, `BigNumber`, boolean]* -*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: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 @@ -2602,7 +2966,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[object, 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: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 @@ -2620,7 +2984,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`order`: object, `signature`: 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: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 @@ -2643,7 +3007,7 @@ ___ #### ▪ **getOrderRelevantStates**: *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: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. @@ -2651,7 +3015,7 @@ Fetches all order-relevant information needed to validate if the supplied orders ▸ **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: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: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 @@ -2674,7 +3038,7 @@ The ordersInfo (array of the hash, status, and `takerAssetAmount` alre ▸ **getABIDecodedReturnData**(`returnData`: string): *[`Array`, `BigNumber`[], boolean[]]* -*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: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 @@ -2692,7 +3056,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, 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: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 @@ -2710,7 +3074,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`orders`: `Array`, `signatures`: 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: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 @@ -2729,11 +3093,363 @@ 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: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: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. @@ -2741,7 +3457,7 @@ Gets the amount of an asset transferable by the owner. ▸ **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: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 @@ -2758,13 +3474,13 @@ Name | Type | Default | Description | **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`. +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: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: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 @@ -2782,7 +3498,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: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 @@ -2800,7 +3516,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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: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 @@ -2819,7392 +3535,6 @@ The ABI encoded transaction data as a string
-# Class: DummyERC20TokenContract - - -## Constructors - - - -\+ **new DummyERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[DummyERC20TokenContract](#class-dummyerc20tokencontract)* - -*Overrides void* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[DummyERC20TokenContract](#class-dummyerc20tokencontract)* - -## 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`: [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`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)* - -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:2263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2263)* - -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:2288](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2288)* - -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: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:** - -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:37 - -**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:1771](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1771)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1836](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1836)* - -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:1824](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1824)* - -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:1814](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1814)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1312](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1312)* - -#### callAsync - -▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1397](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1397)* - -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:1385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1385)* - -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:1370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1370)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L133)* - -`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:179](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L179)* - -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:253](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L253)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:209](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L209)* - -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:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L329)* - -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:317](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L317)* - -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:302](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L302)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L142)* - -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:236](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L236)* - -**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:721](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L721)* - -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:729](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L729)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:795](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_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/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)* - -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:772](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_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 | 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:645](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L645)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:710](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L710)* - -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:698](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L698)* - -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:688](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L688)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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 - -#### callAsync - -▸ **callAsync**(`_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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. - -**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:1015](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/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 | ------- | ------ | ------ | -`_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:1110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1110)* - -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: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:** - -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:1087](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1087)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:960](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L960)* - -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:1034](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1034)* - -**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:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L57)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_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/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)* - -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:100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_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 - -___ - -### owner - -#### ▪ **owner**: *object* - -*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)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:868](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L868)* - -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:856](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L856)* - -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:846](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L846)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1408](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1408)* - -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:1454](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1454)* - -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:1527](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1527)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1484](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1484)* - -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:1603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1603)* - -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:1591](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1591)* - -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:1576](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1576)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1417)* - -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:1511](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1511)* - -**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:876](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L876)* - -#### callAsync - -▸ **callAsync**(`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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:941](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L941)* - -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:929](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L929)* - -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:919](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L919)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:340](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L340)* - -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:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L347)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:406](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L406)* - -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:394](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L394)* - -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:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L384)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1121)* - -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:1164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1164)* - -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:1231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1231)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1194](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1194)* - -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:1304](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1304)* - -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:1292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1292)* - -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:1277](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/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). - -**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:1130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1130)* - -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:1214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1214)* - -**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:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L417)* - -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:468](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L468)* - -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:555](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L555)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:506](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L506)* - -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:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_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:** *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:625](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_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:** *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:608](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L608)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L427)* - -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:536](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L536)* - -**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:1611](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1611)* - -#### 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)* - -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: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:** - -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: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. - -**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: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 - -**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: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 - -___ - -### 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`: [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents), `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)* - -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:2802](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2802)* - -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:2827](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2827)* - -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:2833](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2833)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **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)* - -**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:2377](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2377)* - -**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:2342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2342)* - -**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:37 - -**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:230](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L230)* - -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:276](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L276)* - -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:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.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 | 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:306](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L306)* - -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:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L425)* - -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:413](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L413)* - -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:398](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L398)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:239](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L239)* - -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:333](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L333)* - -**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:1185](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1185)* - -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:1193](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1193)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1259)* - -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:1247](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1247)* - -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:1236](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1236)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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:** - -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:1530](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1530)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:1591](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1591)* - -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:1576](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1576)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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* - -*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)* - -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:151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L151)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L217)* - -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:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L205)* - -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:194](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_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 | ------- | ------ | ------ | -`_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:2088](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2088)* - -#### callAsync - -▸ **callAsync**(`_owner`: string, `_operator`: string, `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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:2173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2173)* - -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:2161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2161)* - -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:2146](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2146)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:670](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L670)* - -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:713](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L713)* - -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:783](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_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 | - | 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:743](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L743)* - -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:856](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L856)* - -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:844](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L844)* - -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:829](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_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). - -**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:679](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L679)* - -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:767](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L767)* - -**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:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L67)* - -#### callAsync - -▸ **callAsync**(`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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.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): *void* - -*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)* - -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:110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L110)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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 | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*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)* - -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:1320](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1320)* - -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:1310](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1310)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1099](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1099)* - -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:1107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.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 | 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:1173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1173)* - -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: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 - -#### 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)* - -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:1075](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1075)* - -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:1058](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1058)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:878](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L878)* - -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:987](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L987)* - -**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:1831](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1831)* - -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:1893](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1893)* - -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:1994](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.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 | ------- | ------ | ------ | ------ | -`_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:1935](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1935)* - -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:2080](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2080)* - -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:2068](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2068)* - -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:2051](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2051)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1842](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1842)* - -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:1968](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1968)* - -**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:1615](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1615)* - -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:1661](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1661)* - -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: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:** - -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: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. - -**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: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 - -**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:1802](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1802)* - -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:1787](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1787)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1624](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1624)* - -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:1722](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1722)* - -**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:1340](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1340)* - -#### 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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1405](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1405)* - -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:1393](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1393)* - -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:1383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1383)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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 | - | - -**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:576](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L576)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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 | ------- | ------ | ------ | -`_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:658](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L658)* - -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:646](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L646)* - -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:629](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L629)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:449](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L449)* - -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:558](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L558)* - -**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:2181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2181)* - -#### 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:2215](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2215)* - -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:2270](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2270)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:2241](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2241)* - -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:2333](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2333)* - -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:2321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2321)* - -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:2308](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2308)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:2188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2188)* - -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:2260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2260)* - -**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): *[DutchAuctionContract](#class-dutchauctioncontract)* - -*Overrides void* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[DutchAuctionContract](#class-dutchauctioncontract)* - -## 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/dutch_auction.ts:956](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L956)* - -**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:909](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L909)* - -**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:876](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L876)* - -**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:37 - -**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:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L34)* - -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/23602ec6b/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/23602ec6b/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/23602ec6b/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:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L334)* - -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:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L292)* - -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:266](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L266)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L42)* - -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/23602ec6b/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: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 - -#### 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:459](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.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 | ------- | ------ | ------ | -`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:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L637)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:527](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L527)* - -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:836](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L836)* - -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:794](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L794)* - -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:748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.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 | 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:390](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L390)* - -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:582](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L582)* - -**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): *[ERC1155ProxyContract](#class-erc1155proxycontract)* - -*Overrides void* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ERC1155ProxyContract](#class-erc1155proxycontract)* - -## 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`: [ERC1155ProxyEvents](#enumeration-erc1155proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* - -*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)* - -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:1686](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1686)* - -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:1711](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1711)* - -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:1717](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1717)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*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)* - -**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:1428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1428)* - -**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:1403](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1403)* - -**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 - -### addAuthorizedAddress - -#### ▪ **addAuthorizedAddress**: *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)* - -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:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L96)* - -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:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L153)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L123)* - -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/23602ec6b/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/23602ec6b/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/23602ec6b/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:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_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/erc1155_proxy.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L142)* - -**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/23602ec6b/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/23602ec6b/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:296](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L296)* - -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:284](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L284)* - -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:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L273)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1084](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1084)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1157)* - -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:1145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1145)* - -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:1132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1132)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1168)* - -Gets all authorized addresses. - -#### callAsync - -▸ **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. - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* - -*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)* - -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:1222](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1222)* - -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:1212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1212)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1020](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1020)* - -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:1027](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1027)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:1076](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1076)* - -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:1064](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1064)* - -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:1054](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1054)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L472)* - -#### 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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L537)* - -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:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L525)* - -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:515](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L515)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:307](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L307)* - -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:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L343)* - -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:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L400)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_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`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L452)* - -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:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L439)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:315](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_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. - -**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:389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L389)* - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### removeAuthorizedAddressAtIndex - -#### ▪ **removeAuthorizedAddressAtIndex**: *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)* - -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:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_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. - -**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:675](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L675)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:628](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L628)* - -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:751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L751)* - -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:739](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L739)* - -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:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L724)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L557)* - -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:655](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L655)* - -**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:762](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L762)* - -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:822](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L822)* - -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:921](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L921)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:866](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L866)* - -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:1009](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1009)* - -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:997](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L997)* - -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:980](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L980)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:775](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L775)* - -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:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L899)* - -**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: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 | - | - -**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:1331](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1331)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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 - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:1382](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1382)* - -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:1369](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1369)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:1249](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1249)* - -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:1321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1321)* - -**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): *[ERC20ProxyContract](#class-erc20proxycontract)* - -*Overrides void* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ERC20ProxyContract](#class-erc20proxycontract)* - -## 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`: [ERC20ProxyEvents](#enumeration-erc20proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* - -*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)* - -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:1409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1409)* - -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:1434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1434)* - -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:1440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1440)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*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)* - -**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:1170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1170)* - -**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:1145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1145)* - -**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 - -### addAuthorizedAddress - -#### ▪ **addAuthorizedAddress**: *object* - -*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)* - -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:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L96)* - -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:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L153)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L123)* - -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)* - -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/23602ec6b/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/23602ec6b/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: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 - -#### ▪ **authorities**: *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)* - -#### 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/23602ec6b/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:296](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L296)* - -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:284](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L284)* - -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:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L273)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:826](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L826)* - -#### callAsync - -▸ **callAsync**(`index_0`: 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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L899)* - -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:887](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L887)* - -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:874](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L874)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:910](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L910)* - -Gets all authorized addresses. - -#### callAsync - -▸ **callAsync**(`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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:976](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L976)* - -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:964](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L964)* - -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:954](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L954)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:762](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L762)* - -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:769](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L769)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L818)* - -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:806](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L806)* - -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:796](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L796)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L472)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L537)* - -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:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L525)* - -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:515](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L515)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:307](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L307)* - -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:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L343)* - -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:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L400)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_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`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L452)* - -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:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L439)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:315](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_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. - -**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:389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L389)* - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### removeAuthorizedAddressAtIndex - -#### ▪ **removeAuthorizedAddressAtIndex**: *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)* - -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:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_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. - -**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:675](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L675)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:628](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L628)* - -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:751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L751)* - -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:739](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L739)* - -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:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L724)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L557)* - -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:655](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L655)* - -**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:984](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L984)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`newOwner`: 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)* - -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:1073](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.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 | ------- | ------ | ------ | -`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:1044](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_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 | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:1124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.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]* - -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:1111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1111)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:991](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_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/erc20_proxy.ts:1063](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1063)* - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- # Class: ERC20TokenContract @@ -10212,20 +3542,21 @@ Name | Type | -\+ **new ERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC20TokenContract](#class-erc20tokencontract)* +\+ **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:1259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1259)* +*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 | ------- | ------ | -`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 | ERC20TokenContract.deployedBytecode | **Returns:** *[ERC20TokenContract](#class-erc20tokencontract)* @@ -10237,7 +3568,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -10247,7 +3578,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -10257,7 +3588,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -10267,7 +3598,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* = "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 @@ -10277,7 +3616,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:** @@ -10293,7 +3632,7 @@ ___ ▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* -*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/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 @@ -10319,7 +3658,7 @@ ___ ▸ **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:1201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1201)* +*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. @@ -10347,7 +3686,7 @@ ___ ▸ **unsubscribe**(`subscriptionToken`: 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/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 @@ -10365,7 +3704,7 @@ ___ ▸ **unsubscribeAll**(): *void* -*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/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 @@ -10377,7 +3716,7 @@ ___ ▸ **ABI**(): *[ContractAbi](#contractabi)* -*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)* +*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)* @@ -10389,7 +3728,7 @@ ___ ▸ **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:970](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L970)* +*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:** @@ -10409,7 +3748,7 @@ ___ ▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*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)* +*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:** @@ -10430,7 +3769,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -10447,13 +3786,13 @@ Name | Type | #### ▪ **allowance**: *object* -*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)* +*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: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/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 @@ -10476,7 +3815,7 @@ Amount of remaining tokens allowed to spent ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*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/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 @@ -10494,7 +3833,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: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/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 @@ -10512,7 +3851,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: 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/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 @@ -10535,7 +3874,7 @@ ___ #### ▪ **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)* +*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 @@ -10543,7 +3882,7 @@ ___ ▸ **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: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/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. @@ -10566,7 +3905,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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)* +*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 @@ -10589,7 +3928,7 @@ Always true if the call has enough gas to complete execution ▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*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/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. @@ -10609,7 +3948,7 @@ The hash of the transaction ▸ **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/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 @@ -10627,7 +3966,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/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 @@ -10645,7 +3984,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L229)* +*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 @@ -10666,7 +4005,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -10687,7 +4026,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -10705,7 +4044,7 @@ ___ #### ▪ **balanceOf**: *object* -*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)* +*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 @@ -10713,7 +4052,7 @@ Query the balance of owner ▸ **callAsync**(`_owner`: string, `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/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 @@ -10735,7 +4074,7 @@ Balance of owner ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*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/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 @@ -10753,7 +4092,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: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/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 @@ -10771,7 +4110,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/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/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 @@ -10793,7 +4132,7 @@ ___ #### ▪ **totalSupply**: *object* -*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)* +*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 @@ -10801,7 +4140,7 @@ Query total supply of token ▸ **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/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 @@ -10822,7 +4161,7 @@ Total supply of token ▸ **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/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 @@ -10840,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/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/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 @@ -10858,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/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/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 @@ -10874,7 +4213,7 @@ ___ #### ▪ **transfer**: *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/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` @@ -10882,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/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/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. @@ -10905,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/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/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 @@ -10928,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/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/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. @@ -10948,7 +4287,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*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/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 @@ -10966,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/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/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 @@ -10984,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/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/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 @@ -11005,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/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/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. @@ -11026,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/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/erc20_token.ts:766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L766)* **Parameters:** @@ -11044,7 +4383,7 @@ ___ #### ▪ **transferFrom**: *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/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` @@ -11052,7 +4391,7 @@ send `value` token to `to` from `from` on the condition it is approved by `from` ▸ **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: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/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. @@ -11076,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/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/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 @@ -11100,7 +4439,7 @@ True if transfer was successful ▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `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/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. @@ -11121,7 +4460,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*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/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 @@ -11139,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/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/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 @@ -11157,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/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/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 @@ -11179,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/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/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. @@ -11201,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/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/erc20_token.ts:467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L467)* **Parameters:** @@ -11216,1303 +4555,6 @@ Name | Type |
-# 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[]* - - - -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`: [ERC721ProxyEvents](#enumeration-erc721proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`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)* - -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:1409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1409)* - -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:1434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1434)* - -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:1440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1440)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*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)* - -**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:1170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1170)* - -**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:1145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1145)* - -**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 - -### addAuthorizedAddress - -#### ▪ **addAuthorizedAddress**: *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)* - -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:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L96)* - -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:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L153)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L123)* - -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/23602ec6b/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/23602ec6b/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/23602ec6b/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:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_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/erc721_proxy.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L142)* - -**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/23602ec6b/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/23602ec6b/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:296](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L296)* - -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:284](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L284)* - -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:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L273)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:826](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L826)* - -#### 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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L899)* - -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:887](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L887)* - -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:874](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L874)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:910](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L910)* - -Gets all authorized addresses. - -#### callAsync - -▸ **callAsync**(`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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:976](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L976)* - -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:964](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L964)* - -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:954](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L954)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:762](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L762)* - -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:769](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L769)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L818)* - -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:806](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L806)* - -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:796](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L796)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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 [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. - -**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:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L537)* - -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:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L525)* - -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:515](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L515)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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 - -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*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)* - -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:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L400)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L452)* - -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:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L439)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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. - -**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:389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L389)* - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### removeAuthorizedAddressAtIndex - -#### ▪ **removeAuthorizedAddressAtIndex**: *object* - -*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)* - -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: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. - -**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:675](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L675)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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:** - -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:751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L751)* - -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: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 - -**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:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L724)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L557)* - -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)* - -**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: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 [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)* - -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:1073](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.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 | ------- | ------ | ------ | -`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 | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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:1124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.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]* - -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:1111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1111)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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:** - -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- # Class: ERC721TokenContract @@ -12520,20 +4562,21 @@ Name | Type | -\+ **new ERC721TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC721TokenContract](#class-erc721tokencontract)* +\+ **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: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/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 | ------- | ------ | -`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 | ERC721TokenContract.deployedBytecode | **Returns:** *[ERC721TokenContract](#class-erc721tokencontract)* @@ -12545,7 +4588,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 +4598,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -12565,7 +4608,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -12575,7 +4618,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* = "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 @@ -12585,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:** @@ -12601,7 +4652,7 @@ ___ ▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `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/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 @@ -12627,7 +4678,7 @@ ___ ▸ **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: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/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. @@ -12655,7 +4706,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/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 @@ -12673,7 +4724,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/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 @@ -12685,7 +4736,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/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)* @@ -12697,7 +4748,7 @@ ___ ▸ **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/erc721_token.ts:1622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1622)* **Parameters:** @@ -12717,7 +4768,7 @@ ___ ▸ **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/erc721_token.ts:1597](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1597)* **Parameters:** @@ -12738,7 +4789,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -12755,7 +4806,7 @@ Name | Type | #### ▪ **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)* +*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 @@ -12765,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/erc721_token.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L203)* +*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. @@ -12788,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/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/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 @@ -12809,7 +4860,7 @@ Name | Type | Default | Description | ▸ **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)* +*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. @@ -12829,7 +4880,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*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/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 @@ -12847,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/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/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 @@ -12865,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/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/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 @@ -12886,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/erc721_token.ts:166](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L166)* +*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. @@ -12907,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/erc721_token.ts:260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L260)* +*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:** @@ -12925,7 +4976,7 @@ ___ #### ▪ **balanceOf**: *object* -*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)* +*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. @@ -12934,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/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/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 @@ -12956,7 +5007,7 @@ The number of NFTs owned by `_owner`, possibly zero ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*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/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 @@ -12974,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/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/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 @@ -12992,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/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/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 @@ -13014,7 +5065,7 @@ ___ #### ▪ **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)* +*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. @@ -13022,7 +5073,7 @@ Throws if `_tokenId` is not a valid NFT. ▸ **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)* +*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 @@ -13044,7 +5095,7 @@ The approved address for this NFT, or the zero address if there is none ▸ **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)* +*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 @@ -13062,7 +5113,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* -*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/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 @@ -13080,7 +5131,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* -*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)* +*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 @@ -13102,13 +5153,13 @@ ___ #### ▪ **isApprovedForAll**: *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/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: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/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 @@ -13131,7 +5182,7 @@ True if `_operator` is an approved operator for `_owner`, fa ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*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/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 @@ -13149,7 +5200,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/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 @@ -13167,7 +5218,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_owner`: string, `_operator`: 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/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 @@ -13190,7 +5241,7 @@ ___ #### ▪ **ownerOf**: *object* -*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)* +*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. @@ -13199,7 +5250,7 @@ about them do throw. ▸ **callAsync**(`_tokenId`: `BigNumber`, `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/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 @@ -13221,7 +5272,7 @@ The address of the owner of the NFT ▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*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/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 @@ -13239,7 +5290,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* -*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/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 @@ -13257,7 +5308,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *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/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 @@ -13279,7 +5330,7 @@ ___ #### ▪ **safeTransferFrom1**: *object* -*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)* +*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 "". @@ -13288,7 +5339,7 @@ except this function just sets data to "". ▸ **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: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/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. @@ -13312,7 +5363,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `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/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 @@ -13334,7 +5385,7 @@ Name | Type | Default | Description | ▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `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/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. @@ -13355,7 +5406,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/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 @@ -13373,7 +5424,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* -*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/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 @@ -13391,7 +5442,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *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/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 @@ -13413,7 +5464,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `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/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. @@ -13435,7 +5486,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `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/erc721_token.ts:767](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L767)* **Parameters:** @@ -13454,7 +5505,7 @@ ___ #### ▪ **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)* +*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 @@ -13468,7 +5519,7 @@ checks if `_to` is a smart contract (code size > 0). If so, it calls ▸ **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)* +*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. @@ -13493,7 +5544,7 @@ A promise that resolves when the transaction is successful ▸ **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: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/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 @@ -13516,7 +5567,7 @@ Name | Type | Default | Description | ▸ **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)* +*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. @@ -13538,7 +5589,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*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/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 @@ -13556,7 +5607,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`, string]* -*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/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 @@ -13574,7 +5625,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string): *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/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 @@ -13597,7 +5648,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* -*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)* +*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. @@ -13620,7 +5671,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* -*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)* +*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:** @@ -13640,7 +5691,7 @@ ___ #### ▪ **setApprovalForAll**: *object* -*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)* +*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. @@ -13649,7 +5700,7 @@ multiple operators per owner. ▸ **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: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/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. @@ -13672,7 +5723,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_operator`: string, `_approved`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*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/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 @@ -13693,7 +5744,7 @@ Name | Type | Default | Description | ▸ **estimateGasAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*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/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. @@ -13713,7 +5764,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*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/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 @@ -13731,7 +5782,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* -*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/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 @@ -13749,7 +5800,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_operator`: string, `_approved`: boolean): *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/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 @@ -13770,7 +5821,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -13791,7 +5842,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -13809,7 +5860,7 @@ ___ #### ▪ **transferFrom**: *object* -*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)* +*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 @@ -13820,7 +5871,7 @@ not the current owner. Throws if `_to` is the zero address. Throws if ▸ **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: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/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. @@ -13844,7 +5895,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `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/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 @@ -13866,7 +5917,7 @@ Name | Type | Default | Description | ▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `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/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. @@ -13887,7 +5938,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*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/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 @@ -13905,7 +5956,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* -*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/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 @@ -13923,7 +5974,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `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/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 @@ -13945,7 +5996,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `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/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. @@ -13967,7 +6018,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `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/erc721_token.ts:1483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1483)* **Parameters:** @@ -13989,20 +6040,21 @@ Name | Type | -\+ **new ExchangeContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ExchangeContract](#class-exchangecontract)* +\+ **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:9704](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9704)* +*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 | ------- | ------ | -`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 | ExchangeContract.deployedBytecode | **Returns:** *[ExchangeContract](#class-exchangecontract)* @@ -14014,7 +6066,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -14024,7 +6076,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -14034,7 +6086,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -14044,7 +6096,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* = "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 @@ -14054,7 +6114,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:** @@ -14070,7 +6130,7 @@ ___ ▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* -*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)* +*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 @@ -14096,7 +6156,7 @@ ___ ▸ **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:9646](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9646)* +*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. @@ -14124,7 +6184,7 @@ ___ ▸ **unsubscribe**(`subscriptionToken`: string): *void* -*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/exchange.ts:13381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13381)* Cancel a subscription @@ -14142,7 +6202,7 @@ ___ ▸ **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)* +*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 @@ -14154,7 +6214,7 @@ ___ ▸ **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)* +*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)* @@ -14164,9 +6224,9 @@ ___ ### `Static` deployAsync -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_zrxAssetData`: string): *`Promise`* +▸ **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:7614](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7614)* +*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:** @@ -14177,7 +6237,7 @@ Name | Type | `supportedProvider` | [SupportedProvider](#supportedprovider) | `txDefaults` | `Partial` | `logDecodeDependencies` | object | -`_zrxAssetData` | string | +`chainId` | `BigNumber` | **Returns:** *`Promise`* @@ -14185,9 +6245,9 @@ ___ ### `Static` deployFrom0xArtifactAsync -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_zrxAssetData`: string): *`Promise`* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `chainId`: `BigNumber`): *`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)* +*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:** @@ -14197,7 +6257,7 @@ Name | Type | `supportedProvider` | [SupportedProvider](#supportedprovider) | `txDefaults` | `Partial` | `logDecodeDependencies` | object | -`_zrxAssetData` | string | +`chainId` | `BigNumber` | **Returns:** *`Promise`* @@ -14209,7 +6269,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -14222,17 +6282,17 @@ Name | Type | ## Object literals -### EIP712_DOMAIN_HASH +### EIP1271_MAGIC_VALUE -#### ▪ **EIP712_DOMAIN_HASH**: *object* +#### ▪ **EIP1271_MAGIC_VALUE**: *object* -*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)* +*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: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/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 @@ -14251,7 +6311,7 @@ Name | Type | Default | ▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*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/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 @@ -14269,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/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/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 @@ -14287,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/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/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 @@ -14299,17 +6359,17 @@ The ABI encoded transaction data as a string ___ -### VERSION +### EIP712_EXCHANGE_DOMAIN_HASH -#### ▪ **VERSION**: *object* +#### ▪ **EIP712_EXCHANGE_DOMAIN_HASH**: *object* -*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)* +*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: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/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 @@ -14328,7 +6388,7 @@ Name | Type | Default | ▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*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)* +*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 @@ -14346,7 +6406,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/exchange.ts:7560](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7560)* +*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 @@ -14364,84 +6424,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(): *string* -*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)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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 - -___ - -### ZRX_ASSET_DATA - -#### ▪ **ZRX_ASSET_DATA**: *object* - -*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 [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. - -**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:6448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6448)* - -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:6436](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6436)* - -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:6426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6426)* +*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 @@ -14457,13 +6440,13 @@ ___ #### ▪ **allowedValidators**: *object* -*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)* +*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:3789](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3789)* +*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 @@ -14484,7 +6467,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -14502,7 +6485,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:3851](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3851)* +*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 @@ -14520,7 +6503,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* -*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/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 @@ -14539,103 +6522,19 @@ The ABI encoded transaction data as a string ___ -### assetProxies - -#### ▪ **assetProxies**: *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)* - -#### callAsync - -▸ **callAsync**(`index_0`: 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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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): *string* - -*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)* - -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:1770](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1770)* - -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:1759](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1759)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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 - -___ - ### batchCancelOrders #### ▪ **batchCancelOrders**: *object* -*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)* +*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)* -Synchronously cancels multiple orders in a single transaction. +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: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/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. @@ -14657,7 +6556,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`orders`: `Array`, `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/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 @@ -14677,7 +6576,7 @@ Name | Type | Default | Description | ▸ **estimateGasAsync**(`orders`: `Array`, `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/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. @@ -14696,7 +6595,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*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/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 @@ -14714,7 +6613,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`]* -*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/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 @@ -14732,7 +6631,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`orders`: `Array`): *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/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 @@ -14752,7 +6651,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`orders`: `Array`, `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/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. @@ -14772,7 +6671,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `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/exchange.ts:502](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L502)* **Parameters:** @@ -14785,19 +6684,189 @@ Name | Type | ___ +### 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:2104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2104)* +*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)* -Synchronously executes multiple calls of fillOrKill. +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: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/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. @@ -14819,9 +6888,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**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* -*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)* +*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 @@ -14837,15 +6906,15 @@ Name | Type | Default | Description | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise>`* -Amounts filled and fees paid by makers and taker. NOTE: makerAssetFilledAmount and takerAssetFilledAmount may include amounts filled of different assets. +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: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/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. @@ -14864,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/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/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 @@ -14876,7 +6945,7 @@ 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. @@ -14884,7 +6953,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*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/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 @@ -14902,7 +6971,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *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/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 @@ -14924,7 +6993,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*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)* +*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. @@ -14946,7 +7015,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*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)* +*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:** @@ -14965,15 +7034,15 @@ ___ #### ▪ **batchFillOrders**: *object* -*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)* +*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)* -Synchronously executes multiple calls of fillOrder. +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: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/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. @@ -14995,9 +7064,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**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* -*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/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 @@ -15013,15 +7082,15 @@ Name | Type | Default | Description | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise>`* -Amounts filled and fees paid by makers and taker. NOTE: makerAssetFilledAmount and takerAssetFilledAmount may include amounts filled of different assets. +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: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/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. @@ -15040,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/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/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 @@ -15052,7 +7121,7 @@ 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. @@ -15060,7 +7129,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*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/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 @@ -15078,7 +7147,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *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/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 @@ -15100,7 +7169,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*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)* +*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. @@ -15122,7 +7191,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*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)* +*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:** @@ -15141,16 +7210,15 @@ ___ #### ▪ **batchFillOrdersNoThrow**: *object* -*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)* +*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)* -Fills an order with specified parameters and ECDSA signature. -Returns false if the transaction would otherwise revert. +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: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/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. @@ -15172,9 +7240,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**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `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/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 @@ -15190,15 +7258,15 @@ Name | Type | Default | Description | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise>`* -Amounts filled and fees paid by makers and taker. NOTE: makerAssetFilledAmount and takerAssetFilledAmount may include amounts filled of different assets. +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: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/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. @@ -15217,9 +7285,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *object* +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* -*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/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 @@ -15229,7 +7297,7 @@ 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. @@ -15237,7 +7305,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*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/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 @@ -15255,7 +7323,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *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/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 @@ -15277,7 +7345,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `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/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. @@ -15299,7 +7367,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `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/exchange.ts:1954](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1954)* **Parameters:** @@ -15314,20 +7382,21 @@ Name | Type | ___ -### cancelOrder +### batchMatchOrders -#### ▪ **cancelOrder**: *object* +#### ▪ **batchMatchOrders**: *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/exchange.ts:2199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2199)* -After calling, the order can not be filled anymore. -Throws if order is invalid or sender does not have permission to cancel. +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**(`order`: object, `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/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/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. @@ -15336,7 +7405,374 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`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 | - | @@ -15349,7 +7785,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`order`: object, `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/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 @@ -15359,7 +7795,7 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`order` | object | - | Order to cancel. Order must be OrderStatus.FILLABLE. | +`order` | object | - | Order struct containing order specifications. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -15369,7 +7805,7 @@ Name | Type | Default | Description | ▸ **estimateGasAsync**(`order`: object, `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/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. @@ -15377,7 +7813,7 @@ 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. | +`order` | object | Order struct containing order specifications. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15388,7 +7824,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*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/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 @@ -15406,7 +7842,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[object]* -*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/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 @@ -15424,7 +7860,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`order`: object): *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/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 @@ -15434,7 +7870,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`order` | object | Order struct containing order specifications. | **Returns:** *string* @@ -15444,7 +7880,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`order`: object, `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/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. @@ -15453,7 +7889,7 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`order` | object | Order struct containing order specifications. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15464,7 +7900,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`order`: object, `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/exchange.ts:3465](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3465)* **Parameters:** @@ -15481,7 +7917,7 @@ ___ #### ▪ **cancelOrdersUpTo**: *object* -*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)* +*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). @@ -15490,7 +7926,7 @@ and senderAddress equal to msg.sender (or null address if msg.sender == makerAdd ▸ **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)* +*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. @@ -15512,7 +7948,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`targetOrderEpoch`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`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)* +*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 @@ -15532,7 +7968,7 @@ Name | Type | Default | Description | ▸ **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)* +*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. @@ -15551,7 +7987,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *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 [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 @@ -15569,7 +8005,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* -*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)* +*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 @@ -15587,7 +8023,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -15607,7 +8043,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -15627,7 +8063,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -15644,13 +8080,13 @@ ___ #### ▪ **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)* +*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:555](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L555)* +*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 @@ -15670,7 +8106,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -15688,7 +8124,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:608](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L608)* +*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 @@ -15706,7 +8142,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/exchange.ts:597](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L597)* +*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 @@ -15728,13 +8164,13 @@ ___ #### ▪ **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)* +*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:7280](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7280)* +*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 @@ -15753,7 +8189,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -15771,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/exchange.ts:7327](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7327)* +*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 @@ -15789,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/exchange.ts:7317](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7317)* +*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 @@ -15805,15 +8241,15 @@ ___ #### ▪ **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)* +*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. +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`* +▸ **awaitTransactionSuccessAsync**(`transaction`: object, `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)* +*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. @@ -15822,10 +8258,8 @@ If the transaction was mined, but reverted, an error is thrown. 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. | +`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 | - | @@ -15836,9 +8270,9 @@ 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`* +▸ **callAsync**(`transaction`: object, `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)* +*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 @@ -15848,20 +8282,20 @@ since they don't modify state. 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. | +`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**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`transaction`: object, `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 [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. @@ -15869,10 +8303,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi 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. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15881,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/exchange.ts:5647](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5647)* +*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 @@ -15893,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): *[`BigNumber`, string, string, string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*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)* +*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 @@ -15911,15 +8343,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[`BigNumber`, string, string, string]* +**Returns:** *object* 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* +▸ **getABIEncodedTransactionData**(`transaction`: object, `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)* +*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 @@ -15929,10 +8361,8 @@ to create a 0x transaction (see protocol spec for more details). 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. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | **Returns:** *string* @@ -15940,9 +8370,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`transaction`: object, `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)* +*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. @@ -15951,10 +8381,8 @@ Ethereum operation and will cost gas. 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. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15963,17 +8391,15 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`transaction`: object, `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)* +*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 | ------ | ------ | -`salt` | `BigNumber` | -`signerAddress` | string | -`data` | string | +`transaction` | object | `signature` | string | `txData?` | `Partial` \| undefined | @@ -15985,7 +8411,7 @@ ___ #### ▪ **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)* +*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. @@ -15993,7 +8419,7 @@ Fills the input order. Reverts if exact takerAssetFillAmount not filled. ▸ **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)* +*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. @@ -16017,7 +8443,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -16039,7 +8465,7 @@ Name | Type | Default | Description | ▸ **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)* +*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. @@ -16060,7 +8486,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -16078,7 +8504,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16096,7 +8522,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16118,7 +8544,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -16140,7 +8566,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -16159,7 +8585,7 @@ ___ #### ▪ **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)* +*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. @@ -16167,7 +8593,7 @@ Fills the input order. ▸ **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)* +*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. @@ -16191,7 +8617,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -16215,7 +8641,7 @@ Amounts filled and fees paid by maker and taker. ▸ **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)* +*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. @@ -16236,7 +8662,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -16254,7 +8680,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16272,7 +8698,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16294,7 +8720,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -16316,184 +8742,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -16512,13 +8761,13 @@ ___ #### ▪ **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)* +*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:99](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L99)* +*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 @@ -16538,7 +8787,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -16556,7 +8805,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:152](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L152)* +*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 @@ -16574,7 +8823,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/exchange.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L141)* +*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 @@ -16596,7 +8845,7 @@ ___ #### ▪ **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)* +*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. @@ -16604,7 +8853,7 @@ Gets an asset proxy. ▸ **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)* +*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 @@ -16626,7 +8875,7 @@ The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registere ▸ **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)* +*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 @@ -16644,7 +8893,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:3102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3102)* +*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 @@ -16662,7 +8911,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16684,7 +8933,7 @@ ___ #### ▪ **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)* +*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. @@ -16692,7 +8941,7 @@ Gets information about an order: status, hash, and amount filled. ▸ **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)* +*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 @@ -16714,7 +8963,7 @@ OrderInfo Information about the order and its state. See LibOrder.OrderI ▸ **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)* +*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 @@ -16732,7 +8981,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16750,7 +8999,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16768,99 +9017,11 @@ The ABI encoded transaction data as a string ___ -### getOrdersInfo +### isValidHashSignature -#### ▪ **getOrdersInfo**: *object* +#### ▪ **isValidHashSignature**: *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)* +*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. @@ -16868,7 +9029,7 @@ Verifies that a hash has been signed by the given signer. ▸ **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)* +*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 @@ -16878,7 +9039,7 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`hash` | string | - | Any 32 byte hash. | +`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` | {} | - | @@ -16886,13 +9047,13 @@ Name | Type | Default | Description | **Returns:** *`Promise`* -True if the address recovered from the provided signature matches the input signer address. +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:4660](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4660)* +*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 @@ -16910,7 +9071,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:4648](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4648)* +*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 @@ -16928,7 +9089,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -16938,7 +9099,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`hash` | string | Any 32 byte hash. | +`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. | @@ -16948,19 +9109,200 @@ The ABI encoded transaction data as a string ___ -### marketBuyOrders +### isValidOrderSignature -#### ▪ **marketBuyOrders**: *object* +#### ▪ **isValidOrderSignature**: *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)* +*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)* -Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. +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:6968](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6968)* +*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. @@ -16970,7 +9312,7 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | `orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`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 | @@ -16984,7 +9326,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -16995,7 +9337,7 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | `orders` | `Array` | - | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | - | Desired amount of makerAsset to buy. | +`makerAssetFillAmount` | `BigNumber` | - | Minimum amount of makerAsset to buy. | `signatures` | string[] | - | Proofs that orders have been signed by makers. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -17008,7 +9350,7 @@ Amounts filled and fees paid by makers and taker. ▸ **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)* +*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. @@ -17017,7 +9359,7 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | `orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`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 | @@ -17029,7 +9371,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -17047,7 +9389,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17065,7 +9407,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17076,7 +9418,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | `orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | `signatures` | string[] | Proofs that orders have been signed by makers. | **Returns:** *string* @@ -17087,7 +9429,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -17097,7 +9439,7 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | `orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`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 | @@ -17109,7 +9451,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -17128,16 +9470,17 @@ ___ #### ▪ **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)* +*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)* -Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker. -Returns false if the transaction would otherwise revert. +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:4735](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4735)* +*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. @@ -17161,7 +9504,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -17185,7 +9528,7 @@ Amounts filled and fees paid by makers and taker. ▸ **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)* +*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. @@ -17206,7 +9549,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -17224,7 +9567,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17242,7 +9585,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17264,7 +9607,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -17286,7 +9629,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -17301,19 +9644,20 @@ Name | Type | ___ -### marketSellOrders +### marketSellOrdersFillOrKill -#### ▪ **marketSellOrders**: *object* +#### ▪ **marketSellOrdersFillOrKill**: *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)* +*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)* -Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. +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:3937](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3937)* +*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. @@ -17323,8 +9667,8 @@ If the transaction was mined, but reverted, an error is thrown. 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. | +`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 | - | @@ -17337,7 +9681,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -17348,8 +9692,8 @@ since they don't modify state. 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. | +`takerAssetFillAmount` | `BigNumber` | - | Minimum amount of takerAsset to sell. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -17361,7 +9705,7 @@ Amounts filled and fees paid by makers and taker. ▸ **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)* +*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. @@ -17370,8 +9714,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi 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. | +`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`* @@ -17382,7 +9726,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -17400,7 +9744,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17418,7 +9762,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17429,8 +9773,8 @@ to create a 0x transaction (see protocol spec for more details). 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. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | **Returns:** *string* @@ -17440,7 +9784,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -17450,8 +9794,8 @@ Ethereum operation and will cost gas. 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. | +`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`* @@ -17462,7 +9806,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -17481,16 +9825,17 @@ ___ #### ▪ **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)* +*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)* -Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. -Returns false if the transaction would otherwise revert. +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:6523](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6523)* +*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. @@ -17514,7 +9859,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -17538,7 +9883,7 @@ Amounts filled and fees paid by makers and taker. ▸ **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)* +*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. @@ -17559,7 +9904,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -17577,7 +9922,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17595,7 +9940,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17617,7 +9962,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -17639,7 +9984,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -17658,7 +10003,7 @@ ___ #### ▪ **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)* +*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 @@ -17669,7 +10014,7 @@ The profit made by the left order goes to the taker (who matched the two orders) ▸ **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)* +*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. @@ -17694,7 +10039,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -17719,7 +10064,7 @@ matchedFillResults Amounts filled and fees paid by maker and taker of matched or ▸ **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)* +*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. @@ -17741,7 +10086,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -17759,7 +10104,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17777,7 +10122,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17800,7 +10145,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -17823,7 +10168,192 @@ The hash of the transaction ▸ **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)* +*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:** @@ -17843,13 +10373,13 @@ ___ #### ▪ **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)* +*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:6301](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6301)* +*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 @@ -17870,7 +10400,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -17888,7 +10418,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:6363](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6363)* +*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 @@ -17906,7 +10436,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -17929,13 +10459,13 @@ ___ #### ▪ **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)* +*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:4498](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4498)* +*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 @@ -17954,7 +10484,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -17972,7 +10502,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/exchange.ts:4545](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4545)* +*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 @@ -17990,7 +10520,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -18006,16 +10536,16 @@ ___ #### ▪ **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)* +*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 using any valid signature type. +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, `signerAddress`: string, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`hash`: 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)* +*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. @@ -18024,9 +10554,7 @@ If the transaction was mined, but reverted, an error is thrown. 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. | +`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 | - | @@ -18037,9 +10565,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`hash`: 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)* +*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 @@ -18049,9 +10577,7 @@ since they don't modify state. 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. | +`hash` | string | - | Any 32-byte hash. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -18059,9 +10585,9 @@ Name | Type | Default | Description | #### estimateGasAsync -▸ **estimateGasAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`hash`: 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)* +*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. @@ -18069,9 +10595,7 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi 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. | +`hash` | string | Any 32-byte hash. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -18082,7 +10606,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -18098,9 +10622,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, string]* +▸ **getABIDecodedTransactionData**(`callData`: 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)* +*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 @@ -18110,15 +10634,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, string]* +**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* +▸ **getABIEncodedTransactionData**(`hash`: 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)* +*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 @@ -18128,9 +10652,7 @@ to create a 0x transaction (see protocol spec for more details). 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. | +`hash` | string | Any 32-byte hash. | **Returns:** *string* @@ -18138,9 +10660,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`hash`: 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)* +*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. @@ -18149,9 +10671,7 @@ Ethereum operation and will cost gas. 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. | +`hash` | string | Any 32-byte hash. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -18160,17 +10680,15 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`hash`: 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)* +*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 | -`signerAddress` | string | -`signature` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* @@ -18181,13 +10699,13 @@ ___ #### ▪ **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)* +*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:4410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4410)* +*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 @@ -18208,7 +10726,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -18226,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/exchange.ts:4472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4472)* +*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 @@ -18244,7 +10762,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -18263,11 +10781,165 @@ 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:5659](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5659)* +*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. @@ -18276,7 +10948,7 @@ Once an asset proxy is registered, it cannot be unregistered. ▸ **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)* +*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. @@ -18298,7 +10970,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -18318,7 +10990,7 @@ Name | Type | Default | Description | ▸ **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)* +*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. @@ -18337,7 +11009,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -18355,7 +11027,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:5811](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5811)* +*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 @@ -18373,7 +11045,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -18393,7 +11065,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -18413,7 +11085,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -18426,19 +11098,344 @@ Name | Type | ___ +### 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:3568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3568)* +*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. +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:3618](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3618)* +*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. @@ -18461,7 +11458,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -18482,7 +11479,7 @@ Name | Type | Default | Description | ▸ **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)* +*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. @@ -18502,7 +11499,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -18520,7 +11517,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -18538,7 +11535,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -18559,7 +11556,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -18580,7 +11577,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -18594,17 +11591,199 @@ Name | Type | ___ -### transactions +### simulateDispatchTransferFromCalls -#### ▪ **transactions**: *object* +#### ▪ **simulateDispatchTransferFromCalls**: *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)* +*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:3128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3128)* +*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 @@ -18624,7 +11803,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -18642,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/exchange.ts:3181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3181)* +*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 @@ -18660,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/exchange.ts:3170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3170)* +*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 @@ -18682,13 +11861,13 @@ ___ #### ▪ **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)* +*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:7381](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7381)* +*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. @@ -18710,7 +11889,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -18730,7 +11909,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -18749,7 +11928,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -18767,7 +11946,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:7487](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7487)* +*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 @@ -18785,7 +11964,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -18805,7 +11984,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -18825,7 +12004,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -18838,972 +12017,6 @@ Name | Type |
-# 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 @@ -19811,20 +12024,21 @@ Name | Type | -\+ **new IValidatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[IValidatorContract](#class-ivalidatorcontract)* +\+ **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:232](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L232)* +*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 | ------- | ------ | -`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 | IValidatorContract.deployedBytecode | **Returns:** *[IValidatorContract](#class-ivalidatorcontract)* @@ -19836,7 +12050,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -19846,7 +12060,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -19856,7 +12070,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -19866,7 +12080,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 | 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 @@ -19876,7 +12098,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:** @@ -19892,7 +12114,7 @@ ___ ▸ **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)* +*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)* @@ -19904,7 +12126,7 @@ ___ ▸ **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)* +*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:** @@ -19924,7 +12146,7 @@ ___ ▸ **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)* +*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:** @@ -19945,7 +12167,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -19962,7 +12184,7 @@ Name | Type | #### ▪ **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)* +*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. @@ -19970,7 +12192,7 @@ Verifies that a signature is valid. ▸ **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)* +*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 @@ -19994,7 +12216,7 @@ Magic bytes4 value if the signature is valid. Magic value is bytes4(kecc ▸ **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)* +*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 @@ -20012,7 +12234,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/i_validator.ts:114](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L114)* +*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 @@ -20030,7 +12252,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -20057,20 +12279,21 @@ The ABI encoded transaction data as a string -\+ **new IWalletContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[IWalletContract](#class-iwalletcontract)* +\+ **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:218](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L218)* +*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 | ------- | ------ | -`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 | IWalletContract.deployedBytecode | **Returns:** *[IWalletContract](#class-iwalletcontract)* @@ -20082,7 +12305,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -20092,7 +12315,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -20102,7 +12325,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -20112,7 +12335,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 | 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 @@ -20122,7 +12353,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:** @@ -20138,7 +12369,7 @@ ___ ▸ **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)* +*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)* @@ -20150,7 +12381,7 @@ ___ ▸ **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)* +*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:** @@ -20170,7 +12401,7 @@ ___ ▸ **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)* +*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:** @@ -20191,7 +12422,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -20208,15 +12439,15 @@ Name | Type | #### ▪ **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)* +*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)* -Verifies that a signature is valid. +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:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L43)* +*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 @@ -20233,13 +12464,13 @@ Name | Type | Default | Description | **Returns:** *`Promise`* -Magic bytes4 value if the signature is valid. Magic value is bytes4(keccak256("isValidWalletSignature(bytes32,address,bytes)")) +magicValue `bytes4(0xb0671381)` if the signature check succeeds. #### 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)* +*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 @@ -20257,7 +12488,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/i_wallet.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L104)* +*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 @@ -20275,7 +12506,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -20294,766 +12525,6 @@ 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 @@ -21061,20 +12532,21 @@ The ABI encoded transaction data as a string -\+ **new WETH9Contract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[WETH9Contract](#class-weth9contract)* +\+ **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:1831](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1831)* +*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:** *[WETH9Contract](#class-weth9contract)* @@ -21086,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 ___ @@ -21096,7 +12568,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -21106,7 +12578,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -21116,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 @@ -21126,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:** @@ -21142,7 +12622,7 @@ ___ ▸ **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)* +*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 @@ -21168,7 +12648,7 @@ ___ ▸ **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)* +*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. @@ -21196,7 +12676,7 @@ ___ ▸ **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)* +*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 @@ -21214,7 +12694,7 @@ ___ ▸ **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)* +*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 @@ -21226,7 +12706,7 @@ ___ ▸ **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)* +*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)* @@ -21238,7 +12718,7 @@ ___ ▸ **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)* +*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:** @@ -21258,7 +12738,7 @@ ___ ▸ **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)* +*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:** @@ -21279,7 +12759,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -21296,13 +12776,13 @@ Name | Type | #### ▪ **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)* +*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:1326](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1326)* +*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 @@ -21323,7 +12803,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -21341,7 +12821,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/weth9.ts:1388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1388)* +*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 @@ -21359,7 +12839,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -21382,13 +12862,13 @@ ___ #### ▪ **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)* +*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/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L181)* +*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. @@ -21411,7 +12891,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -21432,7 +12912,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -21452,7 +12932,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -21470,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/weth9.ts:302](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L302)* +*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 @@ -21488,7 +12968,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -21509,7 +12989,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -21530,7 +13010,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -21548,13 +13028,13 @@ ___ #### ▪ **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)* +*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:844](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L844)* +*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 @@ -21574,7 +13054,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -21592,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/weth9.ts:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L899)* +*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 @@ -21610,7 +13090,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/weth9.ts:886](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L886)* +*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 @@ -21632,13 +13112,13 @@ ___ #### ▪ **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)* +*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:771](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L771)* +*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 @@ -21657,7 +13137,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -21675,7 +13155,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/weth9.ts:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L818)* +*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 @@ -21693,7 +13173,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -21709,13 +13189,13 @@ ___ #### ▪ **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)* +*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:1201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1201)* +*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. @@ -21736,7 +13216,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -21755,7 +13235,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -21773,7 +13253,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -21791,7 +13271,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/weth9.ts:1300](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1300)* +*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 @@ -21809,7 +13289,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -21823,7 +13303,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -21842,7 +13322,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -21858,13 +13338,13 @@ ___ #### ▪ **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)* +*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:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L79)* +*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 @@ -21883,7 +13363,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -21901,7 +13381,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/weth9.ts:126](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L126)* +*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 @@ -21919,7 +13399,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -21935,13 +13415,13 @@ ___ #### ▪ **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)* +*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:925](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L925)* +*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 @@ -21960,7 +13440,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -21978,7 +13458,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/weth9.ts:972](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L972)* +*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 @@ -21996,7 +13476,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22012,13 +13492,13 @@ ___ #### ▪ **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)* +*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:328](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L328)* +*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 @@ -22037,7 +13517,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -22055,7 +13535,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/weth9.ts:375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L375)* +*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 @@ -22073,7 +13553,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22089,13 +13569,13 @@ ___ #### ▪ **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)* +*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:1027](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1027)* +*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. @@ -22118,7 +13598,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -22139,7 +13619,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -22159,7 +13639,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -22177,7 +13657,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/weth9.ts:1148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1148)* +*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 @@ -22195,7 +13675,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22216,7 +13696,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -22237,7 +13717,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -22255,13 +13735,13 @@ ___ #### ▪ **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)* +*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:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L440)* +*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. @@ -22285,7 +13765,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -22307,7 +13787,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -22328,7 +13808,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -22346,7 +13826,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/weth9.ts:587](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L587)* +*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 @@ -22364,7 +13844,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22386,7 +13866,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -22408,7 +13888,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -22427,13 +13907,13 @@ ___ #### ▪ **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)* +*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:641](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L641)* +*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. @@ -22455,7 +13935,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -22475,7 +13955,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -22494,7 +13974,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -22512,7 +13992,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22530,7 +14010,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22550,7 +14030,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -22570,7 +14050,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -22590,20 +14070,21 @@ Name | Type | -\+ **new ZRXTokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ZRXTokenContract](#class-zrxtokencontract)* +\+ **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:1474](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1474)* +*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 | ------- | ------ | -`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 | ZRXTokenContract.deployedBytecode | **Returns:** *[ZRXTokenContract](#class-zrxtokencontract)* @@ -22615,7 +14096,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -22625,7 +14106,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -22635,7 +14116,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -22645,7 +14126,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* = "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 @@ -22655,7 +14144,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:** @@ -22671,7 +14160,7 @@ ___ ▸ **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)* +*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 @@ -22697,7 +14186,7 @@ ___ ▸ **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)* +*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. @@ -22725,7 +14214,7 @@ ___ ▸ **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)* +*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 @@ -22743,7 +14232,7 @@ ___ ▸ **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)* +*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 @@ -22755,7 +14244,7 @@ ___ ▸ **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)* +*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)* @@ -22767,7 +14256,7 @@ ___ ▸ **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)* +*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:** @@ -22787,7 +14276,7 @@ ___ ▸ **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)* +*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:** @@ -22808,7 +14297,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -22825,13 +14314,13 @@ Name | Type | #### ▪ **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)* +*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:1038](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1038)* +*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 @@ -22852,7 +14341,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -22870,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/zrx_token.ts:1100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1100)* +*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 @@ -22888,7 +14377,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -22911,13 +14400,13 @@ ___ #### ▪ **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)* +*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/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L172)* +*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. @@ -22940,7 +14429,7 @@ A promise that resolves when the transaction is successful ▸ **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)* +*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 @@ -22961,7 +14450,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -22981,7 +14470,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -22999,7 +14488,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/zrx_token.ts:303](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L303)* +*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 @@ -23017,7 +14506,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -23038,7 +14527,7 @@ The ABI encoded transaction data as a string ▸ **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)* +*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. @@ -23059,7 +14548,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -23077,13 +14566,13 @@ ___ #### ▪ **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)* +*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:706](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L706)* +*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 @@ -23103,7 +14592,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -23121,7 +14610,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/zrx_token.ts:759](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L759)* +*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 @@ -23139,7 +14628,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/zrx_token.ts:748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L748)* +*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 @@ -23161,13 +14650,13 @@ ___ #### ▪ **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)* +*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:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L633)* +*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 @@ -23186,7 +14675,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -23204,7 +14693,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/zrx_token.ts:680](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L680)* +*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 @@ -23222,7 +14711,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -23238,13 +14727,13 @@ ___ #### ▪ **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)* +*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:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L63)* +*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 @@ -23263,7 +14752,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -23281,7 +14770,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/zrx_token.ts:110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L110)* +*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 @@ -23299,7 +14788,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -23315,13 +14804,13 @@ ___ #### ▪ **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)* +*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:785](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L785)* +*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 @@ -23340,7 +14829,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -23358,7 +14847,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/zrx_token.ts:832](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L832)* +*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 @@ -23376,7 +14865,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -23392,13 +14881,13 @@ ___ #### ▪ **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)* +*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:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L329)* +*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 @@ -23417,7 +14906,7 @@ Name | Type | Default | ▸ **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)* +*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 @@ -23435,7 +14924,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/zrx_token.ts:376](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L376)* +*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 @@ -23453,7 +14942,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **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)* +*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 @@ -23469,13 +14958,13 @@ ___ #### ▪ **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)* +*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:891](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L891)* +*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. @@ -23498,7 +14987,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/zrx_token.ts:953](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L953)* +*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 @@ -23519,7 +15008,7 @@ Name | Type | Default | ▸ **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)* +*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. @@ -23539,7 +15028,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -23557,7 +15046,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/zrx_token.ts:1012](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1012)* +*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 @@ -23575,7 +15064,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/zrx_token.ts:997](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L997)* +*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 @@ -23596,7 +15085,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/zrx_token.ts:859](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L859)* +*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. @@ -23617,7 +15106,7 @@ The hash of the transaction ▸ **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)* +*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:** @@ -23635,7 +15124,7 @@ ___ #### ▪ **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)* +*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. @@ -23643,7 +15132,7 @@ ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an un ▸ **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)* +*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. @@ -23667,7 +15156,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/zrx_token.ts:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L537)* +*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 @@ -23691,7 +15180,7 @@ Success of transfer. ▸ **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)* +*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. @@ -23712,7 +15201,7 @@ The hash of the transaction ▸ **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)* +*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 @@ -23730,7 +15219,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/zrx_token.ts:607](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L607)* +*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 @@ -23748,7 +15237,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/zrx_token.ts:590](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L590)* +*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 @@ -23770,7 +15259,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/zrx_token.ts:409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L409)* +*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. @@ -23792,7 +15281,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/zrx_token.ts:518](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L518)* +*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:** @@ -23807,650 +15296,6 @@ Name | Type |
-# 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) @@ -24467,7 +15312,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 @@ -24481,13 +15326,13 @@ Name | Type | Description | ## Methods -### emitPayloadAsync +#### 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)* +*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 @@ -24511,7 +15356,7 @@ ___ *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)* +*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 @@ -24533,7 +15378,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 @@ -24558,7 +15403,7 @@ ___ -*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 @@ -24586,7 +15431,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:** @@ -24605,7 +15450,7 @@ Name | Type | Default | Description | -*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 @@ -24629,7 +15474,7 @@ ___ *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)* +*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 @@ -24653,7 +15498,7 @@ ___ -*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 @@ -24669,206 +15514,6 @@ Name | Type | Description |
-# 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 @@ -24878,7 +15523,7 @@ ___ • **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)* +*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)* ___ @@ -24886,28 +15531,7 @@ ___ • **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)* +*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)*
@@ -24920,7 +15544,7 @@ ___ • **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)* +*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)* ___ @@ -24928,7 +15552,7 @@ ___ • **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)* +*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)* ___ @@ -24936,7 +15560,7 @@ ___ • **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)* +*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)*
@@ -24949,7 +15573,7 @@ ___ • **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)* +*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)* ___ @@ -24957,7 +15581,7 @@ ___ • **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)* +*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)* ___ @@ -24965,7 +15589,7 @@ ___ • **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)* +*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)* ___ @@ -24973,7 +15597,23 @@ ___ • **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)* +*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)* ___ @@ -24981,7 +15621,15 @@ ___ • **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)* +*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)*
@@ -24994,7 +15642,7 @@ ___ • **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)* +*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)* ___ @@ -25002,7 +15650,7 @@ ___ • **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)* +*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)* ___ @@ -25010,7 +15658,7 @@ ___ • **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)* +*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)* ___ @@ -25018,7 +15666,7 @@ ___ • **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)* +*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)*
@@ -25031,7 +15679,7 @@ ___ • **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)* +*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)* ___ @@ -25039,74 +15687,52 @@ ___ • **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)* +*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: OrderStatus +# Enumeration: NetworkId ## Enumeration members -### Cancelled +### Ganache -• **Cancelled**: +• **Ganache**: = 50 -*Defined in [contract-wrappers/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L91)* +*Defined in [contract-addresses/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L26)* ___ -### Expired +### Kovan -• **Expired**: +• **Kovan**: = 42 -*Defined in [contract-wrappers/src/types.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L89)* +*Defined in [contract-addresses/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L25)* ___ -### Fillable +### Mainnet -• **Fillable**: +• **Mainnet**: = 1 -*Defined in [contract-wrappers/src/types.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L88)* +*Defined in [contract-addresses/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L22)* ___ -### FullyFilled +### Rinkeby -• **FullyFilled**: +• **Rinkeby**: = 4 -*Defined in [contract-wrappers/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L90)* +*Defined in [contract-addresses/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L24)* ___ -### Invalid +### Ropsten -• **Invalid**: = 0 +• **Ropsten**: = 3 -*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)* +*Defined in [contract-addresses/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L23)*
@@ -25121,7 +15747,7 @@ ___ • **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)* ___ @@ -25129,7 +15755,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)* ___ @@ -25137,7 +15763,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)*
@@ -25160,7 +15786,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)* ___ @@ -25168,7 +15794,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)* ___ @@ -25176,7 +15810,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)* ___ @@ -25184,7 +15818,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)* ___ @@ -25192,7 +15826,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)*
@@ -25204,16 +15838,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)* ___ @@ -25221,7 +15867,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)* ___ @@ -25229,7 +15875,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)* ___ @@ -25237,7 +15883,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)* ___ @@ -25245,7 +15891,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)* ___ @@ -25253,7 +15899,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)* ___ @@ -25261,7 +15907,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)* ___ @@ -25269,7 +15915,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)*
@@ -25281,335 +15927,6 @@ ___ - - -
- -# 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 @@ -25627,7 +15944,7 @@ ___ • **_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)* +*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)* ___ @@ -25635,7 +15952,7 @@ ___ • **_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)* +*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)* ___ @@ -25643,7 +15960,7 @@ ___ • **_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)* +*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)*
@@ -25664,7 +15981,7 @@ ___ • **_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)* +*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)* ___ @@ -25672,7 +15989,7 @@ ___ • **_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)* +*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)* ___ @@ -25680,63 +15997,7 @@ ___ • **_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)* +*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)*
@@ -25757,7 +16018,7 @@ ___ • **_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)* +*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)* ___ @@ -25765,7 +16026,7 @@ ___ • **_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)* +*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)* ___ @@ -25773,7 +16034,7 @@ ___ • **_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)* +*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)*
@@ -25794,7 +16055,7 @@ ___ • **_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)* +*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)* ___ @@ -25802,7 +16063,7 @@ ___ • **_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)* +*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)* ___ @@ -25810,7 +16071,7 @@ ___ • **_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)* +*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)*
@@ -25831,7 +16092,7 @@ ___ • **_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)* +*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)* ___ @@ -25839,7 +16100,7 @@ ___ • **_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)* +*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)* ___ @@ -25847,7 +16108,7 @@ ___ • **_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)* +*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)*
@@ -25867,7 +16128,7 @@ ___ • **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)* +*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)* ___ @@ -25875,7 +16136,7 @@ ___ • **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)* +*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)*
@@ -25899,7 +16160,7 @@ ___ • **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)* +*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)* ___ @@ -25907,7 +16168,7 @@ ___ • **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)* +*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)* ___ @@ -25915,7 +16176,7 @@ ___ • **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)* +*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)* ___ @@ -25923,7 +16184,7 @@ ___ • **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)* +*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)* ___ @@ -25931,7 +16192,7 @@ ___ • **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)* +*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)* ___ @@ -25939,7 +16200,7 @@ ___ • **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)* +*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)*
@@ -25952,7 +16213,7 @@ ___ * [makerAddress](#makeraddress) * [orderEpoch](#orderepoch) -* [senderAddress](#senderaddress) +* [orderSenderAddress](#ordersenderaddress) ## Properties @@ -25960,7 +16221,7 @@ ___ • **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)* +*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)* ___ @@ -25968,15 +16229,15 @@ ___ • **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)* +*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)* ___ -### senderAddress +### orderSenderAddress -• **senderAddress**: *string* +• **orderSenderAddress**: *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)* +*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)*
@@ -25991,12 +16252,15 @@ ___ * [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 @@ -26005,7 +16269,7 @@ ___ • **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)* +*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)* ___ @@ -26013,7 +16277,7 @@ ___ • **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)* +*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)* ___ @@ -26021,7 +16285,7 @@ ___ • **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)* +*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)* ___ @@ -26029,7 +16293,15 @@ ___ • **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)* +*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)* ___ @@ -26037,7 +16309,7 @@ ___ • **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)* +*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)* ___ @@ -26045,7 +16317,15 @@ ___ • **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)* +*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)* ___ @@ -26053,7 +16333,7 @@ ___ • **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)* +*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)* ___ @@ -26061,7 +16341,7 @@ ___ • **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)* +*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)* ___ @@ -26069,7 +16349,7 @@ ___ • **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)* +*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)* ___ @@ -26077,7 +16357,15 @@ ___ • **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)* +*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)* ___ @@ -26085,7 +16373,63 @@ ___ • **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)* +*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)*
@@ -26096,17 +16440,17 @@ ___ ### Properties -* [approved](#approved) +* [isApproved](#isapproved) * [signerAddress](#signeraddress) * [validatorAddress](#validatoraddress) ## Properties -### approved +### isApproved -• **approved**: *boolean* +• **isApproved**: *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)* +*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)* ___ @@ -26114,7 +16458,7 @@ ___ • **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)* +*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)* ___ @@ -26122,7 +16466,26 @@ ___ • **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)* +*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)*
@@ -26143,7 +16506,7 @@ ___ • **_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)* +*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)* ___ @@ -26151,7 +16514,7 @@ ___ • **_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)* +*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)* ___ @@ -26159,7 +16522,7 @@ ___ • **_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)* +*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)*
@@ -26179,7 +16542,7 @@ ___ • **_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)* +*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)* ___ @@ -26187,7 +16550,7 @@ ___ • **_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)* +*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)*
@@ -26208,7 +16571,7 @@ ___ • **_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)* +*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)* ___ @@ -26216,7 +16579,7 @@ ___ • **_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)* +*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)* ___ @@ -26224,7 +16587,7 @@ ___ • **_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)* +*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)*
@@ -26244,7 +16607,7 @@ ___ • **_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)* +*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)* ___ @@ -26252,7 +16615,7 @@ ___ • **_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)* +*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)*
@@ -26273,7 +16636,7 @@ ___ • **_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)* +*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)* ___ @@ -26281,7 +16644,7 @@ ___ • **_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)* +*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)* ___ @@ -26289,7 +16652,7 @@ ___ • **_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)* +*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)*
@@ -26310,7 +16673,7 @@ ___ • **_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)* +*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)* ___ @@ -26318,7 +16681,7 @@ ___ • **_to**: *string* -*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/zrx_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L37)* ___ @@ -26326,7 +16689,7 @@ ___ • **_value**: *`BigNumber`* -*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/zrx_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L38)*
@@ -26339,7 +16702,7 @@ ___ • **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)* ___ @@ -26347,7 +16710,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)* ___ @@ -26355,7 +16718,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)* ___ @@ -26363,7 +16726,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)* ___ @@ -26371,7 +16734,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)* ___ @@ -26379,7 +16742,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)* ___ @@ -26387,7 +16750,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)* ___ @@ -26395,7 +16758,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)* ___ @@ -26403,7 +16766,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)* ___ @@ -26411,7 +16774,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)* ___ @@ -26419,7 +16782,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)* ___ @@ -26427,7 +16790,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)* ___ @@ -26435,7 +16798,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)* ___ @@ -26443,7 +16806,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)* ___ @@ -26451,186 +16814,10 @@ ___ • **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)*
-# 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:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L56)* - -___ - -### `Optional` contractAddresses - -• **contractAddresses**? : *[ContractAddresses](#class-contractaddresses)* - -*Defined in [contract-wrappers/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L55)* - -___ - -### `Optional` gasPrice - -• **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)* - -___ - -### networkId - -• **networkId**: *number* - -*Defined in [contract-wrappers/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L53)* - -
- - - -# Interface: DecodedLogEvent <**ArgsType**> - -## Type parameters - -▪ **ArgsType**: *`DecodedLogArgs`* - - -## Properties - -### isRemoved - -• **isRemoved**: *boolean* - -*Defined in [contract-wrappers/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L7)* - -___ - -### log - -• **log**: *`LogWithDecodedArgs`* - -*Defined in [contract-wrappers/src/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](#class-orderinfo)* - -*Defined in [contract-wrappers/src/types.ts:106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L106)* - -___ - -### traderInfo - -• **traderInfo**: *[TraderInfo](#class-traderinfo)* - -*Defined in [contract-wrappers/src/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 [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)* - -___ - -### orderTakerAssetFilledAmount - -• **orderTakerAssetFilledAmount**: *`BigNumber`* - -*Defined in [contract-wrappers/src/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. - - -## Properties - -### `Optional` gasLimit - -• **gasLimit**? : *undefined | number* - -*Inherited from [TransactionOpts](#interface-transactionopts).[gasLimit](#optional-gaslimit)* - -*Defined in [contract-wrappers/src/types.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L66)* - -___ - -### `Optional` gasPrice - -• **gasPrice**? : *`BigNumber`* - -*Inherited from [TransactionOpts](#interface-transactionopts).[gasPrice](#optional-gasprice)* - -*Defined in [contract-wrappers/src/types.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L65)* - -___ - -### `Optional` nonce - -• **nonce**? : *undefined | number* - -*Inherited from [TransactionOpts](#interface-transactionopts).[nonce](#optional-nonce)* - -*Defined in [contract-wrappers/src/types.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L67)* - -___ - -### `Optional` shouldValidate - -• **shouldValidate**? : *undefined | false | true* - -*Defined in [contract-wrappers/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L75)* - -
- - - - - - - # Interface: BlockRange @@ -26642,7 +16829,7 @@ ___ • **fromBlock**: *[BlockParam](#blockparam)* -*Defined in [ethereum-types/src/index.ts:732](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L732)* +*Defined in [ethereum-types/src/index.ts:740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L740)* ___ @@ -26650,7 +16837,7 @@ ___ • **toBlock**: *[BlockParam](#blockparam)* -*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 [ethereum-types/src/index.ts:741](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L741)*
@@ -26669,7 +16856,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)* ___ @@ -26677,7 +16864,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)* ___ @@ -26687,7 +16874,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)* ___ @@ -26697,7 +16884,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)* ___ @@ -26707,7 +16894,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)* ___ @@ -26717,7 +16904,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)* ___ @@ -26727,7 +16914,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)*
@@ -26744,7 +16931,7 @@ ___ • **name**: *"solc"* -*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 [ethereum-types/src/index.ts:655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L655)* ___ @@ -26752,7 +16939,7 @@ ___ • **settings**: *[CompilerSettings](#class-compilersettings)* -*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 [ethereum-types/src/index.ts:657](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L657)* ___ @@ -26760,7 +16947,7 @@ ___ • **version**: *string* -*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 [ethereum-types/src/index.ts:656](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L656)*
@@ -26773,7 +16960,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)* ___ @@ -26781,7 +16968,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)* ___ @@ -26789,7 +16976,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)* ___ @@ -26797,7 +16984,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)* ___ @@ -26805,7 +16992,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: @@ -26819,7 +17006,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)*
@@ -26832,7 +17019,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)*
@@ -26845,7 +17032,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)* ___ @@ -26853,7 +17040,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)* ___ @@ -26861,7 +17048,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)* ___ @@ -26869,7 +17056,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)*
@@ -26896,7 +17083,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 [ethereum-types/src/index.ts:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L633)* +*Defined in [ethereum-types/src/index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* ___ @@ -26906,7 +17093,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[compilerOutput](#compileroutput)* -*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 [ethereum-types/src/index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* ___ @@ -26914,7 +17101,7 @@ ___ • **contractName**: *string* -*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 [ethereum-types/src/index.ts:675](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L675)* ___ @@ -26922,7 +17109,7 @@ ___ • **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)* +*Defined in [ethereum-types/src/index.ts:676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L676)* ___ @@ -26930,7 +17117,7 @@ ___ • **schemaVersion**: *string* -*Defined in [ethereum-types/src/index.ts:666](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L666)* +*Defined in [ethereum-types/src/index.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L674)* ___ @@ -26940,7 +17127,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[sourceCodes](#sourcecodes)* -*Defined in [ethereum-types/src/index.ts:639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L639)* +*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: @@ -26954,7 +17141,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[sourceTreeHashHex](#sourcetreehashhex)* -*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L642)* +*Defined in [ethereum-types/src/index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* ___ @@ -26964,7 +17151,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[sources](#sources)* -*Defined in [ethereum-types/src/index.ts:634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L634)* +*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: @@ -26981,7 +17168,7 @@ ___ • **address**: *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 [ethereum-types/src/index.ts:554](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L554)* ___ @@ -26989,7 +17176,7 @@ Args • **constructorArgs**: *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 [ethereum-types/src/index.ts:558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L558)* ___ @@ -26997,7 +17184,7 @@ ___ • **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)* +*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: @@ -27021,7 +17208,7 @@ ___ • **compiler**: *[CompilerOpts](#class-compileropts)* -*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 [ethereum-types/src/index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* ___ @@ -27029,7 +17216,7 @@ ___ • **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* -*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 [ethereum-types/src/index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* ___ @@ -27037,7 +17224,7 @@ ___ • **sourceCodes**: *object* -*Defined in [ethereum-types/src/index.ts:639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L639)* +*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: @@ -27049,7 +17236,7 @@ ___ • **sourceTreeHashHex**: *string* -*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L642)* +*Defined in [ethereum-types/src/index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* ___ @@ -27057,7 +17244,7 @@ ___ • **sources**: *object* -*Defined in [ethereum-types/src/index.ts:634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L634)* +*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: @@ -27074,7 +17261,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)* ___ @@ -27082,7 +17269,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)* ___ @@ -27090,7 +17277,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)*
@@ -27110,7 +17297,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)* ___ @@ -27118,7 +17305,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)* ___ @@ -27128,7 +17315,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)* ___ @@ -27138,7 +17325,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)* ___ @@ -27148,7 +17335,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)* ___ @@ -27156,7 +17343,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)* ___ @@ -27166,7 +17353,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)* ___ @@ -27176,7 +17363,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)* ___ @@ -27186,7 +17373,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)* ___ @@ -27196,126 +17383,11 @@ ___ *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)*
-# Interface: DecodedLogEntryEvent <**A**> -## Type parameters - -▪ **A** - - -## Properties - -### address - -• **address**: *string* - -*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)* - -___ - -### args - -• **args**: *`A`* - -*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)* - -___ - -### blockHash - -• **blockHash**: *string | null* - -*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)* - -___ - -### blockNumber - -• **blockNumber**: *number | null* - -*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)* - -___ - -### data - -• **data**: *string* - -*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)* - -___ - -### event - -• **event**: *string* - -*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)* - -___ - -### 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)* - -___ - -### removed - -• **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)* - -___ - -### topics - -• **topics**: *string[]* - -*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)* - -___ - -### transactionHash - -• **transactionHash**: *string* - -*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)* - -___ - -### transactionIndex - -• **transactionIndex**: *number | null* - -*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)* - -
# Interface: DevdocOutput @@ -27326,7 +17398,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)* ___ @@ -27334,7 +17406,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: @@ -27346,7 +17418,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)*
@@ -27359,7 +17431,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 @@ -27367,7 +17439,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:** @@ -27391,7 +17463,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:** @@ -27417,7 +17489,7 @@ Name | Type | • **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)* ___ @@ -27425,7 +17497,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)*
@@ -27438,7 +17510,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)* ___ @@ -27446,7 +17518,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)*
@@ -27459,7 +17531,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)* ___ @@ -27467,7 +17539,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)*
@@ -27482,7 +17554,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:** @@ -27506,7 +17578,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)* ___ @@ -27514,7 +17586,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)* ___ @@ -27522,7 +17594,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)* ___ @@ -27530,7 +17602,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)*
@@ -27543,7 +17615,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)* ___ @@ -27551,7 +17623,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)*
@@ -27564,7 +17636,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)* ___ @@ -27572,7 +17644,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)* ___ @@ -27580,7 +17652,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)* ___ @@ -27588,171 +17660,13 @@ ___ • **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)*
-# Interface: LogEntry -## Properties -### address - -• **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)* - -___ - -### blockHash - -• **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)* - -___ - -### blockNumber - -• **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)* - -___ - -### 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 - -• **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)* - -___ - -### topics - -• **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)* - -___ - -### transactionHash - -• **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)* - -___ - -### 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)* - -
- -# Interface: LogEntryEvent - - -## Properties - -### address - -• **address**: *string* - -*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)* - -___ - -### blockHash - -• **blockHash**: *string | null* - -*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)* - -___ - -### blockNumber - -• **blockNumber**: *number | null* - -*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)* - -___ - -### data - -• **data**: *string* - -*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)* - -___ - -### 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)* - -___ - -### removed - -• **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)* - -___ - -### topics - -• **topics**: *string[]* - -*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)* - -___ - -### transactionHash - -• **transactionHash**: *string* - -*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)* - -___ - -### transactionIndex - -• **transactionIndex**: *number | null* - -*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)* - -
# Interface: LogWithDecodedArgs <**ArgsType**> @@ -27769,7 +17683,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)* ___ @@ -27779,7 +17693,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)* ___ @@ -27789,7 +17703,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)* ___ @@ -27799,7 +17713,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)* ___ @@ -27809,7 +17723,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)* ___ @@ -27819,7 +17733,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)* ___ @@ -27829,7 +17743,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)* ___ @@ -27839,7 +17753,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)* ___ @@ -27849,7 +17763,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)* ___ @@ -27859,7 +17773,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)*
@@ -27872,7 +17786,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)* ___ @@ -27880,7 +17794,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)* ___ @@ -27888,7 +17802,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)* ___ @@ -27896,7 +17810,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)* ___ @@ -27904,7 +17818,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)* ___ @@ -27912,7 +17826,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)* ___ @@ -27920,7 +17834,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)*
@@ -27933,7 +17847,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)* ___ @@ -27941,7 +17855,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)*
@@ -27949,6 +17863,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)* + +
+ @@ -27964,7 +17907,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)* ___ @@ -27972,7 +17915,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)* ___ @@ -27980,7 +17923,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)*
@@ -27990,949 +17933,8 @@ ___ -# Class: CoordinatorContract -## Constructors - - - -\+ **new CoordinatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[CoordinatorContract](#class-coordinatorcontract)* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[CoordinatorContract](#class-coordinatorcontract)* - -## 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/coordinator.ts:1158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1158)* - -**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:1111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1111)* - -**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/coordinator.ts:1078](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1078)* - -**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:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### EIP712_COORDINATOR_DOMAIN_HASH - -#### ▪ **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)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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/coordinator.ts:1070](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1070)* - -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:1058](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1058)* - -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:1048](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1048)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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/coordinator.ts:652](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L652)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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/coordinator.ts:717](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L717)* - -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:705](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L705)* - -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:695](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L695)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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 - -___ - -### 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 - -▸ **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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*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)* - -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: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 - -**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:813](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L813)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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: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. - -#### callAsync - -▸ **callAsync**(`data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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 - -**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:955](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L955)* - -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:944](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L944)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L321)* - -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:399](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.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 | ------- | ------ | ------ | -`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: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. - -**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:448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L448)* - -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: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:** - -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:624](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L624)* - -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: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). - -**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:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L337)* - -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:486](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L486)* - -**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:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L208)* - -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:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L217)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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 - -**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:286](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L286)* - -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: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). - -**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:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L34)* - -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:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L42)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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: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 - -**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:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L93)* - -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:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L78)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data 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:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L116)* - -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:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L124)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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)* - -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:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L181)* - -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: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,12 +18474,47 @@ ___ • **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,7 +19199,31 @@ 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)* + +___ + +### domain + +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* + +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* + +___ + +### expirationTimeSeconds + +• **expirationTimeSeconds**: *`BigNumber`* + +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* + +___ + +### gasPrice + +• **gasPrice**: *`BigNumber`* + +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* ___ @@ -30057,7 +19231,7 @@ ___ • **salt**: *`BigNumber`* -*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)* ___ @@ -30065,15 +19239,7 @@ ___ • **signerAddress**: *string* -*Defined in [types/src/index.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L55)* - -___ - -### verifyingContractAddress - -• **verifyingContractAddress**: *string* - -*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)*
@@ -30083,83 +19249,6 @@ ___ -
- - - - -## 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)* - -
- - - -
- - - - -## Type aliases - -### DummyERC20TokenEventArgs - -Ƭ **DummyERC20TokenEventArgs**: *[DummyERC20TokenTransferEventArgs](#interface-dummyerc20tokentransfereventargs) | [DummyERC20TokenApprovalEventArgs](#interface-dummyerc20tokenapprovaleventargs)* - -*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)* - -
- - - - -## Type aliases - -### DummyERC721TokenEventArgs - -Ƭ **DummyERC721TokenEventArgs**: *[DummyERC721TokenTransferEventArgs](#interface-dummyerc721tokentransfereventargs) | [DummyERC721TokenApprovalEventArgs](#interface-dummyerc721tokenapprovaleventargs) | [DummyERC721TokenApprovalForAllEventArgs](#interface-dummyerc721tokenapprovalforalleventargs)* - -*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)* - -
- - - -
- - - - -## 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 @@ -30167,20 +19256,7 @@ ___ Ƭ **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/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index 1e46d8b4ba..d1fb15b3c8 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.json +++ b/packages/abi-gen-wrappers/CHANGELOG.json @@ -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/CHANGELOG.json b/packages/abi-gen/CHANGELOG.json index b4230a887c..de66262620 100644 --- a/packages/abi-gen/CHANGELOG.json +++ b/packages/abi-gen/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "version": "4.2.1", 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/assert/CHANGELOG.json b/packages/assert/CHANGELOG.json index 86197fa9d0..6989684858 100644 --- a/packages/assert/CHANGELOG.json +++ b/packages/assert/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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/asset-buyer/CHANGELOG.json b/packages/asset-buyer/CHANGELOG.json index ed8dad3442..9d121469fe 100644 --- a/packages/asset-buyer/CHANGELOG.json +++ b/packages/asset-buyer/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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 - -The interface for the provider used internally by 0x libraries -Any property we use from any SupportedProvider should we explicitly -add here +# Class: AssetBuyer -## Properties +## Constructors -### `Optional` isMetaMask -• **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)* +\+ **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)* -### `Optional` isParity - -• **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)* - -___ - -### `Optional` isZeroExProvider - -• **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)* - -## Methods - -### `Optional` enable - -▸ **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)* - -**Returns:** *`Promise`* - -___ - -### sendAsync - -▸ **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)* +Instantiates a new AssetBuyer instance **Parameters:** -Name | Type | ------- | ------ | -`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | -`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | +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:** *void* +**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/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L40)* ___ -### `Optional` stop +### networkId -▸ **stop**(): *void* +• **networkId**: *number* -*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:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L38)* -**Returns:** *void* +___ + +### orderProvider + +• **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 [asset-buyer/src/asset_buyer.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L36)* + +## 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/9fe6c196a/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: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)* + +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/9fe6c196a/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/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,236 +1352,73 @@ 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 +## 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/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)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ -### networkId +### `Optional` isParity -• **networkId**: *number* +• **isParity**? : *undefined | false | true* -*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)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ -### orderProvider +### `Optional` isZeroExProvider -• **orderProvider**: *[OrderProvider](#interface-orderprovider)* +• **isZeroExProvider**? : *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)* - -___ - -### orderRefreshIntervalMs - -• **orderRefreshIntervalMs**: *number* - -*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)* - -___ - -### provider - -• **provider**: *`ZeroExProvider`* - -*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 +### `Optional` enable -▸ **executeBuyQuoteAsync**(`buyQuote`: [BuyQuote](#interface-buyquote), `options`: `Partial`): *`Promise`* +▸ **enable**(): *`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)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* -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. +**Returns:** *`Promise`* ___ -### getAvailableAssetDatasAsync +### sendAsync -▸ **getAvailableAssetDatasAsync**(): *`Promise`* +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*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. +*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 | 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. | +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -**Returns:** *`Promise`* - -An object that conforms to BuyQuote that satisfies the request. See type definition for more information. +**Returns:** *void* ___ -### getBuyQuoteForERC20TokenAddressAsync +### `Optional` stop -▸ **getBuyQuoteForERC20TokenAddressAsync**(`tokenAddress`: string, `assetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* +▸ **stop**(): *void* -*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)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* -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:** - -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:311](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L311)* - -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/23602ec6b/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/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 +**Returns:** *void*
@@ -1436,6 +1468,10 @@ An instance of AssetBuyer + + + + @@ -1479,6 +1515,10 @@ An instance of AssetBuyer + + + + @@ -1489,13 +1529,23 @@ An instance of AssetBuyer ## 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)* ___ @@ -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,7 +1683,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)*
@@ -1655,31 +1725,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-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 2a48478030..96f2a7801f 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "version": "2.0.0", 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,2433 +1,3 @@ - - -# Class: SwapQuoteConsumer - - -## Implements - -* [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)‹*[SmartContractParams](#smartcontractparams)*› - - -## Constructors - - - -\+ **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)* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | -`options` | `Partial` | {} | - -**Returns:** *[SwapQuoteConsumer](#class-swapquoteconsumer)* - -## Properties - -### networkId - -• **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)* - -___ - -### provider - -• **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)* - -## Methods - -### executeSwapQuoteOrThrowAsync - -▸ **executeSwapQuoteOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* - -*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)* - -Given a SwapQuote and desired rate (in takerAsset), attempt to execute the swap. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. | -`opts` | `Partial` | {} | Options for getting CalldataInfo. See type definition for more information. | - -**Returns:** *`Promise`* - -___ - -### getCalldataOrThrowAsync - -▸ **getCalldataOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* - -*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)* - -Given a SwapQuote, returns 'CalldataInfo' for a 0x exchange call. See type definition of CalldataInfo for more information. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. | -`opts` | `Partial` | {} | Options for getting SmartContractParams. See type definition for more information. | - -**Returns:** *`Promise`* - -___ - -### getOptimalExtensionContractTypeAsync - -▸ **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)* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`quote` | [SwapQuote](#swapquote) | - | -`opts` | `Partial` | {} | - -**Returns:** *`Promise`* - -___ - -### getSmartContractParamsOrThrowAsync - -▸ **getSmartContractParamsOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise>`* - -*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)* - -Given a SwapQuote, returns 'SmartContractParamsInfo' for a 0x exchange call. See type definition of SmartContractParamsInfo for more information. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. | -`opts` | `Partial` | {} | Options for getting SmartContractParams. See type definition for more information. | - -**Returns:** *`Promise>`* - -
- -# Class: SwapQuoter - - -## Constructors - - - -\+ **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)* - -Instantiates a new SwapQuoter instance - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | -`orderbook` | `Orderbook` | - | An object that conforms to Orderbook, see type for definition. | -`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | - -**Returns:** *[SwapQuoter](#class-swapquoter)* - -An instance of SwapQuoter - -## Properties - -### expiryBufferMs - -• **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)* - -___ - -### orderbook - -• **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)* - -___ - -### provider - -• **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)* - -## Methods - -### destroyAsync - -▸ **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)* - -Destroys any subscriptions or connections. - -**Returns:** *`Promise`* - -___ - -### getAvailableMakerAssetDatasAsync - -▸ **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)* - -Get the asset data of all assets that are purchaseable with takerAssetData in the order provider passed in at init. - -**Parameters:** - -Name | Type | ------- | ------ | -`takerAssetData` | string | - -**Returns:** *`Promise`* - -An array of asset data strings that are purchaseable with takerAssetData. - -___ - -### getAvailableTakerAssetDatasAsync - -▸ **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)* - -Get the asset data of all assets that can be used to purchase makerAssetData in the order provider passed in at init. - -**Parameters:** - -Name | Type | ------- | ------ | -`makerAssetData` | string | - -**Returns:** *`Promise`* - -An array of asset data strings that can purchase makerAssetData. - -___ - -### getLiquidityForMakerTakerAssetDataPairAsync - -▸ **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)* - -Returns information about available liquidity for an asset -Does not factor in slippage or fees - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | - -**Returns:** *`Promise`* - -An object that conforms to LiquidityForAssetData that satisfies the request. See type definition for more information. - -___ - -### getMarketBuySwapQuoteAsync - -▸ **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)* - -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. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`makerTokenAddress` | string | - | The address of the maker asset | -`takerTokenAddress` | string | - | The address of the taker asset | -`makerAssetBuyAmount` | `BigNumber` | - | The amount of maker asset to swap for. | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | - -**Returns:** *`Promise`* - -An object that conforms to SwapQuote that satisfies the request. See type definition for more information. - -___ - -### getMarketBuySwapQuoteForAssetDataAsync - -▸ **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)* - -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. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`makerAssetData` | string | - | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`takerAssetData` | string | - | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`makerAssetBuyAmount` | `BigNumber` | - | The amount of maker asset to swap for. | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | - -**Returns:** *`Promise`* - -An object that conforms to SwapQuote that satisfies the request. See type definition for more information. - -___ - -### getMarketSellSwapQuoteAsync - -▸ **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)* - -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. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`makerTokenAddress` | string | - | The address of the maker asset | -`takerTokenAddress` | string | - | The address of the taker asset | -`takerAssetSellAmount` | `BigNumber` | - | The amount of taker asset to sell. | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | - -**Returns:** *`Promise`* - -An object that conforms to SwapQuote that satisfies the request. See type definition for more information. - -___ - -### getMarketSellSwapQuoteForAssetDataAsync - -▸ **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)* - -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. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`makerAssetData` | string | - | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`takerAssetData` | string | - | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`takerAssetSellAmount` | `BigNumber` | - | The amount of taker asset to swap for. | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | - -**Returns:** *`Promise`* - -An object that conforms to SwapQuote that satisfies the request. See type definition for more information. - -___ - -### getOrdersAndFillableAmountsAsync - -▸ **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)* - -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 | ------- | ------ | ------ | -`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | - -**Returns:** *`Promise`* - -___ - -### isTakerAddressAllowanceEnoughForBestAndWorstQuoteInfoAsync - -▸ **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)* - -Util function to check if takerAddress's allowance is enough for 0x exchange contracts to conduct the swap specified by the swapQuote. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`swapQuote` | [SwapQuote](#swapquote) | The swapQuote in question to check enough allowance enabled for 0x exchange contracts to conduct the swap. | -`takerAddress` | string | The address of the taker of the provided swapQuote | - -**Returns:** *`Promise<[boolean, boolean]>`* - -___ - -### isTakerMakerAssetDataPairAvailableAsync - -▸ **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)* - -Validates the taker + maker asset pair is available from the order provider provided to `SwapQuote`. - -**Parameters:** - -Name | Type | ------- | ------ | -`makerAssetData` | string | -`takerAssetData` | string | - -**Returns:** *`Promise`* - -A boolean on if the taker, maker pair exists - -___ - -### `Static` getSwapQuoterForMeshEndpoint - -▸ **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)* - -Instantiates a new SwapQuoter instance given a 0x Mesh endpoint. This pulls all available liquidity stored in Mesh - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | -`meshEndpoint` | string | - | The standard relayer API base HTTP url you would like to source orders from. | -`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | - -**Returns:** *[SwapQuoter](#class-swapquoter)* - -An instance of SwapQuoter - -___ - -### `Static` getSwapQuoterForProvidedOrders - -▸ **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)* - -Instantiates a new SwapQuoter 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. | -`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | - -**Returns:** *[SwapQuoter](#class-swapquoter)* - -An instance of SwapQuoter - -___ - -### `Static` getSwapQuoterForStandardRelayerAPIUrl - -▸ **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)* - -Instantiates a new SwapQuoter 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 SwapQuoter. See type definition for details. | - -**Returns:** *[SwapQuoter](#class-swapquoter)* - -An instance of SwapQuoter - -___ - -### `Static` getSwapQuoterForStandardRelayerAPIWebsocket - -▸ **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)* - -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. - -**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. | -`sraWebsocketAPIUrl` | string | - | - | -`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | - -**Returns:** *[SwapQuoter](#class-swapquoter)* - -An instance of SwapQuoter - -
- -# Class: BaseOrderProvider - - -## Constructors - - - -\+ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orderStore` | [OrderStore](#class-orderstore) | - -**Returns:** *[BaseOrderProvider](#class-baseorderprovider)* - -## Properties - -### _orderStore - -• **_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)* - -## Methods - -### `Abstract` addOrdersAsync - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `SignedOrder`[] | - -**Returns:** *`Promise`* - -___ - -### `Abstract` createSubscriptionForAssetPairAsync - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`makerAssetData` | string | -`takerAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Abstract` destroyAsync - -▸ **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)* - -**Returns:** *`Promise`* - -___ - -### `Abstract` getAvailableAssetDatasAsync - -▸ **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)* - -**Returns:** *`Promise`* - -
- -# Class: OrderSet - - -## Constructors - - - -\+ **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)* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`orders` | `APIOrder`[] | [] | - -**Returns:** *[OrderSet](#class-orderset)* - -## Methods - -### add - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`item` | `APIOrder` | - -**Returns:** *void* - -___ - -### addMany - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`items` | `APIOrder`[] | - -**Returns:** *void* - -___ - -### delete - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`item` | `APIOrder` | - -**Returns:** *boolean* - -___ - -### deleteMany - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`items` | `APIOrder`[] | - -**Returns:** *void* - -___ - -### diff - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`other` | [OrderSet](#class-orderset) | - -**Returns:** *object* - -___ - -### has - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`order` | `APIOrder` | - -**Returns:** *boolean* - -___ - -### size - -▸ **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)* - -**Returns:** *number* - -___ - -### values - -▸ **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)* - -**Returns:** *`IterableIterator`* - -
- -# Class: OrderStore - - -## Methods - -### getOrderSetForAssetPair - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`assetPairKey` | string | - -**Returns:** *[OrderSet](#class-orderset)* - -___ - -### getOrderSetForAssets - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`makerAssetData` | string | -`takerAssetData` | string | - -**Returns:** *[OrderSet](#class-orderset)* - -___ - -### has - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`assetPairKey` | string | - -**Returns:** *boolean* - -___ - -### keys - -▸ **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)* - -**Returns:** *`IterableIterator`* - -___ - -### update - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`addedRemoved` | [AddedRemovedOrders](#interface-addedremovedorders) | - -**Returns:** *void* - -___ - -### values - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`assetPairKey` | string | - -**Returns:** *`APIOrder`[]* - -___ - -### `Static` assetPairKeyToAssets - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`assetPairKey` | string | - -**Returns:** *string[]* - -___ - -### `Static` getKeyForAssetPair - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`makerAssetData` | string | -`takerAssetData` | string | - -**Returns:** *string* - -
- -# Class: Orderbook - - -## Constructors - - - -\+ **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)* - -Creates an Orderbook with the order provider. All order updates are stored -in the `OrderStore`. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orderProvider` | [BaseOrderProvider](#class-baseorderprovider) | the order provider, e.g SRAWebbsocketOrderProvider | -`orderStore` | [OrderStore](#class-orderstore) | the order store where orders are added and deleted | - -**Returns:** *[Orderbook](#class-orderbook)* - -## Methods - -### addOrdersAsync - -▸ **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)* - -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 - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `SignedOrder`[] | The set of Orders to add to the Order Provider | - -**Returns:** *`Promise`* - -___ - -### destroyAsync - -▸ **destroyAsync**(): *`Promise`* - -*Defined in [orderbook/src/orderbook.ts:104](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L104)* - -Destroys any subscriptions or connections. - -**Returns:** *`Promise`* - -___ - -### getAvailableAssetDatasAsync - -▸ **getAvailableAssetDatasAsync**(): *`Promise`* - -*Defined in [orderbook/src/orderbook.ts:90](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L90)* - -Returns all of the Available Asset Pairs for the provided Order Provider. - -**Returns:** *`Promise`* - -___ - -### getOrdersAsync - -▸ **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)* - -Returns all orders where the order.makerAssetData == makerAssetData and -order.takerAssetData == takerAssetData. This pair is then subscribed to -and all future updates will be stored. The first request -to `getOrdersAsync` might fetch the orders from the Order Provider and create a subscription. -Subsequent requests will be quick and up to date and synced with the Order Provider state. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`makerAssetData` | string | the maker asset data | -`takerAssetData` | string | the taker asset data | - -**Returns:** *`Promise`* - -___ - -### `Static` getOrderbookForMeshProvider - -▸ **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)* - -Creates an Orderbook with a Mesh Order Provider. This Provider fetches ALL orders -and subscribes to updates on ALL orders. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`opts` | [MeshOrderProviderOpts](#interface-meshorderprovideropts) | the `MeshOrderProviderOpts` | - -**Returns:** *[Orderbook](#class-orderbook)* - -___ - -### `Static` getOrderbookForPollingProvider - -▸ **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)* - -Creates an Orderbook with SRA Polling Provider. This Provider simply polls every interval. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`opts` | [SRAPollingOrderProviderOpts](#interface-srapollingorderprovideropts) | the `SRAPollingOrderProviderOpts` | - -**Returns:** *[Orderbook](#class-orderbook)* - -___ - -### `Static` getOrderbookForProvidedOrders - -▸ **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)* - -Creates an Orderbook with the provided orders. This provider simply stores the -orders and allows querying. No validation or subscriptions occur. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `SignedOrder`[] | the set of SignedOrders | - -**Returns:** *[Orderbook](#class-orderbook)* - -___ - -### `Static` getOrderbookForWebsocketProvider - -▸ **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)* - -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. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`opts` | [SRAWebsocketOrderProviderOpts](#interface-srawebsocketorderprovideropts) | the `SRAWebsocketOrderProviderOpts` | - -**Returns:** *[Orderbook](#class-orderbook)* - -
- -# Enumeration: ExtensionContractType - -Represents the varying smart contracts that can consume a valid swap quote - - -## Enumeration members - -### Forwarder - -• **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)* - -___ - -### None - -• **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)* - -
- - - -# Enumeration: SwapQuoterError - -Possible error messages thrown by an SwapQuoter instance or associated static methods. - - -## Enumeration members - -### AssetUnavailable - -• **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)* - -___ - -### InsufficientAssetLiquidity - -• **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)* - -___ - -### InsufficientZrxLiquidity - -• **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)* - -___ - -### InvalidOrderProviderResponse - -• **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)* - -___ - -### NoEtherTokenContractFound - -• **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)* - -___ - -### NoZrxTokenContractFound - -• **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)* - -___ - -### StandardRelayerApiError - -• **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)* - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -# Interface: CalldataInfo - -Represents the metadata to call a smart contract with calldata. -calldataHexString: The hexstring of the calldata. -methodAbi: The ABI of the smart contract method to call. -toAddress: The contract address to call. -ethAmount: If provided, the eth amount in wei to send with the smart contract call. - - -## Properties - -### calldataHexString - -• **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)* - -___ - -### `Optional` ethAmount - -• **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)* - -___ - -### methodAbi - -• **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)* - -___ - -### toAddress - -• **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)* - -
- - - - - - - - - - - -# Interface: ForwarderSwapQuoteExecutionOpts - - -## Properties - -### `Optional` ethAmount - -• **ethAmount**? : *`BigNumber`* - -*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)* - -___ - -### feePercentage - -• **feePercentage**: *number* - -*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)* - -___ - -### feeRecipient - -• **feeRecipient**: *string* - -*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)* - -___ - -### `Optional` gasLimit - -• **gasLimit**? : *undefined | number* - -*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)* - -___ - -### `Optional` gasPrice - -• **gasPrice**? : *`BigNumber`* - -*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)* - -___ - -### `Optional` takerAddress - -• **takerAddress**? : *undefined | string* - -*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)* - -
- -# Interface: ForwarderSwapQuoteGetOutputOpts - -feePercentage: percentage (up to 5%) of the taker asset paid to feeRecipient -feeRecipient: address of the receiver of the feePercentage of taker asset -ethAmount: The amount of eth (in Wei) sent to the forwarder contract. - - -## Properties - -### `Optional` ethAmount - -• **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)* - -___ - -### feePercentage - -• **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)* - -___ - -### feeRecipient - -• **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)* - -
- -# Interface: GetExtensionContractTypeOpts - - -## Properties - -### `Optional` ethAmount - -• **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)* - -___ - -### `Optional` takerAddress - -• **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)* - -
- -# Interface: LiquidityForAssetData - -Represents available liquidity for a given assetData - - -## Properties - -### makerTokensAvailableInBaseUnits - -• **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)* - -___ - -### takerTokensAvailableInBaseUnits - -• **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)* - -
- -# Interface: MarketBuySwapQuote - -makerAssetFillAmount: The amount of makerAsset bought with takerAsset. -type: Specified MarketOperation the SwapQuote is provided for - - -## Properties - -### bestCaseQuoteInfo - -• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -___ - -### feeOrders - -• **feeOrders**: *`SignedOrder`[]* - -*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)* - -___ - -### makerAssetData - -• **makerAssetData**: *string* - -*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)* - -___ - -### makerAssetFillAmount - -• **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)* - -___ - -### orders - -• **orders**: *`SignedOrder`[]* - -*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)* - -___ - -### takerAssetData - -• **takerAssetData**: *string* - -*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)* - -___ - -### type - -• **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)* - -___ - -### worstCaseQuoteInfo - -• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -
- -# Interface: MarketBuySwapQuoteWithAffiliateFee - - -## Properties - -### bestCaseQuoteInfo - -• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -___ - -### feeOrders - -• **feeOrders**: *`SignedOrder`[]* - -*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)* - -___ - -### feePercentage - -• **feePercentage**: *number* - -*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)* - -___ - -### makerAssetData - -• **makerAssetData**: *string* - -*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)* - -___ - -### makerAssetFillAmount - -• **makerAssetFillAmount**: *`BigNumber`* - -*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)* - -___ - -### orders - -• **orders**: *`SignedOrder`[]* - -*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)* - -___ - -### takerAssetData - -• **takerAssetData**: *string* - -*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)* - -___ - -### type - -• **type**: *`Buy`* - -*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)* - -___ - -### worstCaseQuoteInfo - -• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -
- -# Interface: MarketSellSwapQuote - -takerAssetFillAmount: The amount of takerAsset sold for makerAsset. -type: Specified MarketOperation the SwapQuote is provided for - - -## Properties - -### bestCaseQuoteInfo - -• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -___ - -### feeOrders - -• **feeOrders**: *`SignedOrder`[]* - -*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)* - -___ - -### makerAssetData - -• **makerAssetData**: *string* - -*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)* - -___ - -### orders - -• **orders**: *`SignedOrder`[]* - -*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)* - -___ - -### takerAssetData - -• **takerAssetData**: *string* - -*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)* - -___ - -### takerAssetFillAmount - -• **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)* - -___ - -### type - -• **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)* - -___ - -### worstCaseQuoteInfo - -• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -
- -# Interface: MarketSellSwapQuoteWithAffiliateFee - - -## Properties - -### bestCaseQuoteInfo - -• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -___ - -### feeOrders - -• **feeOrders**: *`SignedOrder`[]* - -*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)* - -___ - -### feePercentage - -• **feePercentage**: *number* - -*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)* - -___ - -### makerAssetData - -• **makerAssetData**: *string* - -*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)* - -___ - -### orders - -• **orders**: *`SignedOrder`[]* - -*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)* - -___ - -### takerAssetData - -• **takerAssetData**: *string* - -*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)* - -___ - -### takerAssetFillAmount - -• **takerAssetFillAmount**: *`BigNumber`* - -*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)* - -___ - -### type - -• **type**: *`Sell`* - -*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)* - -___ - -### worstCaseQuoteInfo - -• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* - -*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)* - -
- - - - - - - - - - - -# Interface: SmartContractParamsInfo <**T**> - -Represents the metadata to call a smart contract with parameters. -params: The metadata object containing all the input parameters of a smart contract call. -toAddress: The contract address to call. -ethAmount: If provided, the eth amount in wei to send with the smart contract call. -methodAbi: The ABI of the smart contract method to call with params. - -## Type parameters - -▪ **T** - - -## Properties - -### `Optional` ethAmount - -• **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)* - -___ - -### methodAbi - -• **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)* - -___ - -### params - -• **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)* - -___ - -### toAddress - -• **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)* - -
- - - -# Interface: SwapQuoteConsumerBase <**T**> - -Interface that varying SwapQuoteConsumers adhere to (exchange consumer, router consumer, forwarder consumer, coordinator consumer) -getCalldataOrThrow: Get CalldataInfo to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided. -getSmartContractParamsOrThrow: Get SmartContractParamsInfo to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided. -executeSwapQuoteOrThrowAsync: Executes a web3 transaction to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided. - -## Type parameters - -▪ **T** - - -## Implemented by - -* [SwapQuoteConsumer](#class-swapquoteconsumer) - - -## Methods - -### executeSwapQuoteOrThrowAsync - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`quote` | [SwapQuote](#swapquote) | -`opts` | `Partial` | - -**Returns:** *`Promise`* - -___ - -### getCalldataOrThrowAsync - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`quote` | [SwapQuote](#swapquote) | -`opts` | `Partial` | - -**Returns:** *`Promise`* - -___ - -### getSmartContractParamsOrThrowAsync - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`quote` | [SwapQuote](#swapquote) | -`opts` | `Partial` | - -**Returns:** *`Promise>`* - -
- -# Interface: SwapQuoteConsumerOpts - -networkId: The networkId that the desired orders should be for. - - -## Properties - -### networkId - -• **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)* - -
- -# Interface: SwapQuoteExecutionOpts - -Represents the options for executing a swap quote with SwapQuoteConsumer - - -## Properties - -### `Optional` ethAmount - -• **ethAmount**? : *`BigNumber`* - -*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[ethAmount](#optional-ethamount)* - -*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)* - -___ - -### feePercentage - -• **feePercentage**: *number* - -*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feePercentage](#feepercentage)* - -*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)* - -___ - -### feeRecipient - -• **feeRecipient**: *string* - -*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feeRecipient](#feerecipient)* - -*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)* - -___ - -### `Optional` gasLimit - -• **gasLimit**? : *undefined | number* - -*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)* - -___ - -### `Optional` gasPrice - -• **gasPrice**? : *`BigNumber`* - -*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)* - -___ - -### `Optional` takerAddress - -• **takerAddress**? : *undefined | string* - -*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)* - -___ - -### useExtensionContract - -• **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)* - -*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)* - -
- -# Interface: SwapQuoteExecutionOptsBase - -takerAddress: The address to perform the buy. Defaults to the first available address from the provider. -gasLimit: The amount of gas to send with a transaction (in Gwei). Defaults to an eth_estimateGas rpc call. -gasPrice: Gas price in Wei to use for a transaction - - -## Properties - -### `Optional` gasLimit - -• **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)* - -___ - -### `Optional` gasPrice - -• **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)* - -___ - -### `Optional` takerAddress - -• **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)* - -
- -# Interface: SwapQuoteGetOutputOpts - -takerAddress: The address to perform the buy. Defaults to the first available address from the provider. -useConsumerType: If provided, defaults the SwapQuoteConsumer to create output consumed by ConsumerType. - - -## Properties - -### `Optional` ethAmount - -• **ethAmount**? : *`BigNumber`* - -*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)* - -___ - -### feePercentage - -• **feePercentage**: *number* - -*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)* - -___ - -### feeRecipient - -• **feeRecipient**: *string* - -*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)* - -___ - -### useExtensionContract - -• **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)* - -
- -# Interface: SwapQuoteGetOutputOptsBase - -Represents the options provided to a generic SwapQuoteConsumer - - -## Hierarchy - -* **SwapQuoteInfo** - - -## Properties - -### feeTakerTokenAmount - -• **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)* - -___ - -### makerTokenAmount - -• **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)* - -___ - -### takerTokenAmount - -• **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)* - -___ - -### totalTakerTokenAmount - -• **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)* - -
- -# Interface: SwapQuoteRequestOpts - -shouldDisableRequestingFeeOrders: If set to true, requesting a swapQuote will not perform any computation or requests for fees. -slippagePercentage: The percentage buffer to add to account for slippage. Affects max ETH price estimates. Defaults to 0.2 (20%). - - -## Properties - -### shouldDisableRequestingFeeOrders - -• **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)* - -___ - -### slippagePercentage - -• **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)* - -
- -# Interface: SwapQuoterOpts - -networkId: The ethereum network id. Defaults to 1 (mainnet). -orderRefreshIntervalMs: The interval in ms that getBuyQuoteAsync should trigger an refresh of orders and order states. Defaults to 10000ms (10s). -expiryBufferMs: The number of seconds to add when calculating whether an order is expired or not. Defaults to 300s (5m). - - -## Properties - -### expiryBufferMs - -• **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)* - -___ - -### networkId - -• **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)* - -___ - -### orderRefreshIntervalMs - -• **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)* - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Interface: DataItem - - -## Properties - -### `Optional` components - -• **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)* - -___ - -### name - -• **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)* - -___ - -### type - -• **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)* - -
- - - - - - - -# Interface: EIP1193Provider - - -## Properties - -### isEIP1193 - -• **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)* - -## Methods - -### on - -▸ **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)* - -**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/11d3d6804/packages/ethereum-types/src/index.ts#L74)* - -**Parameters:** - -Name | Type | ------- | ------ | -`method` | string | -`params?` | any[] | - -**Returns:** *`Promise`* - -
- - - - - - - - - - - - - -# 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/11d3d6804/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:324](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L324)* - -___ - -### jsonrpc - -• **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)* - -___ - -### method - -• **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)* - -___ - -### params - -• **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)* - -
- -# Interface: JSONRPCResponseError - - -## Properties - -### code - -• **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)* - -___ - -### message - -• **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)* - -
- -# Interface: JSONRPCResponsePayload - - -## Properties - -### `Optional` error - -• **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)* - -___ - -### id - -• **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)* - -___ - -### jsonrpc - -• **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)* - -___ - -### result - -• **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)* - -
- - - - - - - -# Interface: MethodAbi - - -## Properties - -### constant - -• **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)* - -___ - -### inputs - -• **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)* - -___ - -### name - -• **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)* - -___ - -### outputs - -• **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)* - -___ - -### payable - -• **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)* - -___ - -### stateMutability - -• **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)* - -___ - -### type - -• **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)* - -
- - - - - - - - - - - - - - - - - - - - - - - - - # Class: InsufficientAssetLiquidityError Error class representing insufficient asset liquidity @@ -2439,7 +9,7 @@ Error class representing insufficient asset liquidity \+ **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)* +*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/errors.ts#L12)* **Parameters:** @@ -2455,7 +25,7 @@ Name | Type | Description | • **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)* +*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. @@ -2500,6 +70,2446 @@ ___
+ +# Class: SwapQuoteConsumer + + +## Implements + +* [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)‹*[SmartContractParams](#smartcontractparams)*› + + +## Constructors + + + +\+ **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/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L31)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`options` | `Partial` | {} | + +**Returns:** *[SwapQuoteConsumer](#class-swapquoteconsumer)* + +## Properties + +### networkId + +• **networkId**: *number* + +*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)* + +___ + +### provider + +• **provider**: *`ZeroExProvider`* + +*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 + +### executeSwapQuoteOrThrowAsync + +▸ **executeSwapQuoteOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* + +*Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. | +`opts` | `Partial` | {} | Options for getting CalldataInfo. See type definition for more information. | + +**Returns:** *`Promise`* + +___ + +### getCalldataOrThrowAsync + +▸ **getCalldataOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* + +*Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. | +`opts` | `Partial` | {} | Options for getting SmartContractParams. See type definition for more information. | + +**Returns:** *`Promise`* + +___ + +### getOptimalExtensionContractTypeAsync + +▸ **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/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L90)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`quote` | [SwapQuote](#swapquote) | - | +`opts` | `Partial` | {} | + +**Returns:** *`Promise`* + +___ + +### getSmartContractParamsOrThrowAsync + +▸ **getSmartContractParamsOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise>`* + +*Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. | +`opts` | `Partial` | {} | Options for getting SmartContractParams. See type definition for more information. | + +**Returns:** *`Promise>`* + +
+ +# Class: SwapQuoter + + +## Constructors + + + +\+ **new SwapQuoter**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orderbook`: `Orderbook`, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* + +*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 + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | +`orderbook` | `Orderbook` | - | An object that conforms to Orderbook, see type for definition. | +`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | + +**Returns:** *[SwapQuoter](#class-swapquoter)* + +An instance of SwapQuoter + +## Properties + +### expiryBufferMs + +• **expiryBufferMs**: *number* + +*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)* + +___ + +### orderbook + +• **orderbook**: *`Orderbook`* + +*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)* + +___ + +### provider + +• **provider**: *`ZeroExProvider`* + +*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 + +### destroyAsync + +▸ **destroyAsync**(): *`Promise`* + +*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. + +**Returns:** *`Promise`* + +___ + +### getAvailableMakerAssetDatasAsync + +▸ **getAvailableMakerAssetDatasAsync**(`takerAssetData`: string): *`Promise`* + +*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. + +**Parameters:** + +Name | Type | +------ | ------ | +`takerAssetData` | string | + +**Returns:** *`Promise`* + +An array of asset data strings that are purchaseable with takerAssetData. + +___ + +### getAvailableTakerAssetDatasAsync + +▸ **getAvailableTakerAssetDatasAsync**(`makerAssetData`: string): *`Promise`* + +*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. + +**Parameters:** + +Name | Type | +------ | ------ | +`makerAssetData` | string | + +**Returns:** *`Promise`* + +An array of asset data strings that can purchase makerAssetData. + +___ + +### getLiquidityForMakerTakerAssetDataPairAsync + +▸ **getLiquidityForMakerTakerAssetDataPairAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* + +*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 + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | + +**Returns:** *`Promise`* + +An object that conforms to LiquidityForAssetData that satisfies the request. See type definition for more information. + +___ + +### getMarketBuySwapQuoteAsync + +▸ **getMarketBuySwapQuoteAsync**(`makerTokenAddress`: string, `takerTokenAddress`: string, `makerAssetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`makerTokenAddress` | string | - | The address of the maker asset | +`takerTokenAddress` | string | - | The address of the taker asset | +`makerAssetBuyAmount` | `BigNumber` | - | The amount of maker asset to swap for. | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | + +**Returns:** *`Promise`* + +An object that conforms to SwapQuote that satisfies the request. See type definition for more information. + +___ + +### getMarketBuySwapQuoteForAssetDataAsync + +▸ **getMarketBuySwapQuoteForAssetDataAsync**(`makerAssetData`: string, `takerAssetData`: string, `makerAssetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`makerAssetData` | string | - | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`takerAssetData` | string | - | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`makerAssetBuyAmount` | `BigNumber` | - | The amount of maker asset to swap for. | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | + +**Returns:** *`Promise`* + +An object that conforms to SwapQuote that satisfies the request. See type definition for more information. + +___ + +### getMarketSellSwapQuoteAsync + +▸ **getMarketSellSwapQuoteAsync**(`makerTokenAddress`: string, `takerTokenAddress`: string, `takerAssetSellAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`makerTokenAddress` | string | - | The address of the maker asset | +`takerTokenAddress` | string | - | The address of the taker asset | +`takerAssetSellAmount` | `BigNumber` | - | The amount of taker asset to sell. | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | + +**Returns:** *`Promise`* + +An object that conforms to SwapQuote that satisfies the request. See type definition for more information. + +___ + +### getMarketSellSwapQuoteForAssetDataAsync + +▸ **getMarketSellSwapQuoteForAssetDataAsync**(`makerAssetData`: string, `takerAssetData`: string, `takerAssetSellAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* + +*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. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`makerAssetData` | string | - | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`takerAssetData` | string | - | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`takerAssetSellAmount` | `BigNumber` | - | The amount of taker asset to swap for. | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | + +**Returns:** *`Promise`* + +An object that conforms to SwapQuote that satisfies the request. See type definition for more information. + +___ + +### getOrdersAndFillableAmountsAsync + +▸ **getOrdersAndFillableAmountsAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* + +*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 + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | + +**Returns:** *`Promise`* + +___ + +### isTakerAddressAllowanceEnoughForBestAndWorstQuoteInfoAsync + +▸ **isTakerAddressAllowanceEnoughForBestAndWorstQuoteInfoAsync**(`swapQuote`: [SwapQuote](#swapquote), `takerAddress`: string): *`Promise<[boolean, boolean]>`* + +*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. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`swapQuote` | [SwapQuote](#swapquote) | The swapQuote in question to check enough allowance enabled for 0x exchange contracts to conduct the swap. | +`takerAddress` | string | The address of the taker of the provided swapQuote | + +**Returns:** *`Promise<[boolean, boolean]>`* + +___ + +### isTakerMakerAssetDataPairAvailableAsync + +▸ **isTakerMakerAssetDataPairAvailableAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* + +*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`. + +**Parameters:** + +Name | Type | +------ | ------ | +`makerAssetData` | string | +`takerAssetData` | string | + +**Returns:** *`Promise`* + +A boolean on if the taker, maker pair exists + +___ + +### `Static` getSwapQuoterForMeshEndpoint + +▸ **getSwapQuoterForMeshEndpoint**(`supportedProvider`: [SupportedProvider](#supportedprovider), `meshEndpoint`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* + +*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 + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | +`meshEndpoint` | string | - | The standard relayer API base HTTP url you would like to source orders from. | +`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | + +**Returns:** *[SwapQuoter](#class-swapquoter)* + +An instance of SwapQuoter + +___ + +### `Static` getSwapQuoterForProvidedOrders + +▸ **getSwapQuoterForProvidedOrders**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orders`: `SignedOrder`[], `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* + +*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. + +**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. | +`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | + +**Returns:** *[SwapQuoter](#class-swapquoter)* + +An instance of SwapQuoter + +___ + +### `Static` getSwapQuoterForStandardRelayerAPIUrl + +▸ **getSwapQuoterForStandardRelayerAPIUrl**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* + +*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 + +**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 SwapQuoter. See type definition for details. | + +**Returns:** *[SwapQuoter](#class-swapquoter)* + +An instance of SwapQuoter + +___ + +### `Static` getSwapQuoterForStandardRelayerAPIWebsocket + +▸ **getSwapQuoterForStandardRelayerAPIWebsocket**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `sraWebsocketAPIUrl`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* + +*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. + +**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. | +`sraWebsocketAPIUrl` | string | - | - | +`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. | + +**Returns:** *[SwapQuoter](#class-swapquoter)* + +An instance of SwapQuoter + +
+ +# Class: BaseOrderProvider + + +## Constructors + + + +\+ **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/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L12)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orderStore` | [OrderStore](#class-orderstore) | + +**Returns:** *[BaseOrderProvider](#class-baseorderprovider)* + +## Properties + +### _orderStore + +• **_orderStore**: *[OrderStore](#class-orderstore)* + +*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 + +### `Abstract` addOrdersAsync + +▸ **addOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* + +*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:** + +Name | Type | +------ | ------ | +`orders` | `SignedOrder`[] | + +**Returns:** *`Promise`* + +___ + +### `Abstract` createSubscriptionForAssetPairAsync + +▸ **createSubscriptionForAssetPairAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* + +*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:** + +Name | Type | +------ | ------ | +`makerAssetData` | string | +`takerAssetData` | string | + +**Returns:** *`Promise`* + +___ + +### `Abstract` destroyAsync + +▸ **destroyAsync**(): *`Promise`* + +*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`* + +___ + +### `Abstract` getAvailableAssetDatasAsync + +▸ **getAvailableAssetDatasAsync**(): *`Promise`* + +*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`* + +
+ +# Class: OrderSet + + +## Constructors + + + +\+ **new OrderSet**(`orders`: `APIOrder`[]): *[OrderSet](#class-orderset)* + +*Defined in [orderbook/src/order_set.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L6)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`orders` | `APIOrder`[] | [] | + +**Returns:** *[OrderSet](#class-orderset)* + +## Methods + +### add + +▸ **add**(`item`: `APIOrder`): *void* + +*Defined in [orderbook/src/order_set.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L19)* + +**Parameters:** + +Name | Type | +------ | ------ | +`item` | `APIOrder` | + +**Returns:** *void* + +___ + +### addMany + +▸ **addMany**(`items`: `APIOrder`[]): *void* + +*Defined in [orderbook/src/order_set.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L25)* + +**Parameters:** + +Name | Type | +------ | ------ | +`items` | `APIOrder`[] | + +**Returns:** *void* + +___ + +### delete + +▸ **delete**(`item`: `APIOrder`): *boolean* + +*Defined in [orderbook/src/order_set.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L57)* + +**Parameters:** + +Name | Type | +------ | ------ | +`item` | `APIOrder` | + +**Returns:** *boolean* + +___ + +### deleteMany + +▸ **deleteMany**(`items`: `APIOrder`[]): *void* + +*Defined in [orderbook/src/order_set.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L61)* + +**Parameters:** + +Name | Type | +------ | ------ | +`items` | `APIOrder`[] | + +**Returns:** *void* + +___ + +### diff + +▸ **diff**(`other`: [OrderSet](#class-orderset)): *object* + +*Defined in [orderbook/src/order_set.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L35)* + +**Parameters:** + +Name | Type | +------ | ------ | +`other` | [OrderSet](#class-orderset) | + +**Returns:** *object* + +___ + +### has + +▸ **has**(`order`: `APIOrder`): *boolean* + +*Defined in [orderbook/src/order_set.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L31)* + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | `APIOrder` | + +**Returns:** *boolean* + +___ + +### size + +▸ **size**(): *number* + +*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* + +___ + +### values + +▸ **values**(): *`IterableIterator`* + +*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`* + +
+ +# Class: OrderStore + + +## Methods + +### getOrderSetForAssetPair + +▸ **getOrderSetForAssetPair**(`assetPairKey`: string): *[OrderSet](#class-orderset)* + +*Defined in [orderbook/src/order_store.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L19)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetPairKey` | string | + +**Returns:** *[OrderSet](#class-orderset)* + +___ + +### getOrderSetForAssets + +▸ **getOrderSetForAssets**(`makerAssetData`: string, `takerAssetData`: string): *[OrderSet](#class-orderset)* + +*Defined in [orderbook/src/order_store.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L15)* + +**Parameters:** + +Name | Type | +------ | ------ | +`makerAssetData` | string | +`takerAssetData` | string | + +**Returns:** *[OrderSet](#class-orderset)* + +___ + +### has + +▸ **has**(`assetPairKey`: string): *boolean* + +*Defined in [orderbook/src/order_store.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L34)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetPairKey` | string | + +**Returns:** *boolean* + +___ + +### keys + +▸ **keys**(): *`IterableIterator`* + +*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`* + +___ + +### update + +▸ **update**(`addedRemoved`: [AddedRemovedOrders](#interface-addedremovedorders)): *void* + +*Defined in [orderbook/src/order_store.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L28)* + +**Parameters:** + +Name | Type | +------ | ------ | +`addedRemoved` | [AddedRemovedOrders](#interface-addedremovedorders) | + +**Returns:** *void* + +___ + +### values + +▸ **values**(`assetPairKey`: string): *`APIOrder`[]* + +*Defined in [orderbook/src/order_store.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L37)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetPairKey` | string | + +**Returns:** *`APIOrder`[]* + +___ + +### `Static` assetPairKeyToAssets + +▸ **assetPairKeyToAssets**(`assetPairKey`: string): *string[]* + +*Defined in [orderbook/src/order_store.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L12)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetPairKey` | string | + +**Returns:** *string[]* + +___ + +### `Static` getKeyForAssetPair + +▸ **getKeyForAssetPair**(`makerAssetData`: string, `takerAssetData`: string): *string* + +*Defined in [orderbook/src/order_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L9)* + +**Parameters:** + +Name | Type | +------ | ------ | +`makerAssetData` | string | +`takerAssetData` | string | + +**Returns:** *string* + +
+ +# Class: Orderbook + + +## Constructors + + + +\+ **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/9fe6c196a/packages/orderbook/src/orderbook.ts#L55)* + +Creates an Orderbook with the order provider. All order updates are stored +in the `OrderStore`. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orderProvider` | [BaseOrderProvider](#class-baseorderprovider) | the order provider, e.g SRAWebbsocketOrderProvider | +`orderStore` | [OrderStore](#class-orderstore) | the order store where orders are added and deleted | + +**Returns:** *[Orderbook](#class-orderbook)* + +## Methods + +### addOrdersAsync + +▸ **addOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* + +*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 + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `SignedOrder`[] | The set of Orders to add to the Order Provider | + +**Returns:** *`Promise`* + +___ + +### destroyAsync + +▸ **destroyAsync**(): *`Promise`* + +*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. + +**Returns:** *`Promise`* + +___ + +### getAvailableAssetDatasAsync + +▸ **getAvailableAssetDatasAsync**(): *`Promise`* + +*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. + +**Returns:** *`Promise`* + +___ + +### getOrdersAsync + +▸ **getOrdersAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* + +*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 +and all future updates will be stored. The first request +to `getOrdersAsync` might fetch the orders from the Order Provider and create a subscription. +Subsequent requests will be quick and up to date and synced with the Order Provider state. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`makerAssetData` | string | the maker asset data | +`takerAssetData` | string | the taker asset data | + +**Returns:** *`Promise`* + +___ + +### `Static` getOrderbookForMeshProvider + +▸ **getOrderbookForMeshProvider**(`opts`: [MeshOrderProviderOpts](#interface-meshorderprovideropts)): *[Orderbook](#class-orderbook)* + +*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. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`opts` | [MeshOrderProviderOpts](#interface-meshorderprovideropts) | the `MeshOrderProviderOpts` | + +**Returns:** *[Orderbook](#class-orderbook)* + +___ + +### `Static` getOrderbookForPollingProvider + +▸ **getOrderbookForPollingProvider**(`opts`: [SRAPollingOrderProviderOpts](#interface-srapollingorderprovideropts)): *[Orderbook](#class-orderbook)* + +*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. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`opts` | [SRAPollingOrderProviderOpts](#interface-srapollingorderprovideropts) | the `SRAPollingOrderProviderOpts` | + +**Returns:** *[Orderbook](#class-orderbook)* + +___ + +### `Static` getOrderbookForProvidedOrders + +▸ **getOrderbookForProvidedOrders**(`orders`: `SignedOrder`[]): *[Orderbook](#class-orderbook)* + +*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. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `SignedOrder`[] | the set of SignedOrders | + +**Returns:** *[Orderbook](#class-orderbook)* + +___ + +### `Static` getOrderbookForWebsocketProvider + +▸ **getOrderbookForWebsocketProvider**(`opts`: [SRAWebsocketOrderProviderOpts](#interface-srawebsocketorderprovideropts)): *[Orderbook](#class-orderbook)* + +*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. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`opts` | [SRAWebsocketOrderProviderOpts](#interface-srawebsocketorderprovideropts) | the `SRAWebsocketOrderProviderOpts` | + +**Returns:** *[Orderbook](#class-orderbook)* + +
+ +# Enumeration: ExtensionContractType + +Represents the varying smart contracts that can consume a valid swap quote + + +## Enumeration members + +### Forwarder + +• **Forwarder**: = "FORWARDER" + +*Defined in [asset-swapper/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L90)* + +___ + +### None + +• **None**: = "NONE" + +*Defined in [asset-swapper/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L91)* + +
+ + + +# Enumeration: SwapQuoterError + +Possible error messages thrown by an SwapQuoter instance or associated static methods. + + +## Enumeration members + +### AssetUnavailable + +• **AssetUnavailable**: = "ASSET_UNAVAILABLE" + +*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)* + +___ + +### InsufficientAssetLiquidity + +• **InsufficientAssetLiquidity**: = "INSUFFICIENT_ASSET_LIQUIDITY" + +*Defined in [asset-swapper/src/types.ts:302](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L302)* + +___ + +### InsufficientZrxLiquidity + +• **InsufficientZrxLiquidity**: = "INSUFFICIENT_ZRX_LIQUIDITY" + +*Defined in [asset-swapper/src/types.ts:303](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L303)* + +___ + +### InvalidOrderProviderResponse + +• **InvalidOrderProviderResponse**: = "INVALID_ORDER_PROVIDER_RESPONSE" + +*Defined in [asset-swapper/src/types.ts:304](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L304)* + +___ + +### NoEtherTokenContractFound + +• **NoEtherTokenContractFound**: = "NO_ETHER_TOKEN_CONTRACT_FOUND" + +*Defined in [asset-swapper/src/types.ts:299](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L299)* + +___ + +### NoZrxTokenContractFound + +• **NoZrxTokenContractFound**: = "NO_ZRX_TOKEN_CONTRACT_FOUND" + +*Defined in [asset-swapper/src/types.ts:300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L300)* + +___ + +### StandardRelayerApiError + +• **StandardRelayerApiError**: = "STANDARD_RELAYER_API_ERROR" + +*Defined in [asset-swapper/src/types.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L301)* + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Interface: CalldataInfo + +Represents the metadata to call a smart contract with calldata. +calldataHexString: The hexstring of the calldata. +methodAbi: The ABI of the smart contract method to call. +toAddress: The contract address to call. +ethAmount: If provided, the eth amount in wei to send with the smart contract call. + + +## Properties + +### calldataHexString + +• **calldataHexString**: *string* + +*Defined in [asset-swapper/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L39)* + +___ + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L42)* + +___ + +### methodAbi + +• **methodAbi**: *`MethodAbi`* + +*Defined in [asset-swapper/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L40)* + +___ + +### toAddress + +• **toAddress**: *string* + +*Defined in [asset-swapper/src/types.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L41)* + +
+ + + + + + + + + + + +# Interface: ForwarderSwapQuoteExecutionOpts + + +## Properties + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[ethAmount](#optional-ethamount)* + +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* + +___ + +### feePercentage + +• **feePercentage**: *number* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feePercentage](#feepercentage)* + +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* + +___ + +### feeRecipient + +• **feeRecipient**: *string* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feeRecipient](#feerecipient)* + +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* + +___ + +### `Optional` gasLimit + +• **gasLimit**? : *undefined | number* + +*Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasLimit](#optional-gaslimit)* + +*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L169)* + +___ + +### `Optional` gasPrice + +• **gasPrice**? : *`BigNumber`* + +*Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasPrice](#optional-gasprice)* + +*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L170)* + +___ + +### `Optional` takerAddress + +• **takerAddress**? : *undefined | string* + +*Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[takerAddress](#optional-takeraddress)* + +*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L168)* + +
+ +# Interface: ForwarderSwapQuoteGetOutputOpts + +feePercentage: percentage (up to 5%) of the taker asset paid to feeRecipient +feeRecipient: address of the receiver of the feePercentage of taker asset +ethAmount: The amount of eth (in Wei) sent to the forwarder contract. + + +## Properties + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* + +___ + +### feePercentage + +• **feePercentage**: *number* + +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* + +___ + +### feeRecipient + +• **feeRecipient**: *string* + +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* + +
+ +# Interface: GetExtensionContractTypeOpts + + +## Properties + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:188](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L188)* + +___ + +### `Optional` takerAddress + +• **takerAddress**? : *undefined | string* + +*Defined in [asset-swapper/src/types.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L187)* + +
+ +# Interface: LiquidityForAssetData + +Represents available liquidity for a given assetData + + +## Properties + +### makerTokensAvailableInBaseUnits + +• **makerTokensAvailableInBaseUnits**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:322](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L322)* + +___ + +### takerTokensAvailableInBaseUnits + +• **takerTokensAvailableInBaseUnits**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:323](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L323)* + +
+ +# Interface: MarketBuySwapQuote + +makerAssetFillAmount: The amount of makerAsset bought with takerAsset. +type: Specified MarketOperation the SwapQuote is provided for + + +## Properties + +### bestCaseQuoteInfo + +• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* + +___ + +### feeOrders + +• **feeOrders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* + +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* + +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* + +___ + +### makerAssetFillAmount + +• **makerAssetFillAmount**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L237)* + +___ + +### orders + +• **orders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* + +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* + +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* + +___ + +### type + +• **type**: *`Buy`* + +*Defined in [asset-swapper/src/types.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L238)* + +___ + +### worstCaseQuoteInfo + +• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)* + +
+ +# Interface: MarketBuySwapQuoteWithAffiliateFee + + +## Properties + +### bestCaseQuoteInfo + +• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* + +___ + +### feeOrders + +• **feeOrders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* + +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* + +___ + +### feePercentage + +• **feePercentage**: *number* + +*Inherited from [SwapQuoteWithAffiliateFeeBase](#interface-swapquotewithaffiliatefeebase).[feePercentage](#feepercentage)* + +*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L242)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* + +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* + +___ + +### makerAssetFillAmount + +• **makerAssetFillAmount**: *`BigNumber`* + +*Inherited from [MarketBuySwapQuote](#interface-marketbuyswapquote).[makerAssetFillAmount](#makerassetfillamount)* + +*Defined in [asset-swapper/src/types.ts:237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L237)* + +___ + +### orders + +• **orders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* + +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* + +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* + +___ + +### type + +• **type**: *`Buy`* + +*Inherited from [MarketBuySwapQuote](#interface-marketbuyswapquote).[type](#type)* + +*Defined in [asset-swapper/src/types.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L238)* + +___ + +### worstCaseQuoteInfo + +• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)* + +
+ +# Interface: MarketSellSwapQuote + +takerAssetFillAmount: The amount of takerAsset sold for makerAsset. +type: Specified MarketOperation the SwapQuote is provided for + + +## Properties + +### bestCaseQuoteInfo + +• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* + +___ + +### feeOrders + +• **feeOrders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* + +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* + +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* + +___ + +### orders + +• **orders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* + +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* + +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* + +___ + +### takerAssetFillAmount + +• **takerAssetFillAmount**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L228)* + +___ + +### type + +• **type**: *`Sell`* + +*Defined in [asset-swapper/src/types.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L229)* + +___ + +### worstCaseQuoteInfo + +• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)* + +
+ +# Interface: MarketSellSwapQuoteWithAffiliateFee + + +## Properties + +### bestCaseQuoteInfo + +• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* + +___ + +### feeOrders + +• **feeOrders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* + +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* + +___ + +### feePercentage + +• **feePercentage**: *number* + +*Inherited from [SwapQuoteWithAffiliateFeeBase](#interface-swapquotewithaffiliatefeebase).[feePercentage](#feepercentage)* + +*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L242)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* + +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* + +___ + +### orders + +• **orders**: *`SignedOrder`[]* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* + +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* + +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* + +___ + +### takerAssetFillAmount + +• **takerAssetFillAmount**: *`BigNumber`* + +*Inherited from [MarketSellSwapQuote](#interface-marketsellswapquote).[takerAssetFillAmount](#takerassetfillamount)* + +*Defined in [asset-swapper/src/types.ts:228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L228)* + +___ + +### type + +• **type**: *`Sell`* + +*Inherited from [MarketSellSwapQuote](#interface-marketsellswapquote).[type](#type)* + +*Defined in [asset-swapper/src/types.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L229)* + +___ + +### worstCaseQuoteInfo + +• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* + +*Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* + +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)* + +
+ + + + + + + + + + + +# Interface: SmartContractParamsInfo <**T**> + +Represents the metadata to call a smart contract with parameters. +params: The metadata object containing all the input parameters of a smart contract call. +toAddress: The contract address to call. +ethAmount: If provided, the eth amount in wei to send with the smart contract call. +methodAbi: The ABI of the smart contract method to call with params. + +## Type parameters + +▪ **T** + + +## Properties + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L55)* + +___ + +### methodAbi + +• **methodAbi**: *`MethodAbi`* + +*Defined in [asset-swapper/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L56)* + +___ + +### params + +• **params**: *`T`* + +*Defined in [asset-swapper/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L53)* + +___ + +### toAddress + +• **toAddress**: *string* + +*Defined in [asset-swapper/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L54)* + +
+ + + +# Interface: SwapQuoteConsumerBase <**T**> + +Interface that varying SwapQuoteConsumers adhere to (exchange consumer, router consumer, forwarder consumer, coordinator consumer) +getCalldataOrThrow: Get CalldataInfo to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided. +getSmartContractParamsOrThrow: Get SmartContractParamsInfo to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided. +executeSwapQuoteOrThrowAsync: Executes a web3 transaction to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided. + +## Type parameters + +▪ **T** + + +## Implemented by + +* [SwapQuoteConsumer](#class-swapquoteconsumer) + + +## Methods + +### executeSwapQuoteOrThrowAsync + +▸ **executeSwapQuoteOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* + +*Defined in [asset-swapper/src/types.ts:147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L147)* + +**Parameters:** + +Name | Type | +------ | ------ | +`quote` | [SwapQuote](#swapquote) | +`opts` | `Partial` | + +**Returns:** *`Promise`* + +___ + +### getCalldataOrThrowAsync + +▸ **getCalldataOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* + +*Defined in [asset-swapper/src/types.ts:142](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L142)* + +**Parameters:** + +Name | Type | +------ | ------ | +`quote` | [SwapQuote](#swapquote) | +`opts` | `Partial` | + +**Returns:** *`Promise`* + +___ + +### getSmartContractParamsOrThrowAsync + +▸ **getSmartContractParamsOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise>`* + +*Defined in [asset-swapper/src/types.ts:143](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L143)* + +**Parameters:** + +Name | Type | +------ | ------ | +`quote` | [SwapQuote](#swapquote) | +`opts` | `Partial` | + +**Returns:** *`Promise>`* + +
+ +# Interface: SwapQuoteConsumerOpts + +networkId: The networkId that the desired orders should be for. + + +## Properties + +### networkId + +• **networkId**: *number* + +*Defined in [asset-swapper/src/types.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L154)* + +
+ +# Interface: SwapQuoteExecutionOpts + +Represents the options for executing a swap quote with SwapQuoteConsumer + + +## Properties + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[ethAmount](#optional-ethamount)* + +*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/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* + +___ + +### feePercentage + +• **feePercentage**: *number* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feePercentage](#feepercentage)* + +*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/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* + +___ + +### feeRecipient + +• **feeRecipient**: *string* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feeRecipient](#feerecipient)* + +*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/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* + +___ + +### `Optional` gasLimit + +• **gasLimit**? : *undefined | number* + +*Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasLimit](#optional-gaslimit)* + +*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L169)* + +___ + +### `Optional` gasPrice + +• **gasPrice**? : *`BigNumber`* + +*Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasPrice](#optional-gasprice)* + +*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L170)* + +___ + +### `Optional` takerAddress + +• **takerAddress**? : *undefined | string* + +*Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[takerAddress](#optional-takeraddress)* + +*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L168)* + +___ + +### useExtensionContract + +• **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)* + +*Inherited from [SwapQuoteGetOutputOpts](#interface-swapquotegetoutputopts).[useExtensionContract](#useextensioncontract)* + +*Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L196)* + +
+ +# Interface: SwapQuoteExecutionOptsBase + +takerAddress: The address to perform the buy. Defaults to the first available address from the provider. +gasLimit: The amount of gas to send with a transaction (in Gwei). Defaults to an eth_estimateGas rpc call. +gasPrice: Gas price in Wei to use for a transaction + + +## Properties + +### `Optional` gasLimit + +• **gasLimit**? : *undefined | number* + +*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L169)* + +___ + +### `Optional` gasPrice + +• **gasPrice**? : *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L170)* + +___ + +### `Optional` takerAddress + +• **takerAddress**? : *undefined | string* + +*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L168)* + +
+ +# Interface: SwapQuoteGetOutputOpts + +takerAddress: The address to perform the buy. Defaults to the first available address from the provider. +useConsumerType: If provided, defaults the SwapQuoteConsumer to create output consumed by ConsumerType. + + +## Properties + +### `Optional` ethAmount + +• **ethAmount**? : *`BigNumber`* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[ethAmount](#optional-ethamount)* + +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* + +___ + +### feePercentage + +• **feePercentage**: *number* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feePercentage](#feepercentage)* + +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* + +___ + +### feeRecipient + +• **feeRecipient**: *string* + +*Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feeRecipient](#feerecipient)* + +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* + +___ + +### useExtensionContract + +• **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)* + +*Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L196)* + +
+ +# Interface: SwapQuoteGetOutputOptsBase + +Represents the options provided to a generic SwapQuoteConsumer + + +## Hierarchy + +* **SwapQuoteInfo** + + +## Properties + +### feeTakerTokenAmount + +• **feeTakerTokenAmount**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:258](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L258)* + +___ + +### makerTokenAmount + +• **makerTokenAmount**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L261)* + +___ + +### takerTokenAmount + +• **takerTokenAmount**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:260](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L260)* + +___ + +### totalTakerTokenAmount + +• **totalTakerTokenAmount**: *`BigNumber`* + +*Defined in [asset-swapper/src/types.ts:259](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L259)* + +
+ +# Interface: SwapQuoteRequestOpts + +shouldDisableRequestingFeeOrders: If set to true, requesting a swapQuote will not perform any computation or requests for fees. +slippagePercentage: The percentage buffer to add to account for slippage. Affects max ETH price estimates. Defaults to 0.2 (20%). + + +## Properties + +### shouldDisableRequestingFeeOrders + +• **shouldDisableRequestingFeeOrders**: *boolean* + +*Defined in [asset-swapper/src/types.ts:269](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L269)* + +___ + +### slippagePercentage + +• **slippagePercentage**: *number* + +*Defined in [asset-swapper/src/types.ts:270](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L270)* + +
+ +# Interface: SwapQuoterOpts + +networkId: The ethereum network id. Defaults to 1 (mainnet). +orderRefreshIntervalMs: The interval in ms that getBuyQuoteAsync should trigger an refresh of orders and order states. Defaults to 10000ms (10s). +expiryBufferMs: The number of seconds to add when calculating whether an order is expired or not. Defaults to 300s (5m). + + +## Properties + +### expiryBufferMs + +• **expiryBufferMs**: *number* + +*Defined in [asset-swapper/src/types.ts:281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L281)* + +___ + +### networkId + +• **networkId**: *number* + +*Defined in [asset-swapper/src/types.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L279)* + +___ + +### orderRefreshIntervalMs + +• **orderRefreshIntervalMs**: *number* + +*Defined in [asset-swapper/src/types.ts:280](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L280)* + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# 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: 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: 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: MethodAbi + + +## 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)* + +___ + +### inputs + +• **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)* + +___ + +### outputs + +• **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)* + +___ + +### stateMutability + +• **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* + +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)* + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -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,7 +3214,17 @@ ___ *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)*
@@ -3208,31 +3256,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/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index b186f4a508..1e11866ef6 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -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/connect/CHANGELOG.json b/packages/connect/CHANGELOG.json index c653721f13..02b53e52f5 100644 --- a/packages/connect/CHANGELOG.json +++ b/packages/connect/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Dependencies updated" } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, 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,204 +1,170 @@ +# 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)* - - - - - - - - - - - - - - - - - - - - - - -## Type aliases - - - - - -### AssetPairsResponse - -Ƭ **AssetPairsResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*[AssetPairsItem](#interface-assetpairsitem)*›* - -*Defined in [types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L411)* - -___ - - - - - -### FeeRecipientsResponse - -Ƭ **FeeRecipientsResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*string*›* - -*Defined in [types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L475)* - -___ - - - - - -### OrdersResponse - -Ƭ **OrdersResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*[APIOrder](#interface-apiorder)*›* - -*Defined in [types/src/index.ts:399](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L399)* - -___ - - - -# Interface: Client - - -## Implemented by - -* [HttpClient](#class-httpclient) - - -## Properties - -### getAssetPairsAsync - -• **getAssetPairsAsync**: *function* - -*Defined in [connect/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L18)* - -#### Type declaration: - -▸ (`requestOpts?`: `AssetPairsRequestOpts` & `PagedRequestOpts`): *`Promise>`* +Instantiates a new HttpClient instance **Parameters:** -Name | Type | ------- | ------ | -`requestOpts?` | `AssetPairsRequestOpts` & `PagedRequestOpts` | +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**: *function* +▸ **getFeeRecipientsAsync**(`requestOpts?`: `RequestOpts` & `PagedRequestOpts`): *`Promise`* -*Defined in [connect/src/types.ts:25](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L25)* +*Defined in [connect/src/http_client.ts:160](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L160)* -#### Type declaration: - -▸ (`requestOpts?`: [PagedRequestOpts](#class-pagedrequestopts)): *`Promise`* +Retrieve the list of fee recipient addresses used by the relayer. **Parameters:** -Name | Type | ------- | ------ | -`requestOpts?` | [PagedRequestOpts](#class-pagedrequestopts) | +Name | Type | Description | +------ | ------ | ------ | +`requestOpts?` | `RequestOpts` & `PagedRequestOpts` | Options specifying page information, and network id. | + +**Returns:** *`Promise`* + +The resulting FeeRecipientsResponse ___ ### getOrderAsync -• **getOrderAsync**: *function* +▸ **getOrderAsync**(`orderHash`: string, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* -*Defined in [connect/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L22)* +*Defined in [connect/src/http_client.ts:99](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L99)* -#### Type declaration: - -▸ (`orderHash`: string): *`Promise`* +Retrieve a specific order from the API **Parameters:** -Name | Type | ------- | ------ | -`orderHash` | string | +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**: *function* +▸ **getOrderConfigAsync**(`request`: `OrderConfigRequest`, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* -*Defined in [connect/src/types.ts:24](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L24)* +*Defined in [connect/src/http_client.ts:139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L139)* -#### Type declaration: - -▸ (`request`: `OrderConfigRequest`): *`Promise`* +Retrieve fee information from the API **Parameters:** -Name | Type | ------- | ------ | -`request` | `OrderConfigRequest` | +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**: *function* +▸ **getOrderbookAsync**(`request`: `OrderbookRequest`, `requestOpts?`: `RequestOpts` & `PagedRequestOpts`): *`Promise`* -*Defined in [connect/src/types.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L23)* +*Defined in [connect/src/http_client.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L117)* -#### Type declaration: - -▸ (`request`: `OrderbookRequest`, `requestOpts?`: [PagedRequestOpts](#class-pagedrequestopts)): *`Promise`* +Retrieve an orderbook from the API **Parameters:** -Name | Type | ------- | ------ | -`request` | `OrderbookRequest` | -`requestOpts?` | [PagedRequestOpts](#class-pagedrequestopts) | +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**: *function* +▸ **getOrdersAsync**(`requestOpts?`: `RequestOpts` & `OrdersRequestOpts` & `PagedRequestOpts`): *`Promise`* -*Defined in [connect/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L21)* +*Defined in [connect/src/http_client.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L79)* -#### Type declaration: - -▸ (`requestOpts?`: `OrdersRequestOpts` & `PagedRequestOpts`): *`Promise>`* +Retrieve orders from the API **Parameters:** -Name | Type | ------- | ------ | -`requestOpts?` | `OrdersRequestOpts` & `PagedRequestOpts` | +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**: *function* +▸ **submitOrderAsync**(`signedOrder`: `SignedOrder`, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* -*Defined in [connect/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L26)* +*Defined in [connect/src/http_client.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L177)* -#### Type declaration: - -▸ (`signedOrder`: `SignedOrder`): *`Promise`* +Submit a signed order to the API **Parameters:** -Name | Type | ------- | ------ | -`signedOrder` | `SignedOrder` | +Name | Type | Description | +------ | ------ | ------ | +`signedOrder` | `SignedOrder` | A SignedOrder instance to submit | +`requestOpts?` | [RequestOpts](#interface-requestopts) | Options specifying network id. | + +**Returns:** *`Promise`*
@@ -208,6 +174,32 @@ Name | Type | + + + + + + + + + + + + + + + + + + + + + + + + + + # Interface: APIOrder @@ -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,6 +265,10 @@ ___ + + + + @@ -281,181 +277,12 @@ ___ -# 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,7 +549,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)*
@@ -753,10 +610,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/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 0c54429737..6292a31230 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -6,7 +6,8 @@ "note": "Removed `getNetworkIdByExchangeAddressOrThrow`. It's not needed with V3 tooling.", "pr": 2170 } - ] + ], + "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-artifacts/CHANGELOG.json b/packages/contract-artifacts/CHANGELOG.json index 8de3a2f8b9..3d4216c4ba 100644 --- a/packages/contract-artifacts/CHANGELOG.json +++ b/packages/contract-artifacts/CHANGELOG.json @@ -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-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 41590bd13c..966692cae0 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -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,5 +1,27539 @@ +# Class: CoordinatorContract +## Constructors + + + +\+ **new CoordinatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[CoordinatorContract](#class-coordinatorcontract)* + +*Overrides void* + +*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 | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | CoordinatorContract.deployedBytecode | + +**Returns:** *[CoordinatorContract](#class-coordinatorcontract)* + +## 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.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.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/coordinator.ts:1195](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1195)* + +**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 | +------ | ------ | +`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/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`* + +___ + +### `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 + +### EIP712_COORDINATOR_DOMAIN_HASH + +#### ▪ **EIP712_COORDINATOR_DOMAIN_HASH**: *object* + +*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)* + +#### callAsync + +▸ **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 | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### 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 + +___ + +### EIP712_EXCHANGE_DOMAIN_HASH + +#### ▪ **EIP712_EXCHANGE_DOMAIN_HASH**: *object* + +*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)* + +#### 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 | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*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)* + +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: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 | +------ | ------ | ------ | +`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: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 + +___ + +### assertValidCoordinatorApprovals + +#### ▪ **assertValidCoordinatorApprovals**: *object* + +*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)* + +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 | +------ | ------ | ------ | ------ | +`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`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*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 @@ -10,9 +27544,9 @@ the 0x V2 Coordinator extension contract. -\+ **new CoordinatorWrapper**(`provider`: `SupportedProvider`, `networkId`: number, `address?`: undefined | string, `exchangeAddress?`: undefined | string, `registryAddress?`: undefined | string): *[CoordinatorWrapper](#class-coordinatorwrapper)* +\+ **new CoordinatorWrapper**(`provider`: [SupportedProvider](#supportedprovider), `networkId`: number, `address?`: undefined | string, `exchangeAddress?`: undefined | string, `registryAddress?`: undefined | string): *[CoordinatorWrapper](#class-coordinatorwrapper)* -*Defined in [coordinator_wrapper.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L43)* +*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 @@ -20,7 +27554,7 @@ Instantiate CoordinatorWrapper Name | Type | Description | ------ | ------ | ------ | -`provider` | `SupportedProvider` | - | +`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. | @@ -32,9 +27566,9 @@ Name | Type | Description | ### abi -• **abi**: *`ContractAbi`* = Coordinator.compilerOutput.abi +• **abi**: *[ContractAbi](#contractabi)* = Coordinator.compilerOutput.abi -*Defined in [coordinator_wrapper.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L34)* +*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)* ___ @@ -42,7 +27576,7 @@ ___ • **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 [contract-wrappers/src/coordinator_wrapper.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L36)* ___ @@ -50,7 +27584,7 @@ ___ • **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 [contract-wrappers/src/coordinator_wrapper.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L37)* ___ @@ -58,7 +27592,7 @@ ___ • **networkId**: *number* -*Defined in [coordinator_wrapper.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L35)* +*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)* ___ @@ -66,7 +27600,7 @@ ___ • **registryAddress**: *string* -*Defined in [coordinator_wrapper.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L38)* +*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 @@ -74,7 +27608,7 @@ ___ ▸ **assertValidCoordinatorApprovalsOrThrowAsync**(`transaction`: `ZeroExTransaction`, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *`Promise`* -*Defined in [coordinator_wrapper.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L637)* +*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. @@ -97,7 +27631,7 @@ ___ ▸ **batchFillOrKillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L273)* +*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. @@ -120,7 +27654,7 @@ ___ ▸ **batchFillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L203)* +*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 @@ -148,7 +27682,7 @@ ___ ▸ **batchFillOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:238](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L238)* +*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 @@ -171,7 +27705,7 @@ ___ ▸ **batchHardCancelOrdersAsync**(`orders`: `SignedOrder`[], `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L568)* +*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. @@ -193,7 +27727,7 @@ ___ ▸ **batchSoftCancelOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* -*Defined in [coordinator_wrapper.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L482)* +*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 @@ -213,7 +27747,7 @@ ___ ▸ **fillOrKillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:166](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L166)* +*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. @@ -237,7 +27771,7 @@ ___ ▸ **fillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:101](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L101)* +*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 @@ -260,34 +27794,11 @@ Transaction hash. ___ -### fillOrderNoThrowAsync - -▸ **fillOrderNoThrowAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [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 [coordinator_wrapper.ts:669](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L669)* +*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. @@ -308,7 +27819,7 @@ ___ ▸ **hardCancelOrderAsync**(`order`: `Order` | `SignedOrder`, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:536](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L536)* +*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. @@ -329,7 +27840,7 @@ ___ ▸ **hardCancelOrdersUpToAsync**(`targetOrderEpoch`: `BigNumber`, `senderAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* -*Defined in [coordinator_wrapper.ts:603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L603)* +*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 @@ -349,39 +27860,11 @@ Transaction hash. ___ -### marketBuyOrdersAsync - -▸ **marketBuyOrdersAsync**(`signedOrders`: `SignedOrder`[], `makerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [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 [coordinator_wrapper.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L384)* +*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 @@ -400,39 +27883,11 @@ Transaction hash. ___ -### marketSellOrdersAsync - -▸ **marketSellOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [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 [coordinator_wrapper.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L417)* +*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 @@ -455,7 +27910,7 @@ ___ ▸ **softCancelOrderAsync**(`order`: `Order` | `SignedOrder`): *`Promise`* -*Defined in [coordinator_wrapper.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L447)* +*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. @@ -473,328 +27928,406 @@ CoordinatorServerCancellationResponse. See [Cancellation Response](https://githu
-# Class: IWalletContract +# 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 IWalletContract**(`address`: string, `supportedProvider`: `SupportedProvider`, `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[IWalletContract](#class-iwalletcontract)* +\+ **new AbiDecoder**(`abiArrays`: [AbiDefinition](#abidefinition)[][]): *[AbiDecoder](#class-abidecoder)* -*Overrides void* +*Defined in [utils/src/abi_decoder.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L42)* -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | `SupportedProvider` | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[IWalletContract](#class-iwalletcontract)* - -## Properties - -### abi - -• **abi**: *`ContractAbi`* - - - - - -___ - -### address - -• **address**: *string* - - - - - -___ - -Args - -• **constructorArgs**: *any[]* - - - - - -___ - -### contractName - -• **contractName**: *string* - - - - - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - - - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### `Static` ABI - -▸ **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 - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | `ContractAbi` | -`supportedProvider` | `SupportedProvider` | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: `SupportedProvider`, `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | `SupportedProvider` | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - - - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### isValidSignature - -#### ▪ **isValidSignature**: *object* - -*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)* - -Verifies that a signature is valid. - -#### callAsync - -▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: `BlockParam`): *`Promise`* - -*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)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to 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` | - | - | - -**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 [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)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +Instantiate an AbiDecoder **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`hash` | string | Message hash that is signed. | -`signature` | string | Proof of signing. | +`abiArrays` | [AbiDefinition](#abidefinition)[][] | An array of contract ABI's | -**Returns:** *string* +**Returns:** *[AbiDecoder](#class-abidecoder)* -
+AbiDecoder instance -# Class: CoordinatorServerError +## Methods +### addABI -## Constructors +▸ **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)* - -\+ **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)* +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 | ------- | ------ | -`message` | [CoordinatorServerErrorMsg](#enumeration-coordinatorservererrormsg) | -`approvedOrders` | `SignedOrder`[] | -`cancellations` | [CoordinatorServerCancellationResponse](#interface-coordinatorservercancellationresponse)[] | -`errors` | [CoordinatorServerResponse](#interface-coordinatorserverresponse)[] | +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:** *[CoordinatorServerError](#class-coordinatorservererror)* - -## Properties - -#### `Optional` approvedOrders - -• **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)* +**Returns:** *void* ___ -### `Optional` cancellations +### decodeCalldataOrThrow -• **cancellations**? : *[CoordinatorServerCancellationResponse](#interface-coordinatorservercancellationresponse)[]* = [] +▸ **decodeCalldataOrThrow**(`calldata`: string, `contractName?`: undefined | string): *`DecodedCalldata`* -*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 [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. ___ -### errors +### tryToDecodeLogOrNoop -• **errors**: *[CoordinatorServerResponse](#interface-coordinatorserverresponse)[]* +▸ **tryToDecodeLogOrNoop**<**ArgsType**>(`log`: `LogEntry`): *`LogWithDecodedArgs` | [RawLog](#rawlog)* -*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 [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. -### message +**Type parameters:** -• **message**: *[CoordinatorServerErrorMsg](#enumeration-coordinatorservererrormsg)* +▪ **ArgsType**: *`DecodedLogArgs`* -*Overrides void* +**Parameters:** -*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)* - -___ - -### name - -• **name**: *string* - - - - - -___ - -### `Optional` stack - -• **stack**? : *undefined | string* - - - -*Overrides void* - - - -___ - -### `Static` Error - -▪ **Error**: *`ErrorConstructor`* +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 @@ -804,7 +28337,7 @@ ___ • **ContractNotDeployedOnNetwork**: = "CONTRACT_NOT_DEPLOYED_ON_NETWORK" -*Defined in [types.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L32)* +*Defined in [contract-wrappers/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L16)* ___ @@ -812,7 +28345,7 @@ ___ • **ERC721NoApproval**: = "ERC_721_NO_APPROVAL" -*Defined in [types.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L42)* +*Defined in [contract-wrappers/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L26)* ___ @@ -820,7 +28353,7 @@ ___ • **ERC721OwnerNotFound**: = "ERC_721_OWNER_NOT_FOUND" -*Defined in [types.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L41)* +*Defined in [contract-wrappers/src/types.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L25)* ___ @@ -828,7 +28361,7 @@ ___ • **InsufficientAllowanceForTransfer**: = "INSUFFICIENT_ALLOWANCE_FOR_TRANSFER" -*Defined in [types.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L33)* +*Defined in [contract-wrappers/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L17)* ___ @@ -836,7 +28369,7 @@ ___ • **InsufficientBalanceForTransfer**: = "INSUFFICIENT_BALANCE_FOR_TRANSFER" -*Defined in [types.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L34)* +*Defined in [contract-wrappers/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L18)* ___ @@ -844,7 +28377,7 @@ ___ • **InsufficientEthBalanceForDeposit**: = "INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT" -*Defined in [types.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L35)* +*Defined in [contract-wrappers/src/types.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L19)* ___ @@ -852,7 +28385,7 @@ ___ • **InsufficientWEthBalanceForWithdrawal**: = "INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL" -*Defined in [types.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L36)* +*Defined in [contract-wrappers/src/types.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L20)* ___ @@ -860,7 +28393,7 @@ ___ • **InvalidJump**: = "INVALID_JUMP" -*Defined in [types.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L37)* +*Defined in [contract-wrappers/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L21)* ___ @@ -868,7 +28401,7 @@ ___ • **OutOfGas**: = "OUT_OF_GAS" -*Defined in [types.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L38)* +*Defined in [contract-wrappers/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L22)* ___ @@ -876,7 +28409,7 @@ ___ • **SignatureRequestDenied**: = "SIGNATURE_REQUEST_DENIED" -*Defined in [types.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L43)* +*Defined in [contract-wrappers/src/types.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L27)* ___ @@ -884,7 +28417,7 @@ ___ • **SubscriptionAlreadyPresent**: = "SUBSCRIPTION_ALREADY_PRESENT" -*Defined in [types.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L40)* +*Defined in [contract-wrappers/src/types.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L24)* ___ @@ -892,7 +28425,7 @@ ___ • **SubscriptionNotFound**: = "SUBSCRIPTION_NOT_FOUND" -*Defined in [types.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L39)* +*Defined in [contract-wrappers/src/types.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L23)*
@@ -905,219 +28438,1340 @@ ___ • **CompleteFillFailed**: = "COMPLETE_FILL_FAILED" -*Defined in [types.ts:28](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L28)* +*Defined in [contract-wrappers/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L12)*
-# Enumeration: OrderStatus + + + + +# Enumeration: BlockParamLiteral ## Enumeration members -### Cancelled +### Earliest -• **Cancelled**: +• **Earliest**: = "earliest" -*Defined in [types.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L91)* +*Defined in [ethereum-types/src/index.ts:478](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L478)* ___ -### Expired +### Latest -• **Expired**: +• **Latest**: = "latest" -*Defined in [types.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L89)* +*Defined in [ethereum-types/src/index.ts:479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L479)* ___ -### Fillable +### Pending -• **Fillable**: +• **Pending**: = "pending" -*Defined in [types.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L88)* - -___ - -### FullyFilled - -• **FullyFilled**: - -*Defined in [types.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L90)* - -___ - -### Invalid - -• **Invalid**: = 0 - -*Defined in [types.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L85)* - -___ - -### InvalidMakerAssetAmount - -• **InvalidMakerAssetAmount**: - -*Defined in [types.ts:86](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L86)* - -___ - -### InvalidTakerAssetAmount - -• **InvalidTakerAssetAmount**: - -*Defined in [types.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L87)* - -
- -# Enumeration: CoordinatorServerErrorMsg - - -## Enumeration members - -### CancellationFailed - -• **CancellationFailed**: = "Failed to cancel with some coordinator server(s). See errors for more info. See cancellations for successful cancellations." - -*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)* - -___ - -### FillFailed - -• **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 [utils/coordinator_server_types.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L60)* - -
- -# 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" - -*Defined in [utils/decorators.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L6)* - -___ - -### InsufficientEthBalanceForDeposit - -• **InsufficientEthBalanceForDeposit**: = "INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT" - -*Defined in [utils/decorators.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L7)* - -___ - -### InsufficientWEthBalanceForWithdrawal - -• **InsufficientWEthBalanceForWithdrawal**: = "INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL" - -*Defined in [utils/decorators.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L8)* - -___ - -### 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)* - -___ - -### SignatureRequestDenied - -• **SignatureRequestDenied**: = "SIGNATURE_REQUEST_DENIED" - -*Defined in [utils/decorators.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L15)* - -___ - -### SubscriptionAlreadyPresent - -• **SubscriptionAlreadyPresent**: = "SUBSCRIPTION_ALREADY_PRESENT" - -*Defined in [utils/decorators.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L12)* - -___ - -### SubscriptionNotFound - -• **SubscriptionNotFound**: = "SUBSCRIPTION_NOT_FOUND" - -*Defined in [utils/decorators.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L11)* +*Defined in [ethereum-types/src/index.ts:480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L480)*
-## 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: 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)*
@@ -1135,15 +29789,15 @@ blockPollingIntervalMs: The interval to use for block polling in event watching • **blockPollingIntervalMs**? : *undefined | number* -*Defined in [types.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L56)* +*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`* +• **contractAddresses**? : *[ContractAddresses](#class-contractaddresses)* -*Defined in [types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L55)* +*Defined in [contract-wrappers/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L39)* ___ @@ -1151,7 +29805,7 @@ ___ • **gasPrice**? : *`BigNumber`* -*Defined in [types.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L54)* +*Defined in [contract-wrappers/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L38)* ___ @@ -1159,11 +29813,1830 @@ ___ • **networkId**: *number* -*Defined in [types.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L53)* +*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)* + +___ + +### transactionIndex + +• **transactionIndex**: *number | null* + +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* + +
+ +# Interface: LogEntryEvent + + +## 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)* + +___ + +### 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)* + +___ + +### 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:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L425)* + +___ + +### 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: LogWithDecodedArgs <**ArgsType**> + +## Type parameters + +▪ **ArgsType**: *[DecodedLogArgs](#class-decodedlogargs)* + + +## 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**: *`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)* + +___ + +### 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)* + +___ + +### 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: MethodAbi + + +## 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)* + +___ + +### inputs + +• **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)* + +___ + +### outputs + +• **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)* + +___ + +### stateMutability + +• **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* + +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)* + +
+ +# Interface: OptimizerSettings + + +## Properties + +### enabled + +• **enabled**: *boolean* + +*Defined in [ethereum-types/src/index.ts:708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L708)* + +___ + +### `Optional` runs + +• **runs**? : *undefined | number* + +*Defined in [ethereum-types/src/index.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L709)* + +
+ + + + + +# 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: StandardContractOutput + + +## Properties + +### abi + +• **abi**: *[ContractAbi](#contractabi)* + +*Defined in [ethereum-types/src/index.ts:564](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L564)* + +___ + +### `Optional` devdoc + +• **devdoc**? : *[DevdocOutput](#class-devdocoutput)* + +*Defined in [ethereum-types/src/index.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L566)* + +___ + +### evm + +• **evm**: *[EvmOutput](#class-evmoutput)* + +*Defined in [ethereum-types/src/index.ts:565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L565)* + +
+ + + + + + + + + + + + + + + +# Interface: TupleDataItem + + +## Properties + +### components + +• **components**: *[DataItem](#class-dataitem)[]* + +*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)* + +___ + +### name + +• **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)* + +___ + +### type + +• **type**: *string* + +*Inherited from [DataItem](#interface-dataitem).[type](#type)* + +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)* + +
+ +# Interface: TxData + + +## 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)* + +___ + +### from + +• **from**: *string* + +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* + +___ + +### `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: TxDataPayable + + +## 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)* + +___ + +### from + +• **from**: *string* + +*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)* + +___ + +### `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**? : *`BigNumber`* + +*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)* + +
+ +# Interface: Web3JsV1Provider + +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. + + +## Methods + +### send + +▸ **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)* + +**Parameters:** + +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | + +**Returns:** *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* + +___ + +### sendAsync + +▸ **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)* + +**Parameters:** + +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | + +**Returns:** *void* + +
+ +# 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 + + +## Methods + +### 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) | + +**Returns:** *void* + +
+ +# 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. + + +## Methods + +### send + +▸ **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)* + +**Parameters:** + +Name | Type | +------ | ------ | +`method` | string | +`params?` | any[] | + +**Returns:** *`Promise`* + +
+ +# Interface: ZeroExProvider + +The interface for the provider used internally by 0x libraries +Any property we use from any SupportedProvider should we explicitly +add here + + +## Properties + +### `Optional` isMetaMask + +• **isMetaMask**? : *undefined | false | true* + +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* + +___ + +### `Optional` isParity + +• **isParity**? : *undefined | false | true* + +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* + +___ + +### `Optional` isZeroExProvider + +• **isZeroExProvider**? : *undefined | false | true* + +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* + +## Methods + +### `Optional` enable + +▸ **enable**(): *`Promise`* + +*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`* + +___ + +### sendAsync + +▸ **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/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* + +**Parameters:** + +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | + +**Returns:** *void* + +___ + +### `Optional` stop + +▸ **stop**(): *void* + +*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* + +
+ + + + + + + + + + + + + + + + + + + + # Interface: DecodedLogEvent <**ArgsType**> @@ -1178,7 +31651,7 @@ ___ • **isRemoved**: *boolean* -*Defined in [types.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L7)* +*Defined in [types/src/index.ts:853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L853)* ___ @@ -1186,108 +31659,492 @@ ___ • **log**: *`LogWithDecodedArgs`* -*Defined in [types.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L8)* +*Defined in [types/src/index.ts:854](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L854)*
+ + + + + + + + + +# 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)* + +
+ + + + + + + + + + + + + + + + + + + + + + + + # Interface: IndexedFilterValues ## Hierarchy -* **OrderAndTraderInfo** +* **IndexSignature** ## Properties -### orderInfo +### keyName -• **orderInfo**: *[OrderInfo](#interface-orderinfo)* +• **keyName**: *string* -*Defined in [types.ts:106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L106)* +*Defined in [types/src/index.ts:679](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L679)* ___ -### traderInfo +### keyType -• **traderInfo**: *[TraderInfo](#interface-traderinfo)* +• **keyType**: *[Type](#class-type)* -*Defined in [types.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L107)* +*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: OrderInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Interface: SignedOrder ## Properties -### orderHash +### chainId -• **orderHash**: *string* +• **chainId**: *number* -*Defined in [types.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L80)* +*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)* ___ -### orderStatus +### exchangeAddress -• **orderStatus**: *[OrderStatus](#enumeration-orderstatus)* +• **exchangeAddress**: *string* -*Defined in [types.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L79)* +*Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* + +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ -### orderTakerAssetFilledAmount +### expirationTimeSeconds -• **orderTakerAssetFilledAmount**: *`BigNumber`* +• **expirationTimeSeconds**: *`BigNumber`* -*Defined in [types.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L81)* +*Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* + +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* + +___ + +### feeRecipientAddress + +• **feeRecipientAddress**: *string* + +*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)* + +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* + +___ + +### 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)* + +___ + +### 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)* + +___ + +### salt + +• **salt**: *`BigNumber`* + +*Inherited from [Order](#interface-order).[salt](#salt)* + +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* + +___ + +### senderAddress + +• **senderAddress**: *string* + +*Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* + +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* + +___ + +### signature + +• **signature**: *string* + +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* + +___ + +### takerAddress + +• **takerAddress**: *string* + +*Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* + +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* + +___ + +### takerAssetAmount + +• **takerAssetAmount**: *`BigNumber`* + +*Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* + +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* + +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* + +___ + +### takerFee + +• **takerFee**: *`BigNumber`* + +*Inherited from [Order](#interface-order).[takerFee](#takerfee)* + +*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)*
-# 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: SignedZeroExTransaction ## Properties -### `Optional` gasLimit +### data -• **gasLimit**? : *undefined | number* +• **data**: *string* -*Inherited from [TransactionOpts](#interface-transactionopts).[gasLimit](#optional-gaslimit)* +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[data](#data)* -*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:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* ___ -### `Optional` gasPrice +### domain -• **gasPrice**? : *`BigNumber`* +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* -*Inherited from [TransactionOpts](#interface-transactionopts).[gasPrice](#optional-gasprice)* +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[domain](#domain)* -*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:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* ___ -### `Optional` nonce +### expirationTimeSeconds -• **nonce**? : *undefined | number* +• **expirationTimeSeconds**: *`BigNumber`* -*Inherited from [TransactionOpts](#interface-transactionopts).[nonce](#optional-nonce)* +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[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:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* ___ -### `Optional` shouldValidate +### gasPrice -• **shouldValidate**? : *undefined | false | true* +• **gasPrice**: *`BigNumber`* -*Defined in [types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L75)* +*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)* + +___ + +### salt + +• **salt**: *`BigNumber`* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[salt](#salt)* + +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* + +___ + +### signature + +• **signature**: *string* + +*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L54)* + +___ + +### signerAddress + +• **signerAddress**: *string* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[signerAddress](#signeraddress)* + +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)* + +
+ +# Interface: SimpleContractArtifact + + +## Properties + +### compilerOutput + +• **compilerOutput**: *[SimpleStandardContractOutput](#class-simplestandardcontractoutput)* + +*Defined in [types/src/index.ts:748](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L748)* + +___ + +### contractName + +• **contractName**: *string* + +*Defined in [types/src/index.ts:747](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L747)* + +___ + +### networks + +• **networks**: *`ContractNetworks`* + +*Defined in [types/src/index.ts:749](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L749)* + +___ + +### schemaVersion + +• **schemaVersion**: *string* + +*Defined in [types/src/index.ts:746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L746)* + +
+ +# Interface: SimpleEvmBytecodeOutput + + +## Properties + +### object + +• **object**: *string* + +*Defined in [types/src/index.ts:763](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L763)* + +
+ +# Interface: SimpleEvmOutput + + +## Properties + +### bytecode + +• **bytecode**: *[SimpleEvmBytecodeOutput](#class-simpleevmbytecodeoutput)* + +*Defined in [types/src/index.ts:759](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L759)* + +
+ +# Interface: SimpleStandardContractOutput + + +## Properties + +### abi + +• **abi**: *[ContractAbi](#contractabi)* + +*Defined in [types/src/index.ts:753](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L753)* + +___ + +### `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)* + +___ + +### evm + +• **evm**: *[SimpleEvmOutput](#class-simpleevmoutput)* + +*Defined in [types/src/index.ts:754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L754)*
@@ -1295,356 +32152,445 @@ ___ -# Class: ContractWrappers - -The ContractWrappers class contains smart contract wrappers helpful when building on 0x protocol. - - -## Constructors -\+ **new ContractWrappers**(`supportedProvider`: `SupportedProvider`, `config`: [ContractWrappersConfig](#interface-contractwrappersconfig)): *[ContractWrappers](#class-contractwrappers)* -*Defined in [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. + + + + + + + + + + + + + + + + + + + + + + + + + +# 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)* + +___ + +### domain + +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* + +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* + +___ + +### expirationTimeSeconds + +• **expirationTimeSeconds**: *`BigNumber`* + +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* + +___ + +### gasPrice + +• **gasPrice**: *`BigNumber`* + +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* + +___ + +### salt + +• **salt**: *`BigNumber`* + +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* + +___ + +### signerAddress + +• **signerAddress**: *string* + +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)* + +
+ + + +
+ + + + +## Type aliases + +### CoordinatorRegistryEventArgs + +Ƭ **CoordinatorRegistryEventArgs**: *[CoordinatorRegistryCoordinatorEndpointSetEventArgs](#interface-coordinatorregistrycoordinatorendpointseteventargs)* + +*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)* + +
+ + + +
+ + + + +## Type aliases + +### DummyERC20TokenEventArgs + +Ƭ **DummyERC20TokenEventArgs**: *[DummyERC20TokenApprovalEventArgs](#interface-dummyerc20tokenapprovaleventargs) | [DummyERC20TokenTransferEventArgs](#interface-dummyerc20tokentransfereventargs)* + +*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)* + +
+ + + + +## Type aliases + +### DummyERC721TokenEventArgs + +Ƭ **DummyERC721TokenEventArgs**: *[DummyERC721TokenApprovalEventArgs](#interface-dummyerc721tokenapprovaleventargs) | [DummyERC721TokenApprovalForAllEventArgs](#interface-dummyerc721tokenapprovalforalleventargs) | [DummyERC721TokenTransferEventArgs](#interface-dummyerc721tokentransfereventargs)* + +*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)* + +
+ + + +
+ + + + +## 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)* + +
+ + + + +## 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)* + +
+ + + + +## Type aliases + +### ERC20TokenEventArgs + +Ƭ **ERC20TokenEventArgs**: *[ERC20TokenTransferEventArgs](#interface-erc20tokentransfereventargs) | [ERC20TokenApprovalEventArgs](#interface-erc20tokenapprovaleventargs)* + +*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)* + +
+ + + + +## Type aliases + +### ERC721ProxyEventArgs + +Ƭ **ERC721ProxyEventArgs**: *[ERC721ProxyAuthorizedAddressAddedEventArgs](#interface-erc721proxyauthorizedaddressaddedeventargs) | [ERC721ProxyAuthorizedAddressRemovedEventArgs](#interface-erc721proxyauthorizedaddressremovedeventargs)* + +*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)* + +
+ + + + +## Type aliases + +### ERC721TokenEventArgs + +Ƭ **ERC721TokenEventArgs**: *[ERC721TokenApprovalEventArgs](#interface-erc721tokenapprovaleventargs) | [ERC721TokenApprovalForAllEventArgs](#interface-erc721tokenapprovalforalleventargs) | [ERC721TokenTransferEventArgs](#interface-erc721tokentransfereventargs)* + +*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)* + +
+ + + + +## Type aliases + +### ExchangeEventArgs + +Ƭ **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:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L28)* + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + +## Type aliases + +### WETH9EventArgs + +Ƭ **WETH9EventArgs**: *[WETH9ApprovalEventArgs](#interface-weth9approvaleventargs) | [WETH9TransferEventArgs](#interface-weth9transfereventargs) | [WETH9DepositEventArgs](#interface-weth9depositeventargs) | [WETH9WithdrawalEventArgs](#interface-weth9withdrawaleventargs)* + +*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)* + +
+ + + + +## Type aliases + +### ZRXTokenEventArgs + +Ƭ **ZRXTokenEventArgs**: *[ZRXTokenTransferEventArgs](#interface-zrxtokentransfereventargs) | [ZRXTokenApprovalEventArgs](#interface-zrxtokenapprovaleventargs)* + +*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)* + +
+ + + + +## 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/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 +contracts deployed on the corresponding network. **Parameters:** 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. | +`networkId` | [NetworkId](#enumeration-networkid) | The desired networkId. | -**Returns:** *[ContractWrappers](#class-contractwrappers)* +**Returns:** *[ContractAddresses](#interface-contractaddresses)* -An instance of the ContractWrappers class. - -## Properties - -### contractAddresses - -• **contractAddresses**: *`ContractAddresses`* - -*Defined in [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.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.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.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.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.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.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.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.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.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.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`* - -*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 - -**Returns:** *`SupportedProvider`* - -Web3 provider instance - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [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* +The set of addresses for contracts which have been deployed on the +given networkId.
-# Interface: CoordinatorOutstandingFillSignatures -## Properties +
-### approvalSignatures -• **approvalSignatures**: *string[]* -*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)* +
+ + + +
+ + + + +## Type aliases + +### AbiDefinition + +Ƭ **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/9fe6c196a/packages/ethereum-types/src/index.ts#L80)* ___ -### expirationTimeSeconds +### BlockParam -• **expirationTimeSeconds**: *`BigNumber`* +Ƭ **BlockParam**: *[BlockParamLiteral](#enumeration-blockparamliteral) | number* -*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 [ethereum-types/src/index.ts:483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L483)* ___ -### orderHash +### ConstructorStateMutability -• **orderHash**: *string* +Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* -*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 [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* ___ -### takerAssetFillAmount +### ContractAbi -• **takerAssetFillAmount**: *`BigNumber`* +Ƭ **ContractAbi**: *[AbiDefinition](#abidefinition)[]* -*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)* - -
- -# Interface: CoordinatorServerApprovalRawResponse - - -## Properties - -### expirationTimeSeconds - -• **expirationTimeSeconds**: *`BigNumber`* - -*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 [ethereum-types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L78)* ___ -### signatures +### ContractEventArg -• **signatures**: *string[]* +Ƭ **ContractEventArg**: *any* -*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)* - -
- -# Interface: CoordinatorServerApprovalResponse - - -## Properties - -### expirationTimeSeconds - -• **expirationTimeSeconds**: *`BigNumber`[]* - -*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)* +*Defined in [ethereum-types/src/index.ts:468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L468)* ___ -### signatures - -• **signatures**: *string[]* - -*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)* - -
- -# Interface: CoordinatorServerCancellationResponse -## Properties +### EIP1193Event -### cancellationSignatures +Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -• **cancellationSignatures**: *string[]* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* -*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)* +Interface for providers that conform to EIP 1193 +Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md ___ -### 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`* +### FunctionAbi -*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)* +Ƭ **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)* ___ -### txOrigin +### JSONRPCErrorCallback -• **txOrigin**: *string* +Ƭ **JSONRPCErrorCallback**: *function* -*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)* +*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: -# Interface: CoordinatorServerResponse +▸ (`err`: `Error` | null, `result?`: [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload)): *void* +**Parameters:** -## 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)* +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`result?` | [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload) | ___ -### 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)* +### OutputField + +Ƭ **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:525](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L525)* ___ -### `Optional` error +### ParamDescription -• **error**? : *any* +Ƭ **ParamDescription**: *string* -*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 [ethereum-types/src/index.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L561)* ___ -### isError +### RawLog -• **isError**: *boolean* +Ƭ **RawLog**: *[LogEntry](#interface-logentry)* -*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 [ethereum-types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L475)* ___ -### `Optional` orders +### StateMutability -• **orders**? : *`Array`* +Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -*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 [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* ___ -### request +### SupportedProvider -• **request**: *[CoordinatorServerRequest](#class-coordinatorserverrequest)* +Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*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 [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. ___ -### status -• **status**: *number* -*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)* + + +### Web3JsProvider + +Ƭ **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/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
@@ -1653,255 +32599,23 @@ ___ ## 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 declaration: -▸ (...`args`: any[]): *`Promise`* -**Parameters:** -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:** - -Name | Type | ------- | ------ | -`...args` | any[] | - -## Object literals - -### `Const` decorators - -#### ▪ **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)* - -#### syncZeroExErrorHandler - -• **syncZeroExErrorHandler**: *`syncErrorHandlingDecorator`* = syncErrorHandlerFactory(zeroExErrorTransformer) - -*Defined in [utils/decorators.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L132)* - -
- - - -
- - - -
- - - -
- - - -
- - - - -## Object literals - -#### `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" - -*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)* - -#### required - -• **required**: *string[]* = ['networkId'] - -*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* - -*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)* - -* **blockPollingIntervalMs**: *object* - - * **type**: *string* = "number" - -* **contractAddresses**: *object* - - * **type**: *string* = "object" - - * **properties**: *object* - - * **assetProxyOwner**: *object* - - * **$ref**: *string* = "/addressSchema" - - * **erc20Proxy**: *object* - - * **$ref**: *string* = "/addressSchema" - - * **erc721Proxy**: *object* - - * **$ref**: *string* = "/addressSchema" - - * **etherToken**: *object* - - * **$ref**: *string* = "/addressSchema" - - * **exchange**: *object* - - * **$ref**: *string* = "/addressSchema" - - * **forwarder**: *object* - - * **$ref**: *string* = "/addressSchema" - - * **orderValidator**: *object* - - * **$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' }] - -*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)* - -#### id - -• **id**: *string* = "/OrderTxOpts" - -*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* - -*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)* - -* **shouldValidate**: *object* - - * **type**: *string* = "boolean" - -
- - - - -## Object literals - -#### `Const` txOptsSchema - -#### ▪ **txOptsSchema**: *object* - -*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)* - -#### id - -• **id**: *string* = "/TxOpts" - -*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)* - -#### type - -• **type**: *string* = "object" - -*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 +### EventCallback Ƭ **EventCallback**: *function* -*Defined in [types.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L11)* +*Defined in [types/src/index.ts:857](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L857)* -##### Type declaration: +#### Type declaration: ▸ (`err`: null | `Error`, `log?`: [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*›): *void* @@ -1912,183 +32626,17 @@ Name | Type | `err` | null \| `Error` | `log?` | [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*› | -
+___ -## Object literals -#### `Const` assert -#### ▪ **assert**: *object* -*Defined in [utils/assert.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L13)* -#### allMakerAssetDatasAreErc20Token -▸ **allMakerAssetDatasAreErc20Token**(`orders`: `Order`[], `tokenAddress`: string): *void* -*Defined in [utils/assert.ts:61](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L61)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`tokenAddress` | string | - -**Returns:** *void* - -#### allTakerAddressesAreNull - -▸ **allTakerAddressesAreNull**(`orders`: `Order`[]): *void* - -*Defined in [utils/assert.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L58)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Order`[] | - -**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 | - -**Returns:** *void* - -#### feeOrdersCanBeUsedForForwarderContract - -▸ **feeOrdersCanBeUsedForForwarderContract**(`orders`: `Order`[], `zrxTokenAddress`: string, `etherTokenAddress`: string): *void* - -*Defined in [utils/assert.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L52)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`zrxTokenAddress` | string | -`etherTokenAddress` | string | - -**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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`variableName` | string | -`senderAddressHex` | string | -`web3Wrapper` | `Web3Wrapper` | - -**Returns:** *`Promise`* - -#### isValidSignatureAsync - -▸ **isValidSignatureAsync**(`supportedProvider`: `SupportedProvider`, `orderHash`: string, `signature`: string, `signerAddress`: string): *`Promise`* - -*Defined in [utils/assert.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L15)* - -**Parameters:** - -Name | Type | ------- | ------ | -`supportedProvider` | `SupportedProvider` | -`orderHash` | string | -`signature` | string | -`signerAddress` | string | - -**Returns:** *`Promise`* - -#### isValidSubscriptionToken - -▸ **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)* - -**Parameters:** - -Name | Type | ------- | ------ | -`variableName` | string | -`subscriptionToken` | string | - -**Returns:** *void* - -#### ordersCanBeUsedForForwarderContract - -▸ **ordersCanBeUsedForForwarderContract**(`orders`: `Order`[], `etherTokenAddress`: string): *void* - -*Defined in [utils/assert.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L46)* - -**Parameters:** - -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:** - -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`propertyName` | string | -`value?` | any | - -**Returns:** *void* - -
- - - - -## Functions - -#### _getDefaultContractAddresses - -▸ **_getDefaultContractAddresses**(`networkId`: number): *`ContractAddresses`* - -*Defined in [utils/contract_addresses.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/contract_addresses.ts#L8)* - -Returns the default contract addresses for the given networkId or throws with -a context-specific error message if the networkId is not recognized. - -**Parameters:** - -Name | Type | ------- | ------ | -`networkId` | number | - -**Returns:** *`ContractAddresses`* - -
diff --git a/packages/contracts-gen/CHANGELOG.json b/packages/contracts-gen/CHANGELOG.json index 52ffa3a43c..cbaad0fafc 100644 --- a/packages/contracts-gen/CHANGELOG.json +++ b/packages/contracts-gen/CHANGELOG.json @@ -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/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js b/packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js new file mode 100644 index 0000000000..9da7319c26 --- /dev/null +++ b/packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{176:function(i){i.exports={v:"5.4.1",fr:30,ip:0,op:420,w:4300,h:1400,nm:"header-compiler",ddd:0,assets:[],layers:[{ddd:0,ind:2,ty:4,nm:"Path Copy 3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[328.5,911.5,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-61.75,-99.75],[99.75,61.75],[61.75,99.75],[-99.75,-61.75]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path Copy 3",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:3,ty:4,nm:"Path",parent:16,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-280,-180,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-39.25,87.75],[87.75,-39.25],[39.25,-87.75],[-87.75,39.25]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:4,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[1261.5,738.5,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[15.75,82.75],[82.75,15.75],[-15.75,-82.75],[-82.75,-15.75]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:5,ty:4,nm:"Path",parent:12,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[370,-209,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[23.25,-23.25],[-23.25,23.25]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:6,ty:4,nm:"Path",parent:12,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[347,-269,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-60.25,-60.25],[60.25,60.25]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:7,ty:4,nm:"Path",parent:12,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[330,-250,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-37.25,-84.25],[84.25,37.25],[37.25,84.25],[-84.25,-37.25]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:8,ty:4,nm:"Path Copy",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[449.5,348.5,0],e:[223.5,574.5,0],to:[-37.6666679382324,37.6666679382324,0],ti:[37.6666679382324,-37.6666679382324,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:210,s:[223.5,574.5,0],e:[223.5,574.5,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390.5,s:[223.5,574.5,0],e:[449.5,348.5,0],to:[37.6666679382324,-37.6666679382324,0],ti:[-37.6666679382324,37.6666679382324,0]},{t:420}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[9.42,-69.25],[-69.25,9.42],[-9.42,69.25],[69.25,-9.42]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path Copy",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:9,ty:4,nm:"Shape Layer 2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[2150,700,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1935,-90],[-1765,-260]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-2020,87],[-1946,13]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:210,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-2020,87],[-1946,13]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-2020,87],[-1946,13]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-2020,87],[-1946,13]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1935,-90],[-1765,-260]],c:!1}]},{t:420}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117647066303,.678431372549,.803921628466,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,0,0,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!0},{ty:"tr",p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[1,-1],e:[0,0],to:[-.16666667163372,.16666667163372],ti:[.16666667163372,-.16666667163372]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:210,s:[0,0],e:[0,0],to:[0,0],ti:[0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[0,0],e:[1,-1],to:[.16666667163372,-.16666667163372],ti:[-.16666667163372,.16666667163372]},{t:420}],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 1",np:3,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:527,st:0,bm:0},{ddd:0,ind:10,ty:4,nm:"Shape Layer 1",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[2150,700,0],e:[1920,930,0],to:[-38.3333320617676,38.3333320617676,0],ti:[38.3333320617676,-38.3333320617676,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:210,s:[1920,930,0],e:[1920,930,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[1920,930,0],e:[2150,700,0],to:[38.3333320617676,-38.3333320617676,0],ti:[-38.3333320617676,38.3333320617676,0]},{t:420}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1806,-241],[-1748,-183]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1750,-185],[-1748,-183]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:210,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1750,-185],[-1748,-183]],c:!0}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1750,-185],[-1748,-183]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1750,-185],[-1748,-183]],c:!0}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-1806,-241],[-1748,-183]],c:!1}]},{t:420}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117647066303,.678431372549,.803921628466,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!0},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 1",np:3,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:527,st:0,bm:0},{ddd:0,ind:11,ty:4,nm:"Path Copy 2",parent:8,sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[-134,194,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[28.03,-56.75],[-56.75,28.03],[-28.03,56.75],[56.75,-28.03]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[56.53,-28.25],[20.5,9.03],[20.72,9.25],[56.75,-28.03]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:210,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[56.53,-28.25],[20.5,9.03],[20.72,9.25],[56.75,-28.03]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[56.53,-28.25],[20.5,9.03],[20.72,9.25],[56.75,-28.03]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:391,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[56.53,-28.25],[20.5,9.03],[20.72,9.25],[56.75,-28.03]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[28.03,-56.75],[-56.75,28.03],[-28.03,56.75],[56.75,-28.03]],c:!0}]},{t:421}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path Copy 2",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:12,ty:4,nm:"Big block",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[571.5,588.5,0],e:[697.5,462.5,0],to:[21,-21,0],ti:[-21,21,0]},{i:{x:.667,y:.667},o:{x:.167,y:.167},n:"0p667_0p667_0p167_0p167",t:120,s:[697.5,462.5,0],e:[697.5,462.5,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.833,y:1},o:{x:.333,y:0},n:"0p833_1_0p333_0",t:300,s:[697.5,462.5,0],e:[571.5,588.5,0],to:[-21,21,0],ti:[21,-21,0]},{t:330}],ix:2},a:{a:0,k:[2,-2,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ty:"st",c:{a:0,k:[.117646998985,.67843095368,.803921987496,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 1",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[60.75,-182.25],[-182.25,60.75],[-60.75,182.25],[182.25,-60.75]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:2,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:13,ty:4,nm:"Path Copy 4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[389.5,770.5,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-92.25,-29.25],[-92.25,-29.25],[29.25,92.25],[29.25,92.25]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-29.25,-92.25],[-92.25,-29.25],[29.25,92.25],[92.25,29.25]],c:!0}]},{t:120}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path Copy 4",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:14,ty:4,nm:"Path Copy 9",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[273,647,0],e:[317,695,0],to:[7.33333349227905,8,0],ti:[-7.33333349227905,-8,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[317,695,0],e:[317,695,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.833,y:1},o:{x:.333,y:0},n:"0p833_1_0p333_0",t:300,s:[317,695,0],e:[273,647,0],to:[-7.33333349227905,-8,0],ti:[7.33333349227905,8,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[30.75,-31.25],[-31.5,31]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path Copy 9",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:15,ty:4,nm:"Path Copy 8",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[329,832,0],e:[349,812,0],to:[3.33333325386047,-3.33333325386047,0],ti:[-3.33333325386047,3.33333325386047,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[349,812,0],e:[349,812,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.833,y:1},o:{x:.333,y:0},n:"0p833_1_0p333_0",t:300,s:[349,812,0],e:[329,832,0],to:[-3.33333325386047,3.33333325386047,0],ti:[3.33333325386047,-3.33333325386047,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-61,-61],[61,61]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path Copy 8",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:16,ty:4,nm:"wide box",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[971.5,988.5,0],e:[1096.5,864.5,0],to:[10.0566339492798,-9.97618103027344,0],ti:[0,0,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[1096.5,864.5,0],e:[1096.5,864.5,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.833,y:1},o:{x:.333,y:0},n:"0p833_1_0p333_0",t:300,s:[1096.5,864.5,0],e:[971.5,988.5,0],to:[0,0,0],ti:[-20.8333339691162,20.6666660308838,0]},{t:330}],ix:2},a:{a:0,k:[-1,1,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-129.25,-52.25],[-52.25,-129.25],[129.25,52.25],[52.25,129.25]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:17,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[993,766,0],e:[1071,688,0],to:[13,-13,0],ti:[-13,13,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[1071,688,0],e:[1071,688,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.833,y:1},o:{x:.333,y:0},n:"0p833_1_0p333_0",t:300,s:[1071,688,0],e:[993,766,0],to:[-13,13,0],ti:[13,-13,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-89.5,-89.5],[89.5,89.5]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:18,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[1115,850,0],e:[1311.5,799.5,0],to:[18.5410747528076,-4.90381097793579,0],ti:[-5.73690891265869,1.51731848716736,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:120,s:[1311.5,799.5,0],e:[1311.5,799.5,0],to:[33.0833320617676,-8.75,0],ti:[5.73690891265869,-1.51731848716736,0]},{i:{x:.833,y:1},o:{x:.333,y:0},n:"0p833_1_0p333_0",t:300,s:[1311.5,799.5,0],e:[1115,850,0],to:[-5.73690891265869,1.51731848716736,0],ti:[-33.0833320617676,8.75,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[103.689,103.689,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[30.5,-30.5],[-30.5,30.5]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:19,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[1011.5,748.5,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.833,y:.833},o:{x:.333,y:0},n:"0p833_0p833_0p333_0",t:90,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[120.75,57.75],[58.25,120.25],[-120.25,-58.25],[-57.75,-120.75]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[120.514,57.986],[119.427,59.073],[-59.073,-119.427],[-57.986,-120.514]],c:!0}]},{i:{x:.833,y:.833},o:{x:.167,y:.167},n:"0p833_0p833_0p167_0p167",t:120,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[120.514,57.986],[119.427,59.073],[-59.073,-119.427],[-57.986,-120.514]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[120.514,57.986],[119.427,59.073],[-59.073,-119.427],[-57.986,-120.514]],c:!0}]},{i:{x:.833,y:1},o:{x:.167,y:.167},n:"0p833_1_0p167_0p167",t:300,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[120.514,57.986],[119.427,59.073],[-59.073,-119.427],[-57.986,-120.514]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[120.75,57.75],[58.25,120.25],[-120.25,-58.25],[-57.75,-120.75]],c:!0}]},{t:330}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"gr",it:[{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:0,cix:2,ix:2,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:20,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3620,905,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[33,163],[-163,-33],[-33,-163],[163,33]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:21,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3274,751,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[86,-140],[140,-86],[-86,140],[-140,86]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:22,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3770,475,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-2,-162],[162,2],[2,162],[-162,-2]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:23,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3465,340,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[80,-24],[24,-80],[-82,26],[-26,82]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:24,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[3420.5,966.5,0],e:[3389.5,996.5,0],to:[-5.16666650772095,5,0],ti:[5.16666650772095,-5,0]},{i:{x:.667,y:.667},o:{x:.167,y:.167},n:"0p667_0p667_0p167_0p167",t:120,s:[3389.5,996.5,0],e:[3389.5,996.5,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[3389.5,996.5,0],e:[3420.5,966.5,0],to:[5.16666650772095,-5,0],ti:[-5.16666650772095,5,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-62.75,-62.75],[-62.25,-62.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-62.75,-62.75],[62.75,62.75]],c:!1}]},{i:{x:.667,y:1},o:{x:.167,y:0},n:"0p667_1_0p167_0",t:120,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-62.75,-62.75],[62.75,62.75]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-62.75,-62.75],[62.75,62.75]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-62.75,-62.75],[62.75,62.75]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-62.75,-62.75],[-62.25,-62.25]],c:!1}]},{t:330}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:25,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[3219.5,915.5,0],e:[3339.5,1035.5,0],to:[20,20,0],ti:[-20,-20,0]},{i:{x:.667,y:.667},o:{x:.167,y:.167},n:"0p667_0p667_0p167_0p167",t:120,s:[3339.5,1035.5,0],e:[3339.5,1035.5,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[3339.5,1035.5,0],e:[3219.5,915.5,0],to:[-20,-20,0],ti:[20,20,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[38.25,-38.25],[38.25,-38.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[38.25,-38.25],[-38.25,38.25]],c:!1}]},{i:{x:.667,y:1},o:{x:.167,y:0},n:"0p667_1_0p167_0",t:120,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[38.25,-38.25],[-38.25,38.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[38.25,-38.25],[-38.25,38.25]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[38.25,-38.25],[-38.25,38.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[38.25,-38.25],[38.25,-38.25]],c:!1}]},{t:330}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:26,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3344,1041,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[42,42],[0,0],[0,0],[0,0]],v:[[-25,-101],[-24,-100],[-24.5,-99.5],[-25.5,-100.5]],c:!1}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-25,-101],[101,25],[25,101],[-101,-25]],c:!1}]},{i:{x:.667,y:1},o:{x:.167,y:0},n:"0p667_1_0p167_0",t:120,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-25,-101],[101,25],[25,101],[-101,-25]],c:!1}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-25,-101],[101,25],[25,101],[-101,-25]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[-25,-101],[101,25],[25,101],[-101,-25]],c:!1}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[42,42],[0,0],[0,0],[0,0]],v:[[-25,-101],[-24,-100],[-24.5,-99.5],[-25.5,-100.5]],c:!1}]},{t:330}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:27,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[3142.5,483.5,0],e:[3266.5,359.5,0],to:[20.6666660308838,-20.6666660308838,0],ti:[-20.6666660308838,20.6666660308838,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[3266.5,359.5,0],e:[3266.5,359.5,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[3266.5,359.5,0],e:[3142.5,483.5,0],to:[-20.6666660308838,20.6666660308838,0],ti:[20.6666660308838,-20.6666660308838,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-73.25,-73.25],[73.25,73.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-33.25,-33.25],[73.25,73.25]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:120,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-33.25,-33.25],[73.25,73.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-33.25,-33.25],[73.25,73.25]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-33.25,-33.25],[73.25,73.25]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[-73.25,-73.25],[73.25,73.25]],c:!1}]},{t:329.5}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:28,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[3163,420,0],e:[3327,588,0],to:[27.3333339691162,28,0],ti:[-27.3333339691162,-28,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[3327,588,0],e:[3327,588,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[3327,588,0],e:[3163,420,0],to:[-27.3333339691162,-28,0],ti:[27.3333339691162,28,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[42,-42],[-42,42]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[42,-42],[42.312,-42.125]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:120,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[42,-42],[42.312,-42.125]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[42,-42],[42.312,-42.125]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[42,-42],[42.312,-42.125]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[42,-42],[-42,42]],c:!1}]},{t:330}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:29,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3184,441,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[31,115],[-115,-31],[-31,-115],[115,31]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[113.5,31.5],[8,-74],[8,-74],[113.5,31.5]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:120,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[113.5,31.5],[8,-74],[8,-74],[113.5,31.5]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[113.5,31.5],[8,-74],[8,-74],[113.5,31.5]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[113.5,31.5],[8,-74],[8,-74],[113.5,31.5]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[31,115],[-115,-31],[-31,-115],[115,31]],c:!0}]},{t:330}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:30,ty:4,nm:"Path",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:90,s:[2954,751,0],e:[3120,585,0],to:[27.6666660308838,-27.6666660308838,0],ti:[-27.6666660308838,27.6666660308838,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:120,s:[3120,585,0],e:[3120,585,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:300,s:[3120,585,0],e:[2954,751,0],to:[-27.6666660308838,27.6666660308838,0],ti:[27.6666660308838,-27.6666660308838,0]},{t:330}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[146,-40],[40,-146],[-146,40],[-40,146]],c:!0},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117646999657,.678430974483,.803921997547,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:2,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[200,200],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Path",np:2,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:420,st:0,bm:0},{ddd:0,ind:31,ty:4,nm:"Shape Layer 5",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:188,s:[2046,804,0],e:[2150,700,0],to:[17.3333339691162,-17.3333339691162,0],ti:[-17.3333339691162,17.3333339691162,0]},{i:{x:.667,y:.667},o:{x:.333,y:.333},n:"0p667_0p667_0p333_0p333",t:210,s:[2150,700,0],e:[2150,700,0],to:[0,0,0],ti:[0,0,0]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[2150,700,0],e:[2046,804,0],to:[-17.3333339691162,17.3333339691162,0],ti:[17.3333339691162,-17.3333339691162,0]},{t:410}],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1727,-6],[1858,125]],c:!0}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1727,-6],[1968,235]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:210,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1727,-6],[1968,235]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1727,-6],[1968,235]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1727,-6],[1968,235]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1727,-6],[1858,125]],c:!0}]},{t:420}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117647066303,.678431372549,.803921628466,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 1",np:3,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:527,st:0,bm:0},{ddd:0,ind:32,ty:4,nm:"Shape Layer 4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[2120,670,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1684,158],[1685,157]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1746,220],[1963,3]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:210,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1746,220],[1963,3]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1746,220],[1963,3]],c:!1}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1746,220],[1963,3]],c:!1}],e:[{i:[[0,0],[0,0]],o:[[0,0],[0,0]],v:[[1684,158],[1685,157]],c:!1}]},{t:420}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117647066303,.678431372549,.803921628466,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 1",np:3,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:527,st:0,bm:0},{ddd:0,ind:33,ty:4,nm:"Shape Layer 3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[3138,417,0],ix:2},a:{a:0,k:[0,0,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[0,0]],o:[[0,0]],v:[[-2516,745]],c:!1},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117647066303,.678431372549,.803921628466,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[1,-1],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 2",np:3,cix:2,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:180,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[636,382],[636,382],[766,512],[766,512]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[854,164],[636,382],[876,622],[1094,404]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:210,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[854,164],[636,382],[876,622],[1094,404]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[854,164],[636,382],[876,622],[1094,404]],c:!0}]},{i:{x:.667,y:1},o:{x:.333,y:0},n:"0p667_1_0p333_0",t:390,s:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[854,164],[636,382],[876,622],[1094,404]],c:!0}],e:[{i:[[0,0],[0,0],[0,0],[0,0]],o:[[0,0],[0,0],[0,0],[0,0]],v:[[636,382],[636,382],[766,512],[766,512]],c:!0}]},{t:420}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:!1},{ty:"st",c:{a:0,k:[.117647066303,.678431372549,.803921628466,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:4,ix:5},lc:1,lj:1,ml:4,ml2:{a:0,k:4,ix:8},nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"fl",c:{a:0,k:[1,1,1,1],ix:4},o:{a:0,k:100,ix:5},r:1,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:!1},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Shape 1",np:3,cix:2,ix:2,mn:"ADBE Vector Group",hd:!1}],ip:0,op:527,st:0,bm:0}],markers:[{tm:90,cm:"1",dr:0},{tm:120,cm:"2",dr:0},{tm:180,cm:"3",dr:0},{tm:210,cm:"4",dr:0},{tm:300,cm:"5",dr:0},{tm:330,cm:"6",dr:0},{tm:390,cm:"7",dr:0},{tm:420,cm:"8",dr:0}]}},79:function(i,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var x=t(0),o=t(85),k=t(176);a.CompilerAnimation=function(){return x.createElement(o.BaseAnimation,{animationData:k,width:2150,height:700})}},85:function(i,a,t){"use strict";var x,o=this&&this.__extends||(x=function(i,a){return(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var t in a)a.hasOwnProperty(t)&&(i[t]=a[t])})(i,a)},function(i,a){function t(){this.constructor=i}x(i,a),i.prototype=null===a?Object.create(a):(t.prototype=a.prototype,new t)}),k=this&&this.__makeTemplateObject||function(i,a){return Object.defineProperty?Object.defineProperty(i,"raw",{value:a}):i.raw=a,i};Object.defineProperty(a,"__esModule",{value:!0});var n=t(0),r=t(96),p=t(1),s=t(2),e=function(i){function a(){var a=null!==i&&i.apply(this,arguments)||this;return a.state={height:void 0,width:void 0},a._timeout=void 0,a}return o(a,i),a.prototype.componentDidMount=function(){this._updateAnimationSize(),window.addEventListener("resize",this._handleResize.bind(this))},a.prototype.componentWillUnmount=function(){window.removeEventListener("resize",this._handleResize.bind(this))},a.prototype.render=function(){var i=this.props.animationData,a=this.state.height||this.props.height,t=this.state.width||this.props.width;return n.createElement(y,{height:a},n.createElement(d,null,n.createElement(r.default,{width:t,height:a,options:{loop:!0,autoplay:!0,animationData:i}})))},a.prototype._handleResize=function(){clearTimeout(this._timeout),this._timeout=window.setTimeout(this._updateAnimationSize.bind(this),50)},a.prototype._updateAnimationSize=function(){var i,a,t=window.innerWidth;if(t<=1e3){var x=(t+250)/this.props.width;a=Math.round(this.props.height*x),i=Math.round(this.props.width*x)}this.setState({width:i,height:a})},a}(n.PureComponent);a.BaseAnimation=e;var m,c,h,y=p.default.div(c||(c=k(["\n width: 100%;\n height: ","px;\n position: absolute;\n top: 40%;\n left: 0;\n z-index: -1;\n overflow: hidden;\n ",";\n"],["\n width: 100%;\n height: ","px;\n position: absolute;\n top: 40%;\n left: 0;\n z-index: -1;\n overflow: hidden;\n ",";\n"])),function(i){return i.height},s.media.large(m||(m=k(["\n top: 100%;\n transform: translateY(-50%);\n "],["\n top: 100%;\n transform: translateY(-50%);\n "])))),d=p.default.div(h||(h=k(["\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n"],["\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n"])))}}]); +//# sourceMappingURL=bundle-compiler-animation.350d539fdb811c75be5d.js.map \ No newline at end of file diff --git a/packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js.map b/packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js.map new file mode 100644 index 0000000000..206387a34f --- /dev/null +++ b/packages/dev-tools-pages/public/bundle-compiler-animation.350d539fdb811c75be5d.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./ts/components/animations/compiler/index.tsx","webpack:///./ts/components/animations/index.tsx"],"names":["React","__webpack_require__","index_1","animationData","exports","CompilerAnimation","createElement","BaseAnimation","width","height","react_lottie_1","styled_components_1","variables_1","_super","_this","apply","this","arguments","state","undefined","_timeout","__extends","prototype","componentDidMount","_updateAnimationSize","window","addEventListener","_handleResize","bind","componentWillUnmount","removeEventListener","render","props","Container","InnerContainer","default","options","loop","autoplay","clearTimeout","setTimeout","windowWidth","innerWidth","ratio","Math","round","setState","PureComponent","div","templateObject_2","__makeTemplateObject","media","large","templateObject_1","templateObject_3"],"mappings":"mi2CAAA,IAAAA,EAAAC,EAAA,GAEAC,EAAAD,EAAA,IAEAE,EAAAF,EAAA,KAMSG,EAAAC,kBAJ+C,WAAM,OAC1DL,EAAAM,cAACJ,EAAAK,cAAa,CAACJ,cAAeA,EAAeK,MAAO,KAAMC,OAAQ,2iBCPtE,IAAAT,EAAAC,EAAA,GACAS,EAAAT,EAAA,IACAU,EAAAV,EAAA,GAEAW,EAAAX,EAAA,GAaAM,EAAA,SAAAM,GAAA,SAAAN,IAAA,IAAAO,EAAA,OAAAD,KAAAE,MAAAC,KAAAC,YAAAD,YACWF,EAAAI,MAAwB,CAC3BT,YAAQU,EACRX,WAAOW,GAEHL,EAAAM,cAAWD,IA+CvB,OApD4BE,EAAAd,EAAAM,GAMjBN,EAAAe,UAAAC,kBAAP,WACIP,KAAKQ,uBACLC,OAAOC,iBAAiB,SAAUV,KAAKW,cAAcC,KAAKZ,QAEvDT,EAAAe,UAAAO,qBAAP,WACIJ,OAAOK,oBAAoB,SAAUd,KAAKW,cAAcC,KAAKZ,QAE1DT,EAAAe,UAAAS,OAAP,WACY,IAAA5B,EAAAa,KAAAgB,MAAA7B,cACFM,EAASO,KAAKE,MAAMT,QAAUO,KAAKgB,MAAMvB,OACzCD,EAAQQ,KAAKE,MAAMV,OAASQ,KAAKgB,MAAMxB,MAE7C,OACIR,EAAAM,cAAC2B,EAAS,CAACxB,OAAQA,GACfT,EAAAM,cAAC4B,EAAc,KACXlC,EAAAM,cAACI,EAAAyB,QAAM,CACH3B,MAAOA,EACPC,OAAQA,EACR2B,QAAS,CACLC,MAAM,EACNC,UAAU,EACVnC,cAAaA,QAO7BI,EAAAe,UAAAK,cAAR,WACIY,aAAavB,KAAKI,UAClBJ,KAAKI,SAAWK,OAAOe,WAAWxB,KAAKQ,qBAAqBI,KAAKZ,MAAO,KAEpET,EAAAe,UAAAE,qBAAR,WACI,IACIhB,EACAC,EAFEgC,EAAchB,OAAOiB,WAG3B,GAAID,GAAe,IAAM,CACrB,IACME,GADWF,EAAc,KACNzB,KAAKgB,MAAMxB,MAEpCC,EAASmC,KAAKC,MAAM7B,KAAKgB,MAAMvB,OAASkC,GACxCnC,EAAQoC,KAAKC,MAAM7B,KAAKgB,MAAMxB,MAAQmC,GAG1C3B,KAAK8B,SAAS,CAAEtC,MAAKA,EAAEC,OAAMA,KAErCF,EApDA,CAA4BP,EAAM+C,eA2EzB3C,EAAAG,gBArBT,UAAM0B,EAAYtB,EAAAwB,QAAOa,IAAGC,MAAAC,EAAA,uJAAgB,mCAET,2GAS9B,SATS,SAAAlB,GAAS,OAAAA,EAAMvB,QAMvBG,EAAAuC,MAAMC,MAAKC,MAAAH,EAAA,8IAMXhB,EAAiBvB,EAAAwB,QAAOa,IAAGM,MAAAJ,EAAA","file":"bundle-compiler-animation.350d539fdb811c75be5d.js","sourcesContent":["import * as React from 'react';\n\nimport { BaseAnimation } from '../index';\n\nimport * as animationData from './data.json';\n\nconst CompilerAnimation: React.StatelessComponent<{}> = () => (\n \n);\n\nexport { CompilerAnimation };\n","import * as React from 'react';\nimport Lottie from 'react-lottie';\nimport styled from 'styled-components';\n\nimport { media } from 'ts/variables';\n\ninterface AnimationProps {\n animationData: object;\n width: number;\n height: number;\n}\n\ninterface AnimationState {\n width?: number | undefined;\n height?: number | undefined;\n}\n\nclass BaseAnimation extends React.PureComponent {\n public state: AnimationState = {\n height: undefined,\n width: undefined,\n };\n private _timeout = undefined as number;\n public componentDidMount(): void {\n this._updateAnimationSize();\n window.addEventListener('resize', this._handleResize.bind(this));\n }\n public componentWillUnmount(): void {\n window.removeEventListener('resize', this._handleResize.bind(this));\n }\n public render(): React.ReactNode {\n const { animationData } = this.props;\n const height = this.state.height || this.props.height;\n const width = this.state.width || this.props.width;\n\n return (\n \n \n \n \n \n );\n }\n private _handleResize(): void {\n clearTimeout(this._timeout);\n this._timeout = window.setTimeout(this._updateAnimationSize.bind(this), 50);\n }\n private _updateAnimationSize(): void {\n const windowWidth = window.innerWidth;\n let width;\n let height;\n if (windowWidth <= 1000) {\n const maxWidth = windowWidth + 250;\n const ratio = maxWidth / this.props.width;\n\n height = Math.round(this.props.height * ratio);\n width = Math.round(this.props.width * ratio);\n }\n\n this.setState({ width, height });\n }\n}\n\nconst Container = styled.div`\n width: 100%;\n height: ${props => props.height}px;\n position: absolute;\n top: 40%;\n left: 0;\n z-index: -1;\n overflow: hidden;\n ${media.large`\n top: 100%;\n transform: translateY(-50%);\n `};\n`;\n\nconst InnerContainer = styled.div`\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n`;\n\nexport { BaseAnimation };\n"],"sourceRoot":""} \ No newline at end of file diff --git a/packages/dev-tools-pages/public/bundle-compiler.e7d3a5bb143e462b27d6.js b/packages/dev-tools-pages/public/bundle-compiler.e7d3a5bb143e462b27d6.js new file mode 100644 index 0000000000..1fe3f191c7 --- /dev/null +++ b/packages/dev-tools-pages/public/bundle-compiler.e7d3a5bb143e462b27d6.js @@ -0,0 +1,47 @@ +!function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},_=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},k=function(e){return"object"===(void 0===e?"undefined":m(e))&&e.constructor===Object},x=Object.freeze([]),C=Object.freeze({});function E(e){return"function"==typeof e}function S(e){return e.displayName||e.name||"Component"}function T(e){return e&&"string"==typeof e.styledComponentId}var O=void 0!==e&&Object({NODE_ENV:"production"}).SC_ATTR||"data-styled",j="undefined"!=typeof window&&"HTMLElement"in window,P="boolean"==typeof SC_DISABLE_SPEEDY&&SC_DISABLE_SPEEDY||!1,A={};var I=function(e){function t(n){v(this,t);for(var r=arguments.length,o=Array(r>1?r-1:0),i=1;i0&&-1!==n.slice(0,t).indexOf(W)&&n.slice(t-W.length,t)!==W?"."+B:e};F.use([function(e,t,n){2===e&&n.length&&n[0].lastIndexOf(W)>0&&(n[0]=n[0].replace($,H))},U,D]),z.use([U,D]);function V(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"&",o=e.join("").replace(R,""),i=t&&n?n+" "+t+" { "+o+" }":o;return B=r,W=t,$=new RegExp("\\"+W+"\\b","g"),F(n||!t?"":t,i)}var q=function(){return n.nc},G=function(e,t,n){n&&((e[t]||(e[t]=Object.create(null)))[n]=!0)},K=function(e,t){e[t]=Object.create(null)},Y=function(e){return function(t,n){return void 0!==e[t]&&e[t][n]}},Q=function(e){var t="";for(var n in e)t+=Object.keys(e[n]).join(" ")+" ";return t.trim()},X=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets.length,n=0;n"+e()+""}},ne=function(e,t){return function(){var n,r=((n={})[O]=Q(t),n["data-styled-version"]="4.1.1",n),o=q();return o&&(r.nonce=o),c.a.createElement("style",y({},r,{dangerouslySetInnerHTML:{__html:e()}}))}},re=function(e){return function(){return Object.keys(e)}},oe=function(e){return document.createTextNode(J(e))},ie=function e(t,n){var r=void 0===t?Object.create(null):t,o=void 0===n?Object.create(null):n,i=function(e){var t=o[e];return void 0!==t?t:o[e]=[""]},a=function(){var e="";for(var t in o){var n=o[t][0];n&&(e+=J(t)+n)}return e};return{clone:function(){var t=function(e){var t=Object.create(null);for(var n in e)t[n]=y({},e[n]);return t}(r),n=Object.create(null);for(var i in o)n[i]=[o[i][0]];return e(t,n)},css:a,getIds:re(o),hasNameForId:Y(r),insertMarker:i,insertRules:function(e,t,n){i(e)[0]+=t.join(" "),G(r,e,n)},removeRules:function(e){var t=o[e];void 0!==t&&(t[0]="",K(r,e))},sealed:!1,styleTag:null,toElement:ne(a,r),toHTML:te(a,r)}},ae=function(e,t,n,r,o){if(j&&!n){var i=function(e,t,n){var r=document.createElement("style");r.setAttribute(O,""),r.setAttribute("data-styled-version","4.1.1");var o=q();if(o&&r.setAttribute("nonce",o),r.appendChild(document.createTextNode("")),e&&!t)e.appendChild(r);else{if(!t||!e||!t.parentNode)throw new I(6);t.parentNode.insertBefore(r,n?t:t.nextSibling)}return r}(e,t,r);return P?function(e,t){var n=Object.create(null),r=Object.create(null),o=void 0!==t,i=!1,a=function(t){var o=r[t];return void 0!==o?o:(r[t]=oe(t),e.appendChild(r[t]),n[t]=Object.create(null),r[t])},u=function(){var e="";for(var t in r)e+=r[t].data;return e};return{clone:function(){throw new I(5)},css:u,getIds:re(r),hasNameForId:Y(n),insertMarker:a,insertRules:function(e,r,u){for(var l=a(e),c=[],s=r.length,f=0;f0&&(i=!0,t().insertRules(e+"-import",c))},removeRules:function(a){var u=r[a];if(void 0!==u){var l=oe(a);e.replaceChild(l,u),r[a]=l,K(n,a),o&&i&&t().removeRules(a+"-import")}},sealed:!1,styleTag:e,toElement:ne(u,n),toHTML:te(u,n)}}(i,o):function(e,t){var n=Object.create(null),r=Object.create(null),o=[],i=void 0!==t,a=!1,u=function(e){var t=r[e];return void 0!==t?t:(r[e]=o.length,o.push(0),K(n,e),r[e])},l=function(){var t=X(e).cssRules,n="";for(var i in r){n+=J(i);for(var a=r[i],u=ee(o,a),l=u-o[a];l0&&(a=!0,t().insertRules(r+"-import",h)),o[s]+=p,G(n,r,c)},removeRules:function(u){var l=r[u];if(void 0!==l){var c=o[l];!function(e,t,n){for(var r=t-n,o=t;o>r;o-=1)e.deleteRule(o)}(X(e),ee(o,l)-1,c),o[l]=0,K(n,u),i&&a&&t().removeRules(u+"-import")}},sealed:!1,styleTag:e,toElement:ne(l,n),toHTML:te(l,n)}}(i,o)}return ie()},ue=/\s+/,le=void 0;le=j?P?40:1e3:-1;var ce=0,se=void 0,fe=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j?document.head:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];v(this,e),this.getImportRuleTag=function(){var e=t.importRuleTag;if(void 0!==e)return e;var n=t.tags[0];return t.importRuleTag=ae(t.target,n?n.styleTag:null,t.forceServer,!0)},ce+=1,this.id=ce,this.forceServer=r,this.target=r?null:n,this.tagMap={},this.deferred={},this.rehydratedNames={},this.ignoreRehydratedNames={},this.tags=[],this.capacity=1,this.clones=[]}return e.prototype.rehydrate=function(){if(!j||this.forceServer)return this;var e=[],t=[],n=!1,r=document.querySelectorAll("style["+O+'][data-styled-version="4.1.1"]'),o=r.length;if(!o)return this;for(var i=0;i0&&void 0!==arguments[0]&&arguments[0];se=new e(void 0,t).rehydrate()},e.prototype.clone=function(){var t=new e(this.target,this.forceServer);return this.clones.push(t),t.tags=this.tags.map(function(e){for(var n=e.getIds(),r=e.clone(),o=0;o1?t-1:0),r=1;r=4;)t=1540483477*(65535&(t=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+((1540483477*(t>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(t=1540483477*(65535&(t^=t>>>24))+((1540483477*(t>>>16)&65535)<<16)),n-=4,++o;switch(n){case 3:r^=(255&e.charCodeAt(o+2))<<16;case 2:r^=(255&e.charCodeAt(o+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(o)))+((1540483477*(r>>>16)&65535)<<16)}return((r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16))^r>>>15)>>>0}var we=52,_e=function(e){return String.fromCharCode(e+(e>25?39:97))};function ke(e){var t="",n=void 0;for(n=e;n>we;n=Math.floor(n/we))t=_e(n%we)+t;return _e(n%we)+t}function xe(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:C,r=!!n&&e.theme===n.theme;return e.theme&&!r?e.theme:t||n.theme},je=/[[\].#*$><+~=|^:(),"'`-]+/g,Pe=/(^-|-$)/g;function Ae(e){return e.replace(je,"-").replace(Pe,"")}function Ie(e){return"string"==typeof e}var Ne={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDerivedStateFromProps:!0,propTypes:!0,type:!0},Me={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Re=((Ce={})[f.ForwardRef]={$$typeof:!0,render:!0},Ce),ze=Object.defineProperty,Fe=Object.getOwnPropertyNames,Le=Object.getOwnPropertySymbols,De=void 0===Le?function(){return[]}:Le,Ue=Object.getOwnPropertyDescriptor,Be=Object.getPrototypeOf,We=Object.prototype,$e=Array.prototype;function He(e,t,n){if("string"!=typeof t){var r=Be(t);r&&r!==We&&He(e,r,n);for(var o=$e.concat(Fe(t),De(t)),i=Re[e.$$typeof]||Ne,a=Re[t.$$typeof]||Ne,u=o.length,l=void 0,c=void 0;u--;)if(c=o[u],!(Me[c]||n&&n[c]||a&&a[c]||i&&i[c])&&(l=Ue(t,c)))try{ze(e,c,l)}catch(e){}return e}return e}var Ve=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}},qe=Object(l.createContext)(),Ge=qe.Consumer,Ke=function(e){function t(n){v(this,t);var r=_(this,e.call(this,n));return r.getContext=Object(d.a)(r.getContext.bind(r)),r.renderInner=r.renderInner.bind(r),r}return b(t,e),t.prototype.render=function(){return this.props.children?c.a.createElement(qe.Consumer,null,this.renderInner):null},t.prototype.renderInner=function(e){var t=this.getContext(this.props.theme,e);return c.a.createElement(qe.Provider,{value:t},c.a.Children.only(this.props.children))},t.prototype.getTheme=function(e,t){if(E(e))return e(t);if(null===e||Array.isArray(e)||"object"!==(void 0===e?"undefined":m(e)))throw new I(8);return y({},t,e)},t.prototype.getContext=function(e,t){return this.getTheme(e,t)},t}(l.Component),Ye=function(){function e(){v(this,e),this.masterSheet=fe.master,this.instance=this.masterSheet.clone(),this.sealed=!1}return e.prototype.seal=function(){if(!this.sealed){var e=this.masterSheet.clones.indexOf(this.instance);this.masterSheet.clones.splice(e,1),this.sealed=!0}},e.prototype.collectStyles=function(e){if(this.sealed)throw new I(2);return c.a.createElement(Ze,{sheet:this.instance},e)},e.prototype.getStyleTags=function(){return this.seal(),this.instance.toHTML()},e.prototype.getStyleElement=function(){return this.seal(),this.instance.toReactElements()},e.prototype.interleaveWithNodeStream=function(e){throw new I(3)},e}(),Qe=Object(l.createContext)(),Xe=Qe.Consumer,Ze=function(e){function t(n){v(this,t);var r=_(this,e.call(this,n));return r.getContext=Object(d.a)(r.getContext),r}return b(t,e),t.prototype.getContext=function(e,t){if(e)return e;if(t)return new fe(t);throw new I(4)},t.prototype.render=function(){var e=this.props,t=e.children,n=e.sheet,r=e.target;return c.a.createElement(Qe.Provider,{value:this.getContext(n,r)},t)},t}(l.Component),Je=(new Set,{});Ve(function(){return console.warn('The "innerRef" API has been removed in styled-components v4 in favor of React 16 ref forwarding, use "ref" instead like a typical component.')}),Ve(function(e,t){return console.warn('Functions as object-form attrs({}) keys are now deprecated and will be removed in a future version of styled-components. Switch to the new attrs(props => ({})) syntax instead for easier and more powerful composition. The attrs key in question is "'+e+'" on component "'+t+'".')}),Ve(function(e,t){return console.warn("It looks like you've used a non styled-component as the value for the \""+e+'" prop in an object-form attrs constructor of "'+t+"\".\nYou should use the new function-form attrs constructor which avoids this issue: attrs(props => ({ yourStuff }))\nTo continue using the deprecated object syntax, you'll need to wrap your component prop in a function to make it available inside the styled component (you'll still get the deprecation warning though.)\nFor example, { "+e+": () => InnerComponent } instead of { "+e+": InnerComponent }")});var et=function(e){function t(){v(this,t);var n=_(this,e.call(this));return n.attrs={},n.renderOuter=n.renderOuter.bind(n),n.renderInner=n.renderInner.bind(n),n}return b(t,e),t.prototype.render=function(){return c.a.createElement(Xe,null,this.renderOuter)},t.prototype.renderOuter=function(e){return this.styleSheet=e,this.props.forwardedClass.componentStyle.isStatic?this.renderInner():c.a.createElement(Ge,null,this.renderInner)},t.prototype.renderInner=function(e){var t=this.props.forwardedClass,n=t.componentStyle,r=t.defaultProps,o=t.styledComponentId,i=t.target,a=void 0;a=n.isStatic?this.generateAndInjectStyles(C,this.props,this.styleSheet):void 0!==e?this.generateAndInjectStyles(Oe(this.props,e,r),this.props,this.styleSheet):this.generateAndInjectStyles(this.props.theme||C,this.props,this.styleSheet);var u=this.props.as||this.attrs.as||i,c=Ie(u),s={},f=y({},this.attrs,this.props),d=void 0;for(d in f)"forwardedClass"!==d&&"as"!==d&&("forwardedRef"===d?s.ref=f[d]:c&&!Object(p.a)(d)||(s[d]=f[d]));return this.props.style&&this.attrs.style&&(s.style=y({},this.attrs.style,this.props.style)),s.className=[this.props.className,o,this.attrs.className,a].filter(Boolean).join(" "),Object(l.createElement)(u,s)},t.prototype.buildExecutionContext=function(e,t,n){var r=this,o=y({},t,{theme:e});return n.length?(this.attrs={},n.forEach(function(e){var n,i=e,a=!1,u=void 0,l=void 0;for(l in E(i)&&(i=i(t),a=!0),i)u=i[l],a||!E(u)||(n=u)&&n.prototype&&n.prototype.isReactComponent||T(u)||(u=u(o)),r.attrs[l]=u,o[l]=u}),o):o},t.prototype.generateAndInjectStyles=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:fe.master,r=t.forwardedClass,o=r.attrs,i=r.componentStyle;r.warnTooManyClasses;return i.isStatic&&!o.length?i.generateAndInjectStyles(C,n):i.generateAndInjectStyles(this.buildExecutionContext(e,t,o),n)},t}(l.Component);function tt(e,t,n){var r=T(e),o=!Ie(e),i=t.displayName,a=void 0===i?function(e){return Ie(e)?"styled."+e:"Styled("+S(e)+")"}(e):i,u=t.componentId,l=void 0===u?function(e,t,n){var r="string"!=typeof t?"sc":Ae(t),o=(Je[r]||0)+1;Je[r]=o;var i=r+"-"+e.generateName(r+o);return n?n+"-"+i:i}(Te,t.displayName,t.parentComponentId):u,s=t.ParentComponent,f=void 0===s?et:s,d=t.attrs,p=void 0===d?x:d,h=t.displayName&&t.componentId?Ae(t.displayName)+"-"+t.componentId:t.componentId||l,m=r&&e.attrs?Array.prototype.concat(e.attrs,p).filter(Boolean):p,v=new Te(r?e.componentStyle.rules.concat(n):n,m,h),g=c.a.forwardRef(function(e,t){return c.a.createElement(f,y({},e,{forwardedClass:g,forwardedRef:t}))});return g.attrs=m,g.componentStyle=v,g.displayName=a,g.styledComponentId=h,g.target=r?e.target:e,g.withComponent=function(e){var r=t.componentId,o=w(t,["componentId"]),i=r&&r+"-"+(Ie(e)?e:Ae(S(e)));return tt(e,y({},o,{attrs:m,componentId:i,ParentComponent:f}),n)},g.toString=function(){return"."+g.styledComponentId},o&&He(g,e,{attrs:!0,componentStyle:!0,displayName:!0,styledComponentId:!0,target:!0,withComponent:!0}),g}var nt=function(e){return function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:C;if(!Object(f.isValidElementType)(n))throw new I(1,String(n));var o=function(){return t(n,r,ye.apply(void 0,arguments))};return o.withConfig=function(o){return e(t,n,y({},r,o))},o.attrs=function(o){return e(t,n,y({},r,{attrs:Array.prototype.concat(r.attrs,o).filter(Boolean)}))},o}(tt,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach(function(e){nt[e]=nt(e)});var rt=function(){function e(t,n){v(this,e),this.rules=t,this.componentId=n,this.isStatic=xe(t,x),fe.master.hasId(n)||fe.master.deferredInject(n,[])}return e.prototype.createStyles=function(e,t){var n=V(ge(this.rules,e,t),"");t.inject(this.componentId,n)},e.prototype.removeStyles=function(e){var t=this.componentId;e.hasId(t)&&e.remove(t)},e.prototype.renderStyles=function(e,t){this.removeStyles(t),this.createStyles(e,t)},e}();function ot(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1?t-1:0),r=1;r])/g,y=/([[}=:>])\s+/g,b=/(\{[^{]+?);(?=\})/g,w=/\s{2,}/g,_=/([^\(])(:+) */g,k=/[svh]\w+-[tblr]{2}/,x=/\(\s*(.*)\s*\)/g,C=/([\s\S]*?);/g,E=/-self|flex-/g,S=/[^]*?(:[rp][el]a[\w-]+)[^]*/,T=/stretch|:\s*\w+\-(?:conte|avail)/,O="-webkit-",j="-moz-",P="-ms-",A=59,I=125,N=123,M=40,R=41,z=91,F=93,L=10,D=13,U=9,B=64,W=32,$=38,H=45,V=95,q=42,G=44,K=58,Y=39,Q=34,X=47,Z=62,J=43,ee=126,te=0,ne=12,re=11,oe=107,ie=109,ae=115,ue=112,le=111,ce=169,se=163,fe=100,de=112,pe=1,he=1,me=0,ve=1,ge=1,ye=1,be=0,we=0,_e=0,ke=[],xe=[],Ce=0,Ee=null,Se=-2,Te=-1,Oe=0,je=1,Pe=2,Ae=3,Ie=0,Ne=1,Me="",Re="",ze="";function Fe(e,t,o,i,a){for(var u,l,s=0,f=0,d=0,p=0,g=0,y=0,b=0,w=0,k=0,C=0,E=0,S=0,T=0,V=0,be=0,xe=0,Ee=0,Se=0,Te=0,De=o.length,He=De-1,Ve="",qe="",Ge="",Ke="",Ye="",Qe="";be0&&(qe=qe.replace(r,"")),qe.trim().length>0)){switch(b){case W:case U:case A:case D:case L:break;default:qe+=o.charAt(be)}b=A}if(1===Ee)switch(b){case N:case I:case A:case Q:case Y:case M:case R:case G:Ee=0;case U:case D:case L:case W:break;default:for(Ee=0,Te=be,g=b,be--,b=A;Te0&&(++be,b=g);case N:Te=De}}switch(b){case N:for(g=(qe=qe.trim()).charCodeAt(0),E=1,Te=++be;be0&&(qe=qe.replace(r,"")),y=qe.charCodeAt(1)){case fe:case ie:case ae:case H:u=t;break;default:u=ke}if(Te=(Ge=Fe(t,u,Ge,y,a+1)).length,_e>0&&0===Te&&(Te=qe.length),Ce>0&&(u=Le(ke,qe,Se),l=$e(Ae,Ge,u,t,he,pe,Te,y,a,i),qe=u.join(""),void 0!==l&&0===(Te=(Ge=l.trim()).length)&&(y=0,Ge="")),Te>0)switch(y){case ae:qe=qe.replace(x,We);case fe:case ie:case H:Ge=qe+"{"+Ge+"}";break;case oe:Ge=(qe=qe.replace(h,"$1 $2"+(Ne>0?Me:"")))+"{"+Ge+"}",Ge=1===ge||2===ge&&Be("@"+Ge,3)?"@"+O+Ge+"@"+Ge:"@"+Ge;break;default:Ge=qe+Ge,i===de&&(Ke+=Ge,Ge="")}else Ge="";break;default:Ge=Fe(t,Le(t,qe,Se),Ge,i,a+1)}Ye+=Ge,S=0,Ee=0,V=0,xe=0,Se=0,T=0,qe="",Ge="",b=o.charCodeAt(++be);break;case I:case A:if((Te=(qe=(xe>0?qe.replace(r,""):qe).trim()).length)>1)switch(0===V&&((g=qe.charCodeAt(0))===H||g>96&&g<123)&&(Te=(qe=qe.replace(" ",":")).length),Ce>0&&void 0!==(l=$e(je,qe,t,e,he,pe,Ke.length,i,a,i))&&0===(Te=(qe=l.trim()).length)&&(qe="\0\0"),(g=qe.charCodeAt(0))+(y=qe.charCodeAt(1))){case te:break;case ce:case se:Qe+=qe+o.charAt(be);break;default:if(qe.charCodeAt(Te-1)===K)break;Ke+=Ue(qe,g,y,qe.charCodeAt(2))}S=0,Ee=0,V=0,xe=0,Se=0,qe="",b=o.charCodeAt(++be)}}switch(b){case D:case L:if(f+p+d+s+we===0)switch(C){case R:case Y:case Q:case B:case ee:case Z:case q:case J:case X:case H:case K:case G:case A:case N:case I:break;default:V>0&&(Ee=1)}f===X?f=0:ve+S===0&&(xe=1,qe+="\0"),Ce*Ie>0&&$e(Oe,qe,t,e,he,pe,Ke.length,i,a,i),pe=1,he++;break;case A:case I:if(f+p+d+s===0){pe++;break}default:switch(pe++,Ve=o.charAt(be),b){case U:case W:if(p+s+f===0)switch(w){case G:case K:case U:case W:Ve="";break;default:b!==W&&(Ve=" ")}break;case te:Ve="\\0";break;case ne:Ve="\\f";break;case re:Ve="\\v";break;case $:p+f+s===0&&ve>0&&(Se=1,xe=1,Ve="\f"+Ve);break;case 108:if(p+f+s+me===0&&V>0)switch(be-V){case 2:w===ue&&o.charCodeAt(be-3)===K&&(me=w);case 8:k===le&&(me=k)}break;case K:p+f+s===0&&(V=be);break;case G:f+d+p+s===0&&(xe=1,Ve+="\r");break;case Q:case Y:0===f&&(p=p===b?0:0===p?b:p);break;case z:p+f+d===0&&s++;break;case F:p+f+d===0&&s--;break;case R:p+f+s===0&&d--;break;case M:if(p+f+s===0){if(0===S)switch(2*w+3*k){case 533:break;default:E=0,S=1}d++}break;case B:f+d+p+s+V+T===0&&(T=1);break;case q:case X:if(p+s+d>0)break;switch(f){case 0:switch(2*b+3*o.charCodeAt(be+1)){case 235:f=X;break;case 220:Te=be,f=q}break;case q:b===X&&w===q&&(33===o.charCodeAt(Te+2)&&(Ke+=o.substring(Te,be+1)),Ve="",f=0)}}if(0===f){if(ve+p+s+T===0&&i!==oe&&b!==A)switch(b){case G:case ee:case Z:case J:case R:case M:if(0===S){switch(w){case U:case W:case L:case D:Ve+="\0";break;default:Ve="\0"+Ve+(b===G?"":"\0")}xe=1}else switch(b){case M:S=++E;break;case R:0==(S=--E)&&(xe=1,Ve+="\0")}break;case U:case W:switch(w){case te:case N:case I:case A:case G:case ne:case U:case W:case L:case D:break;default:0===S&&(xe=1,Ve+="\0")}}qe+=Ve,b!==W&&b!==U&&(C=b)}}k=w,w=b,be++}if(Te=Ke.length,_e>0&&0===Te&&0===Ye.length&&0===t[0].length==0&&(i!==ie||1===t.length&&(ve>0?Re:ze)===t[0])&&(Te=t.join(",").length+2),Te>0){if(u=0===ve&&i!==oe?function(e){for(var t,n,o=0,i=e.length,a=Array(i);o1)){if(d=l.charCodeAt(l.length-1),p=n.charCodeAt(0),t="",0!==s)switch(d){case q:case ee:case Z:case J:case W:case M:break;default:t=" "}switch(p){case $:n=t+Re;case ee:case Z:case J:case W:case R:case M:break;case z:n=t+n+Re;break;case K:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(ye>0){n=t+n.substring(8,f-1);break}default:(s<1||u[s-1].length<1)&&(n=t+Re+n)}break;case G:t="";default:n=f>1&&n.indexOf(":")>0?t+n.replace(_,"$1"+Re+"$2"):t+n+Re}l+=n}a[o]=l.replace(r,"").trim()}return a}(t):t,Ce>0&&void 0!==(l=$e(Pe,Ke,u,e,he,pe,Te,i,a,i))&&0===(Ke=l).length)return Qe+Ke+Ye;if(Ke=u.join(",")+"{"+Ke+"}",ge*me!=0){switch(2!==ge||Be(Ke,2)||(me=0),me){case le:Ke=Ke.replace(v,":"+j+"$1")+Ke;break;case ue:Ke=Ke.replace(m,"::"+O+"input-$1")+Ke.replace(m,"::"+j+"$1")+Ke.replace(m,":"+P+"input-$1")+Ke}me=0}}return Qe+Ke+Ye}function Le(e,t,n){var r=t.trim().split(s),o=r,i=r.length,a=e.length;switch(a){case 0:case 1:for(var u=0,l=0===a?"":e[0]+" ";u0&&ve>0)return o.replace(d,"$1").replace(f,"$1"+ze);break;default:return e.trim()+o.replace(f,"$1"+e.trim())}default:if(n*ve>0&&o.indexOf("\f")>0)return o.replace(f,(e.charCodeAt(0)===K?"":"$1")+e.trim())}return e+o}function Ue(e,t,n,r){var c,s=0,f=e+";",d=2*t+3*n+4*r;if(944===d)return function(e){var t=e.length,n=e.indexOf(":",9)+1,r=e.substring(0,n).trim(),o=e.substring(n,t-1).trim();switch(e.charCodeAt(9)*Ne){case 0:break;case H:if(110!==e.charCodeAt(10))break;default:for(var i=o.split((o="",u)),a=0,n=0,t=i.length;aB&&f<90||f>96&&f<123||f===V||f===H&&c.charCodeAt(1)!==H))switch(isNaN(parseFloat(c))+(-1!==c.indexOf("("))){case 1:switch(c){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:c+=Me}}s[n++]=c}o+=(0===a?"":",")+s.join(" ")}}return o=r+o+";",1===ge||2===ge&&Be(o,1)?O+o+o:o}(f);if(0===ge||2===ge&&!Be(f,1))return f;switch(d){case 1015:return 97===f.charCodeAt(10)?O+f+f:f;case 951:return 116===f.charCodeAt(3)?O+f+f:f;case 963:return 110===f.charCodeAt(5)?O+f+f:f;case 1009:if(100!==f.charCodeAt(4))break;case 969:case 942:return O+f+f;case 978:return O+f+j+f+f;case 1019:case 983:return O+f+j+f+P+f+f;case 883:return f.charCodeAt(8)===H?O+f+f:f;case 932:if(f.charCodeAt(4)===H)switch(f.charCodeAt(5)){case 103:return O+"box-"+f.replace("-grow","")+O+f+P+f.replace("grow","positive")+f;case 115:return O+f+P+f.replace("shrink","negative")+f;case 98:return O+f+P+f.replace("basis","preferred-size")+f}return O+f+P+f+f;case 964:return O+f+P+"flex-"+f+f;case 1023:if(99!==f.charCodeAt(8))break;return c=f.substring(f.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),O+"box-pack"+c+O+f+P+"flex-pack"+c+f;case 1005:return i.test(f)?f.replace(o,":"+O)+f.replace(o,":"+j)+f:f;case 1e3:switch(s=(c=f.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(s)){case 226:c=f.replace(k,"tb");break;case 232:c=f.replace(k,"tb-rl");break;case 220:c=f.replace(k,"lr");break;default:return f}return O+f+P+c+f;case 1017:if(-1===f.indexOf("sticky",9))return f;case 975:switch(s=(f=e).length-10,d=(c=(33===f.charCodeAt(s)?f.substring(0,s):f).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(c.charCodeAt(8)<111)break;case 115:f=f.replace(c,O+c)+";"+f;break;case 207:case 102:f=f.replace(c,O+(d>102?"inline-":"")+"box")+";"+f.replace(c,O+c)+";"+f.replace(c,P+c+"box")+";"+f}return f+";";case 938:if(f.charCodeAt(5)===H)switch(f.charCodeAt(6)){case 105:return c=f.replace("-items",""),O+f+O+"box-"+c+P+"flex-"+c+f;case 115:return O+f+P+"flex-item-"+f.replace(E,"")+f;default:return O+f+P+"flex-line-pack"+f.replace("align-content","").replace(E,"")+f}break;case 973:case 989:if(f.charCodeAt(3)!==H||122===f.charCodeAt(4))break;case 931:case 953:if(!0===T.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?Ue(e.replace("stretch","fill-available"),t,n,r).replace(":fill-available",":stretch"):f.replace(c,O+c)+f.replace(c,j+c.replace("fill-",""))+f;break;case 962:if(f=O+f+(102===f.charCodeAt(5)?P+f:"")+f,n+r===211&&105===f.charCodeAt(13)&&f.indexOf("transform",10)>0)return f.substring(0,f.indexOf(";",27)+1).replace(a,"$1"+O+"$2")+f}return f}function Be(e,t){var n=e.indexOf(1===t?":":"{"),r=e.substring(0,3!==t?n:10),o=e.substring(n+1,e.length-1);return Ee(2!==t?r:r.replace(S,"$1"),o,t)}function We(e,t){var n=Ue(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(C," or ($1)").substring(4):"("+t+")"}function $e(e,t,n,r,o,i,a,u,l,c){for(var s,f=0,d=t;f0&&(Me=o.replace(p,i===z?"":"-")),i=1,1===ve?ze=o:Re=o;var a,u=[ze];Ce>0&&void 0!==(a=$e(Te,n,u,u,he,pe,0,0,0,0))&&"string"==typeof a&&(n=a);var l=Fe(ke,u,n,0,0);return Ce>0&&void 0!==(a=$e(Se,l,u,u,he,pe,l.length,0,0,0))&&"string"!=typeof(l=a)&&(i=0),Me="",ze="",Re="",me=0,he=1,pe=1,be*i==0?l:l.replace(r,"").replace(g,"").replace(y,"$1").replace(b,"$1").replace(w," ")}return Ve.use=function e(t){switch(t){case void 0:case null:Ce=xe.length=0;break;default:switch(t.constructor){case Array:for(var n=0,r=t.length;n1&&void 0!==arguments[1]?arguments[1]:r,n=void 0,o=[],i=void 0,a=!1,u=function(e,n){return t(e,o[n])};return function(){for(var t=arguments.length,r=Array(t),l=0;l + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var i,a=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",c="__lodash_hash_undefined__",s=500,f="__lodash_placeholder__",d=1,p=2,h=4,m=1,v=2,g=1,y=2,b=4,w=8,_=16,k=32,x=64,C=128,E=256,S=512,T=30,O="...",j=800,P=16,A=1,I=2,N=1/0,M=9007199254740991,R=1.7976931348623157e308,z=NaN,F=4294967295,L=F-1,D=F>>>1,U=[["ary",C],["bind",g],["bindKey",y],["curry",w],["curryRight",_],["flip",S],["partial",k],["partialRight",x],["rearg",E]],B="[object Arguments]",W="[object Array]",$="[object AsyncFunction]",H="[object Boolean]",V="[object Date]",q="[object DOMException]",G="[object Error]",K="[object Function]",Y="[object GeneratorFunction]",Q="[object Map]",X="[object Number]",Z="[object Null]",J="[object Object]",ee="[object Proxy]",te="[object RegExp]",ne="[object Set]",re="[object String]",oe="[object Symbol]",ie="[object Undefined]",ae="[object WeakMap]",ue="[object WeakSet]",le="[object ArrayBuffer]",ce="[object DataView]",se="[object Float32Array]",fe="[object Float64Array]",de="[object Int8Array]",pe="[object Int16Array]",he="[object Int32Array]",me="[object Uint8Array]",ve="[object Uint8ClampedArray]",ge="[object Uint16Array]",ye="[object Uint32Array]",be=/\b__p \+= '';/g,we=/\b(__p \+=) '' \+/g,_e=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ke=/&(?:amp|lt|gt|quot|#39);/g,xe=/[&<>"']/g,Ce=RegExp(ke.source),Ee=RegExp(xe.source),Se=/<%-([\s\S]+?)%>/g,Te=/<%([\s\S]+?)%>/g,Oe=/<%=([\s\S]+?)%>/g,je=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pe=/^\w*$/,Ae=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ie=/[\\^$.*+?()[\]{}|]/g,Ne=RegExp(Ie.source),Me=/^\s+|\s+$/g,Re=/^\s+/,ze=/\s+$/,Fe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Le=/\{\n\/\* \[wrapped with (.+)\] \*/,De=/,? & /,Ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Be=/\\(\\)?/g,We=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$e=/\w*$/,He=/^[-+]0x[0-9a-f]+$/i,Ve=/^0b[01]+$/i,qe=/^\[object .+?Constructor\]$/,Ge=/^0o[0-7]+$/i,Ke=/^(?:0|[1-9]\d*)$/,Ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qe=/($^)/,Xe=/['\n\r\u2028\u2029\\]/g,Ze="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Je="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",et="[\\ud800-\\udfff]",tt="["+Je+"]",nt="["+Ze+"]",rt="\\d+",ot="[\\u2700-\\u27bf]",it="[a-z\\xdf-\\xf6\\xf8-\\xff]",at="[^\\ud800-\\udfff"+Je+rt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ut="\\ud83c[\\udffb-\\udfff]",lt="[^\\ud800-\\udfff]",ct="(?:\\ud83c[\\udde6-\\uddff]){2}",st="[\\ud800-\\udbff][\\udc00-\\udfff]",ft="[A-Z\\xc0-\\xd6\\xd8-\\xde]",dt="(?:"+it+"|"+at+")",pt="(?:"+ft+"|"+at+")",ht="(?:"+nt+"|"+ut+")"+"?",mt="[\\ufe0e\\ufe0f]?"+ht+("(?:\\u200d(?:"+[lt,ct,st].join("|")+")[\\ufe0e\\ufe0f]?"+ht+")*"),vt="(?:"+[ot,ct,st].join("|")+")"+mt,gt="(?:"+[lt+nt+"?",nt,ct,st,et].join("|")+")",yt=RegExp("['’]","g"),bt=RegExp(nt,"g"),wt=RegExp(ut+"(?="+ut+")|"+gt+mt,"g"),_t=RegExp([ft+"?"+it+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[tt,ft,"$"].join("|")+")",pt+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[tt,ft+dt,"$"].join("|")+")",ft+"?"+dt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ft+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rt,vt].join("|"),"g"),kt=RegExp("[\\u200d\\ud800-\\udfff"+Ze+"\\ufe0e\\ufe0f]"),xt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ct=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Et=-1,St={};St[se]=St[fe]=St[de]=St[pe]=St[he]=St[me]=St[ve]=St[ge]=St[ye]=!0,St[B]=St[W]=St[le]=St[H]=St[ce]=St[V]=St[G]=St[K]=St[Q]=St[X]=St[J]=St[te]=St[ne]=St[re]=St[ae]=!1;var Tt={};Tt[B]=Tt[W]=Tt[le]=Tt[ce]=Tt[H]=Tt[V]=Tt[se]=Tt[fe]=Tt[de]=Tt[pe]=Tt[he]=Tt[Q]=Tt[X]=Tt[J]=Tt[te]=Tt[ne]=Tt[re]=Tt[oe]=Tt[me]=Tt[ve]=Tt[ge]=Tt[ye]=!0,Tt[G]=Tt[K]=Tt[ae]=!1;var Ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},jt=parseFloat,Pt=parseInt,At="object"==typeof e&&e&&e.Object===Object&&e,It="object"==typeof self&&self&&self.Object===Object&&self,Nt=At||It||Function("return this")(),Mt="object"==typeof t&&t&&!t.nodeType&&t,Rt=Mt&&"object"==typeof r&&r&&!r.nodeType&&r,zt=Rt&&Rt.exports===Mt,Ft=zt&&At.process,Lt=function(){try{var e=Rt&&Rt.require&&Rt.require("util").types;return e||Ft&&Ft.binding&&Ft.binding("util")}catch(e){}}(),Dt=Lt&&Lt.isArrayBuffer,Ut=Lt&&Lt.isDate,Bt=Lt&&Lt.isMap,Wt=Lt&&Lt.isRegExp,$t=Lt&&Lt.isSet,Ht=Lt&&Lt.isTypedArray;function Vt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function qt(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o-1}function Zt(e,t,n){for(var r=-1,o=null==e?0:e.length;++r-1;);return n}function _n(e,t){for(var n=e.length;n--&&ln(t,e[n],0)>-1;);return n}var kn=pn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),xn=pn({"&":"&","<":"<",">":">",'"':""","'":"'"});function Cn(e){return"\\"+Ot[e]}function En(e){return kt.test(e)}function Sn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Tn(e,t){return function(n){return e(t(n))}}function On(e,t){for(var n=-1,r=e.length,o=0,i=[];++n",""":'"',"'":"'"});var Mn=function e(t){var n,r=(t=null==t?Nt:Mn.defaults(Nt.Object(),t,Mn.pick(Nt,Ct))).Array,o=t.Date,Ze=t.Error,Je=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,rt=t.String,ot=t.TypeError,it=r.prototype,at=Je.prototype,ut=tt.prototype,lt=t["__core-js_shared__"],ct=at.toString,st=ut.hasOwnProperty,ft=0,dt=(n=/[^.]+$/.exec(lt&<.keys&<.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",pt=ut.toString,ht=ct.call(tt),mt=Nt._,vt=nt("^"+ct.call(st).replace(Ie,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),gt=zt?t.Buffer:i,wt=t.Symbol,kt=t.Uint8Array,Ot=gt?gt.allocUnsafe:i,At=Tn(tt.getPrototypeOf,tt),It=tt.create,Mt=ut.propertyIsEnumerable,Rt=it.splice,Ft=wt?wt.isConcatSpreadable:i,Lt=wt?wt.iterator:i,on=wt?wt.toStringTag:i,pn=function(){try{var e=Di(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Rn=t.clearTimeout!==Nt.clearTimeout&&t.clearTimeout,zn=o&&o.now!==Nt.Date.now&&o.now,Fn=t.setTimeout!==Nt.setTimeout&&t.setTimeout,Ln=et.ceil,Dn=et.floor,Un=tt.getOwnPropertySymbols,Bn=gt?gt.isBuffer:i,Wn=t.isFinite,$n=it.join,Hn=Tn(tt.keys,tt),Vn=et.max,qn=et.min,Gn=o.now,Kn=t.parseInt,Yn=et.random,Qn=it.reverse,Xn=Di(t,"DataView"),Zn=Di(t,"Map"),Jn=Di(t,"Promise"),er=Di(t,"Set"),tr=Di(t,"WeakMap"),nr=Di(tt,"create"),rr=tr&&new tr,or={},ir=fa(Xn),ar=fa(Zn),ur=fa(Jn),lr=fa(er),cr=fa(tr),sr=wt?wt.prototype:i,fr=sr?sr.valueOf:i,dr=sr?sr.toString:i;function pr(e){if(Ou(e)&&!gu(e)&&!(e instanceof gr)){if(e instanceof vr)return e;if(st.call(e,"__wrapped__"))return da(e)}return new vr(e)}var hr=function(){function e(){}return function(t){if(!Tu(t))return{};if(It)return It(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function mr(){}function vr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function gr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=F,this.__views__=[]}function yr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Rr(e,t,n,r,o,a){var u,l=t&d,c=t&p,s=t&h;if(n&&(u=o?n(e,r,o,a):n(e)),u!==i)return u;if(!Tu(e))return e;var f=gu(e);if(f){if(u=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&st.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return ri(e,u)}else{var m=Wi(e),v=m==K||m==Y;if(_u(e))return Xo(e,l);if(m==J||m==B||v&&!o){if(u=c||v?{}:Hi(e),!l)return c?function(e,t){return oi(e,Bi(e),t)}(e,function(e,t){return e&&oi(t,il(t),e)}(u,e)):function(e,t){return oi(e,Ui(e),t)}(e,Ar(u,e))}else{if(!Tt[m])return o?e:{};u=function(e,t,n){var r,o,i,a=e.constructor;switch(t){case le:return Zo(e);case H:case V:return new a(+e);case ce:return function(e,t){var n=t?Zo(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case se:case fe:case de:case pe:case he:case me:case ve:case ge:case ye:return Jo(e,n);case Q:return new a;case X:case re:return new a(e);case te:return(i=new(o=e).constructor(o.source,$e.exec(o))).lastIndex=o.lastIndex,i;case ne:return new a;case oe:return r=e,fr?tt(fr.call(r)):{}}}(e,m,l)}}a||(a=new kr);var g=a.get(e);if(g)return g;a.set(e,u),Nu(e)?e.forEach(function(r){u.add(Rr(r,t,n,r,e,a))}):ju(e)&&e.forEach(function(r,o){u.set(o,Rr(r,t,n,o,e,a))});var y=f?i:(s?c?Ii:Ai:c?il:ol)(e);return Gt(y||e,function(r,o){y&&(r=e[o=r]),Or(u,o,Rr(r,t,n,o,e,a))}),u}function zr(e,t,n){var r=n.length;if(null==e)return!r;for(e=tt(e);r--;){var o=n[r],a=t[o],u=e[o];if(u===i&&!(o in e)||!a(u))return!1}return!0}function Fr(e,t,n){if("function"!=typeof e)throw new ot(l);return oa(function(){e.apply(i,n)},t)}function Lr(e,t,n,r){var o=-1,i=Xt,u=!0,l=e.length,c=[],s=t.length;if(!l)return c;n&&(t=Jt(t,gn(n))),r?(i=Zt,u=!1):t.length>=a&&(i=bn,u=!1,t=new _r(t));e:for(;++o-1},br.prototype.set=function(e,t){var n=this.__data__,r=jr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},wr.prototype.clear=function(){this.size=0,this.__data__={hash:new yr,map:new(Zn||br),string:new yr}},wr.prototype.delete=function(e){var t=Fi(this,e).delete(e);return this.size-=t?1:0,t},wr.prototype.get=function(e){return Fi(this,e).get(e)},wr.prototype.has=function(e){return Fi(this,e).has(e)},wr.prototype.set=function(e,t){var n=Fi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},_r.prototype.add=_r.prototype.push=function(e){return this.__data__.set(e,c),this},_r.prototype.has=function(e){return this.__data__.has(e)},kr.prototype.clear=function(){this.__data__=new br,this.size=0},kr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},kr.prototype.get=function(e){return this.__data__.get(e)},kr.prototype.has=function(e){return this.__data__.has(e)},kr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof br){var r=n.__data__;if(!Zn||r.length0&&n(u)?t>1?Hr(u,t-1,n,r,o):en(o,u):r||(o[o.length]=u)}return o}var Vr=li(),qr=li(!0);function Gr(e,t){return e&&Vr(e,t,ol)}function Kr(e,t){return e&&qr(e,t,ol)}function Yr(e,t){return Qt(t,function(t){return Cu(e[t])})}function Qr(e,t){for(var n=0,r=(t=Go(t,e)).length;null!=e&&nt}function eo(e,t){return null!=e&&st.call(e,t)}function to(e,t){return null!=e&&t in tt(e)}function no(e,t,n){for(var o=n?Zt:Xt,a=e[0].length,u=e.length,l=u,c=r(u),s=1/0,f=[];l--;){var d=e[l];l&&t&&(d=Jt(d,gn(t))),s=qn(d.length,s),c[l]=!n&&(t||a>=120&&d.length>=120)?new _r(l&&d):i}d=e[0];var p=-1,h=c[0];e:for(;++p=u)return l;var c=n[r];return l*("desc"==c?-1:1)}}return e.index-t.index}(e,t,n)})}function bo(e,t,n){for(var r=-1,o=t.length,i={};++r-1;)u!==e&&Rt.call(u,l,1),Rt.call(e,l,1);return e}function _o(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;qi(o)?Rt.call(e,o,1):Do(e,o)}}return e}function ko(e,t){return e+Dn(Yn()*(t-e+1))}function xo(e,t){var n="";if(!e||t<1||t>M)return n;do{t%2&&(n+=e),(t=Dn(t/2))&&(e+=e)}while(t);return n}function Co(e,t){return ia(ea(e,t,Pl),e+"")}function Eo(e){return Cr(pl(e))}function So(e,t){var n=pl(e);return la(n,Mr(t,0,n.length))}function To(e,t,n,r){if(!Tu(e))return e;for(var o=-1,a=(t=Go(t,e)).length,u=a-1,l=e;null!=l&&++oi?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=r(i);++o>>1,a=e[i];null!==a&&!Ru(a)&&(n?a<=t:a=a){var s=t?null:xi(e);if(s)return jn(s);u=!1,o=bn,c=new _r}else c=t?[]:l;e:for(;++r=r?e:Ao(e,t,n)}var Qo=Rn||function(e){return Nt.clearTimeout(e)};function Xo(e,t){if(t)return e.slice();var n=e.length,r=Ot?Ot(n):new e.constructor(n);return e.copy(r),r}function Zo(e){var t=new e.constructor(e.byteLength);return new kt(t).set(new kt(e)),t}function Jo(e,t){var n=t?Zo(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function ei(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,a=Ru(e),u=t!==i,l=null===t,c=t==t,s=Ru(t);if(!l&&!s&&!a&&e>t||a&&u&&c&&!l&&!s||r&&u&&c||!n&&c||!o)return 1;if(!r&&!a&&!s&&e1?n[o-1]:i,u=o>2?n[2]:i;for(a=e.length>3&&"function"==typeof a?(o--,a):i,u&&Gi(n[0],n[1],u)&&(a=o<3?i:a,o=1),t=tt(t);++r-1?o[a?t[u]:u]:i}}function pi(e){return Pi(function(t){var n=t.length,r=n,o=vr.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ot(l);if(o&&!u&&"wrapper"==Mi(a))var u=new vr([],!0)}for(r=u?r:n;++r1&&w.reverse(),d&&sl))return!1;var s=a.get(e);if(s&&a.get(t))return s==t;var f=-1,d=!0,p=n&v?new _r:i;for(a.set(e,t),a.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Fe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Gt(U,function(n){var r="_."+n[0];t&n[1]&&!Xt(e,r)&&e.push(r)}),e.sort()}(function(e){var t=e.match(Le);return t?t[1].split(De):[]}(r),n)))}function ua(e){var t=0,n=0;return function(){var r=Gn(),o=P-(r-n);if(n=r,o>0){if(++t>=j)return arguments[0]}else t=0;return e.apply(i,arguments)}}function la(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,Ia(e,n)});function Da(e){var t=pr(e);return t.__chain__=!0,t}function Ua(e,t){return t(e)}var Ba=Pi(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return Nr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof gr&&qi(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:Ua,args:[o],thisArg:i}),new vr(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(i),e})):this.thru(o)});var Wa=ii(function(e,t,n){st.call(e,n)?++e[n]:Ir(e,n,1)});var $a=di(va),Ha=di(ga);function Va(e,t){return(gu(e)?Gt:Dr)(e,zi(t,3))}function qa(e,t){return(gu(e)?Kt:Ur)(e,zi(t,3))}var Ga=ii(function(e,t,n){st.call(e,n)?e[n].push(t):Ir(e,n,[t])});var Ka=Co(function(e,t,n){var o=-1,i="function"==typeof t,a=bu(e)?r(e.length):[];return Dr(e,function(e){a[++o]=i?Vt(t,e,n):ro(e,t,n)}),a}),Ya=ii(function(e,t,n){Ir(e,n,t)});function Qa(e,t){return(gu(e)?Jt:po)(e,zi(t,3))}var Xa=ii(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});var Za=Co(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Gi(e,t[0],t[1])?t=[]:n>2&&Gi(t[0],t[1],t[2])&&(t=[t[0]]),yo(e,Hr(t,1),[])}),Ja=zn||function(){return Nt.Date.now()};function eu(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Ei(e,C,i,i,i,i,t)}function tu(e,t){var n;if("function"!=typeof t)throw new ot(l);return e=Bu(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var nu=Co(function(e,t,n){var r=g;if(n.length){var o=On(n,Ri(nu));r|=k}return Ei(e,r,t,n,o)}),ru=Co(function(e,t,n){var r=g|y;if(n.length){var o=On(n,Ri(ru));r|=k}return Ei(t,r,e,n,o)});function ou(e,t,n){var r,o,a,u,c,s,f=0,d=!1,p=!1,h=!0;if("function"!=typeof e)throw new ot(l);function m(t){var n=r,a=o;return r=o=i,f=t,u=e.apply(a,n)}function v(e){var n=e-s;return s===i||n>=t||n<0||p&&e-f>=a}function g(){var e=Ja();if(v(e))return y(e);c=oa(g,function(e){var n=t-(e-s);return p?qn(n,a-(e-f)):n}(e))}function y(e){return c=i,h&&r?m(e):(r=o=i,u)}function b(){var e=Ja(),n=v(e);if(r=arguments,o=this,s=e,n){if(c===i)return function(e){return f=e,c=oa(g,t),d?m(e):u}(s);if(p)return Qo(c),c=oa(g,t),m(s)}return c===i&&(c=oa(g,t)),u}return t=$u(t)||0,Tu(n)&&(d=!!n.leading,a=(p="maxWait"in n)?Vn($u(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),b.cancel=function(){c!==i&&Qo(c),f=0,r=s=o=c=i},b.flush=function(){return c===i?u:y(Ja())},b}var iu=Co(function(e,t){return Fr(e,1,t)}),au=Co(function(e,t,n){return Fr(e,$u(t)||0,n)});function uu(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ot(l);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(uu.Cache||wr),n}function lu(e){if("function"!=typeof e)throw new ot(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}uu.Cache=wr;var cu=Ko(function(e,t){var n=(t=1==t.length&&gu(t[0])?Jt(t[0],gn(zi())):Jt(Hr(t,1),gn(zi()))).length;return Co(function(r){for(var o=-1,i=qn(r.length,n);++o=t}),vu=oo(function(){return arguments}())?oo:function(e){return Ou(e)&&st.call(e,"callee")&&!Mt.call(e,"callee")},gu=r.isArray,yu=Dt?gn(Dt):function(e){return Ou(e)&&Zr(e)==le};function bu(e){return null!=e&&Su(e.length)&&!Cu(e)}function wu(e){return Ou(e)&&bu(e)}var _u=Bn||$l,ku=Ut?gn(Ut):function(e){return Ou(e)&&Zr(e)==V};function xu(e){if(!Ou(e))return!1;var t=Zr(e);return t==G||t==q||"string"==typeof e.message&&"string"==typeof e.name&&!Au(e)}function Cu(e){if(!Tu(e))return!1;var t=Zr(e);return t==K||t==Y||t==$||t==ee}function Eu(e){return"number"==typeof e&&e==Bu(e)}function Su(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=M}function Tu(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ou(e){return null!=e&&"object"==typeof e}var ju=Bt?gn(Bt):function(e){return Ou(e)&&Wi(e)==Q};function Pu(e){return"number"==typeof e||Ou(e)&&Zr(e)==X}function Au(e){if(!Ou(e)||Zr(e)!=J)return!1;var t=At(e);if(null===t)return!0;var n=st.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ct.call(n)==ht}var Iu=Wt?gn(Wt):function(e){return Ou(e)&&Zr(e)==te};var Nu=$t?gn($t):function(e){return Ou(e)&&Wi(e)==ne};function Mu(e){return"string"==typeof e||!gu(e)&&Ou(e)&&Zr(e)==re}function Ru(e){return"symbol"==typeof e||Ou(e)&&Zr(e)==oe}var zu=Ht?gn(Ht):function(e){return Ou(e)&&Su(e.length)&&!!St[Zr(e)]};var Fu=wi(fo),Lu=wi(function(e,t){return e<=t});function Du(e){if(!e)return[];if(bu(e))return Mu(e)?In(e):ri(e);if(Lt&&e[Lt])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Lt]());var t=Wi(e);return(t==Q?Sn:t==ne?jn:pl)(e)}function Uu(e){return e?(e=$u(e))===N||e===-N?(e<0?-1:1)*R:e==e?e:0:0===e?e:0}function Bu(e){var t=Uu(e),n=t%1;return t==t?n?t-n:t:0}function Wu(e){return e?Mr(Bu(e),0,F):0}function $u(e){if("number"==typeof e)return e;if(Ru(e))return z;if(Tu(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Tu(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Me,"");var n=Ve.test(e);return n||Ge.test(e)?Pt(e.slice(2),n?2:8):He.test(e)?z:+e}function Hu(e){return oi(e,il(e))}function Vu(e){return null==e?"":Fo(e)}var qu=ai(function(e,t){if(Xi(t)||bu(t))oi(t,ol(t),e);else for(var n in t)st.call(t,n)&&Or(e,n,t[n])}),Gu=ai(function(e,t){oi(t,il(t),e)}),Ku=ai(function(e,t,n,r){oi(t,il(t),e,r)}),Yu=ai(function(e,t,n,r){oi(t,ol(t),e,r)}),Qu=Pi(Nr);var Xu=Co(function(e,t){e=tt(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&Gi(t[0],t[1],o)&&(r=1);++n1),t}),oi(e,Ii(e),n),r&&(n=Rr(n,d|p|h,Oi));for(var o=t.length;o--;)Do(n,t[o]);return n});var cl=Pi(function(e,t){return null==e?{}:function(e,t){return bo(e,t,function(t,n){return el(e,n)})}(e,t)});function sl(e,t){if(null==e)return{};var n=Jt(Ii(e),function(e){return[e]});return t=zi(t),bo(e,n,function(e,n){return t(e,n[0])})}var fl=Ci(ol),dl=Ci(il);function pl(e){return null==e?[]:yn(e,ol(e))}var hl=si(function(e,t,n){return t=t.toLowerCase(),e+(n?ml(t):t)});function ml(e){return xl(Vu(e).toLowerCase())}function vl(e){return(e=Vu(e))&&e.replace(Ye,kn).replace(bt,"")}var gl=si(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),yl=si(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),bl=ci("toLowerCase");var wl=si(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});var _l=si(function(e,t,n){return e+(n?" ":"")+xl(t)});var kl=si(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),xl=ci("toUpperCase");function Cl(e,t,n){return e=Vu(e),(t=n?i:t)===i?function(e){return xt.test(e)}(e)?function(e){return e.match(_t)||[]}(e):function(e){return e.match(Ue)||[]}(e):e.match(t)||[]}var El=Co(function(e,t){try{return Vt(e,i,t)}catch(e){return xu(e)?e:new Ze(e)}}),Sl=Pi(function(e,t){return Gt(t,function(t){t=sa(t),Ir(e,t,nu(e[t],e))}),e});function Tl(e){return function(){return e}}var Ol=pi(),jl=pi(!0);function Pl(e){return e}function Al(e){return lo("function"==typeof e?e:Rr(e,d))}var Il=Co(function(e,t){return function(n){return ro(n,e,t)}}),Nl=Co(function(e,t){return function(n){return ro(e,n,t)}});function Ml(e,t,n){var r=ol(t),o=Yr(t,r);null!=n||Tu(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=Yr(t,ol(t)));var i=!(Tu(n)&&"chain"in n&&!n.chain),a=Cu(e);return Gt(o,function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__);return(n.__actions__=ri(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,en([this.value()],arguments))})}),e}function Rl(){}var zl=gi(Jt),Fl=gi(Yt),Ll=gi(rn);function Dl(e){return Ki(e)?dn(sa(e)):function(e){return function(t){return Qr(t,e)}}(e)}var Ul=bi(),Bl=bi(!0);function Wl(){return[]}function $l(){return!1}var Hl=vi(function(e,t){return e+t},0),Vl=ki("ceil"),ql=vi(function(e,t){return e/t},1),Gl=ki("floor");var Kl,Yl=vi(function(e,t){return e*t},1),Ql=ki("round"),Xl=vi(function(e,t){return e-t},0);return pr.after=function(e,t){if("function"!=typeof t)throw new ot(l);return e=Bu(e),function(){if(--e<1)return t.apply(this,arguments)}},pr.ary=eu,pr.assign=qu,pr.assignIn=Gu,pr.assignInWith=Ku,pr.assignWith=Yu,pr.at=Qu,pr.before=tu,pr.bind=nu,pr.bindAll=Sl,pr.bindKey=ru,pr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return gu(e)?e:[e]},pr.chain=Da,pr.chunk=function(e,t,n){t=(n?Gi(e,t,n):t===i)?1:Vn(Bu(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,u=0,l=r(Ln(o/t));ao?0:o+n),(r=r===i||r>o?o:Bu(r))<0&&(r+=o),r=n>r?0:Wu(r);n>>0)?(e=Vu(e))&&("string"==typeof t||null!=t&&!Iu(t))&&!(t=Fo(t))&&En(e)?Yo(In(e),0,n):e.split(t,n):[]},pr.spread=function(e,t){if("function"!=typeof e)throw new ot(l);return t=null==t?0:Vn(Bu(t),0),Co(function(n){var r=n[t],o=Yo(n,0,t);return r&&en(o,r),Vt(e,this,o)})},pr.tail=function(e){var t=null==e?0:e.length;return t?Ao(e,1,t):[]},pr.take=function(e,t,n){return e&&e.length?Ao(e,0,(t=n||t===i?1:Bu(t))<0?0:t):[]},pr.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Ao(e,(t=r-(t=n||t===i?1:Bu(t)))<0?0:t,r):[]},pr.takeRightWhile=function(e,t){return e&&e.length?Bo(e,zi(t,3),!1,!0):[]},pr.takeWhile=function(e,t){return e&&e.length?Bo(e,zi(t,3)):[]},pr.tap=function(e,t){return t(e),e},pr.throttle=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new ot(l);return Tu(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),ou(e,t,{leading:r,maxWait:t,trailing:o})},pr.thru=Ua,pr.toArray=Du,pr.toPairs=fl,pr.toPairsIn=dl,pr.toPath=function(e){return gu(e)?Jt(e,sa):Ru(e)?[e]:ri(ca(Vu(e)))},pr.toPlainObject=Hu,pr.transform=function(e,t,n){var r=gu(e),o=r||_u(e)||zu(e);if(t=zi(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:Tu(e)&&Cu(i)?hr(At(e)):{}}return(o?Gt:Gr)(e,function(e,r,o){return t(n,e,r,o)}),n},pr.unary=function(e){return eu(e,1)},pr.union=Oa,pr.unionBy=ja,pr.unionWith=Pa,pr.uniq=function(e){return e&&e.length?Lo(e):[]},pr.uniqBy=function(e,t){return e&&e.length?Lo(e,zi(t,2)):[]},pr.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?Lo(e,i,t):[]},pr.unset=function(e,t){return null==e||Do(e,t)},pr.unzip=Aa,pr.unzipWith=Ia,pr.update=function(e,t,n){return null==e?e:Uo(e,t,qo(n))},pr.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:Uo(e,t,qo(n),r)},pr.values=pl,pr.valuesIn=function(e){return null==e?[]:yn(e,il(e))},pr.without=Na,pr.words=Cl,pr.wrap=function(e,t){return su(qo(t),e)},pr.xor=Ma,pr.xorBy=Ra,pr.xorWith=za,pr.zip=Fa,pr.zipObject=function(e,t){return Ho(e||[],t||[],Or)},pr.zipObjectDeep=function(e,t){return Ho(e||[],t||[],To)},pr.zipWith=La,pr.entries=fl,pr.entriesIn=dl,pr.extend=Gu,pr.extendWith=Ku,Ml(pr,pr),pr.add=Hl,pr.attempt=El,pr.camelCase=hl,pr.capitalize=ml,pr.ceil=Vl,pr.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=$u(n))==n?n:0),t!==i&&(t=(t=$u(t))==t?t:0),Mr($u(e),t,n)},pr.clone=function(e){return Rr(e,h)},pr.cloneDeep=function(e){return Rr(e,d|h)},pr.cloneDeepWith=function(e,t){return Rr(e,d|h,t="function"==typeof t?t:i)},pr.cloneWith=function(e,t){return Rr(e,h,t="function"==typeof t?t:i)},pr.conformsTo=function(e,t){return null==t||zr(e,t,ol(t))},pr.deburr=vl,pr.defaultTo=function(e,t){return null==e||e!=e?t:e},pr.divide=ql,pr.endsWith=function(e,t,n){e=Vu(e),t=Fo(t);var r=e.length,o=n=n===i?r:Mr(Bu(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},pr.eq=pu,pr.escape=function(e){return(e=Vu(e))&&Ee.test(e)?e.replace(xe,xn):e},pr.escapeRegExp=function(e){return(e=Vu(e))&&Ne.test(e)?e.replace(Ie,"\\$&"):e},pr.every=function(e,t,n){var r=gu(e)?Yt:Br;return n&&Gi(e,t,n)&&(t=i),r(e,zi(t,3))},pr.find=$a,pr.findIndex=va,pr.findKey=function(e,t){return an(e,zi(t,3),Gr)},pr.findLast=Ha,pr.findLastIndex=ga,pr.findLastKey=function(e,t){return an(e,zi(t,3),Kr)},pr.floor=Gl,pr.forEach=Va,pr.forEachRight=qa,pr.forIn=function(e,t){return null==e?e:Vr(e,zi(t,3),il)},pr.forInRight=function(e,t){return null==e?e:qr(e,zi(t,3),il)},pr.forOwn=function(e,t){return e&&Gr(e,zi(t,3))},pr.forOwnRight=function(e,t){return e&&Kr(e,zi(t,3))},pr.get=Ju,pr.gt=hu,pr.gte=mu,pr.has=function(e,t){return null!=e&&$i(e,t,eo)},pr.hasIn=el,pr.head=ba,pr.identity=Pl,pr.includes=function(e,t,n,r){e=bu(e)?e:pl(e),n=n&&!r?Bu(n):0;var o=e.length;return n<0&&(n=Vn(o+n,0)),Mu(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&ln(e,t,n)>-1},pr.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:Bu(n);return o<0&&(o=Vn(r+o,0)),ln(e,t,o)},pr.inRange=function(e,t,n){return t=Uu(t),n===i?(n=t,t=0):n=Uu(n),function(e,t,n){return e>=qn(t,n)&&e=-M&&e<=M},pr.isSet=Nu,pr.isString=Mu,pr.isSymbol=Ru,pr.isTypedArray=zu,pr.isUndefined=function(e){return e===i},pr.isWeakMap=function(e){return Ou(e)&&Wi(e)==ae},pr.isWeakSet=function(e){return Ou(e)&&Zr(e)==ue},pr.join=function(e,t){return null==e?"":$n.call(e,t)},pr.kebabCase=gl,pr.last=xa,pr.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=Bu(n))<0?Vn(r+o,0):qn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):un(e,sn,o,!0)},pr.lowerCase=yl,pr.lowerFirst=bl,pr.lt=Fu,pr.lte=Lu,pr.max=function(e){return e&&e.length?Wr(e,Pl,Jr):i},pr.maxBy=function(e,t){return e&&e.length?Wr(e,zi(t,2),Jr):i},pr.mean=function(e){return fn(e,Pl)},pr.meanBy=function(e,t){return fn(e,zi(t,2))},pr.min=function(e){return e&&e.length?Wr(e,Pl,fo):i},pr.minBy=function(e,t){return e&&e.length?Wr(e,zi(t,2),fo):i},pr.stubArray=Wl,pr.stubFalse=$l,pr.stubObject=function(){return{}},pr.stubString=function(){return""},pr.stubTrue=function(){return!0},pr.multiply=Yl,pr.nth=function(e,t){return e&&e.length?go(e,Bu(t)):i},pr.noConflict=function(){return Nt._===this&&(Nt._=mt),this},pr.noop=Rl,pr.now=Ja,pr.pad=function(e,t,n){e=Vu(e);var r=(t=Bu(t))?An(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return yi(Dn(o),n)+e+yi(Ln(o),n)},pr.padEnd=function(e,t,n){e=Vu(e);var r=(t=Bu(t))?An(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var o=Yn();return qn(e+o*(t-e+jt("1e-"+((o+"").length-1))),t)}return ko(e,t)},pr.reduce=function(e,t,n){var r=gu(e)?tn:hn,o=arguments.length<3;return r(e,zi(t,4),n,o,Dr)},pr.reduceRight=function(e,t,n){var r=gu(e)?nn:hn,o=arguments.length<3;return r(e,zi(t,4),n,o,Ur)},pr.repeat=function(e,t,n){return t=(n?Gi(e,t,n):t===i)?1:Bu(t),xo(Vu(e),t)},pr.replace=function(){var e=arguments,t=Vu(e[0]);return e.length<3?t:t.replace(e[1],e[2])},pr.result=function(e,t,n){var r=-1,o=(t=Go(t,e)).length;for(o||(o=1,e=i);++rM)return[];var n=F,r=qn(e,F);t=zi(t),e-=F;for(var o=vn(r,t);++n=a)return e;var l=n-An(r);if(l<1)return r;var c=u?Yo(u,0,l).join(""):e.slice(0,l);if(o===i)return c+r;if(u&&(l+=c.length-l),Iu(o)){if(e.slice(l).search(o)){var s,f=c;for(o.global||(o=nt(o.source,Vu($e.exec(o))+"g")),o.lastIndex=0;s=o.exec(f);)var d=s.index;c=c.slice(0,d===i?l:d)}}else if(e.indexOf(Fo(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},pr.unescape=function(e){return(e=Vu(e))&&Ce.test(e)?e.replace(ke,Nn):e},pr.uniqueId=function(e){var t=++ft;return Vu(e)+t},pr.upperCase=kl,pr.upperFirst=xl,pr.each=Va,pr.eachRight=qa,pr.first=ba,Ml(pr,(Kl={},Gr(pr,function(e,t){st.call(pr.prototype,t)||(Kl[t]=e)}),Kl),{chain:!1}),pr.VERSION="4.17.15",Gt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){pr[e].placeholder=pr}),Gt(["drop","take"],function(e,t){gr.prototype[e]=function(n){n=n===i?1:Vn(Bu(n),0);var r=this.__filtered__&&!t?new gr(this):this.clone();return r.__filtered__?r.__takeCount__=qn(n,r.__takeCount__):r.__views__.push({size:qn(n,F),type:e+(r.__dir__<0?"Right":"")}),r},gr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),Gt(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==A||3==n;gr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:zi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),Gt(["head","last"],function(e,t){var n="take"+(t?"Right":"");gr.prototype[e]=function(){return this[n](1).value()[0]}}),Gt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");gr.prototype[e]=function(){return this.__filtered__?new gr(this):this[n](1)}}),gr.prototype.compact=function(){return this.filter(Pl)},gr.prototype.find=function(e){return this.filter(e).head()},gr.prototype.findLast=function(e){return this.reverse().find(e)},gr.prototype.invokeMap=Co(function(e,t){return"function"==typeof e?new gr(this):this.map(function(n){return ro(n,e,t)})}),gr.prototype.reject=function(e){return this.filter(lu(zi(e)))},gr.prototype.slice=function(e,t){e=Bu(e);var n=this;return n.__filtered__&&(e>0||t<0)?new gr(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=Bu(t))<0?n.dropRight(-t):n.take(t-e)),n)},gr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},gr.prototype.toArray=function(){return this.take(F)},Gr(gr.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=pr[r?"take"+("last"==t?"Right":""):t],a=r||/^find/.test(t);o&&(pr.prototype[t]=function(){var t=this.__wrapped__,u=r?[1]:arguments,l=t instanceof gr,c=u[0],s=l||gu(t),f=function(e){var t=o.apply(pr,en([e],u));return r&&d?t[0]:t};s&&n&&"function"==typeof c&&1!=c.length&&(l=s=!1);var d=this.__chain__,p=!!this.__actions__.length,h=a&&!d,m=l&&!p;if(!a&&s){t=m?t:new gr(this);var v=e.apply(t,u);return v.__actions__.push({func:Ua,args:[f],thisArg:i}),new vr(v,d)}return h&&m?e.apply(this,u):(v=this.thru(f),h?r?v.value()[0]:v.value():v)})}),Gt(["pop","push","shift","sort","splice","unshift"],function(e){var t=it[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);pr.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(gu(o)?o:[],e)}return this[n](function(n){return t.apply(gu(n)?n:[],e)})}}),Gr(gr.prototype,function(e,t){var n=pr[t];if(n){var r=n.name+"";st.call(or,r)||(or[r]=[]),or[r].push({name:t,func:n})}}),or[hi(i,y).name]=[{name:"wrapper",func:i}],gr.prototype.clone=function(){var e=new gr(this.__wrapped__);return e.__actions__=ri(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ri(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ri(this.__views__),e},gr.prototype.reverse=function(){if(this.__filtered__){var e=new gr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},gr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=gu(e),r=t<0,o=n?e.length:0,i=function(e,t,n){for(var r=-1,o=n.length;++r=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},pr.prototype.plant=function(e){for(var t,n=this;n instanceof mr;){var r=da(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},pr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof gr){var t=e;return this.__actions__.length&&(t=new gr(this)),(t=t.reverse()).__actions__.push({func:Ua,args:[Ta],thisArg:i}),new vr(t,this.__chain__)}return this.thru(Ta)},pr.prototype.toJSON=pr.prototype.valueOf=pr.prototype.value=function(){return Wo(this.__wrapped__,this.__actions__)},pr.prototype.first=pr.prototype.head,Lt&&(pr.prototype[Lt]=function(){return this}),pr}();Nt._=Mn,(o=function(){return Mn}.call(t,n,t,r))===i||(r.exports=o)}).call(this)}).call(this,n(44),n(45)(e))},function(e,t,n){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,u=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0||window.navigator.msMaxTouchPoints>0),_=g.default(b.Button)(s||(s=o(["\n opacity: ",";\n position: absolute;\n top: 1rem;\n right: 1rem;\n transition: opacity 0.2s;\n :focus {\n opacity: 1;\n }\n"],["\n opacity: ",";\n position: absolute;\n top: 1rem;\n right: 1rem;\n transition: opacity 0.2s;\n :focus {\n opacity: 1;\n }\n"])),w?"1":"0"),k=g.default.div(f||(f=o(["\n position: relative;\n &:hover "," {\n opacity: 1;\n }\n"],["\n position: relative;\n &:hover "," {\n opacity: 1;\n }\n"])),_),x=g.default.div(d||(d=o(["\n font-size: 0.875rem;\n color: ",";\n background-color: ",";\n white-space: ",";\n position: relative;\n\n ","\n"],["\n font-size: 0.875rem;\n color: ",";\n background-color: ",";\n white-space: ",";\n position: relative;\n\n ","\n"])),function(e){return void 0===e.language?y.colors.white:"inherit"},function(e){return e.isLight?"rgba(255,255,255,.15)":void 0===e.language?y.colors.black:"#F1F4F5"},function(e){return void 0===e.language?"nowrap":""},function(e){return e.isDiff?"\n background-color: #E9ECED;\n display: flex;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n ":""}),C=g.default(function(e){e.gutterLength;var t=c(e,["gutterLength"]);return v.createElement("code",a({},t))})(p||(p=o(["\n ::before {\n content: '';\n width: calc(0.75rem + ","ch);\n background-color: #e2e5e6;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n }\n\n [class^='line-'] {\n display: inline-block;\n width: 100%;\n position: relative;\n padding-right: 1.5rem;\n padding-left: calc(2.25rem + ","ch);\n\n ::before {\n content: attr(data-gutter);\n\n width: ",";\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n z-index: 1;\n }\n }\n\n .line-addition {\n background-color: rgba(0, 202, 105, 0.1);\n }\n .line-deletion {\n background-color: rgba(255, 0, 0, 0.07);\n }\n"],["\n ::before {\n content: '';\n width: calc(0.75rem + ","ch);\n background-color: #e2e5e6;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n }\n\n [class^='line-'] {\n display: inline-block;\n width: 100%;\n position: relative;\n padding-right: 1.5rem;\n padding-left: calc(2.25rem + ","ch);\n\n ::before {\n content: attr(data-gutter);\n\n width: ",";\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n z-index: 1;\n }\n }\n\n .line-addition {\n background-color: rgba(0, 202, 105, 0.1);\n }\n .line-deletion {\n background-color: rgba(255, 0, 0, 0.07);\n }\n"])),function(e){return e.gutterLength},function(e){return e.gutterLength},function(e){return e.gutterLength}),E=g.default.pre(h||(h=o(["\n margin: 0;\n ",";\n"],["\n margin: 0;\n ",";\n"])),function(e){return e.isDiff?"":"\n padding: 1.5rem;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n "}),S=g.default.textarea(m||(m=o(["\n opacity: 0;\n height: 0;\n position: absolute;\n top: 0;\n right: 0;\n z-index: -1;\n"],["\n opacity: 0;\n height: 0;\n position: absolute;\n top: 0;\n right: 0;\n z-index: -1;\n"]))),T=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={},t._code=v.createRef(),t}return i(t,e),t.prototype.componentDidMount=function(){this._onMountAsync()},t.prototype.render=function(){var e=this.props,t=e.language,n=e.isLight,r=e.isDiff,o=e.children,i=e.gutterLength,a=e.canCopy,u=this.state.hlCode;return v.createElement(k,null,v.createElement(x,{language:t,isDiff:r,isLight:n},v.createElement(E,{isDiff:r},void 0===u?v.createElement("code",null,o):v.createElement(C,{gutterLength:i,dangerouslySetInnerHTML:u?{__html:this.state.hlCode}:null})),"clipboard"in navigator?null:v.createElement(S,{readOnly:!0,"aria-hidden":"true",ref:this._code,value:o})),a?v.createElement(_,{onClick:this._handleCopyAsync.bind(this)},this.state.didCopy?"Copied":"Copy"):null)},t.prototype._onMountAsync=function(){return u(this,void 0,void 0,function(){var e,t,r,o,i,a,u,c;return l(this,function(l){switch(l.label){case 0:return e=this.props,t=e.language,r=e.children,o=e.isDiff,i=e.gutter,a=e.isEtc,u=r,void 0===t?[3,2]:[4,Promise.all([n.e(10),n.e(6)]).then(n.t.bind(null,67,7))];case 1:c=l.sent().highlight,this.setState({hlCode:c({language:t,code:u,isDiff:o,gutter:i,isEtc:a})}),l.label=2;case 2:return[2]}})})},t.prototype._handleCopyAsync=function(){return u(this,void 0,void 0,function(){var e;return l(this,function(t){switch(t.label){case 0:return t.trys.push([0,4,,5]),"clipboard"in navigator?[4,navigator.clipboard.writeText(this.props.children)]:[3,2];case 1:return t.sent(),this.setState({didCopy:!0}),[3,3];case 2:e=document.activeElement,this._code.current.focus(),this._code.current.select(),document.execCommand("copy"),e.focus(),this.setState({didCopy:!0}),t.label=3;case 3:return[3,5];case 4:return t.sent(),this.setState({didCopy:!1}),[3,5];case 5:return[2]}})})},t}(v.Component);t.Code=T},function(e,t,n){"use strict";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;nO.length&&O.push(e)}function A(e,t,n){return null==e?0:function e(t,n,r,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var l=!1;if(null===t)l=!0;else switch(u){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case i:case a:l=!0}}if(l)return r(o,t,""===n?"."+I(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;cthis.eventPool.length&&this.eventPool.push(e)}function pe(e){e.eventPool=[],e.getPooled=fe,e.release=de}o(se.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=le)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=le)},persist:function(){this.isPersistent=le},isPersistent:ce,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=ce,this._dispatchInstances=this._dispatchListeners=null}}),se.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},se.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,pe(n),n},pe(se);var he=se.extend({data:null}),me=se.extend({data:null}),ve=[9,13,27,32],ge=G&&"CompositionEvent"in window,ye=null;G&&"documentMode"in document&&(ye=document.documentMode);var be=G&&"TextEvent"in window&&!ye,we=G&&(!ge||ye&&8=ye),_e=String.fromCharCode(32),ke={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},xe=!1;function Ce(e,t){switch(e){case"keyup":return-1!==ve.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Ee(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Se=!1;var Te={eventTypes:ke,extractEvents:function(e,t,n,r){var o=void 0,i=void 0;if(ge)e:{switch(e){case"compositionstart":o=ke.compositionStart;break e;case"compositionend":o=ke.compositionEnd;break e;case"compositionupdate":o=ke.compositionUpdate;break e}o=void 0}else Se?Ce(e,n)&&(o=ke.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=ke.compositionStart);return o?(we&&"ko"!==n.locale&&(Se||o!==ke.compositionStart?o===ke.compositionEnd&&Se&&(i=ue()):(ie="value"in(oe=r)?oe.value:oe.textContent,Se=!0)),o=he.getPooled(o,t,n,r),i?o.data=i:null!==(i=Ee(n))&&(o.data=i),q(o),i=o):i=null,(e=be?function(e,t){switch(e){case"compositionend":return Ee(t);case"keypress":return 32!==t.which?null:(xe=!0,_e);case"textInput":return(e=t.data)===_e&&xe?null:e;default:return null}}(e,n):function(e,t){if(Se)return"compositionend"===e||!ge&&Ce(e,t)?(e=ue(),ae=ie=oe=null,Se=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1