Governance system smart contracts overview
Partisia Blockchain is governed by a group of system smart contracts. The system contracts solve different types of tasks. Below the contracts are listed under a category and description of their overall responsibilities. Each contract description links to the contract on chain via the the Partisia Blockchain Browser. In the browser you can see the contract state and invoke the actions of the contract with your wallet.
Node operation
Node operators own and operate the nodes (servers) where the blockchain software runs. System contracts are needed for listing and staking for confirmed block producers, as well as for payment to node operators for the services they provide, votes on software updates and registration of new node operators.
Block producer orchestration contract
The Block producer orchestration (BPO) contract holds the information about block producers. In the state you can see the current and previous committees. You can see the timestamp showing the last committee change. Invoking the contract will change the committee if the current committee is more than a month old. See contract in browser
Fee distribution
The Fee distribution contract takes care of the payment for baker node services. Every node makes a list of how many signatures they have received from every other node. Roughly, the top ⅔ best performers in each list get a vote. If more than ⅓ producers vote for your node, then it will be paid in that epoch. See contract in browser
System update
The system update contract facilitates votes from committee members (confirmed and active block producers) on updates of on chain information, such as updates to governance contracts. There are manual and automated votes. Automated votes are yes votes by default unless actively changed by the individual node operator. Learn how to change the automated vote from yes to no for a specific vote. See contract in browser
Synaps KYC / KYB contract
The KYC contract validates block producer's personal information coming from the KYC provider before they can be confirmed as block producers and listed in the BPO contract. See contract in browser
BYOC - The system of liquidity
On Partisia Blockchain you use coins from other chains (BYOC) as payment for transactions. PBC also allows users to transfer BYOC between accounts and contracts. BYOC system contracts controls allocations of nodes handling the transfers, withdrawals, deposits, price monitoring, staking of nodes and the audit of transfers done in each epoch.
Large oracle contract
Administrates and oversees work done by small oracles. This includes allocation of eligible nodes to serve in the small oracles, the tokens staked on oracle service and voting on all disputes regarding the small oracles' work with BYOC.
See contract in browser
Small oracles
Small oracles move funds (Deposit and withdrawal oracles) or check prices (Price Oracles). Each deposit and withdrawal oracle consist of 3 nodes selected by the Large oracle. There is a small oracle contract for each deposit and withdrawal oracle corresponding to the different coins supported on PBC. Price oracles can be supported by a large number of nodes, there is likewise a small oracle contract for each price oracle monitoring a price of a specific BYOC.
Price Oracles
Price oracles ensures accurate prices for specific BYOC. The nodes serving in price oracles get price data from Chainlink nodes. Price oracle explanation. The contracts responsible for the price oracles are below.
ETH Price Oracle
BNB Price Oracle
Deposit and withdrawal oracles
You see the oracle contracts handling deposits and withdrawals for BYOCs in the list of bridgeable coins. These contracts have a transfer limit controlling when the nodes providing the service will be rotated. The contract state shows which nodes serve the oracle and a list of the deposits or withdrawals they have completed.
Comprehensive list of deposit and withdrawal oracles on PBC and native chains of BYOC
BYOC orchestration
Facilitates the deployment of new price, deposit and withdrawal oracles. See contract in browser
MPC tokens
MPC tokens are the native tokens of PBC. They are used by node operators and other token holders for staking on a service provided by a node. Tokens can be confiscated in case of malicious behavior and be used for dispute settlement. Staked tokens incentives honest and reliable node services. Read more about MPC tokens
MPC token contract
Facilitates the change of state (location, association, staking, vesting) of MPC tokens as well as transfer of MPC tokens between accounts. MPC tokens are always associated with the MPC token balance of a specific account or contract. You can learn more about MPC tokens and their properties in the MPC token model.
MPC MPC20 contract
Facilitates transfers of MPC tokens between accounts or contracts. Note that the "MPC token" contract does not allow transfers to and from contracts. This contract uses the standard of MPC-20
Public smart contracts and Zero Knowledge smart contract
Users can deploy two types of smart contracts, public contracts and zero knowledge contracts. Node operators can register their nodes for ZK services. ZK calculations requires the allocation of 4 registered nodes to handle the secret calculation. You have the ability to deploy your own smart contracts with WASM Deploy and ZK Deploy.
ZK Deploy
Responsible for the deployment of new ZK smart contracts. See contract in browser
ZK Node Registry
Handles registration of new ZK nodes, as well as disputes and allocation to specific ZK jobs. See contract in browser
ZK Preprocess
Preprocesses data prior to use for secure multiparty computation by currently allocated ZK nodes. See contract in browser
WASM Deploy
Facilitates deployment of public smart contracts. See contract in browser
Foundation
Partisia Blockchain foundation provide incentives for node operators in form of token rewards. The incentives depend on initial time and size of investment as well measured scores of reliability and trust. The foundation raise funds for infrastructure through the sale of tokens. These two tasks are handled by following system contracts. Read more about PBC foundation
Foundation Eco-System
Allows foundation members to release remaining tokens from the Eco-system pool to incentivize further growth of the infrastructure and expansion of services. See contract in browser
Foundation Sale
Facilitates the sale of MPC tokens. See contract in browser
Foundation sale contract documentation (Same as foundation eco-system)