ran prettier + added changelog entry for contract wrappers
This commit is contained in:
parent
b249a50d8f
commit
cb1bfa0f97
@ -45,6 +45,7 @@
|
|||||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@0x/abi-gen": "^1.0.19",
|
"@0x/abi-gen": "^1.0.19",
|
||||||
|
"@0x/contract-wrappers": "^4.2.0",
|
||||||
"@0x/contracts-test-utils": "^1.0.2",
|
"@0x/contracts-test-utils": "^1.0.2",
|
||||||
"@0x/dev-utils": "^1.0.21",
|
"@0x/dev-utils": "^1.0.21",
|
||||||
"@0x/sol-compiler": "^1.1.16",
|
"@0x/sol-compiler": "^1.1.16",
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { DutchAuctionWrapper } from '@0x/contract-wrappers';
|
||||||
import {
|
import {
|
||||||
artifacts as protocolArtifacts,
|
artifacts as protocolArtifacts,
|
||||||
ERC20Wrapper,
|
ERC20Wrapper,
|
||||||
@ -33,7 +34,6 @@ import * as _ from 'lodash';
|
|||||||
|
|
||||||
import { DutchAuctionContract } from '../../generated-wrappers/dutch_auction';
|
import { DutchAuctionContract } from '../../generated-wrappers/dutch_auction';
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
|
|
||||||
import { DutchAuctionTestWrapper } from '../utils/dutch_auction_test_wrapper';
|
import { DutchAuctionTestWrapper } from '../utils/dutch_auction_test_wrapper';
|
||||||
|
|
||||||
chaiSetup.configure();
|
chaiSetup.configure();
|
||||||
@ -164,7 +164,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
feeRecipientAddress,
|
feeRecipientAddress,
|
||||||
// taker address or sender address should be set to the ducth auction contract
|
// taker address or sender address should be set to the ducth auction contract
|
||||||
takerAddress: dutchAuctionContract.address,
|
takerAddress: dutchAuctionContract.address,
|
||||||
makerAssetData: DutchAuctionTestWrapper.encodeDutchAuctionAssetData(
|
makerAssetData: DutchAuctionWrapper.encodeDutchAuctionAssetData(
|
||||||
assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress),
|
assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress),
|
||||||
auctionBeginTimeSeconds,
|
auctionBeginTimeSeconds,
|
||||||
auctionBeginAmount,
|
auctionBeginAmount,
|
||||||
@ -206,7 +206,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
describe('matchOrders', () => {
|
describe('matchOrders', () => {
|
||||||
it('should be worth the begin price at the begining of the auction', async () => {
|
it('should be worth the begin price at the begining of the auction', async () => {
|
||||||
auctionBeginTimeSeconds = new BigNumber(currentBlockTimestamp + 2);
|
auctionBeginTimeSeconds = new BigNumber(currentBlockTimestamp + 2);
|
||||||
const makerAssetData = DutchAuctionTestWrapper.encodeDutchAuctionAssetData(
|
const makerAssetData = DutchAuctionWrapper.encodeDutchAuctionAssetData(
|
||||||
defaultERC20MakerAssetData,
|
defaultERC20MakerAssetData,
|
||||||
auctionBeginTimeSeconds,
|
auctionBeginTimeSeconds,
|
||||||
auctionBeginAmount,
|
auctionBeginAmount,
|
||||||
@ -220,7 +220,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
it('should be be worth the end price at the end of the auction', async () => {
|
it('should be be worth the end price at the end of the auction', async () => {
|
||||||
auctionBeginTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds * 2);
|
auctionBeginTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds * 2);
|
||||||
auctionEndTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds);
|
auctionEndTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds);
|
||||||
const makerAssetData = DutchAuctionTestWrapper.encodeDutchAuctionAssetData(
|
const makerAssetData = DutchAuctionWrapper.encodeDutchAuctionAssetData(
|
||||||
defaultERC20MakerAssetData,
|
defaultERC20MakerAssetData,
|
||||||
auctionBeginTimeSeconds,
|
auctionBeginTimeSeconds,
|
||||||
auctionBeginAmount,
|
auctionBeginAmount,
|
||||||
@ -286,7 +286,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
it('should revert when auction expires', async () => {
|
it('should revert when auction expires', async () => {
|
||||||
auctionBeginTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds * 2);
|
auctionBeginTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds * 2);
|
||||||
auctionEndTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds);
|
auctionEndTimeSeconds = new BigNumber(currentBlockTimestamp - tenMinutesInSeconds);
|
||||||
const makerAssetData = DutchAuctionTestWrapper.encodeDutchAuctionAssetData(
|
const makerAssetData = DutchAuctionWrapper.encodeDutchAuctionAssetData(
|
||||||
defaultERC20MakerAssetData,
|
defaultERC20MakerAssetData,
|
||||||
auctionBeginTimeSeconds,
|
auctionBeginTimeSeconds,
|
||||||
auctionBeginAmount,
|
auctionBeginAmount,
|
||||||
@ -320,7 +320,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
});
|
});
|
||||||
it('begin time is less than end time', async () => {
|
it('begin time is less than end time', async () => {
|
||||||
auctionBeginTimeSeconds = new BigNumber(auctionEndTimeSeconds).plus(tenMinutesInSeconds);
|
auctionBeginTimeSeconds = new BigNumber(auctionEndTimeSeconds).plus(tenMinutesInSeconds);
|
||||||
const makerAssetData = DutchAuctionTestWrapper.encodeDutchAuctionAssetData(
|
const makerAssetData = DutchAuctionWrapper.encodeDutchAuctionAssetData(
|
||||||
defaultERC20MakerAssetData,
|
defaultERC20MakerAssetData,
|
||||||
auctionBeginTimeSeconds,
|
auctionBeginTimeSeconds,
|
||||||
auctionBeginAmount,
|
auctionBeginAmount,
|
||||||
@ -348,7 +348,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
it('should match orders when ERC721', async () => {
|
it('should match orders when ERC721', async () => {
|
||||||
const makerAssetId = erc721MakerAssetIds[0];
|
const makerAssetId = erc721MakerAssetIds[0];
|
||||||
const erc721MakerAssetData = assetDataUtils.encodeERC721AssetData(erc721Token.address, makerAssetId);
|
const erc721MakerAssetData = assetDataUtils.encodeERC721AssetData(erc721Token.address, makerAssetId);
|
||||||
const makerAssetData = DutchAuctionTestWrapper.encodeDutchAuctionAssetData(
|
const makerAssetData = DutchAuctionWrapper.encodeDutchAuctionAssetData(
|
||||||
erc721MakerAssetData,
|
erc721MakerAssetData,
|
||||||
auctionBeginTimeSeconds,
|
auctionBeginTimeSeconds,
|
||||||
auctionBeginAmount,
|
auctionBeginAmount,
|
||||||
|
@ -5,11 +5,9 @@ import { DutchAuctionDetails, SignedOrder } from '@0x/types';
|
|||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import { Provider, TransactionReceiptWithDecodedLogs } from 'ethereum-types';
|
import { Provider, TransactionReceiptWithDecodedLogs } from 'ethereum-types';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
import { BigNumber } from '@0x/utils';
|
|
||||||
|
|
||||||
import { DutchAuctionContract } from '../../generated-wrappers/dutch_auction';
|
import { DutchAuctionContract } from '../../generated-wrappers/dutch_auction';
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
import { DutchAuctionWrapper } from '@0x/contract-wrappers';
|
|
||||||
|
|
||||||
export class DutchAuctionTestWrapper {
|
export class DutchAuctionTestWrapper {
|
||||||
private readonly _dutchAuctionContract: DutchAuctionContract;
|
private readonly _dutchAuctionContract: DutchAuctionContract;
|
||||||
@ -61,20 +59,4 @@ export class DutchAuctionTestWrapper {
|
|||||||
const afterAuctionDetails = await this._dutchAuctionContract.getAuctionDetails.callAsync(sellOrder);
|
const afterAuctionDetails = await this._dutchAuctionContract.getAuctionDetails.callAsync(sellOrder);
|
||||||
return afterAuctionDetails;
|
return afterAuctionDetails;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
* dutch auction; which is usable in the makerAssetData or takerAssetData fields in a 0x order.
|
|
||||||
* @param assetData Hex encoded assetData string for the asset being auctioned.
|
|
||||||
* @param beginTimeSeconds Begin time of the dutch auction.
|
|
||||||
* @param beginAmount Starting amount being sold in the dutch auction.
|
|
||||||
* @return The hex encoded assetData string.
|
|
||||||
*/
|
|
||||||
public static encodeDutchAuctionAssetData(
|
|
||||||
assetData: string,
|
|
||||||
beginTimeSeconds: BigNumber,
|
|
||||||
beginAmount: BigNumber,
|
|
||||||
): string {
|
|
||||||
return DutchAuctionWrapper.encodeDutchAuctionAssetData(assetData, beginTimeSeconds, beginAmount);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
|
"changes": [
|
||||||
|
{
|
||||||
|
"note":
|
||||||
|
"Added Dutch Auction wrapper",
|
||||||
|
"pr": 1465
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "4.1.4",
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"note": "Add support for Trust Wallet signature denial error"
|
"note": "Add support for Trust Wallet signature denial error"
|
||||||
|
@ -4,7 +4,7 @@ import { _getDefaultContractAddresses } from '../utils/contract_addresses';
|
|||||||
import { DutchAuctionDetails, SignedOrder } from '@0x/types';
|
import { DutchAuctionDetails, SignedOrder } from '@0x/types';
|
||||||
import { ContractAbi } from 'ethereum-types';
|
import { ContractAbi } from 'ethereum-types';
|
||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import { BigNumber, abiUtils } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
import ethAbi = require('ethereumjs-abi');
|
import ethAbi = require('ethereumjs-abi');
|
||||||
import { schemas } from '@0x/json-schemas';
|
import { schemas } from '@0x/json-schemas';
|
||||||
@ -22,7 +22,6 @@ import { assetDataUtils } from '@0x/order-utils';
|
|||||||
export class DutchAuctionWrapper extends ContractWrapper {
|
export class DutchAuctionWrapper extends ContractWrapper {
|
||||||
public abi: ContractAbi = DutchAuction.compilerOutput.abi;
|
public abi: ContractAbi = DutchAuction.compilerOutput.abi;
|
||||||
public address: string;
|
public address: string;
|
||||||
private _exchangeAddress: string;
|
|
||||||
private _dutchAuctionContractIfExists?: DutchAuctionContract;
|
private _dutchAuctionContractIfExists?: DutchAuctionContract;
|
||||||
/**
|
/**
|
||||||
* Instantiate DutchAuctionWrapper
|
* Instantiate DutchAuctionWrapper
|
||||||
@ -31,14 +30,11 @@ export class DutchAuctionWrapper extends ContractWrapper {
|
|||||||
* @param address The address of the Dutch Auction contract. If undefined, will
|
* @param address The address of the Dutch Auction contract. If undefined, will
|
||||||
* default to the known address corresponding to the networkId.
|
* default to the known address corresponding to the networkId.
|
||||||
*/
|
*/
|
||||||
constructor(web3Wrapper: Web3Wrapper, networkId: number, address?: string, exchangeAddress?: string) {
|
constructor(web3Wrapper: Web3Wrapper, networkId: number, address?: string) {
|
||||||
super(web3Wrapper, networkId);
|
super(web3Wrapper, networkId);
|
||||||
this.address = this.address = _.isUndefined(address)
|
this.address = this.address = _.isUndefined(address)
|
||||||
? _getDefaultContractAddresses(networkId).dutchAuction
|
? _getDefaultContractAddresses(networkId).dutchAuction
|
||||||
: address;
|
: address;
|
||||||
this._exchangeAddress = _.isUndefined(exchangeAddress)
|
|
||||||
? _getDefaultContractAddresses(networkId).exchange
|
|
||||||
: exchangeAddress;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Matches the buy and sell orders at an amount given the following: the current block time, the auction
|
* Matches the buy and sell orders at an amount given the following: the current block time, the auction
|
||||||
|
Loading…
x
Reference in New Issue
Block a user