341 lines
6.9 KiB
JSON
341 lines
6.9 KiB
JSON
{
|
|
"version": "0.1.0",
|
|
"name": "spl_binary_option",
|
|
"instructions": [
|
|
{
|
|
"name": "initializeBinaryOption",
|
|
"accounts": [
|
|
{
|
|
"name": "poolAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "escrowMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "escrowAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "longTokenMint",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "shortTokenMint",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "mintAuthority",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "updateAuthority",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "rent",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "decimals",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "trade",
|
|
"accounts": [
|
|
{
|
|
"name": "poolAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "escrowAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "longTokenMint",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "shortTokenMint",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "buyer",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "seller",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "buyerAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "sellerAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "buyerLongTokenAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "buyerShortTokenAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "sellerLongTokenAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "sellerShortTokenAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "escrowAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "size",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "buyPrice",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "sellPrice",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "settle",
|
|
"accounts": [
|
|
{
|
|
"name": "poolAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "winningMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolAuthority",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "collect",
|
|
"accounts": [
|
|
{
|
|
"name": "poolAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "collectorAccount",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "collectorLongTokenAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "collectorShortTokenAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "collectorCollateralAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "longTokenMintAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "shortTokenMintAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "escrowAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "escrowAuthorityAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
}
|
|
],
|
|
"accounts": [
|
|
{
|
|
"name": "BinaryOption",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "decimals",
|
|
"type": "u8"
|
|
},
|
|
{
|
|
"name": "circulation",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "settled",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"name": "escrowMintAccountPubkey",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "escrowAccountPubkey",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "longMintAccountPubkey",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "shortMintAccountPubkey",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "winningSidePubkey",
|
|
"type": "publicKey"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"code": 0,
|
|
"name": "PublicKeyMismatch",
|
|
"msg": "PublicKeyMismatch"
|
|
},
|
|
{
|
|
"code": 1,
|
|
"name": "InvalidMintAuthority",
|
|
"msg": "InvalidMintAuthority"
|
|
},
|
|
{
|
|
"code": 2,
|
|
"name": "NotMintAuthority",
|
|
"msg": "NotMintAuthority"
|
|
},
|
|
{
|
|
"code": 3,
|
|
"name": "InvalidSupply",
|
|
"msg": "InvalidSupply"
|
|
},
|
|
{
|
|
"code": 4,
|
|
"name": "InvalidWinner",
|
|
"msg": "InvalidWinner"
|
|
},
|
|
{
|
|
"code": 5,
|
|
"name": "UninitializedAccount",
|
|
"msg": "UninitializedAccount"
|
|
},
|
|
{
|
|
"code": 6,
|
|
"name": "IncorrectOwner",
|
|
"msg": "IncorrectOwner"
|
|
},
|
|
{
|
|
"code": 7,
|
|
"name": "AlreadySettled",
|
|
"msg": "AlreadySettled"
|
|
},
|
|
{
|
|
"code": 8,
|
|
"name": "BetNotSettled",
|
|
"msg": "BetNotSettled"
|
|
},
|
|
{
|
|
"code": 9,
|
|
"name": "TokenNotFoundInPool",
|
|
"msg": "TokenNotFoundInPool"
|
|
},
|
|
{
|
|
"code": 10,
|
|
"name": "PublicKeysShouldBeUnique",
|
|
"msg": "PublicKeysShouldBeUnique"
|
|
},
|
|
{
|
|
"code": 11,
|
|
"name": "TradePricesIncorrect",
|
|
"msg": "TradePricesIncorrect"
|
|
}
|
|
]
|
|
} |