update idl, add tokenmint to stuboracle for gpa (#34)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
parent
884d638e36
commit
9debc63a6a
|
@ -33,6 +33,7 @@ pub struct CreateStubOracle<'info> {
|
|||
pub fn create_stub_oracle(ctx: Context<CreateStubOracle>, price: I80F48) -> Result<()> {
|
||||
let mut oracle = ctx.accounts.oracle.load_init()?;
|
||||
oracle.group = ctx.accounts.group.key();
|
||||
oracle.mint = ctx.accounts.token_mint.key();
|
||||
oracle.price = price;
|
||||
oracle.last_updated = Clock::get()?.unix_timestamp;
|
||||
|
||||
|
|
|
@ -17,11 +17,12 @@ pub enum OracleType {
|
|||
#[account(zero_copy)]
|
||||
pub struct StubOracle {
|
||||
pub group: Pubkey,
|
||||
pub mint: Pubkey,
|
||||
pub price: I80F48,
|
||||
pub last_updated: i64,
|
||||
pub reserved: [u8; 8],
|
||||
}
|
||||
const_assert_eq!(size_of::<StubOracle>(), 32 + 16 + 8 + 8);
|
||||
const_assert_eq!(size_of::<StubOracle>(), 32 + 32 + 16 + 8 + 8);
|
||||
const_assert_eq!(size_of::<StubOracle>() % 8, 0);
|
||||
|
||||
pub fn determine_oracle_type(data: &[u8]) -> Result<OracleType> {
|
||||
|
|
|
@ -519,7 +519,7 @@ export async function getStubOracleForMint(
|
|||
await client.program.account.mangoAccount.all([
|
||||
{
|
||||
memcmp: {
|
||||
bytes: groupPk.toBase58(),
|
||||
bytes: group.toBase58(),
|
||||
offset: 8,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -275,12 +275,22 @@ export type MangoV4 = {
|
|||
{
|
||||
"name": "createStubOracle",
|
||||
"accounts": [
|
||||
{
|
||||
"name": "group",
|
||||
"isMut": false,
|
||||
"isSigner": false
|
||||
},
|
||||
{
|
||||
"name": "oracle",
|
||||
"isMut": true,
|
||||
"isSigner": false,
|
||||
"pda": {
|
||||
"seeds": [
|
||||
{
|
||||
"kind": "account",
|
||||
"type": "publicKey",
|
||||
"path": "group"
|
||||
},
|
||||
{
|
||||
"kind": "const",
|
||||
"type": "string",
|
||||
|
@ -295,6 +305,11 @@ export type MangoV4 = {
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"isMut": false,
|
||||
"isSigner": true
|
||||
},
|
||||
{
|
||||
"name": "tokenMint",
|
||||
"isMut": false,
|
||||
|
@ -323,10 +338,25 @@ export type MangoV4 = {
|
|||
{
|
||||
"name": "setStubOracle",
|
||||
"accounts": [
|
||||
{
|
||||
"name": "group",
|
||||
"isMut": false,
|
||||
"isSigner": false
|
||||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"isMut": false,
|
||||
"isSigner": true
|
||||
},
|
||||
{
|
||||
"name": "oracle",
|
||||
"isMut": true,
|
||||
"isSigner": false
|
||||
},
|
||||
{
|
||||
"name": "payer",
|
||||
"isMut": true,
|
||||
"isSigner": true
|
||||
}
|
||||
],
|
||||
"args": [
|
||||
|
@ -1574,6 +1604,10 @@ export type MangoV4 = {
|
|||
"type": {
|
||||
"kind": "struct",
|
||||
"fields": [
|
||||
{
|
||||
"name": "group",
|
||||
"type": "publicKey"
|
||||
},
|
||||
{
|
||||
"name": "price",
|
||||
"type": {
|
||||
|
@ -1583,6 +1617,15 @@ export type MangoV4 = {
|
|||
{
|
||||
"name": "lastUpdated",
|
||||
"type": "i64"
|
||||
},
|
||||
{
|
||||
"name": "reserved",
|
||||
"type": {
|
||||
"array": [
|
||||
"u8",
|
||||
8
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -2622,12 +2665,22 @@ export const IDL: MangoV4 = {
|
|||
{
|
||||
"name": "createStubOracle",
|
||||
"accounts": [
|
||||
{
|
||||
"name": "group",
|
||||
"isMut": false,
|
||||
"isSigner": false
|
||||
},
|
||||
{
|
||||
"name": "oracle",
|
||||
"isMut": true,
|
||||
"isSigner": false,
|
||||
"pda": {
|
||||
"seeds": [
|
||||
{
|
||||
"kind": "account",
|
||||
"type": "publicKey",
|
||||
"path": "group"
|
||||
},
|
||||
{
|
||||
"kind": "const",
|
||||
"type": "string",
|
||||
|
@ -2642,6 +2695,11 @@ export const IDL: MangoV4 = {
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"isMut": false,
|
||||
"isSigner": true
|
||||
},
|
||||
{
|
||||
"name": "tokenMint",
|
||||
"isMut": false,
|
||||
|
@ -2670,10 +2728,25 @@ export const IDL: MangoV4 = {
|
|||
{
|
||||
"name": "setStubOracle",
|
||||
"accounts": [
|
||||
{
|
||||
"name": "group",
|
||||
"isMut": false,
|
||||
"isSigner": false
|
||||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"isMut": false,
|
||||
"isSigner": true
|
||||
},
|
||||
{
|
||||
"name": "oracle",
|
||||
"isMut": true,
|
||||
"isSigner": false
|
||||
},
|
||||
{
|
||||
"name": "payer",
|
||||
"isMut": true,
|
||||
"isSigner": true
|
||||
}
|
||||
],
|
||||
"args": [
|
||||
|
@ -3921,6 +3994,10 @@ export const IDL: MangoV4 = {
|
|||
"type": {
|
||||
"kind": "struct",
|
||||
"fields": [
|
||||
{
|
||||
"name": "group",
|
||||
"type": "publicKey"
|
||||
},
|
||||
{
|
||||
"name": "price",
|
||||
"type": {
|
||||
|
@ -3930,6 +4007,15 @@ export const IDL: MangoV4 = {
|
|||
{
|
||||
"name": "lastUpdated",
|
||||
"type": "i64"
|
||||
},
|
||||
{
|
||||
"name": "reserved",
|
||||
"type": {
|
||||
"array": [
|
||||
"u8",
|
||||
8
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue