ZivoeLocker.sol

Abstract Locker Contract

Introduction

This contract standardizes communication between the DAO and lockers.

Note: This is an abstract contract and is inherited by Lockers, see Lockers

Sections

Read Functions

Write Functions

Read Functions

canPush()

Permission for calling pushToLocker().

canPull()

Permission for calling pullFromLocker().

canPullPartial()

Permission for calling pullFromLockerPartial().

canPushMulti()

Permission for calling pushToLockerMulti().

canPullMulti()

Permission for calling pullFromLockerMulti().

canPullMultiPartial()

Permission for calling pullFromLockerMultiPartial().

canPushERC721()

Permission for calling pushFromLockerERC721().

canPullERC721()

Permission for calling pullFromLockerERC721().

canPushMultiERC721()

Permission for calling pushFromLockerMultiERC721().

canPullMultiERC721()

Permission for calling pullFromLockerMultiERC721().

canPushERC1155()

Permission for calling pushToLockerERC1155().

canPullERC1155()

Permission for calling pullFromLockerERC1155().

Write Functions

pushToLocker()

Migrates specific amount of ERC20 from owner() to locker.

Type
Name
Description

address

asset

The asset to migrate.

uint256

amount

The amount of "asset" to migrate.

bytes

data

Accompanying transaction data.

pullFromLocker()

Migrates entire ERC20 balance from locker to owner().

Type
Name
Description

address

asset

The asset to migrate.

bytes

data

Accompanying transaction data.

pullFromLockerPartial()

Migrates specific amount of ERC20 from locker to owner().

Type
Name
Description

address

asset

The asset to migrate.

uint256

amount

The amount of "asset" to migrate.

bytes

data

Accompanying transaction data.

pushToLockerMulti()

Migrates specific amounts of ERC20s from owner() to locker.

Type
Name
Description

address[]

assets

The assets to migrate.

uint256[]

amounts

The amounts of "assets" to migrate, corresponds to "assets" by position in array.

bytes[]

data

Accompanying transaction data.

pullFromLockerMulti()

Migrates full amount of ERC20s from locker to owner().

Type
Name
Description

address[]

assets

The assets to migrate.

bytes[]

data

Accompanying transaction data.

pullFromLockerMultiPartial()

Migrates specific amounts of ERC20s from locker to owner().

Type
Name
Description

address[]

assets

The assets to migrate.

uint256[]

amounts

The amounts of "assets" to migrate, corresponds to "assets" by position in array.

bytes[]

data

Accompanying transaction data.

pushToLockerERC721()

Migrates an ERC721 from owner() to locker.

Type
Name
Description

address

asset

The NFT contract.

uint256

tokenId

The ID of the NFT to migrate.

bytes

data

Accompanying transaction data.

pullFromLockerERC721()

Migrates an ERC721 from locker to owner().

Type
Name
Description

address

asset

The NFT contract.

uint256

tokenId

The ID of the NFT to migrate.

bytes

data

Accompanying transaction data.

pushToLockerMultiERC721()

Migrates ERC721s from owner() to locker.

Type
Name
Description

address[]

assets

The NFT contracts.

uint256[]

tokenIds

The IDs of the NFTs to migrate.

bytes[]

data

Accompanying transaction data.

pullFromLockerMultiERC721()

Migrates ERC721s from locker to owner().

Type
Name
Description

address[]

assets

The NFT contracts.

uint256[]

tokenIds

The IDs of the NFTs to migrate.

bytes[]

data

Accompanying transaction data.

pushToLockerERC1155()

Migrates ERC1155 assets from owner() to locker.

Type
Name
Description

address

asset

The ERC1155 contract.

uint256[]

ids

The IDs of the assets within the ERC1155 to migrate.

uint256[]

amounts

The amounts to migrate.

bytes

data

Accompanying transaction data.

pullFromLockerERC1155()

Migrates ERC1155 assets from locker to owner().

Type
Name
Description

address

asset

The ERC1155 conract.

uint256[]

ids

The IDs of the assets within the ERC1155 to migrate.

uint256[]

amounts

The amounts to migrate.

bytes

data

Accompanying transaction data.

Last updated