@kamino-finance/farms-sdk
Version:
60 lines (53 loc) • 1.49 kB
text/typescript
/**
* This code was AUTOGENERATED using the Codama library.
* Please DO NOT EDIT THIS FILE, instead use visitors
* to add features, then rerun Codama to update it.
*
* @see https://github.com/codama-idl/codama
*/
import {
combineCodec,
getAddressDecoder,
getAddressEncoder,
getArrayDecoder,
getArrayEncoder,
getStructDecoder,
getStructEncoder,
getU64Decoder,
getU64Encoder,
type Address,
type FixedSizeCodec,
type FixedSizeDecoder,
type FixedSizeEncoder,
} from "@solana/kit";
export type TokenInfo = {
mint: Address;
decimals: bigint;
tokenProgram: Address;
padding: Array<bigint>;
};
export type TokenInfoArgs = {
mint: Address;
decimals: number | bigint;
tokenProgram: Address;
padding: Array<number | bigint>;
};
export function getTokenInfoEncoder(): FixedSizeEncoder<TokenInfoArgs> {
return getStructEncoder([
["mint", getAddressEncoder()],
["decimals", getU64Encoder()],
["tokenProgram", getAddressEncoder()],
["padding", getArrayEncoder(getU64Encoder(), { size: 6 })],
]);
}
export function getTokenInfoDecoder(): FixedSizeDecoder<TokenInfo> {
return getStructDecoder([
["mint", getAddressDecoder()],
["decimals", getU64Decoder()],
["tokenProgram", getAddressDecoder()],
["padding", getArrayDecoder(getU64Decoder(), { size: 6 })],
]);
}
export function getTokenInfoCodec(): FixedSizeCodec<TokenInfoArgs, TokenInfo> {
return combineCodec(getTokenInfoEncoder(), getTokenInfoDecoder());
}