Skip to content

Instantly share code, notes, and snippets.

@gallynaut
Created June 1, 2022 16:50
Show Gist options
  • Save gallynaut/60ea292c0f001274ac30bc8de6d3b33d to your computer and use it in GitHub Desktop.
Save gallynaut/60ea292c0f001274ac30bc8de6d3b33d to your computer and use it in GitHub Desktop.
Switchboard Mainnet IDL 06/02/2022
{
"version": "0.1.0",
"name": "switchboard_v2",
"instructions": [
{
"name": "aggregatorAddJob",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "job",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorAddJobParams"
}
}
]
},
{
"name": "aggregatorInit",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "queue",
"isMut": false,
"isSigner": false
},
{
"name": "authorWallet",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorInitParams"
}
}
]
},
{
"name": "aggregatorLock",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": true,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorLockParams"
}
}
]
},
{
"name": "aggregatorOpenRound",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": true,
"isSigner": false
},
{
"name": "queueAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "permission",
"isMut": true,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "payoutWallet",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "dataBuffer",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorOpenRoundParams"
}
}
]
},
{
"name": "aggregatorRemoveJob",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "job",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorRemoveJobParams"
}
}
]
},
{
"name": "aggregatorSaveResult",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "oracle",
"isMut": true,
"isSigner": false
},
{
"name": "oracleAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "oracleQueue",
"isMut": false,
"isSigner": false
},
{
"name": "queueAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "feedPermission",
"isMut": true,
"isSigner": false
},
{
"name": "oraclePermission",
"isMut": false,
"isSigner": false
},
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "historyBuffer",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSaveResultParams"
}
}
]
},
{
"name": "aggregatorSetAuthority",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "newAuthority",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetAuthorityParams"
}
}
]
},
{
"name": "aggregatorSetBatchSize",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetBatchSizeParams"
}
}
]
},
{
"name": "aggregatorSetHistoryBuffer",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "buffer",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetHistoryBufferParams"
}
}
]
},
{
"name": "aggregatorSetMinJobs",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetMinJobsParams"
}
}
]
},
{
"name": "aggregatorSetMinOracles",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetMinOraclesParams"
}
}
]
},
{
"name": "aggregatorSetQueue",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "queue",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetQueueParams"
}
}
]
},
{
"name": "aggregatorSetUpdateInterval",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetUpdateIntervalParams"
}
}
]
},
{
"name": "aggregatorSetVarianceThreshold",
"accounts": [
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "AggregatorSetVarianceThresholdParams"
}
}
]
},
{
"name": "crankInit",
"accounts": [
{
"name": "crank",
"isMut": true,
"isSigner": true
},
{
"name": "queue",
"isMut": false,
"isSigner": false
},
{
"name": "buffer",
"isMut": true,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "CrankInitParams"
}
}
]
},
{
"name": "crankPop",
"accounts": [
{
"name": "crank",
"isMut": true,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": true,
"isSigner": false
},
{
"name": "queueAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "payoutWallet",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "crankDataBuffer",
"isMut": true,
"isSigner": false
},
{
"name": "queueDataBuffer",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "CrankPopParams"
}
}
]
},
{
"name": "crankPush",
"accounts": [
{
"name": "crank",
"isMut": true,
"isSigner": false
},
{
"name": "aggregator",
"isMut": true,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": true,
"isSigner": false
},
{
"name": "queueAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "permission",
"isMut": false,
"isSigner": false
},
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "dataBuffer",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "CrankPushParams"
}
}
]
},
{
"name": "jobInit",
"accounts": [
{
"name": "job",
"isMut": true,
"isSigner": false
},
{
"name": "authorWallet",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "JobInitParams"
}
}
]
},
{
"name": "leaseExtend",
"accounts": [
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "aggregator",
"isMut": false,
"isSigner": false
},
{
"name": "queue",
"isMut": false,
"isSigner": false
},
{
"name": "funder",
"isMut": true,
"isSigner": false
},
{
"name": "owner",
"isMut": true,
"isSigner": true
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "LeaseExtendParams"
}
}
]
},
{
"name": "leaseInit",
"accounts": [
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "queue",
"isMut": true,
"isSigner": false
},
{
"name": "aggregator",
"isMut": false,
"isSigner": false
},
{
"name": "funder",
"isMut": true,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "owner",
"isMut": true,
"isSigner": true
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "LeaseInitParams"
}
}
]
},
{
"name": "leaseSetAuthority",
"accounts": [
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "newAuthority",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "LeaseSetAuthorityParams"
}
}
]
},
{
"name": "leaseWithdraw",
"accounts": [
{
"name": "lease",
"isMut": true,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "aggregator",
"isMut": false,
"isSigner": false
},
{
"name": "queue",
"isMut": false,
"isSigner": false
},
{
"name": "withdrawAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "withdrawAccount",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "LeaseWithdrawParams"
}
}
]
},
{
"name": "oracleHeartbeat",
"accounts": [
{
"name": "oracle",
"isMut": true,
"isSigner": false
},
{
"name": "oracleAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "tokenAccount",
"isMut": false,
"isSigner": false
},
{
"name": "gcOracle",
"isMut": true,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": true,
"isSigner": false
},
{
"name": "permission",
"isMut": false,
"isSigner": false
},
{
"name": "dataBuffer",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OracleHeartbeatParams"
}
}
]
},
{
"name": "oracleInit",
"accounts": [
{
"name": "oracle",
"isMut": true,
"isSigner": false
},
{
"name": "oracleAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "wallet",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "queue",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OracleInitParams"
}
}
]
},
{
"name": "oracleQueueInit",
"accounts": [
{
"name": "oracleQueue",
"isMut": true,
"isSigner": true
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "buffer",
"isMut": true,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OracleQueueInitParams"
}
}
]
},
{
"name": "oracleQueueSetRewards",
"accounts": [
{
"name": "queue",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OracleQueueSetRewardsParams"
}
}
]
},
{
"name": "oracleQueueVrfConfig",
"accounts": [
{
"name": "queue",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OracleQueueVrfConfigParams"
}
}
]
},
{
"name": "oracleWithdraw",
"accounts": [
{
"name": "oracle",
"isMut": true,
"isSigner": false
},
{
"name": "oracleAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "tokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawAccount",
"isMut": true,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": true,
"isSigner": false
},
{
"name": "permission",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "OracleWithdrawParams"
}
}
]
},
{
"name": "permissionInit",
"accounts": [
{
"name": "permission",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "granter",
"isMut": false,
"isSigner": false
},
{
"name": "grantee",
"isMut": false,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "PermissionInitParams"
}
}
]
},
{
"name": "permissionSet",
"accounts": [
{
"name": "permission",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "PermissionSetParams"
}
}
]
},
{
"name": "programConfig",
"accounts": [
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "programState",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "ProgramConfigParams"
}
}
]
},
{
"name": "programInit",
"accounts": [
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "tokenMint",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "payer",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "ProgramInitParams"
}
}
]
},
{
"name": "vaultTransfer",
"accounts": [
{
"name": "state",
"isMut": false,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "to",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "VaultTransferParams"
}
}
]
},
{
"name": "vrfInit",
"accounts": [
{
"name": "vrf",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": false,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "VrfInitParams"
}
}
]
},
{
"name": "vrfProve",
"accounts": [
{
"name": "vrf",
"isMut": true,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": false
},
{
"name": "randomnessProducer",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "params",
"type": {
"defined": "VrfProveParams"
}
}
]
},
{
"name": "vrfProveAndVerify",
"accounts": [
{
"name": "vrf",
"isMut": true,
"isSigner": false
},
{
"name": "callbackPid",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": false
},
{
"name": "oracleAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "oracleWallet",
"isMut": true,
"isSigner": false
},
{
"name": "instructionsSysvar",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "VrfProveAndVerifyParams"
}
}
]
},
{
"name": "vrfRequestRandomness",
"accounts": [
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "vrf",
"isMut": true,
"isSigner": false
},
{
"name": "oracleQueue",
"isMut": true,
"isSigner": false
},
{
"name": "queueAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "dataBuffer",
"isMut": false,
"isSigner": false
},
{
"name": "permission",
"isMut": true,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "payerWallet",
"isMut": true,
"isSigner": false
},
{
"name": "payerAuthority",
"isMut": false,
"isSigner": true
},
{
"name": "recentBlockhashes",
"isMut": false,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "VrfRequestRandomnessParams"
}
}
]
},
{
"name": "vrfVerify",
"accounts": [
{
"name": "vrf",
"isMut": true,
"isSigner": false
},
{
"name": "callbackPid",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "escrow",
"isMut": true,
"isSigner": false
},
{
"name": "programState",
"isMut": false,
"isSigner": false
},
{
"name": "oracle",
"isMut": false,
"isSigner": false
},
{
"name": "oracleAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "oracleWallet",
"isMut": true,
"isSigner": false
},
{
"name": "instructionsSysvar",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "params",
"type": {
"defined": "VrfVerifyParams"
}
}
]
}
],
"accounts": [
{
"name": "SbState",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "publicKey"
},
{
"name": "tokenMint",
"type": "publicKey"
},
{
"name": "tokenVault",
"type": "publicKey"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 1024]
}
}
]
}
},
{
"name": "AggregatorAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 128]
}
},
{
"name": "authorWallet",
"type": "publicKey"
},
{
"name": "queuePubkey",
"type": "publicKey"
},
{
"name": "oracleRequestBatchSize",
"type": "u32"
},
{
"name": "minOracleResults",
"type": "u32"
},
{
"name": "minJobResults",
"type": "u32"
},
{
"name": "minUpdateDelaySeconds",
"type": "u32"
},
{
"name": "startAfter",
"type": "i64"
},
{
"name": "varianceThreshold",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "forceReportPeriod",
"type": "i64"
},
{
"name": "expiration",
"type": "i64"
},
{
"name": "consecutiveFailureCount",
"type": "u64"
},
{
"name": "nextAllowedUpdateTime",
"type": "i64"
},
{
"name": "isLocked",
"type": "bool"
},
{
"name": "crankPubkey",
"type": "publicKey"
},
{
"name": "latestConfirmedRound",
"type": {
"defined": "AggregatorRound"
}
},
{
"name": "currentRound",
"type": {
"defined": "AggregatorRound"
}
},
{
"name": "jobPubkeysData",
"type": {
"array": ["publicKey", 16]
}
},
{
"name": "jobHashes",
"type": {
"array": [
{
"defined": "Hash"
},
16
]
}
},
{
"name": "jobPubkeysSize",
"type": "u32"
},
{
"name": "jobsChecksum",
"type": {
"array": ["u8", 32]
}
},
{
"name": "authority",
"type": "publicKey"
},
{
"name": "historyBuffer",
"type": "publicKey"
},
{
"name": "previousConfirmedRoundResult",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "previousConfirmedRoundSlot",
"type": "u64"
},
{
"name": "disableCrank",
"type": "bool"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 163]
}
}
]
}
},
{
"name": "PermissionAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "authority",
"type": "publicKey"
},
{
"name": "permissions",
"type": "u32"
},
{
"name": "granter",
"type": "publicKey"
},
{
"name": "grantee",
"type": "publicKey"
},
{
"name": "expiration",
"type": "i64"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 256]
}
}
]
}
},
{
"name": "LeaseAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "escrow",
"type": "publicKey"
},
{
"name": "queue",
"type": "publicKey"
},
{
"name": "aggregator",
"type": "publicKey"
},
{
"name": "tokenProgram",
"type": "publicKey"
},
{
"name": "isActive",
"type": "bool"
},
{
"name": "crankRowCount",
"type": "u32"
},
{
"name": "createdAt",
"type": "i64"
},
{
"name": "updateCount",
"type": "u128"
},
{
"name": "withdrawAuthority",
"type": "publicKey"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 256]
}
}
]
}
},
{
"name": "OracleQueueAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 64]
}
},
{
"name": "authority",
"type": "publicKey"
},
{
"name": "oracleTimeout",
"type": "u32"
},
{
"name": "reward",
"type": "u64"
},
{
"name": "minStake",
"type": "u64"
},
{
"name": "slashingEnabled",
"type": "bool"
},
{
"name": "varianceToleranceMultiplier",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "feedProbationPeriod",
"type": "u32"
},
{
"name": "currIdx",
"type": "u32"
},
{
"name": "size",
"type": "u32"
},
{
"name": "gcIdx",
"type": "u32"
},
{
"name": "consecutiveFeedFailureLimit",
"type": "u64"
},
{
"name": "consecutiveOracleFailureLimit",
"type": "u64"
},
{
"name": "unpermissionedFeedsEnabled",
"type": "bool"
},
{
"name": "unpermissionedVrfEnabled",
"type": "bool"
},
{
"name": "curatorRewardCut",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "lockLeaseFunding",
"type": "bool"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 1001]
}
},
{
"name": "maxSize",
"type": "u32"
},
{
"name": "dataBuffer",
"type": "publicKey"
}
]
}
},
{
"name": "CrankAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 64]
}
},
{
"name": "queuePubkey",
"type": "publicKey"
},
{
"name": "pqSize",
"type": "u32"
},
{
"name": "maxRows",
"type": "u32"
},
{
"name": "jitterModifier",
"type": "u8"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 255]
}
},
{
"name": "dataBuffer",
"type": "publicKey"
}
]
}
},
{
"name": "OracleAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 128]
}
},
{
"name": "oracleAuthority",
"type": "publicKey"
},
{
"name": "lastHeartbeat",
"type": "i64"
},
{
"name": "numInUse",
"type": "u32"
},
{
"name": "tokenAccount",
"type": "publicKey"
},
{
"name": "queuePubkey",
"type": "publicKey"
},
{
"name": "metrics",
"type": {
"defined": "OracleMetrics"
}
},
{
"name": "ebuf",
"type": {
"array": ["u8", 256]
}
}
]
}
},
{
"name": "JobAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 64]
}
},
{
"name": "authorWallet",
"type": "publicKey"
},
{
"name": "expiration",
"type": "i64"
},
{
"name": "hash",
"type": {
"array": ["u8", 32]
}
},
{
"name": "data",
"type": "bytes"
},
{
"name": "referenceCount",
"type": "u32"
},
{
"name": "totalSpent",
"type": "u128"
}
]
}
},
{
"name": "VrfAccountData",
"type": {
"kind": "struct",
"fields": [
{
"name": "status",
"type": {
"defined": "VrfStatus"
}
},
{
"name": "counter",
"type": "u128"
},
{
"name": "authority",
"type": "publicKey"
},
{
"name": "oracleQueue",
"type": "publicKey"
},
{
"name": "escrow",
"type": "publicKey"
},
{
"name": "callback",
"type": {
"defined": "CallbackZC"
}
},
{
"name": "batchSize",
"type": "u32"
},
{
"name": "builders",
"type": {
"array": [
{
"defined": "VrfBuilder"
},
8
]
}
},
{
"name": "buildersLen",
"type": "u32"
},
{
"name": "testMode",
"type": "bool"
},
{
"name": "currentRound",
"type": {
"defined": "VrfRound"
}
},
{
"name": "ebuf",
"type": {
"array": ["u8", 1024]
}
}
]
}
}
],
"types": [
{
"name": "AggregatorAddJobParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "AggregatorInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 128]
}
},
{
"name": "batchSize",
"type": "u32"
},
{
"name": "minOracleResults",
"type": "u32"
},
{
"name": "minJobResults",
"type": "u32"
},
{
"name": "minUpdateDelaySeconds",
"type": "u32"
},
{
"name": "startAfter",
"type": "i64"
},
{
"name": "varianceThreshold",
"type": {
"defined": "BorshDecimal"
}
},
{
"name": "forceReportPeriod",
"type": "i64"
},
{
"name": "expiration",
"type": "i64"
},
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "AggregatorLockParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "AggregatorOpenRoundParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
},
{
"name": "leaseBump",
"type": "u8"
},
{
"name": "permissionBump",
"type": "u8"
},
{
"name": "jitter",
"type": "u8"
}
]
}
},
{
"name": "AggregatorRemoveJobParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "jobIdx",
"type": "u32"
}
]
}
},
{
"name": "AggregatorSaveResultParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "oracleIdx",
"type": "u32"
},
{
"name": "error",
"type": "bool"
},
{
"name": "value",
"type": {
"defined": "BorshDecimal"
}
},
{
"name": "jobsChecksum",
"type": {
"array": ["u8", 32]
}
},
{
"name": "minResponse",
"type": {
"defined": "BorshDecimal"
}
},
{
"name": "maxResponse",
"type": {
"defined": "BorshDecimal"
}
},
{
"name": "feedPermissionBump",
"type": "u8"
},
{
"name": "oraclePermissionBump",
"type": "u8"
},
{
"name": "leaseBump",
"type": "u8"
},
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "AggregatorSetAuthorityParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "AggregatorSetBatchSizeParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "batchSize",
"type": "u32"
}
]
}
},
{
"name": "AggregatorSetHistoryBufferParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "AggregatorSetMinJobsParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "minJobResults",
"type": "u32"
}
]
}
},
{
"name": "AggregatorSetMinOraclesParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "minOracleResults",
"type": "u32"
}
]
}
},
{
"name": "AggregatorSetQueueParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "AggregatorSetUpdateIntervalParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "newInterval",
"type": "u32"
}
]
}
},
{
"name": "AggregatorSetVarianceThresholdParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "varianceThreshold",
"type": {
"defined": "BorshDecimal"
}
}
]
}
},
{
"name": "CrankInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "bytes"
},
{
"name": "metadata",
"type": "bytes"
},
{
"name": "crankSize",
"type": "u32"
}
]
}
},
{
"name": "CrankPopParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
},
{
"name": "leaseBumps",
"type": "bytes"
},
{
"name": "permissionBumps",
"type": "bytes"
},
{
"name": "nonce",
"type": {
"option": "u32"
}
},
{
"name": "failOpenOnAccountMismatch",
"type": {
"option": "bool"
}
}
]
}
},
{
"name": "CrankPushParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
},
{
"name": "permissionBump",
"type": "u8"
}
]
}
},
{
"name": "JobInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "expiration",
"type": "i64"
},
{
"name": "stateBump",
"type": "u8"
},
{
"name": "data",
"type": "bytes"
}
]
}
},
{
"name": "LeaseExtendParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "loadAmount",
"type": "u64"
},
{
"name": "leaseBump",
"type": "u8"
},
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "LeaseInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "loadAmount",
"type": "u64"
},
{
"name": "withdrawAuthority",
"type": "publicKey"
},
{
"name": "leaseBump",
"type": "u8"
},
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "LeaseSetAuthorityParams",
"type": {
"kind": "struct",
"fields": []
}
},
{
"name": "LeaseWithdrawParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
},
{
"name": "leaseBump",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "OracleHeartbeatParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "permissionBump",
"type": "u8"
}
]
}
},
{
"name": "OracleInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "bytes"
},
{
"name": "metadata",
"type": "bytes"
},
{
"name": "stateBump",
"type": "u8"
},
{
"name": "oracleBump",
"type": "u8"
}
]
}
},
{
"name": "OracleQueueInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": {
"array": ["u8", 32]
}
},
{
"name": "metadata",
"type": {
"array": ["u8", 64]
}
},
{
"name": "reward",
"type": "u64"
},
{
"name": "minStake",
"type": "u64"
},
{
"name": "feedProbationPeriod",
"type": "u32"
},
{
"name": "oracleTimeout",
"type": "u32"
},
{
"name": "slashingEnabled",
"type": "bool"
},
{
"name": "varianceToleranceMultiplier",
"type": {
"defined": "BorshDecimal"
}
},
{
"name": "consecutiveFeedFailureLimit",
"type": "u64"
},
{
"name": "consecutiveOracleFailureLimit",
"type": "u64"
},
{
"name": "queueSize",
"type": "u32"
},
{
"name": "unpermissionedFeeds",
"type": "bool"
},
{
"name": "unpermissionedVrf",
"type": "bool"
}
]
}
},
{
"name": "OracleQueueSetRewardsParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "rewards",
"type": "u64"
}
]
}
},
{
"name": "OracleQueueVrfConfigParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "unpermissionedVrfEnabled",
"type": "bool"
}
]
}
},
{
"name": "OracleWithdrawParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
},
{
"name": "permissionBump",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "PermissionInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "permissionBump",
"type": "u8"
}
]
}
},
{
"name": "PermissionSetParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "permission",
"type": {
"defined": "SwitchboardPermission"
}
},
{
"name": "enable",
"type": "bool"
}
]
}
},
{
"name": "ProgramConfigParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "token",
"type": "publicKey"
},
{
"name": "bump",
"type": "u8"
}
]
}
},
{
"name": "ProgramInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "VaultTransferParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "stateBump",
"type": "u8"
},
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "VrfInitParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "callback",
"type": {
"defined": "Callback"
}
},
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "VrfProveParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "proof",
"type": "bytes"
},
{
"name": "idx",
"type": "u32"
}
]
}
},
{
"name": "VrfProveAndVerifyParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "nonce",
"type": {
"option": "u32"
}
},
{
"name": "stateBump",
"type": "u8"
},
{
"name": "idx",
"type": "u32"
},
{
"name": "proof",
"type": "bytes"
}
]
}
},
{
"name": "VrfRequestRandomnessParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "permissionBump",
"type": "u8"
},
{
"name": "stateBump",
"type": "u8"
}
]
}
},
{
"name": "VrfVerifyParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "nonce",
"type": {
"option": "u32"
}
},
{
"name": "stateBump",
"type": "u8"
},
{
"name": "idx",
"type": "u32"
}
]
}
},
{
"name": "Hash",
"type": {
"kind": "struct",
"fields": [
{
"name": "data",
"type": {
"array": ["u8", 32]
}
}
]
}
},
{
"name": "AggregatorRound",
"type": {
"kind": "struct",
"fields": [
{
"name": "numSuccess",
"type": "u32"
},
{
"name": "numError",
"type": "u32"
},
{
"name": "isClosed",
"type": "bool"
},
{
"name": "roundOpenSlot",
"type": "u64"
},
{
"name": "roundOpenTimestamp",
"type": "i64"
},
{
"name": "result",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "stdDeviation",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "minResponse",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "maxResponse",
"type": {
"defined": "SwitchboardDecimal"
}
},
{
"name": "oraclePubkeysData",
"type": {
"array": ["publicKey", 16]
}
},
{
"name": "mediansData",
"type": {
"array": [
{
"defined": "SwitchboardDecimal"
},
16
]
}
},
{
"name": "currentPayout",
"type": {
"array": ["i64", 16]
}
},
{
"name": "mediansFulfilled",
"type": {
"array": ["bool", 16]
}
},
{
"name": "errorsFulfilled",
"type": {
"array": ["bool", 16]
}
}
]
}
},
{
"name": "AggregatorHistoryRow",
"type": {
"kind": "struct",
"fields": [
{
"name": "timestamp",
"type": "i64"
},
{
"name": "value",
"type": {
"defined": "SwitchboardDecimal"
}
}
]
}
},
{
"name": "SwitchboardDecimal",
"type": {
"kind": "struct",
"fields": [
{
"name": "mantissa",
"type": "i128"
},
{
"name": "scale",
"type": "u32"
}
]
}
},
{
"name": "CrankRow",
"type": {
"kind": "struct",
"fields": [
{
"name": "pubkey",
"type": "publicKey"
},
{
"name": "nextTimestamp",
"type": "i64"
}
]
}
},
{
"name": "OracleMetrics",
"type": {
"kind": "struct",
"fields": [
{
"name": "consecutiveSuccess",
"type": "u64"
},
{
"name": "consecutiveError",
"type": "u64"
},
{
"name": "consecutiveDisagreement",
"type": "u64"
},
{
"name": "consecutiveLateResponse",
"type": "u64"
},
{
"name": "consecutiveFailure",
"type": "u64"
},
{
"name": "totalSuccess",
"type": "u128"
},
{
"name": "totalError",
"type": "u128"
},
{
"name": "totalDisagreement",
"type": "u128"
},
{
"name": "totalLateResponse",
"type": "u128"
}
]
}
},
{
"name": "BorshDecimal",
"type": {
"kind": "struct",
"fields": [
{
"name": "mantissa",
"type": "i128"
},
{
"name": "scale",
"type": "u32"
}
]
}
},
{
"name": "EcvrfProofZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "gamma",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "c",
"type": {
"defined": "Scalar"
}
},
{
"name": "s",
"type": {
"defined": "Scalar"
}
}
]
}
},
{
"name": "Scalar",
"type": {
"kind": "struct",
"fields": [
{
"name": "bytes",
"type": {
"array": ["u8", 32]
}
}
]
}
},
{
"name": "FieldElementZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "bytes",
"type": {
"array": ["u64", 5]
}
}
]
}
},
{
"name": "CompletedPointZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "x",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "y",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "z",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "t",
"type": {
"defined": "FieldElementZC"
}
}
]
}
},
{
"name": "EdwardsPointZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "x",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "y",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "z",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "t",
"type": {
"defined": "FieldElementZC"
}
}
]
}
},
{
"name": "ProjectivePointZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "x",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "y",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "z",
"type": {
"defined": "FieldElementZC"
}
}
]
}
},
{
"name": "EcvrfIntermediate",
"type": {
"kind": "struct",
"fields": [
{
"name": "r",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "nS",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "d",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "t13",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "t15",
"type": {
"defined": "FieldElementZC"
}
}
]
}
},
{
"name": "VrfBuilder",
"type": {
"kind": "struct",
"fields": [
{
"name": "producer",
"type": "publicKey"
},
{
"name": "status",
"type": {
"defined": "VrfStatus"
}
},
{
"name": "reprProof",
"type": {
"array": ["u8", 80]
}
},
{
"name": "proof",
"type": {
"defined": "EcvrfProofZC"
}
},
{
"name": "yPoint",
"type": "publicKey"
},
{
"name": "stage",
"type": "u32"
},
{
"name": "stage1Out",
"type": {
"defined": "EcvrfIntermediate"
}
},
{
"name": "r1",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "r2",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "stage3Out",
"type": {
"defined": "EcvrfIntermediate"
}
},
{
"name": "hPoint",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "sReduced",
"type": {
"defined": "Scalar"
}
},
{
"name": "yPointBuilder",
"type": {
"array": [
{
"defined": "FieldElementZC"
},
3
]
}
},
{
"name": "yRistrettoPoint",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "mulRound",
"type": "u8"
},
{
"name": "hashPointsRound",
"type": "u8"
},
{
"name": "mulTmp1",
"type": {
"defined": "CompletedPointZC"
}
},
{
"name": "uPoint1",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "uPoint2",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "vPoint1",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "vPoint2",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "uPoint",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "vPoint",
"type": {
"defined": "EdwardsPointZC"
}
},
{
"name": "u1",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "u2",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "invertee",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "y",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "z",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "p1Bytes",
"type": {
"array": ["u8", 32]
}
},
{
"name": "p2Bytes",
"type": {
"array": ["u8", 32]
}
},
{
"name": "p3Bytes",
"type": {
"array": ["u8", 32]
}
},
{
"name": "p4Bytes",
"type": {
"array": ["u8", 32]
}
},
{
"name": "cPrimeHashbuf",
"type": {
"array": ["u8", 16]
}
},
{
"name": "m1",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "m2",
"type": {
"defined": "FieldElementZC"
}
},
{
"name": "txRemaining",
"type": "u32"
},
{
"name": "verified",
"type": "bool"
},
{
"name": "result",
"type": {
"array": ["u8", 32]
}
}
]
}
},
{
"name": "AccountMetaZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "pubkey",
"type": "publicKey"
},
{
"name": "isSigner",
"type": "bool"
},
{
"name": "isWritable",
"type": "bool"
}
]
}
},
{
"name": "AccountMetaBorsh",
"type": {
"kind": "struct",
"fields": [
{
"name": "pubkey",
"type": "publicKey"
},
{
"name": "isSigner",
"type": "bool"
},
{
"name": "isWritable",
"type": "bool"
}
]
}
},
{
"name": "CallbackZC",
"type": {
"kind": "struct",
"fields": [
{
"name": "programId",
"type": "publicKey"
},
{
"name": "accounts",
"type": {
"array": [
{
"defined": "AccountMetaZC"
},
32
]
}
},
{
"name": "accountsLen",
"type": "u32"
},
{
"name": "ixData",
"type": {
"array": ["u8", 1024]
}
},
{
"name": "ixDataLen",
"type": "u32"
}
]
}
},
{
"name": "Callback",
"type": {
"kind": "struct",
"fields": [
{
"name": "programId",
"type": "publicKey"
},
{
"name": "accounts",
"type": {
"vec": {
"defined": "AccountMetaBorsh"
}
}
},
{
"name": "ixData",
"type": "bytes"
}
]
}
},
{
"name": "VrfRound",
"type": {
"kind": "struct",
"fields": [
{
"name": "alpha",
"type": {
"array": ["u8", 256]
}
},
{
"name": "alphaLen",
"type": "u32"
},
{
"name": "requestSlot",
"type": "u64"
},
{
"name": "requestTimestamp",
"type": "i64"
},
{
"name": "result",
"type": {
"array": ["u8", 32]
}
},
{
"name": "numVerified",
"type": "u32"
},
{
"name": "ebuf",
"type": {
"array": ["u8", 256]
}
}
]
}
},
{
"name": "Lanes",
"type": {
"kind": "enum",
"variants": [
{
"name": "C"
},
{
"name": "D"
},
{
"name": "AB"
},
{
"name": "AC"
},
{
"name": "CD"
},
{
"name": "AD"
},
{
"name": "BC"
},
{
"name": "ABCD"
}
]
}
},
{
"name": "Shuffle",
"type": {
"kind": "enum",
"variants": [
{
"name": "AAAA"
},
{
"name": "BBBB"
},
{
"name": "CACA"
},
{
"name": "DBBD"
},
{
"name": "ADDA"
},
{
"name": "CBCB"
},
{
"name": "ABAB"
},
{
"name": "BADC"
},
{
"name": "BACD"
},
{
"name": "ABDC"
}
]
}
},
{
"name": "Shuffle",
"type": {
"kind": "enum",
"variants": [
{
"name": "AAAA"
},
{
"name": "BBBB"
},
{
"name": "BADC"
},
{
"name": "BACD"
},
{
"name": "ADDA"
},
{
"name": "CBCB"
},
{
"name": "ABDC"
},
{
"name": "ABAB"
},
{
"name": "DBBD"
},
{
"name": "CACA"
}
]
}
},
{
"name": "Lanes",
"type": {
"kind": "enum",
"variants": [
{
"name": "D"
},
{
"name": "C"
},
{
"name": "AB"
},
{
"name": "AC"
},
{
"name": "AD"
},
{
"name": "BCD"
}
]
}
},
{
"name": "SwitchboardPermission",
"type": {
"kind": "enum",
"variants": [
{
"name": "PermitOracleHeartbeat"
},
{
"name": "PermitOracleQueueUsage"
},
{
"name": "PermitVrfRequests"
}
]
}
},
{
"name": "OracleResponseType",
"type": {
"kind": "enum",
"variants": [
{
"name": "TypeSuccess"
},
{
"name": "TypeError"
},
{
"name": "TypeDisagreement"
},
{
"name": "TypeNoResponse"
}
]
}
},
{
"name": "VrfStatus",
"type": {
"kind": "enum",
"variants": [
{
"name": "StatusNone"
},
{
"name": "StatusRequesting"
},
{
"name": "StatusVerifying"
},
{
"name": "StatusVerified"
},
{
"name": "StatusCallbackSuccess"
},
{
"name": "StatusVerifyFailure"
}
]
}
}
],
"events": [
{
"name": "AggregatorInitEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
}
]
},
{
"name": "VrfRequestRandomnessEvent",
"fields": [
{
"name": "vrfPubkey",
"type": "publicKey",
"index": true
},
{
"name": "oraclePubkeys",
"type": {
"vec": "publicKey"
},
"index": false
},
{
"name": "loadAmount",
"type": "u64",
"index": false
},
{
"name": "existingAmount",
"type": "u64",
"index": false
}
]
},
{
"name": "VrfRequestEvent",
"fields": [
{
"name": "vrfPubkey",
"type": "publicKey",
"index": true
},
{
"name": "oraclePubkeys",
"type": {
"vec": "publicKey"
},
"index": false
}
]
},
{
"name": "VrfProveEvent",
"fields": [
{
"name": "vrfPubkey",
"type": "publicKey",
"index": true
},
{
"name": "oraclePubkey",
"type": "publicKey",
"index": true
},
{
"name": "authorityPubkey",
"type": "publicKey",
"index": false
}
]
},
{
"name": "VrfVerifyEvent",
"fields": [
{
"name": "vrfPubkey",
"type": "publicKey",
"index": true
},
{
"name": "oraclePubkey",
"type": "publicKey",
"index": true
},
{
"name": "authorityPubkey",
"type": "publicKey",
"index": false
},
{
"name": "amount",
"type": "u64",
"index": false
}
]
},
{
"name": "VrfCallbackPerformedEvent",
"fields": [
{
"name": "vrfPubkey",
"type": "publicKey",
"index": true
},
{
"name": "oraclePubkey",
"type": "publicKey",
"index": true
},
{
"name": "amount",
"type": "u64",
"index": false
}
]
},
{
"name": "AggregatorOpenRoundEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "oraclePubkeys",
"type": {
"vec": "publicKey"
},
"index": false
},
{
"name": "jobPubkeys",
"type": {
"vec": "publicKey"
},
"index": false
},
{
"name": "remainingFunds",
"type": "u64",
"index": false
},
{
"name": "queueAuthority",
"type": "publicKey",
"index": false
}
]
},
{
"name": "AggregatorValueUpdateEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "value",
"type": {
"defined": "BorshDecimal"
},
"index": false
},
{
"name": "slot",
"type": "u64",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
},
{
"name": "oraclePubkeys",
"type": {
"vec": "publicKey"
},
"index": false
},
{
"name": "oracleValues",
"type": {
"vec": {
"defined": "BorshDecimal"
}
},
"index": false
}
]
},
{
"name": "OracleRewardEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "leasePubkey",
"type": "publicKey",
"index": false
},
{
"name": "oraclePubkey",
"type": "publicKey",
"index": false
},
{
"name": "walletPubkey",
"type": "publicKey",
"index": false
},
{
"name": "amount",
"type": "u64",
"index": false
},
{
"name": "roundSlot",
"type": "u64",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "OracleWithdrawEvent",
"fields": [
{
"name": "oraclePubkey",
"type": "publicKey",
"index": false
},
{
"name": "walletPubkey",
"type": "publicKey",
"index": false
},
{
"name": "destinationWallet",
"type": "publicKey",
"index": false
},
{
"name": "previousAmount",
"type": "u64",
"index": false
},
{
"name": "newAmount",
"type": "u64",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "LeaseWithdrawEvent",
"fields": [
{
"name": "leasePubkey",
"type": "publicKey",
"index": false
},
{
"name": "walletPubkey",
"type": "publicKey",
"index": false
},
{
"name": "previousAmount",
"type": "u64",
"index": false
},
{
"name": "newAmount",
"type": "u64",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "OracleSlashEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "leasePubkey",
"type": "publicKey",
"index": false
},
{
"name": "oraclePubkey",
"type": "publicKey",
"index": false
},
{
"name": "walletPubkey",
"type": "publicKey",
"index": false
},
{
"name": "amount",
"type": "u64",
"index": false
},
{
"name": "roundSlot",
"type": "u64",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "LeaseFundEvent",
"fields": [
{
"name": "leasePubkey",
"type": "publicKey",
"index": false
},
{
"name": "funder",
"type": "publicKey",
"index": false
},
{
"name": "amount",
"type": "u64",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "ProbationBrokenEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "queuePubkey",
"type": "publicKey",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "FeedPermissionRevokedEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "GarbageCollectFailureEvent",
"fields": [
{
"name": "queuePubkey",
"type": "publicKey",
"index": false
}
]
},
{
"name": "OracleBootedEvent",
"fields": [
{
"name": "queuePubkey",
"type": "publicKey",
"index": false
},
{
"name": "oraclePubkey",
"type": "publicKey",
"index": false
}
]
},
{
"name": "CrankLeaseInsufficientFundsEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "leasePubkey",
"type": "publicKey",
"index": false
}
]
},
{
"name": "CrankPopExpectedFailureEvent",
"fields": [
{
"name": "feedPubkey",
"type": "publicKey",
"index": false
},
{
"name": "leasePubkey",
"type": "publicKey",
"index": false
}
]
}
],
"errors": [
{
"code": 6000,
"name": "ArrayOperationError",
"msg": "Illegal operation on a Switchboard array."
},
{
"code": 6001,
"name": "QueueOperationError",
"msg": "Illegal operation on a Switchboard queue."
},
{
"code": 6002,
"name": "IncorrectProgramOwnerError",
"msg": "An account required to be owned by the program has a different owner."
},
{
"code": 6003,
"name": "InvalidAggregatorRound",
"msg": "Aggregator is not currently populated with a valid round."
},
{
"code": 6004,
"name": "TooManyAggregatorJobs",
"msg": "Aggregator cannot fit any more jobs."
},
{
"code": 6005,
"name": "AggregatorCurrentRoundClosed",
"msg": "Aggregator's current round is closed. No results are being accepted."
},
{
"code": 6006,
"name": "AggregatorInvalidSaveResult",
"msg": "Aggregator received an invalid save result instruction."
},
{
"code": 6007,
"name": "InvalidStrDecimalConversion",
"msg": "Failed to convert string to decimal format."
},
{
"code": 6008,
"name": "AccountLoaderMissingSignature",
"msg": "AccountLoader account is missing a required signature."
},
{
"code": 6009,
"name": "MissingRequiredSignature",
"msg": "Account is missing a required signature."
},
{
"code": 6010,
"name": "ArrayOverflowError",
"msg": "The attempted action will overflow a zero-copy account array."
},
{
"code": 6011,
"name": "ArrayUnderflowError",
"msg": "The attempted action will underflow a zero-copy account array."
},
{
"code": 6012,
"name": "PubkeyNotFoundError",
"msg": "The queried public key was not found."
},
{
"code": 6013,
"name": "AggregatorIllegalRoundOpenCall",
"msg": "Aggregator round open called too early."
},
{
"code": 6014,
"name": "AggregatorIllegalRoundCloseCall",
"msg": "Aggregator round close called too early."
},
{
"code": 6015,
"name": "AggregatorClosedError",
"msg": "Aggregator is closed. Illegal action."
},
{
"code": 6016,
"name": "IllegalOracleIdxError",
"msg": "Illegal oracle index."
},
{
"code": 6017,
"name": "OracleAlreadyRespondedError",
"msg": "The provided oracle has already responded this round."
},
{
"code": 6018,
"name": "ProtoDeserializeError",
"msg": "Failed to deserialize protocol buffer."
},
{
"code": 6019,
"name": "UnauthorizedStateUpdateError",
"msg": "Unauthorized program state modification attempted."
},
{
"code": 6020,
"name": "MissingOracleAccountsError",
"msg": "Not enough oracle accounts provided to closeRounds."
},
{
"code": 6021,
"name": "OracleMismatchError",
"msg": "An unexpected oracle account was provided for the transaction."
},
{
"code": 6022,
"name": "CrankMaxCapacityError",
"msg": "Attempted to push to a Crank that's at capacity"
},
{
"code": 6023,
"name": "AggregatorLeaseInsufficientFunds",
"msg": "Aggregator update call attempted but attached lease has insufficient funds."
},
{
"code": 6024,
"name": "IncorrectTokenAccountMint",
"msg": "The provided token account does not point to the Switchboard token mint."
},
{
"code": 6025,
"name": "InvalidEscrowAccount",
"msg": "An invalid escrow account was provided."
},
{
"code": 6026,
"name": "CrankEmptyError",
"msg": "Crank empty. Pop failed."
},
{
"code": 6027,
"name": "PdaDeriveError",
"msg": "Failed to derive a PDA from the provided seed."
},
{
"code": 6028,
"name": "AggregatorAccountNotFound",
"msg": "Aggregator account missing from provided account list."
},
{
"code": 6029,
"name": "PermissionAccountNotFound",
"msg": "Permission account missing from provided account list."
},
{
"code": 6030,
"name": "LeaseAccountDeriveFailure",
"msg": "Failed to derive a lease account."
},
{
"code": 6031,
"name": "PermissionAccountDeriveFailure",
"msg": "Failed to derive a permission account."
},
{
"code": 6032,
"name": "EscrowAccountNotFound",
"msg": "Escrow account missing from provided account list."
},
{
"code": 6033,
"name": "LeaseAccountNotFound",
"msg": "Lease account missing from provided account list."
},
{
"code": 6034,
"name": "DecimalConversionError",
"msg": "Decimal conversion method failed."
},
{
"code": 6035,
"name": "PermissionDenied",
"msg": "Permission account is missing required flags for the given action."
},
{
"code": 6036,
"name": "QueueAtCapacity",
"msg": "Oracle queue is at lease capacity."
},
{
"code": 6037,
"name": "ExcessiveCrankRowsError",
"msg": "Data feed is already pushed on a crank."
},
{
"code": 6038,
"name": "AggregatorLockedError",
"msg": "Aggregator is locked, no setting modifications or job additions allowed."
},
{
"code": 6039,
"name": "AggregatorInvalidBatchSizeError",
"msg": "Aggregator invalid batch size."
},
{
"code": 6040,
"name": "AggregatorJobChecksumMismatch",
"msg": "Oracle provided an incorrect aggregator job checksum."
},
{
"code": 6041,
"name": "IntegerOverflowError",
"msg": "An integer overflow occurred."
},
{
"code": 6042,
"name": "InvalidUpdatePeriodError",
"msg": "Minimum update period is 5 seconds."
},
{
"code": 6043,
"name": "NoResultsError",
"msg": "Aggregator round evaluation attempted with no results."
},
{
"code": 6044,
"name": "InvalidExpirationError",
"msg": "An expiration constraint was broken."
},
{
"code": 6045,
"name": "InsufficientStakeError",
"msg": "An account provided insufficient stake for action."
},
{
"code": 6046,
"name": "LeaseInactiveError",
"msg": "The provided lease account is not active."
},
{
"code": 6047,
"name": "NoAggregatorJobsFound",
"msg": "No jobs are currently included in the aggregator."
},
{
"code": 6048,
"name": "IntegerUnderflowError",
"msg": "An integer underflow occurred."
},
{
"code": 6049,
"name": "OracleQueueMismatch",
"msg": "An invalid oracle queue account was provided."
},
{
"code": 6050,
"name": "OracleWalletMismatchError",
"msg": "An unexpected oracle wallet account was provided for the transaction."
},
{
"code": 6051,
"name": "InvalidBufferAccountError",
"msg": "An invalid buffer account was provided."
},
{
"code": 6052,
"name": "InsufficientOracleQueueError",
"msg": "Insufficient oracle queue size."
},
{
"code": 6053,
"name": "InvalidAuthorityError",
"msg": "Invalid authority account provided."
},
{
"code": 6054,
"name": "InvalidTokenAccountMintError",
"msg": "A provided token wallet is associated with an incorrect mint."
},
{
"code": 6055,
"name": "ExcessiveLeaseWithdrawlError",
"msg": "You must leave enough funds to perform at least 1 update in the lease."
},
{
"code": 6056,
"name": "InvalideHistoryAccountError",
"msg": "Invalid history account provided."
},
{
"code": 6057,
"name": "InvalidLeaseAccountEscrowError",
"msg": "Invalid lease account escrow."
},
{
"code": 6058,
"name": "InvalidCrankAccountError",
"msg": "Invalid crank provided."
},
{
"code": 6059,
"name": "CrankNoElementsReadyError",
"msg": "No elements ready to be popped."
},
{
"code": 6060,
"name": "IndexOutOfBoundsError",
"msg": "Index out of bounds"
},
{
"code": 6061,
"name": "VrfInvalidRequestError",
"msg": "Invalid vrf request params"
},
{
"code": 6062,
"name": "VrfInvalidProofSubmissionError",
"msg": "Vrf proof failed to verify"
},
{
"code": 6063,
"name": "VrfVerifyError",
"msg": "Error in verifying vrf proof."
},
{
"code": 6064,
"name": "VrfCallbackError",
"msg": "Vrf callback function failed."
},
{
"code": 6065,
"name": "VrfCallbackParamsError",
"msg": "Invalid vrf callback params provided."
},
{
"code": 6066,
"name": "VrfCallbackAlreadyCalledError",
"msg": "Vrf callback has already been triggered."
},
{
"code": 6067,
"name": "VrfInvalidPubkeyError",
"msg": "The provided pubkey is invalid to use in ecvrf proofs"
},
{
"code": 6068,
"name": "VrfTooManyVerifyCallsError",
"msg": "Number of required verify calls exceeded"
},
{
"code": 6069,
"name": "VrfRequestAlreadyLaunchedError",
"msg": "Vrf request is already pending"
},
{
"code": 6070,
"name": "VrfInsufficientVerificationError",
"msg": "Insufficient amount of proofs collected for VRF callback"
},
{
"code": 6071,
"name": "InvalidVrfProducerError",
"msg": "An incorrect oracle attempted to submit a proof"
},
{
"code": 6072,
"name": "NoopError",
"msg": "Noop error"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment