* Metaplex NFTs: Added external URL button to explorer
- moved fetching MetadataJSON from URI to MetaplexNFTHeader
- checked if external_url exists in MetadataJSON
- rendered a button to link to the external url if it exists
* cleanup unused import
* fixed code formatting
* Changed NFT website button to overview section field and Moved NFT URI fetch logic to accounts provider.
* removed unused CSS
* Update TokenAccountSection.tsx
* fixed formatting and 1 other error
* Fixed an issue where NFTs without an Editon were not shown as NFTs
* Added a central isMetaplexNFT helper and added the correct logic to TokenAccountSection
Co-authored-by: Will Roeder <roederw@titan.lan>
* Removed duplicated Metaplex logic/schemas and instead consume @metaplex/js
* Bumped @metaplex/js version to 1.2.0
Co-authored-by: Will Roeder <roederw@wills-mbp.lan>
* Adding NFT support to the explorer / copying over required Metaplex logic
* Fixing a whitespace issue causing validation to fail
* Removed MetadataProvider and instead metadata is being stamped on TokenProgramData
* Fixing EOF new line sanity check issue
* Added styling improvements to the Creator dropdown and NFT asset
* Forgot to run Prettier
* Creator address links were only redirecting to Mainnet. This redirects to the appropriate cluster
* Removed dependencies not required for Explorer based use. Fixed package-lock.json because of a legacy npm version
* Removed react-content-loader and popperjs
* Removed MeshArt. Nobody likes VR anyways
* Capped HTML animation asset width to 150px
* Added an Editon check to properly identify NFTs
* Refactoring away for un-necessary helpers
* Dropped antd and added an image loading placeholder
* Added a HTML animation flickering fix
* Removed arweave check for valid uri properties
* Resolving some nit comments and cleaning up
* Adding Tooltips to better explain the content in the NFT Header
* Started consuming MasterEdition data which is being used to display Seller Fee and Max Supply information in the Token Account Section
* Fixing a bug where Edition NFTs weren't properly supported
* Added better Edition support and labeling when there isn't Master Edition information added to metaplex metadata
* Fixed Max Supply issue where 0 should be displayed as 1
* Updated tooltips to be shorter and more user friendly
* Separting NFTHeader from AccountDetailsPage, adding a new TokenSection for NFTs and adding some cleanup
* fix: disable block not found error message and give feedback for rewards not found
* feat: add lowest available epochs for rewards
* feat: make sure current epoch is not fetched
* feat: introduce staking rewards tab
* feat: take into consideration stake activation
* fix: report fetch errors
* fix: find rewards all the way to epoch 0
* fix: find rewards all the way to epoch 0
* fix: autocomplete error
* fix: load one page at a time
* feat: refactor and introduce balances and instructions tabs for mints
* fix: refactor instruction utilities into common file
* refactor: move transaction history components into one spot
* chore: minor cleanup
* fix: show only token instructions
* fix: use better naming for slugs and paths
* feat: refactor and work on transaction status
* feat: show token transfer details
* fix: format code and remove some extra spaces
* fix: exclude non-mint transfers
* feat: introduce react-moment and reorganize history tables
* feat: reintroduce status columns and reorganize columns
* fix: remove ts-ignore
* feat: refactor history card components
* fix: remove detailed history provider
* fix: filter instructions and inner instructions based on mint
* fix: use better key and report parse error
* fix: remove double spacing
* feat: batch transaction map batches
* fix: remove debug code
* fix: pass proper signatureInfo and reduce batch size to 10
* feat: add styles form staking component
* feat: introduce circulating supply, active stake, and price on cluster stats page
* feat: add an error state for coingecko
* 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>