@cartesi/staking-pool
Version:
PoS Staking Pools
82 lines • 2.12 kB
JSON
{
"contractName": "StakingPoolProducer",
"sourceName": "contracts/interfaces/StakingPoolProducer.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "reward",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "commission",
"type": "uint256"
}
],
"name": "BlockProduced",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "produceBlock",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {},
"devdoc": {
"author": "Danilo Tuler",
"kind": "dev",
"methods": {
"produceBlock(uint256)": {
"returns": {
"_0": "true when everything went fine"
}
}
},
"title": "Interaction between a pool and the PoS block production.",
"version": 1
},
"userdoc": {
"events": {
"BlockProduced(uint256,uint256)": {
"notice": "this event is emitted at every produceBlock call reward is the block reward commission is how much CTSI is directed to the pool owner"
}
},
"kind": "user",
"methods": {
"produceBlock(uint256)": {
"notice": "routes produceBlock to POS contract and updates internal states of the pool"
}
},
"notice": "This interface provides an opportunity to handle the necessary logic after a block is produced. A commission is taken from the block reward, and the remaining stays in the pool, raising the pool share value, and being further staked.",
"version": 1
},
"evm": {
"gasEstimates": null,
"methodIdentifiers": {
"produceBlock(uint256)": "a5a6cd0b"
}
}
}