{
"version": "0.0.1",
"name": "ore",
"instructions": [
{
"name": "Reset",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "signer",
"isMut": false,
"isSigner": true,
"docs": [
"Signer"
]
},
{
"name": "bus0",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 0"
]
},
{
"name": "bus1",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 1"
]
},
{
"name": "bus2",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 2"
]
},
{
"name": "bus3",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 3"
]
},
{
"name": "bus4",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 4"
]
},
{
"name": "bus5",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 5"
]
},
{
"name": "bus6",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 6"
]
},
{
"name": "bus7",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 7"
]
},
{
"name": "mint",
"isMut": true,
"isSigner": false,
"docs": [
"Ore token mint account"
]
},
{
"name": "treasury",
"isMut": true,
"isSigner": false,
"docs": [
"Ore treasury account"
]
},
{
"name": "treasuryTokens",
"isMut": true,
"isSigner": false,
"docs": [
"Ore treasury token account"
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"SPL token program"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 0
}
},
{
"name": "Register",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "signer",
"isMut": false,
"isSigner": true,
"docs": [
"Signer"
]
},
{
"name": "proof",
"isMut": true,
"isSigner": false,
"docs": [
"Ore miner proof account"
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Solana system program"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 1
}
},
{
"name": "Mine",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "signer",
"isMut": false,
"isSigner": true,
"docs": [
"Signer"
]
},
{
"name": "bus",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account"
]
},
{
"name": "proof",
"isMut": true,
"isSigner": false,
"docs": [
"Ore miner proof account"
]
},
{
"name": "treasury",
"isMut": false,
"isSigner": false,
"docs": [
"Ore treasury account"
]
},
{
"name": "slotHashes",
"isMut": false,
"isSigner": false,
"docs": [
"Solana slot hashes sysvar"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 2
}
},
{
"name": "Claim",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "signer",
"isMut": false,
"isSigner": true,
"docs": [
"Signer"
]
},
{
"name": "beneficiary",
"isMut": true,
"isSigner": false,
"docs": [
"Beneficiary token account"
]
},
{
"name": "mint",
"isMut": false,
"isSigner": false,
"docs": [
"Ore token mint account"
]
},
{
"name": "proof",
"isMut": true,
"isSigner": false,
"docs": [
"Ore miner proof account"
]
},
{
"name": "treasury",
"isMut": true,
"isSigner": false,
"docs": [
"Ore treasury account"
]
},
{
"name": "treasuryTokens",
"isMut": true,
"isSigner": false,
"docs": [
"Ore treasury token account"
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"SPL token program"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 3
}
},
{
"name": "Initialize",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "admin",
"isMut": false,
"isSigner": true,
"docs": [
"Admin signer"
]
},
{
"name": "bus0",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 0"
]
},
{
"name": "bus1",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 1"
]
},
{
"name": "bus2",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 2"
]
},
{
"name": "bus3",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 3"
]
},
{
"name": "bus4",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 4"
]
},
{
"name": "bus5",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 5"
]
},
{
"name": "bus6",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 6"
]
},
{
"name": "bus7",
"isMut": true,
"isSigner": false,
"docs": [
"Ore bus account 7"
]
},
{
"name": "mint",
"isMut": false,
"isSigner": false,
"docs": [
"Ore token mint account"
]
},
{
"name": "treasury",
"isMut": false,
"isSigner": false,
"docs": [
"Ore treasury account"
]
},
{
"name": "treasuryTokens",
"isMut": true,
"isSigner": false,
"docs": [
"Ore treasury token account"
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Solana system program"
]
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"SPL token program"
]
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"docs": [
"SPL associated token program"
]
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"docs": [
"Solana rent sysvar"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 100
}
},
{
"name": "UpdateAdmin",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "treasury",
"isMut": false,
"isSigner": false,
"docs": [
"Ore treasury account"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 102
}
},
{
"name": "UpdateDifficulty",
"accounts": [
{
"name": "oreProgram",
"isMut": false,
"isSigner": false,
"docs": [
"Ore program"
]
},
{
"name": "treasury",
"isMut": false,
"isSigner": false,
"docs": [
"Ore treasury account"
]
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 103
}
}
],
"accounts": [
{
"name": "Bus",
"type": {
"kind": "struct",
"fields": [
{
"name": "id",
"type": "u64"
},
{
"name": "rewards",
"type": "u64"
}
]
}
},
{
"name": "Proof",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "publicKey"
},
{
"name": "claimableRewards",
"type": "u64"
},
{
"name": "hash",
"type": {
"defined": "Hash"
}
},
{
"name": "totalHashes",
"type": "u64"
},
{
"name": "totalRewards",
"type": "u64"
}
]
}
},
{
"name": "Treasury",
"type": {
"kind": "struct",
"fields": [
{
"name": "admin",
"type": "publicKey"
},
{
"name": "bump",
"type": "u64"
},
{
"name": "difficulty",
"type": {
"defined": "Hash"
}
},
{
"name": "epochStartAt",
"type": "i64"
},
{
"name": "rewardRate",
"type": "u64"
},
{
"name": "totalClaimedRewards",
"type": "u64"
}
]
}
}
],
"errors": [
{
"code": 0,
"name": "EpochActive",
"msg": "The epoch is still active and cannot be reset"
},
{
"code": 1,
"name": "EpochExpired",
"msg": "The epoch has expired and needs reset"
},
{
"code": 2,
"name": "InvalidHash",
"msg": "The provided hash was invalid"
},
{
"code": 3,
"name": "InsufficientHashDifficulty",
"msg": "The provided hash does not satisfy the difficulty requirement"
},
{
"code": 4,
"name": "InsufficientBusRewards",
"msg": "The bus has insufficient rewards to mine at this time"
},
{
"code": 5,
"name": "InvalidClaimAmount",
"msg": "The claim amount cannot be larger than the claimable rewards"
}
],
"metadata": {
"origin": "shank",
"address": "ore2mSzJwAZhxLyCLbNEnFvYq9U8jvCMvUBrVvbmqDF"
}
}