Skip to content

Commit

Permalink
refactor(experimental): add getMultipleAccounts API method (#1492)
Browse files Browse the repository at this point in the history
* refactor(experimental): use RpcResponse in getAccountInfo

* refactor(experimental): add getMultipleAccounts RPC method

* refactor(experimental): add tests for getMultipleAccounts
  • Loading branch information
mcintyre94 authored Aug 8, 2023
1 parent 6ec1b2d commit 88e1eaa
Show file tree
Hide file tree
Showing 6 changed files with 1,043 additions and 268 deletions.
61 changes: 61 additions & 0 deletions packages/rpc-core/src/response-patcher-allowed-numeric-values.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,67 @@ export const ALLOWED_NUMERIC_KEYPATHS: Partial<
getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],
getInflationRate: [['foundation'], ['total'], ['validator']],
getInflationReward: [[KEYPATH_WILDCARD, 'commission']],
getMultipleAccounts: [
// parsed AddressTableLookup account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'lastExtendedSlotStartIndex'],
// parsed Config account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'slashPenalty'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'warmupCooldownRate'],
// parsed Token/Token22 token account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'tokenAmount', 'decimals'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'tokenAmount', 'uiAmount'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'rentExemptReserve', 'decimals'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'delegatedAmount', 'decimals'],
[
'value',
KEYPATH_WILDCARD,
'data',
'parsed',
'info',
'extensions',
KEYPATH_WILDCARD,
'state',
'olderTransferFee',
'transferFeeBasisPoints',
],
[
'value',
KEYPATH_WILDCARD,
'data',
'parsed',
'info',
'extensions',
KEYPATH_WILDCARD,
'state',
'newerTransferFee',
'transferFeeBasisPoints',
],
[
'value',
KEYPATH_WILDCARD,
'data',
'parsed',
'info',
'extensions',
KEYPATH_WILDCARD,
'state',
'preUpdateAverageRate',
],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'extensions', KEYPATH_WILDCARD, 'state', 'currentRate'],
// parsed Token/Token22 mint account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'decimals'],
// parsed Token/Token22 multisig account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'numRequiredSigners'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'numValidSigners'],
// parsed Stake account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'stake', 'delegation', 'warmupCooldownRate'],
// parsed Sysvar rent account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'exemptionThreshold'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'burnPercent'],
// parsed Vote account
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'commission'],
['value', KEYPATH_WILDCARD, 'data', 'parsed', 'info', 'votes', KEYPATH_WILDCARD, 'confirmationCount'],
],
getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],
getTokenAccountBalance: [
['value', 'decimals'],
Expand Down
Loading

0 comments on commit 88e1eaa

Please sign in to comment.