Charged State Contract

Charged Particles State Contract. For viewing and setting permissions, approvals, and time locks on Particles.

Get State Data

Get info on time locks, approvals, and permissions.

getDischargeTimelockExpiry

Gets unlock block for Discharge time lock.

function getDischargeTimelockExpiry(
  address contractAddress,
  uint256 tokenId
) external view virtual override returns (uint256 lockExpiry);

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check time lock for

lockExpiry

unlock block for Particle's Charge (interest)

getReleaseTimelockExpiry

Gets unlock block for Release time lock.

function getReleaseTimelockExpiry(
  address contractAddress,
  uint256 tokenId
) external view virtual override returns (uint256 lockExpiry);

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check time lock for

lockExpiry

unlock block for Particle's Mass (principal)

getBreakBondTimelockExpiry

Gets unlock block for restrictions on withdrawing NFTs from a Particle (covalent bonds).

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check time lock for

lockExpiry

unlock block for Particle's covalent bonds (NFTs)

isApprovedForDischarge

Checks if an operator is allowed to Discharge a specific Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check approval of

operator

address of the operator to check

return

True if operator approved

isApprovedForRelease

Checks if an operator is allowed to Release a specific Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check approval of

operator

address of the operator to check

return

True if operator approved

isApprovedForBreakBond

Checks if an operator is allowed to Break Covalent Bonds on a specific Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check approval of

operator

address of the operator to check

return

True if operator approved

isApprovedForTimelock

Checks if an operator is allowed to Timelock a specific Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check approval of

operator

address of the operator to check

return

True if operator approved

isEnergizeRestricted

Checks if energizing a specific Particle is restricted.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check restriction of

return

whether or not energizing restricted

isCovalentBondRestricted

Checks if covalent bonding (depositing NFTs into a Particle) for a specific Particle is restricted.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check restriction of

return

whether or not bonding restricted

getDischargeState

Gets state of discharge settings / permissions for a Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check state of

sender

address of transaction sender

allowFromAll

whether or not all can discharge from Particle

isApproved

discharge approval status

timelock

unlock block for charge (interest)

tempLockExpiry

unlock block for temporary time lock

getReleaseState

Gets state of release settings / permissions for a Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check state of

sender

address of transaction sender

allowFromAll

whether or not all can release a Particle

isApproved

discharge approval status

timelock

unlock block for mass (principal)

tempLockExpiry

unlock block for temporary time lock

getBreakBondState

Gets state of covalent bond breaking (releasing an NFT) settings / permissions for a Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to check state of

sender

address of transaction sender

allowFromAll

whether or not all can release an NFT from Particle

isApproved

discharge approval status

timelock

unlock block for mass (principal)

tempLockExpiry

unlock block for temporary time lock

Set Permissions + Approvals

Update a Particle's permissions and approvals

setDischargeApproval

Sets an Operator as Approved to Discharge a specific Token. This allows an operator to withdraw the interest-portion only.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set approval for

operator

address of Particle operator

setReleaseApproval

Sets an Operator as Approved to Release a specific Token. This allows an operator to withdraw the principal + interest.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle set approval for

operator

address of Particle operator

setBreakBondApproval

Sets an Operator as Approved to Break Covalent Bonds on a specific Token. This allows an operator to withdraw Basket NFTs.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set approval for

operator

address of Particle operator

setTimelockApproval

Sets an Operator as Approved to Timelock a specific Token. This allows an operator to timelock the principal or interest.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set approval for

operator

address of Particle operator

setApprovalForAll

Sets an Operator as Approved to Discharge/Release/Timelock a specific Token.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set approval for

operator

address of Particle operator

setPermsForRestrictCharge

Updates Restrictions on Energizing an NFT.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set permissions for

state

state of permissions for action

setPermsForAllowDischarge

Updates Allowance on Discharging an NFT by Anyone.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set permissions for

state

state of permissions for action

setPermsForAllowRelease

Updates Allowance on Releasing an NFT by Anyone.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set permissions for

state

state of permissions for action

setPermsForRestrictBond

Updates Restrictions on Covalent Bonds on an NFT.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set permissions for

state

state of permissions for action

setPermsForAllowBreakBond

Updates Allowance on Breaking Covalent Bonds on an NFT by Anyone.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set permissions for

state

state of permissions for action

Set Timelocks

Update time locks for a particles Mass (principal), Charge (interest), or Bonds (locked NFTs)

setDischargeTimelock

Sets a Timelock on the ability to Discharge the Interest of a Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set time lock for

state

Ethereum Block-number to Timelock until

setReleaseTimelock

Sets a Timelock on the ability to Release the Assets of a Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set time lock for

unlockBlock

Ethereum Block-number to Timelock until

setBreakBondTimelock

Sets a Timelock on the ability to Break the Covalent Bond of a Particle.

Parameter / Return Value

Description

contractAddress

address of contract for Particle

tokenId

id of Particle to set time lock for

unlockBlock

Ethereum Block-number to Timelock until

Other

Events

ChargedSettingsSet

DischargeApproval

ReleaseApproval

BreakBondApproval

TimelockApproval

TokenDischargeTimelock

TokenReleaseTimelock

TokenBreakBondTimelock

TokenTempLock

PermsSetForRestrictCharge

PermsSetForAllowDischarge

PermsSetForAllowRelease

PermsSetForRestrictBond

PermsSetForAllowBreakBond

Last updated

Was this helpful?