NuCypherTokenERC20 token contract
StakingEscrowLegacy staking contract
AdjudicatorManages the slashing protocol
UpgradeableBase contract for upgrading
DispatcherProxy to other contracts and provides upgrading of the
SimplePREApplicationInterim application contract for Threshold network
SubscriptionManagerHolds a policy’s fee and distributes them
This section provides a step-by-step guide of how NuCypher contracts are deployed.
NuCypherTokenwith all future supply tokens
Deploy stub for
StakingEscrowwith a dispatcher targeting it
Deploy Threshold network contracts
StakingEscrowand retarget its dispatcher by using the
Alice’s Contract Interaction¶
Staking Provider’s Contract Interaction¶
The Staking Provider Bonds to an Operator (“Ursula”)¶
The staking provider must specify an operator who will make a confirmation and sign on behalf of this staking provider by calling the
SimplePREApplication.bondOperator(address, address) method.
Bonding a new operator is allowed no more than once within
Only the operator can make a confirmation.
Ursula Makes a Confirmation¶
In order to make a address confirmation, operators call
Upgradeable contracts, such as
StakingEscrow, have their version specified in contract doc inside @dev.
Version format is
i - major version,
j - minor version,
k - patch, for example
Different major versions mean different forks and they are not upgradeable
Minor versions relate to any signatures or state changes inside contract, contracts are upgradeable between minor versions, but have different ABI and follows different agent layers
Patches involve changes inside function(s) with signature(s) untouched. All patches with a common minor version can be upgraded from one to another without other changes