ProtonB Contract

Proton contract, the standard ERC721 token of the protocol. All Protons are Particles.

creatorOf

Gets the creator of a Proton.

function creatorOf(
  uint256 tokenId
) external view returns (address);
Parameter
Description
Type

tokenId

ID of the token (Particle)

uint256

Return Value
Description
Type

address

particle creator's address

address

getSalePrice

Gets current sale price of a Proton.

function getSalePrice(
  uint256 tokenId
) external view returns (uint256);
Parameter
Description
Type

tokenId

ID of the token (Particle)

uint256

Return Value
Description
Type

price

current sale price

uint256

getLastSellPrice

Gets most recent price that Proton sold for.

function getLastSellPrice(
  uint256 tokenId
) external view returns (uint256);
Parameter
Description
Type

tokenId

ID of the token (Particle)

uint256

Return Value
Description
Type

price

last sale price

uint256

getCreatorRoyalties

Gets total royalties earned by a given creator. Royalties are how much of the sale price will be directed to the Proton's creator whenever a Proton is sold.

function getCreatorRoyalties(
  address account
) external view returns (uint256);
Parameter
Description
Type

account

address of a Proton creator

address

Return Value
Description
Type

royalties

total royalties earned

uint256

getCreatorRoyaltiesPct

Gets creator royalties for a given token. Royalties are how much of the sale price will be directed to the Proton's creator whenever a Proton is sold.

function getCreatorRoyaltiesPct(
  uint256 tokenId
) external view returns (uint256);
Parameter
Description
Type

tokenId

ID of the token (Particle)

uint256

Return Value
Description
Type

royaltiesPct

The percentage of sales directed to the creator of the Particle (or 3rd party if royalties have been redirected)

uint256

getCreatorRoyaltiesReceiver

Gets creator royalties receiver. Can be either the creator or a 3rd-party address.

function getCreatorRoyaltiesReceiver(
  uint256 tokenId
) external view returns (address);
Parameter
Description
Type

tokenId

ID of the token (Particle)

uint256

Return Value
Description
Type

receiver

address that receives royalties (defaults to creator)

address

claimCreatorRoyalties

Sends royalties to creator or delegated receiver.

function claimCreatorRoyalties() external returns (uint256);
Return Value
Description
Type

amount

amount of royalties claimed

uint256

createChargedParticle

Create a new Charged Particle (a Proton with ERC20 assets nested inside).

function createChargedParticle(
  address creator,
  address receiver,
  address referrer,
  string memory tokenMetaUri,
  string memory walletManagerId,
  address assetToken,
  uint256 assetAmount,
  uint256 annuityPercent
) external returns (uint256 newTokenId);
Parameter
Description
Type

creator

creator of Proton (Particle)

address

receiver

address to receive newly minted Proton (Particle)

address

tokenMetaUri

URI of token's metadata

string

walletManagerId

id of wallet manager for ERC20 being deposited upon mint

string

assetToken

asset to create token with

address

assetAmount

amount of asset to deposit

uint256

annuityPercent

percentage of charge (interest) directed to creator, in basis points (e.g. '10000' = 100%)

uint256

Return Value
Description
Type

newTokenId

ID of new Proton

uint256

createBasicProton

Create a basic Proton without charge, and with annuityPercent, royaltiesPercent, and salePrice set to 0.

function createBasicProton(
  address creator,
  address receiver,
  string memory tokenMetaUri
) external returns (uint256 newTokenId);
Parameter
Description
Type

creator

creator of Proton (Particle)

address

receiver

address to receive newly minted Proton (Particle)

address

tokenMetaUri

URI of token's metadata

string

Return Value
Description
Type

newTokenId

ID of new Proton

uint256

createProton

Create a Proton, set its annuity percentage to a custom amount, and set royalties percentage and salePrice to 0.

function createProton(
  address creator,
  address receiver,
  string memory tokenMetaUri,
  uint256 annuityPercent
) external returns (uint256 newTokenId);
Parameter
Description
Type

creator

creator of Proton (Particle)

address

receiver

address to receive newly minted Proton (Particle)

address

tokenMetaUri

URI of token's metadata

string

annuityPercent

percentage of charge (interest) directed to creator, in basis points (e.g. '10000' = 100%)

uint256

Return Value
Description
Type

newTokenId

ID of new Proton

uint256

createProtonForSale

Create a Proton, set its annuity percentage to a custom amount, and set royalties percentage and sale price to custom amounts.

function createProtonForSale(
  address creator,
  address receiver,
  string memory tokenMetaUri,
  uint256 annuityPercent,
  uint256 royaltiesPercent,
  uint256 salePrice
) external returns (uint256 newTokenId);
Parameter
Description
Type

creator

creator of Proton (Particle)

address

receiver

address to receive newly minted Proton (Particle)

address

tokenMetaUri

URI of token's metadata

string

annuityPercent

percentage of charge (interest) directed to creator, in basis points (e.g. '10000' = 100%)

uint256

royaltiesPercent

percentage of sales directed to creator, in basis points (e.g. '10000' = 100%)

uint256

salePrice

sale price for Proton (Particle)

uint256

Return Value
Description
Type

newTokenId

ID of new Proton

uint256

batchProtonsForSale

To be updated

function batchProtonsForSale(
    address creator,
    uint256 annuityPercent,
    uint256 royaltiesPercent,
    string[] calldata tokenMetaUris,
    uint256[] calldata salePrices
) external;

To be updated

buyProton

Buy a Proton.

function buyProton(
  uint256 tokenId, 
  uint256 gasLimit
) external payable returns (bool);
Parameter
Description
Type

tokenId

ID of the Proton (Particle)

uint256

gasLimit

mas gax for tx (optional)

uint256

Return Value
Description
Type

success

true if purchase made, false it not

bool

setSalePrice

Set the sale price for a single Proton. In

function setSalePrice(uint256 tokenId, uint256 salePrice) external;
Parameter
Description
Type

tokenId

ID of the Proton (Particle)

uint256

salePrice

new sale price for Proton (set to 0 to delist)

uint256

setRoyaltiesPct

Set the sale price for a Proton.

function setRoyaltiesPct(
  uint256 tokenId, 
  uint256 royaltiesPct
) external;
Parameter
Description
Type

tokenId

ID of the Proton (Particle)

uint256

royaltiesPct

new royalties percentage

uint256

setCreatorRoyaltiesReceiver

Set a receiver for Proton royalties. Defaults to the creator of the Proton.

function setCreatorRoyaltiesReceiver(
  uint256 tokenId, 
  address receiver
) external;
Parameter
Description
Type

tokenId

ID of Proton (Particle)

uint256

receiver

the new receiver

uint256

Last updated