feat: support pre and post token balances (#13603)
* feat: support pre and post token balances * fix: define tokenbalance * fix: change pre/post balances to array
This commit is contained in:
10
web3.js/module.d.ts
vendored
10
web3.js/module.d.ts
vendored
@ -142,12 +142,20 @@ declare module '@solana/web3.js' {
|
|||||||
instructions: CompiledInstruction[];
|
instructions: CompiledInstruction[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type TokenBalance = {
|
||||||
|
accountIndex: number;
|
||||||
|
mint: string;
|
||||||
|
uiTokenAmount: TokenAmount;
|
||||||
|
};
|
||||||
|
|
||||||
export type ConfirmedTransactionMeta = {
|
export type ConfirmedTransactionMeta = {
|
||||||
fee: number;
|
fee: number;
|
||||||
innerInstructions?: CompiledInnerInstruction[];
|
innerInstructions?: CompiledInnerInstruction[];
|
||||||
preBalances: Array<number>;
|
preBalances: Array<number>;
|
||||||
postBalances: Array<number>;
|
postBalances: Array<number>;
|
||||||
logMessages?: Array<string>;
|
logMessages?: Array<string>;
|
||||||
|
preTokenBalances?: Array<TokenBalance>;
|
||||||
|
postTokenBalances?: Array<TokenBalance>;
|
||||||
err: TransactionError | null;
|
err: TransactionError | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -162,6 +170,8 @@ declare module '@solana/web3.js' {
|
|||||||
preBalances: Array<number>;
|
preBalances: Array<number>;
|
||||||
postBalances: Array<number>;
|
postBalances: Array<number>;
|
||||||
logMessages?: Array<string>;
|
logMessages?: Array<string>;
|
||||||
|
preTokenBalances?: Array<TokenBalance>;
|
||||||
|
postTokenBalances?: Array<TokenBalance>;
|
||||||
err: TransactionError | null;
|
err: TransactionError | null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -157,12 +157,20 @@ declare module '@solana/web3.js' {
|
|||||||
instructions: CompiledInstruction[],
|
instructions: CompiledInstruction[],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
declare export type TokenBalance = {
|
||||||
|
accountIndex: number,
|
||||||
|
mint: string,
|
||||||
|
uiTokenAmount: TokenAmount,
|
||||||
|
};
|
||||||
|
|
||||||
declare export type ConfirmedTransactionMeta = {
|
declare export type ConfirmedTransactionMeta = {
|
||||||
fee: number,
|
fee: number,
|
||||||
innerInstructions?: CompiledInnerInstruction[],
|
innerInstructions?: CompiledInnerInstruction[],
|
||||||
preBalances: Array<number>,
|
preBalances: Array<number>,
|
||||||
postBalances: Array<number>,
|
postBalances: Array<number>,
|
||||||
logMessages?: Array<string>,
|
logMessages?: Array<string>,
|
||||||
|
preTokenBalances?: Array<TokenBalance>,
|
||||||
|
postTokenBalances?: Array<TokenBalance>,
|
||||||
err: TransactionError | null,
|
err: TransactionError | null,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -177,6 +185,8 @@ declare module '@solana/web3.js' {
|
|||||||
preBalances: Array<number>,
|
preBalances: Array<number>,
|
||||||
postBalances: Array<number>,
|
postBalances: Array<number>,
|
||||||
logMessages?: Array<string>,
|
logMessages?: Array<string>,
|
||||||
|
preTokenBalances?: Array<TokenBalance>,
|
||||||
|
postTokenBalances?: Array<TokenBalance>,
|
||||||
err: TransactionError | null,
|
err: TransactionError | null,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
2
web3.js/package-lock.json
generated
2
web3.js/package-lock.json
generated
@ -7781,7 +7781,7 @@
|
|||||||
},
|
},
|
||||||
"is-obj": {
|
"is-obj": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
"resolved": "http://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
||||||
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
|
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
|
@ -373,6 +373,12 @@ type ParsedInnerInstruction = {
|
|||||||
instructions: (ParsedInstruction | PartiallyDecodedInstruction)[],
|
instructions: (ParsedInstruction | PartiallyDecodedInstruction)[],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
type TokenBalance = {
|
||||||
|
accountIndex: number,
|
||||||
|
mint: string,
|
||||||
|
uiTokenAmount: TokenAmount,
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Metadata for a parsed confirmed transaction on the ledger
|
* Metadata for a parsed confirmed transaction on the ledger
|
||||||
*
|
*
|
||||||
@ -382,6 +388,8 @@ type ParsedInnerInstruction = {
|
|||||||
* @property {Array<number>} preBalances The balances of the transaction accounts before processing
|
* @property {Array<number>} preBalances The balances of the transaction accounts before processing
|
||||||
* @property {Array<number>} postBalances The balances of the transaction accounts after processing
|
* @property {Array<number>} postBalances The balances of the transaction accounts after processing
|
||||||
* @property {Array<string>} logMessages An array of program log messages emitted during a transaction
|
* @property {Array<string>} logMessages An array of program log messages emitted during a transaction
|
||||||
|
* @property {Array<TokenBalance>} preTokenBalances The token balances of the transaction accounts before processing
|
||||||
|
* @property {Array<TokenBalance>} postTokenBalances The token balances of the transaction accounts after processing
|
||||||
* @property {object|null} err The error result of transaction processing
|
* @property {object|null} err The error result of transaction processing
|
||||||
*/
|
*/
|
||||||
type ParsedConfirmedTransactionMeta = {
|
type ParsedConfirmedTransactionMeta = {
|
||||||
@ -390,6 +398,8 @@ type ParsedConfirmedTransactionMeta = {
|
|||||||
preBalances: Array<number>,
|
preBalances: Array<number>,
|
||||||
postBalances: Array<number>,
|
postBalances: Array<number>,
|
||||||
logMessages?: Array<string>,
|
logMessages?: Array<string>,
|
||||||
|
preTokenBalances?: Array<TokenBalance>,
|
||||||
|
postTokenBalances?: Array<TokenBalance>,
|
||||||
err: TransactionError | null,
|
err: TransactionError | null,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1178,6 +1188,36 @@ const ConfirmedTransactionMetaResult = struct.union([
|
|||||||
preBalances: struct.array(['number']),
|
preBalances: struct.array(['number']),
|
||||||
postBalances: struct.array(['number']),
|
postBalances: struct.array(['number']),
|
||||||
logMessages: struct.union([struct.array(['string']), 'null', 'undefined']),
|
logMessages: struct.union([struct.array(['string']), 'null', 'undefined']),
|
||||||
|
preTokenBalances: struct.union([
|
||||||
|
struct.array([
|
||||||
|
struct.pick({
|
||||||
|
accountIndex: 'number',
|
||||||
|
mint: 'string',
|
||||||
|
uiTokenAmount: struct.pick({
|
||||||
|
amount: 'string',
|
||||||
|
decimals: 'number',
|
||||||
|
uiAmount: 'number',
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
'null',
|
||||||
|
'undefined',
|
||||||
|
]),
|
||||||
|
postTokenBalances: struct.union([
|
||||||
|
struct.array([
|
||||||
|
struct.pick({
|
||||||
|
accountIndex: 'number',
|
||||||
|
mint: 'string',
|
||||||
|
uiTokenAmount: struct.pick({
|
||||||
|
amount: 'string',
|
||||||
|
decimals: 'number',
|
||||||
|
uiAmount: 'number',
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
'null',
|
||||||
|
'undefined',
|
||||||
|
]),
|
||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
/**
|
/**
|
||||||
@ -1214,6 +1254,36 @@ const ParsedConfirmedTransactionMetaResult = struct.union([
|
|||||||
preBalances: struct.array(['number']),
|
preBalances: struct.array(['number']),
|
||||||
postBalances: struct.array(['number']),
|
postBalances: struct.array(['number']),
|
||||||
logMessages: struct.union([struct.array(['string']), 'null', 'undefined']),
|
logMessages: struct.union([struct.array(['string']), 'null', 'undefined']),
|
||||||
|
preTokenBalances: struct.union([
|
||||||
|
struct.array([
|
||||||
|
struct.pick({
|
||||||
|
accountIndex: 'number',
|
||||||
|
mint: 'string',
|
||||||
|
uiTokenAmount: struct.pick({
|
||||||
|
amount: 'string',
|
||||||
|
decimals: 'number',
|
||||||
|
uiAmount: 'number',
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
'null',
|
||||||
|
'undefined',
|
||||||
|
]),
|
||||||
|
postTokenBalances: struct.union([
|
||||||
|
struct.array([
|
||||||
|
struct.pick({
|
||||||
|
accountIndex: 'number',
|
||||||
|
mint: 'string',
|
||||||
|
uiTokenAmount: struct.pick({
|
||||||
|
amount: 'string',
|
||||||
|
decimals: 'number',
|
||||||
|
uiAmount: 'number',
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
'null',
|
||||||
|
'undefined',
|
||||||
|
]),
|
||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user