2022-08-04 01:41:54 -07:00
|
|
|
import { PublicKey } from '@solana/web3.js';
|
2022-04-02 23:57:45 -07:00
|
|
|
import BN from 'bn.js';
|
2022-04-07 10:42:00 -07:00
|
|
|
import { I80F48, I80F48Dto } from './I80F48';
|
2022-04-02 23:57:45 -07:00
|
|
|
|
|
|
|
export class StubOracle {
|
|
|
|
public price: I80F48;
|
|
|
|
public lastUpdated: number;
|
|
|
|
|
|
|
|
static from(
|
|
|
|
publicKey: PublicKey,
|
|
|
|
obj: {
|
|
|
|
group: PublicKey;
|
|
|
|
mint: PublicKey;
|
|
|
|
price: I80F48Dto;
|
|
|
|
lastUpdated: BN;
|
|
|
|
},
|
|
|
|
): StubOracle {
|
|
|
|
return new StubOracle(
|
|
|
|
publicKey,
|
|
|
|
obj.group,
|
|
|
|
obj.mint,
|
|
|
|
obj.price,
|
|
|
|
obj.lastUpdated,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
constructor(
|
|
|
|
public publicKey: PublicKey,
|
|
|
|
public group: PublicKey,
|
|
|
|
public mint: PublicKey,
|
|
|
|
price: I80F48Dto,
|
|
|
|
lastUpdated: BN,
|
|
|
|
) {
|
|
|
|
this.price = I80F48.from(price);
|
|
|
|
this.lastUpdated = lastUpdated.toNumber();
|
|
|
|
}
|
|
|
|
}
|