123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- {
- "version": "0.1.0",
- "name": "spl_binary_oracle_pair",
- "instructions": [
- {
- "name": "initPool",
- "accounts": [
- {
- "name": "pool",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "authority",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "decider",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "depositTokenMint",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "depositAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenPassMint",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenFailMint",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "rent",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "tokenProgram",
- "isMut": false,
- "isSigner": false
- }
- ],
- "args": [
- {
- "name": "mintEndSlot",
- "type": "u64"
- },
- {
- "name": "decideEndSlot",
- "type": "u64"
- },
- {
- "name": "bumpSeed",
- "type": "u8"
- }
- ]
- },
- {
- "name": "deposit",
- "accounts": [
- {
- "name": "pool",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "authority",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "userTransferAuthority",
- "isMut": false,
- "isSigner": true
- },
- {
- "name": "userTokenAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "poolDepositTokenAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenPassMint",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenFailMint",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenPassDestinationAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenFailDestinationAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "clock",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "tokenProgram",
- "isMut": false,
- "isSigner": false
- }
- ],
- "args": [
- {
- "name": "arg",
- "type": "u64"
- }
- ]
- },
- {
- "name": "withdraw",
- "accounts": [
- {
- "name": "pool",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "authority",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "userTransferAuthority",
- "isMut": false,
- "isSigner": true
- },
- {
- "name": "poolDepositTokenAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenPassUserAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenFailUserAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenPassMint",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "tokenFailMint",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "userTokenDestinationAccount",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "clock",
- "isMut": false,
- "isSigner": false
- },
- {
- "name": "tokenProgram",
- "isMut": false,
- "isSigner": false
- }
- ],
- "args": [
- {
- "name": "arg",
- "type": "u64"
- }
- ]
- },
- {
- "name": "decide",
- "accounts": [
- {
- "name": "pool",
- "isMut": true,
- "isSigner": false
- },
- {
- "name": "decider",
- "isMut": false,
- "isSigner": true
- },
- {
- "name": "clock",
- "isMut": false,
- "isSigner": false
- }
- ],
- "args": [
- {
- "name": "arg",
- "type": "bool"
- }
- ]
- }
- ],
- "accounts": [
- {
- "name": "Pool",
- "type": {
- "kind": "struct",
- "fields": [
- {
- "name": "version",
- "type": "u8"
- },
- {
- "name": "bumpSeed",
- "type": "u8"
- },
- {
- "name": "tokenProgramId",
- "type": "publicKey"
- },
- {
- "name": "depositAccount",
- "type": "publicKey"
- },
- {
- "name": "tokenPassMint",
- "type": "publicKey"
- },
- {
- "name": "tokenFailMint",
- "type": "publicKey"
- },
- {
- "name": "decider",
- "type": "publicKey"
- },
- {
- "name": "mintEndSlot",
- "type": "u64"
- },
- {
- "name": "decideEndSlot",
- "type": "u64"
- },
- {
- "name": "decision",
- "type": {
- "defined": "Decision"
- }
- }
- ]
- }
- }
- ],
- "types": [
- {
- "name": "Decision",
- "type": {
- "kind": "enum",
- "variants": [
- {
- "name": "Undecided"
- },
- {
- "name": "Pass"
- },
- {
- "name": "Fail"
- }
- ]
- }
- }
- ],
- "errors": [
- {
- "code": 0,
- "name": "AlreadyInUse",
- "msg": "Pool account already in use"
- },
- {
- "code": 1,
- "name": "DepositAccountInUse",
- "msg": "Deposit account already in use"
- },
- {
- "code": 2,
- "name": "TokenMintInUse",
- "msg": "Token account already in use"
- },
- {
- "code": 3,
- "name": "InvalidAuthorityData",
- "msg": "Failed to generate program account because of invalid data"
- },
- {
- "code": 4,
- "name": "InvalidAuthorityAccount",
- "msg": "Invalid authority account provided"
- },
- {
- "code": 5,
- "name": "NotRentExempt",
- "msg": "Lamport balance below rent-exempt threshold"
- },
- {
- "code": 6,
- "name": "InvalidTokenMint",
- "msg": "Input token mint account is not valid"
- },
- {
- "code": 7,
- "name": "InvalidAmount",
- "msg": "Amount should be more than zero"
- },
- {
- "code": 8,
- "name": "WrongDeciderAccount",
- "msg": "Wrong decider account was sent"
- },
- {
- "code": 9,
- "name": "SignatureMissing",
- "msg": "Signature missing in transaction"
- },
- {
- "code": 10,
- "name": "DecisionAlreadyMade",
- "msg": "Decision was already made for this pool"
- },
- {
- "code": 11,
- "name": "InvalidSlotForDecision",
- "msg": "Decision can't be made in current slot"
- },
- {
- "code": 12,
- "name": "InvalidSlotForDeposit",
- "msg": "Deposit can't be made in current slot"
- },
- {
- "code": 13,
- "name": "NoDecisionMadeYet",
- "msg": "No decision has been made yet"
- }
- ]
- }
|