# TermInitializer.sol

## TermInitializer

This contract provides utility methods for initializing/pairing a set of term/auction contracts

*This contract operates at the protocol level and provides utility functions for deploying terms/auctions*

### DeployingPaused

```solidity
error DeployingPaused()
```

### DEPLOYER\_ROLE

```solidity
bytes32 DEPLOYER_ROLE
```

### INITIALIZER\_APPROVAL\_ROLE

```solidity
bytes32 INITIALIZER_APPROVAL_ROLE
```

### DEVOPS\_ROLE

```solidity
bytes32 DEVOPS_ROLE
```

### controller

```solidity
contract ITermController controller
```

### emitter

```solidity
contract ITermEventEmitter emitter
```

### priceOracle

```solidity
contract TermPriceConsumerV3 priceOracle
```

### deployingPaused

```solidity
bool deployingPaused
```

### whileDeployingNotPaused

```solidity
modifier whileDeployingNotPaused()
```

### constructor

```solidity
constructor(address initializerApprovalRole_, address devopsWallet_) public
```

### pairTermContracts

```solidity
function pairTermContracts(contract ITermController controller_, contract ITermEventEmitter emitter_, contract TermPriceConsumerV3 priceOracle_) external
```

### setupTerm

```solidity
function setupTerm(struct TermContractGroup termContractGroup, address devOpsMultiSig, address adminWallet, string termVersion, string auctionVersion) external
```

Sets up a set of deployed term contracts

### setupAuction

```solidity
function setupAuction(contract TermRepoServicer termRepoServicer, contract TermRepoCollateralManager termRepoCollateralManager, contract TermAuctionOfferLocker termAuctionOfferLocker, contract TermAuctionBidLocker termAuctionBidLocker, contract TermAuction auction, address devOpsMultiSig, address adminWallet, string auctionVersion) external
```

Sets up a set of deployed term contracts

### pauseDeploying

```solidity
function pauseDeploying() external
```

### unpauseDeploying

```solidity
function unpauseDeploying() external
```
