24 lines
		
	
	
		
			915 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			915 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { artifacts as exchangeArtifacts } from '@0x/contracts-exchange';
 | 
						|
import { artifacts, ForwarderContract } from '@0x/contracts-exchange-forwarder';
 | 
						|
import { BlockchainTestsEnvironment } from '@0x/contracts-test-utils';
 | 
						|
import { assetDataUtils } from '@0x/order-utils';
 | 
						|
 | 
						|
import { DeploymentManager } from '../framework/deployment_manager';
 | 
						|
 | 
						|
/**
 | 
						|
 * Deploys a Forwarder contract configured to work alongside the provided `deployment`.
 | 
						|
 */
 | 
						|
export async function deployForwarderAsync(
 | 
						|
    deployment: DeploymentManager,
 | 
						|
    environment: BlockchainTestsEnvironment,
 | 
						|
): Promise<ForwarderContract> {
 | 
						|
    return ForwarderContract.deployFrom0xArtifactAsync(
 | 
						|
        artifacts.Forwarder,
 | 
						|
        environment.provider,
 | 
						|
        deployment.txDefaults,
 | 
						|
        { ...exchangeArtifacts, ...artifacts },
 | 
						|
        deployment.exchange.address,
 | 
						|
        assetDataUtils.encodeERC20AssetData(deployment.tokens.weth.address),
 | 
						|
    );
 | 
						|
}
 |