* Removes references to tslint in contract-wrappers which are obsoleted since https://github.com/0xProject/protocol/pull/584 * Remove tslint references in contracts/utils and test utils obsoleted by https://github.com/0xProject/protocol/pull/589 * Remove tslint references in contracts/zeroex and test utils obsoleted by https://github.com/0xProject/protocol/pull/587 * Remove other obsoleted tslint references * Update contributing guidelines with eslint * Fix prettier errors
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { chaiSetup } from '@0x/dev-utils';
 | 
						|
import { ZeroExTransaction } from '@0x/types';
 | 
						|
import { BigNumber } from '@0x/utils';
 | 
						|
import * as chai from 'chai';
 | 
						|
import 'mocha';
 | 
						|
 | 
						|
import { transactionHashUtils } from '../src';
 | 
						|
 | 
						|
import { constants } from '../src/constants';
 | 
						|
 | 
						|
chaiSetup.configure();
 | 
						|
const expect = chai.expect;
 | 
						|
 | 
						|
describe('0x transaction hashing', () => {
 | 
						|
    describe('#getTransactionHashHex', () => {
 | 
						|
        const expectedTransactionHash = '0x7845d260300acfbebaff52f0462f984016473290b9eb865fb6ffac0503cab364';
 | 
						|
        const fakeVerifyingContractAddress = '0x5e72914535f202659083db3a02c984188fa26e9f';
 | 
						|
        const fakeChainId = 1337;
 | 
						|
        const transaction: ZeroExTransaction = {
 | 
						|
            signerAddress: constants.NULL_ADDRESS,
 | 
						|
            salt: new BigNumber(0),
 | 
						|
            expirationTimeSeconds: new BigNumber(0),
 | 
						|
            gasPrice: new BigNumber(0),
 | 
						|
            data: constants.NULL_BYTES,
 | 
						|
            domain: {
 | 
						|
                verifyingContract: fakeVerifyingContractAddress,
 | 
						|
                chainId: fakeChainId,
 | 
						|
            },
 | 
						|
        };
 | 
						|
        it('calculates the transaction hash', async () => {
 | 
						|
            const transactionHash = transactionHashUtils.getTransactionHashHex(transaction);
 | 
						|
            expect(transactionHash).to.be.equal(expectedTransactionHash);
 | 
						|
        });
 | 
						|
        it('calculates the transaction hash if amounts are strings', async () => {
 | 
						|
            // It's common for developers using javascript to provide the amounts
 | 
						|
            // as strings. Since we eventually toString() the BigNumber
 | 
						|
            // before encoding we should result in the same orderHash in this scenario
 | 
						|
            const transactionHash = transactionHashUtils.getTransactionHashHex({
 | 
						|
                ...transaction,
 | 
						|
                salt: '0',
 | 
						|
                expirationTimeSeconds: '0',
 | 
						|
                gasPrice: '0',
 | 
						|
            } as any);
 | 
						|
            expect(transactionHash).to.be.equal(expectedTransactionHash);
 | 
						|
        });
 | 
						|
    });
 | 
						|
});
 |