* explorer: introduce Token Balances on transaction details page
* fix: run prettier
* introduce BigNumber.js
* account for case where mint changes
* introduce BalanceDelta component
* remove unneeded import
* break token balances card into own file
* explorer: add spam registry
* explorer: adjust warning messaging
* fix: remove red borders
* explorer: change spam to scam
* explorer: no need for this to be a prop now
* Add token unlock banner
* make cluster time dynamic
* remove seconds display since it differs slightly from cluster stats
Co-authored-by: rmshea <8948187+rmshea@users.noreply.github.com>
* explorer: show inner instructions on token history
* resolve warnings
* show inner instructions on transaction details page
* adjust contrast and add inner instructions row
* show inner instructions after slot 46915769
* token history show inner instructions after 46915769
* restrict early slots only on mainnet
* self nit naming
* self nit: better name for constant
* add signature-truncate class
* resolve incoming raw transaction on transactions details
This commit allows users to click the "raw" button on transaction
instructions and fetch the raw hex or base64 representations of the instruction.
Adds a fetch action to the click event of the "raw" button on the
instruction UI.
adds a fetchRawTransaction hook that is passed down to the
instruction UI components. Adds addition `rawFetchTrigger` and `raw`
props passed to the instruction card components.
* remove solana beach socket dependency
* remove socket.io dependency
* timeout / retry button for cluster stats
* update web3 version, add EpochInfo typing, handle no samples case
* derive max TPS from final downsampled arrays
* change block time to slot time
* introduce vote and nonce validators
* introduce config, nonce, sysvar, vote validators / types
* change ConfigProgram to ConfigProgramData
* introduce vote account section and nonce account section, clean up superstructs
* nonce section
* round out vote account and nonce account
* refactor account components, add votes tab
* update program data name to program
* introduce slot hashes, stake history
* introduce blockhashes card and config account
* run fix format
* remove comment
* introduce config section and typings
* refactor tabs if blocks
* change superstructs to pick in some cases
* remove account owners, rename vote history, some nit fixes
* general cleanup and improvements
* add recency column
* add balance row to parsed accounts
* union account types under sysvar and config for improved typing. modify row headers for consistency.
* remove random spaces
* use proper type checking and clean up a cast
* feat: add getStakeActivation to web3.js
* feat: add activation status to delegation card
* style: pretty
* feat: add epoch to getStakeActivation call
* feat: add unit test for getStakeActivation in web3.js
* feat: add test for getStakeActivation in web3.js
* feat: add getStakeActivation
* chore: add rollup watch
* feat: use string literal for stake activation state
* fix: dont display empty () for not delegated accounts
* fix: remove optional chaining due to issue with esdoc
* chore: remove optional_chaining
* feat: add live test for getStakeActivation
* feat: add active/inactive stake to account page
* feat: extend _buildArgs to support additional options, simplify unit test
* chore: update @solana/web3.js tp 0.76.0
* style: resolve linter issues
Co-authored-by: Justin Starry <justin@solana.com>
* explorer: Improve display of Serum dex program instructions
* fix formatting
* add market pairs labels for serum addresses
* update serum market registry, remove truncate right
* update serum market labels
* update serum market labels and show label on token details page
* add try catch, simplify to just return title
* remove random space
* add sentry exception handler
* remove extra space
* explorer: Auto-update transactions until they reach max confirmation
* convert to side effect
* proper cleanup
* minor cleanup
* pull isAutoRefresh from context, refactor, and add loading indicator / dhide refresh
* split effects into two, manage interval in one effect only
* simplify interval
* move autoRefresh up a level, use computed value
* flip conditional for readability
* accidentally factored out not found case
* add attempts bailout
* run prettier
* bailout after 5 polls of 0 confirmations
* move bailout into state, change autoRefresh prop to enum to support bailout state
* run prettier to clean up formatting
* reintroduce details not available until max confirmations message
* add error card with refresh if zero confirmation bailout
* allow retry on bailouts