fix: structs need to use pick instead of object, and add uiAmountString (#15745)

This commit is contained in:
Josh
2021-03-05 14:08:40 -08:00
committed by GitHub
parent a43a783aa4
commit 437d9311fb

View File

@ -2,23 +2,22 @@
import {
enums,
object,
pick,
StructType,
number,
string,
optional,
array,
pick,
nullable,
union,
} from "superstruct";
import { Pubkey } from "validators/pubkey";
export type TokenAmountUi = StructType<typeof TokenAmountUi>;
export const TokenAmountUi = object({
export const TokenAmountUi = pick({
amount: string(),
decimals: number(),
uiAmount: number(),
uiAmountString: string(),
});
const InitializeMint = pick({
@ -43,7 +42,7 @@ const InitializeMultisig = pick({
m: number(),
});
const Transfer = object({
const Transfer = pick({
source: Pubkey,
destination: Pubkey,
amount: union([string(), number()]),
@ -52,7 +51,7 @@ const Transfer = object({
signers: optional(array(Pubkey)),
});
const Approve = object({
const Approve = pick({
source: Pubkey,
delegate: Pubkey,
amount: union([string(), number()]),
@ -61,7 +60,7 @@ const Approve = object({
signers: optional(array(Pubkey)),
});
const Revoke = object({
const Revoke = pick({
source: Pubkey,
owner: optional(Pubkey),
multisigOwner: optional(Pubkey),
@ -75,7 +74,7 @@ const AuthorityType = enums([
"closeAccount",
]);
const SetAuthority = object({
const SetAuthority = pick({
mint: optional(Pubkey),
account: optional(Pubkey),
authorityType: AuthorityType,
@ -85,7 +84,7 @@ const SetAuthority = object({
signers: optional(array(Pubkey)),
});
const MintTo = object({
const MintTo = pick({
mint: Pubkey,
account: Pubkey,
amount: union([string(), number()]),
@ -94,7 +93,7 @@ const MintTo = object({
signers: optional(array(Pubkey)),
});
const Burn = object({
const Burn = pick({
account: Pubkey,
mint: Pubkey,
amount: union([string(), number()]),
@ -103,7 +102,7 @@ const Burn = object({
signers: optional(array(Pubkey)),
});
const CloseAccount = object({
const CloseAccount = pick({
account: Pubkey,
destination: Pubkey,
owner: optional(Pubkey),
@ -111,7 +110,7 @@ const CloseAccount = object({
signers: optional(array(Pubkey)),
});
const FreezeAccount = object({
const FreezeAccount = pick({
account: Pubkey,
mint: Pubkey,
freezeAuthority: optional(Pubkey),
@ -119,7 +118,7 @@ const FreezeAccount = object({
signers: optional(array(Pubkey)),
});
const ThawAccount = object({
const ThawAccount = pick({
account: Pubkey,
mint: Pubkey,
freezeAuthority: optional(Pubkey),
@ -127,7 +126,7 @@ const ThawAccount = object({
signers: optional(array(Pubkey)),
});
const TransferChecked = object({
const TransferChecked = pick({
source: Pubkey,
mint: Pubkey,
destination: Pubkey,
@ -137,7 +136,7 @@ const TransferChecked = object({
tokenAmount: TokenAmountUi,
});
const ApproveChecked = object({
const ApproveChecked = pick({
source: Pubkey,
mint: Pubkey,
delegate: Pubkey,
@ -147,7 +146,7 @@ const ApproveChecked = object({
tokenAmount: TokenAmountUi,
});
const MintToChecked = object({
const MintToChecked = pick({
account: Pubkey,
mint: Pubkey,
mintAuthority: optional(Pubkey),
@ -156,7 +155,7 @@ const MintToChecked = object({
tokenAmount: TokenAmountUi,
});
const BurnChecked = object({
const BurnChecked = pick({
account: Pubkey,
mint: Pubkey,
authority: optional(Pubkey),