Proton Contract

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

Get Proton Info

Get a Proton's creator, sale price, etc.

creatorOf

Gets the creator of a Proton.

function creatorOf(
  uint256 tokenId
) external view virtual override returns (address);

Parameter / Return Value

Description

tokenId

id of Proton

return

address of token creator

getSalePrice

Gets current sale price of a Proton in Ether.

function getSalePrice(uint256 tokenId) 
  external 
  view
  virtual
  override
  returns (uint256);

Parameter / Return Value

Description

tokenId

id of Proton

return

sale price in Ether

getLastSellPrice

Gets most recent price that Proton sold for in Ether.

Parameter / Return Value

Description

tokenId

id of Proton

return

sale price in Ether

getCreatorRoyalties

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

Parameter / Return Value

Description

address

creator account

return

royalties earned by creator (in ETH)

getCreatorRoyaltiesPct

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

Parameter / Return Value

Description

tokenId

id of Proton

return

royalty percentage on Proton sale

getCreatorRoyaltiesReceiver

Gets creator royalties receiver. Can be either the creator or a 3rd-party, such as a charity, relative, or any other account of choice.

Parameter / Return Value

Description

tokenId

id of Proton

return

address of royalties receiver

Create & Interact with Proton(s)

Create various types of Protons, buy a Proton, claim royalties, etc.

claimCreatorRoyalties

Sends royalties to creator or delegated receiver.

Parameter / Return Value
Description

Parameter / Return Value

Description

amount

amount claimed in ETH

createChargedParticle

Create a new Charged Particle (a Proton with interest-bearing assets deposited into its wallet).

Parameter / Return Value

Description

creator

id of Charged Particle

receiver

receiver of new Charged Particle

referrer

*used for an internal feature that has yet to be implemented -- ignore

tokenMetaUri

URI of tokenmetadata

walletManagerId

id of wallet manager for ERC20 being deposited upon mint

assetToken

asset to create token with

assetAmount

amount of asset token to deposit

annuityPercent

percentage of charge (interest) directed to creator, in basis points

e.g. '10000' = 100%

newTokenId

id of new Charged Particle

createBasicProton

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

Parameter / Return Value

Description

creator

id of Proton

receiver

receiver of new Proton

tokenMetaUri

URI of token's metadata

newTokenId

id of new Proton

createProton

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

Parameter / Return Value

Description

creator

address of creator

receiver

receiver of new Proton

tokenMetaUri

URI of tokenmetadata

annuity percent

percentage of interest that goes to creator

newTokenId

id of new Proton

createProtonForSale

Parameter / Return Value

Description

creator

address of creator

receiver

receiver of new Proton

tokenMetaUri

URI of tokenmetadata

annuityPercent

percentage of charge (interest) that goes to creator

royaltiesPercent

percentage of Proton sale that goes to creator

salePrice

sale price of Proton

newTokenId

id of new Proton

batchProtonsForSale

Parameter / Return Value

Description

creator

address of creator

annuityPercent

percentage of charge (interest) that goes to creator

royaltiesPercent

percentage of Proton sale that goes to creator

tokenMetaUris

array of token metadata URIs for Protons

salePrices

array of sale prices for Protons

buyProton

Buy a Proton.

Parameter / Return Value

Description

tokenId

id of Proton to purchase

return

true if purchase successful, false if not

Update Proton Settings (Only for Creator/Owner)

Set a Protons Price, Royalties, or Royalties Receiver.

setSalePrice

Set the sale price for a Proton.

Parameter / Return Value

Description

tokenId

id of Proton to set price for

salePrice

sale price in Ether

setRoyaltiesPct

Set royalties percentage for a Proton.

Parameter / Return Value

Description

tokenId

id of Proton to set price for

royaltiesPct

percentage of sale directed to creator

setCreatorRoyaltiesReceiver

Set a receiver for Proton royalties.

Parameter / Return Value

Description

tokenId

id of Proton to set recever for

receiver

address of receiver

Other

Events

UniverseSet

ChargedStateSet

ChargedSettingsSet

ChargedParticlesSet

PausedStateSet

SalePriceSet

CreatorRoyaltiesSet

FeesWithdrawn

ProtonSold

RoyaltiesClaimed

Last updated

Was this helpful?