
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
@orca-so/orca-mintlists-demo
Advanced tools
This is the repository for managing SPL tokens frequently used by Orca which replaces the Mongo DB backed token database. Here we only manage lists of mint addresses, and there can be multiple lists managed in the repository in the `./src/mintlists/` dire
This is the repository for managing SPL tokens frequently used by Orca which replaces the Mongo DB
backed token database. Here we only manage lists of mint addresses, and there can be multiple lists
managed in the repository in the ./src/mintlists/
directory.
Mintlist management also relies on two other Orca packages
token-sdk
- SDK utilities and classes for working with tokensmintlist-cli
- CLI tool used by the mintlist repository for generating code and automating token management - e.g. scripts for adding and removing tokensWe currently maintain two mintlists which represent different types of business logic. Tokens that are in neither list will not be searchable or visible in our web app until we implement arbitrary token support in the future.
orca-default.mintlist.json
This list represents what our web app considers the "whitelisted" tokens. Tokens in this list will be visible by default in our web app (e.g. token auto-complete drop-down, API endpoint).
Presence in the default lists takes priority over the extended list - if a mint is in both lists, it will be considered "whitelisted".
orca-extended.mintlist.json
Tokens that are only visible by default in our web app but NOT "whitelisted" tokens.
This list is currently automatically updated every 6 hours via the Auto Update action. This pulls the newest Solana token list from CoinGecko and adds any new mints that are detected.
Here are the common actions to modify mintlists.
main
orca-default.mintlist.json
mint1 mint2 ...
main
orca-extended.mintlist.json
mint1 mint2 ...
Note that if a token is removed from the default list and does not exist in the extended list, it will completely disappear from the UI. If we still want the token to appear in the UI but only be un-whitelisted, the token needs to exist in the extended list.
main
orca-default.mintlist.json
mint1 mint2 ...
./src/override.json
main
* = generated code
.
└── orca-mintlists/
├── .github/
│ └── workflows/
├── bin/
├── dist*/
│ └── <contents published to NPM>
├── src/
│ ├── mintlists/
│ │ ├── orca-default.mintlist.json
│ │ └── orca-extended.mintlist.json
│ ├── tokenlists*/
│ │ └── <generated based on mintlists>
│ ├── overrides.json
│ └── index.ts*
└── package.json
Changes can be made manually - see example PR https://github.com/orca-so/orca-mintlists/pull/1.
Whenever changes are detected on the main
branch in any of the mintlist JSON files, we generate
a new tokenlist from the mints. The tokenlist is used for caching on the client-side to prevent
expensive fetches when first loading a large list of mints.
Once the tokenlist(s) are generated, we generate an index.ts
file that exports all of the JSON
files and compiles the package into the dist/
folder. A new version is then published as an NPM
package that contains the latest mintlists and tokenlists. Clients use the latest
NPM tag to pull
in new changes on a set interval.
In the future, we can move the management of the JSON files from NPM to an on-chain solution like a Solana contract + Arweave.
This repository requires the following secrets for the bump-and-publish
GitHub workflow.
Also need to set up the following variable
mintlist-cli
package version - e.g. @orca-so/mintlist-cli@0.0.1-alpha.10Once mintlist changes are detected in the main
branch, the package version will automatically be
updated in the following manner
mintlists
directory.FAQs
This is the repository for managing SPL tokens frequently used by Orca which replaces the Mongo DB backed token database. Here we only manage lists of mint addresses, and there can be multiple lists managed in the repository in the `./src/mintlists/` dire
The npm package @orca-so/orca-mintlists-demo receives a total of 0 weekly downloads. As such, @orca-so/orca-mintlists-demo popularity was classified as not popular.
We found that @orca-so/orca-mintlists-demo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.