v2

UnicFactory

Important functions

createUToken

Parameters:

name - Token name

symbol - Token ticker

proxyTransactionFactory - Address of contract that creates proxy transaction contract

enableProxyTransactions - Vault allows proxy transactions (or not)

Usage:

Creates vault contract (Converter)

Converter

Important functions

setTriggers

Parameters:

nftIndex - Array of NFT indices deposited within vault

triggerPrices - Array of auction trigger prices for each NFT

Usage:

Allows for vault creator to update auction trigger prices

deposit

Parameters:

tokenIDs - Array of token IDs being deposited

amounts - Array of number of NFTs per ID being deposited (relevant for ERC-1155)

triggerPrices - Array of trigger prices for each NFT being deposited

contractAddr - Address of NFT smart contract

Usage:

Deposit NFTs into vault

issue

Usage:

Lock NFTs in vault and issue the fractions

refund

Parameters:

to - address to refund NFTs to

Usage:

Allows vault creator to receive NFTs back before issuing fractions

claimNFT

Parameters:

nftIndex - Index of NFT within vault

to - Where to receive the NFT

Usage:

Allows AuctionHandler to claim the NFT for auction winner

AuctionHandler

Important functions

newAuction

Parameters:

uToken - Vault address

nftIndexForUToken - Index of NFT within vault being auctioned

Usage:

New auction is created by user bidding auction trigger price on NFT

bid

Parameters:

auctionId - ID of auction

Usage:

Bidder can outbid the existing bid by bidding an amount above a certain margin of the existing one

unbid

Parameters:

auctionId - ID of auction

Usage:

User can claim back their bid if they got outbid

claim

Parameters:

auctionId - ID of auction

Usage:

Auction winner can claim the NFT that they bid on

burnAndRedeem

Parameters:

uToken - Vault address

amount - Number of fractions being burned

Usage:

Allows for users to burn their fractions in exchange for part of the ETH currently in the vault. Their cut of the ETH is determined by the amount of fractions being burned out of the current total supply of fractions.

ConverterGovernorAlpha

Manages the proxy transaction when enabled for the vault.

**Important functions**

**delegate**

Parameters:

`delegatee` - Address to receive the voting power

Usage:

Token holders can delegate voting power to themselves or other users.

**propose**

Parameters:

`targets` - Array of contract addresses

`values` - Array of ETH values

`signatures` - Array of function signatures to call (example: `['function1(address,uint256)', 'function2()']`)

`calldatas` - Array of encoded call data (example: `[utils.defaultAbiCoder.encode(['address', 'uint256'], [address3, 10]), utils.defaultAbiCoder.encode([], [])]`)

`description` - A meaningful description of what the transactions are intended to do

Usage:

Addresses that have more voting power than the proposal threshold (ConverterGovernorAlpha:proposalThreshold()) can submit
proposals for transactions. The proposal can consist of several single transactions. For each transaction a target
address, the amount of ETH to be sent, the method signature as well as the calldata must be passed. For the entire
proposal a description must be provided.

**castVote**

Parameters:

`proposalId` - ID of the proposal

`support` - True to vote in favor of the proposal, false otherwise

Usage:

Vote for a proposal.

**queue**

Parameters:

`proposalId` - ID of the proposal

Usage:

When the voting period is over (ConverterGovernorAlphaConfig:votingPeriod) and the positive votes exceed the threshold value
(ConverterGovernorAlpha:quorumVotes()), the proposal must be queued to be executed at a later time when the time lock expires.

**cancel**

Parameters:

`proposalId` - ID of the proposal

Usage:

Until its execution, a proposal can still be canceled. This can be done either by the creator of the collection or by anyone
if the voting power of the proposer falls below the threshold required to create a proposal
(ConverterGovernorAlpha:ProposalThreshold()).

**execute**

Parameters:

`proposalId` - ID of the proposal

Usage:

When the time lock expires (ConverterGovernorAlphaConfig:delay), a queued proposal can be executed once. The amount of ETH defined in the values
defined in the values must be sent with the function call.

**state**

Parameters:

`proposalId` - ID of the proposal

Usage:

Check the state of a proposal
```
0: Pending
1: Active,
2: Canceled,
3: Defeated,
4: Succeeded,
5: Queued,
6: Expired,
7: Executed
```

Last updated