@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
33 lines (26 loc) • 1.08 kB
text/typescript
import { TSchema, Data } from '@evolution-sdk/evolution';
import { OnChainDecimalSchema } from '../../types/on-chain-decimal';
export const InterestOracleDatumSchema = TSchema.Struct({
unitaryInterest: TSchema.Integer,
interestRate: OnChainDecimalSchema,
lastUpdated: TSchema.Integer,
});
export type InterestOracleDatum = typeof InterestOracleDatumSchema.Type;
const InterestOracleRedeemerSchema = TSchema.Struct({
newInterestRate: OnChainDecimalSchema,
currentTime: TSchema.Integer,
});
export type InterestOracleRedeemer = typeof InterestOracleRedeemerSchema.Type;
export function serialiseFeedInterestOracleRedeemer(
redeemer: InterestOracleRedeemer,
): string {
return Data.withSchema(InterestOracleRedeemerSchema).toCBORHex(redeemer);
}
export function parseInterestOracleDatum(datum: string): InterestOracleDatum {
return Data.withSchema(InterestOracleDatumSchema).fromCBORHex(datum);
}
export function serialiseInterestOracleDatum(
datum: InterestOracleDatum,
): string {
return Data.withSchema(InterestOracleDatumSchema).toCBORHex(datum);
}