# EeseeOpenseaRouter

## EeseeOpenseaRouter

### seaport

```solidity
contract ISeaport seaport
```

*Main opensea marketplace contract's address*

### ConduitDoesntExist

```solidity
error ConduitDoesntExist()
```

### InvalidOrderType

```solidity
error InvalidOrderType()
```

### purchaseAsset

```solidity
function purchaseAsset(bytes data, address recipient) external payable returns (struct Asset asset, uint256 spent)
```

*Buys NFT for {nftPrice} from Opensea marketplace and sends it to {recipient}*

#### Parameters

| Name      | Type    | Description                                                                        |
| --------- | ------- | ---------------------------------------------------------------------------------- |
| data      | bytes   | - Encoded OpenseaStructs.BasicOrderParameters struct needed for rarible contracts. |
| recipient | address | - Address where to send nft.                                                       |

#### Return Values

| Name  | Type         | Description       |
| ----- | ------------ | ----------------- |
| asset | struct Asset | - Asset received. |
| spent | uint256      | - Tokens spent.   |

## Inherited from EeseePausable

### pause

```solidity
function pause() external virtual
```

*Called by the PAUSER\_ROLE to pause, triggers stopped state.*

### unpause

```solidity
function unpause() external virtual
```

*Called by the PAUSER\_ROLE to unpause, returns to normal state.*

## Inherited from EeseeRoleHandler

## Inherited from Pausable

### paused

```solidity
function paused() public view virtual returns (bool)
```

*Returns true if the contract is paused, and false otherwise.*

### Paused

```solidity
event Paused(address account)
```

*Emitted when the pause is triggered by `account`.*

### Unpaused

```solidity
event Unpaused(address account)
```

*Emitted when the pause is lifted by `account`.*

## Inherited from ERC721Holder

### onERC721Received

```solidity
function onERC721Received(address, address, uint256, bytes) public virtual returns (bytes4)
```

\_See {IERC721Receiver-onERC721Received}.

Always returns `IERC721Receiver.onERC721Received.selector`.\_
