
Security News
How Enterprise Security Is Adapting to AI-Accelerated Threats
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.
@goodaofi/config-lists
Advanced tools
When you would like to make an edit to one of the lists in this repo, please only edit the .ts files. This is for better type control and to reduce the chance of errors. To apply the changes run yarn build (which also includes yarn legacy-build) in the console.
For example, to edit a bond:
constants/bonds.ts file.yarn build to apply these changes to the corresponding JSON filesyarn test to make sure the JSON files are validHumans interact with the TypeScript files & our services pull in the JSON files! ❤️
yalc publish (in package)yalc add <package-name> (in package consumer repo)
yalc link is another optionyalc remove <package-name>
yalc remove --all another optionyalc installationUsing NPM:
npm i yalc -g
Using Yarn:
yarn global add yalc
npm linkyarn (Install latest deps)yarn buildnpm linknpm link @goodaofi/config-listsyarn buildnpm unlink @goodaofi/config-listsyarn install (Reinstall package)npm unlinkSometimes a package needs to be deployed with test tokens. We suggest using a --tag test tag scheme
to denote this packages have test tokens included in them
# no need to run yarn build as it's included in the prepublishOnly script
yarn publish --tag test
yarn publish command will prompt you for a new version. We suggest using X.X.X-test.0 version scheme.
It will automatically bump the version for you and create a commit with the new version.
We could apply the same logic to deploy alpha packages with --tag alpha and so on.
# no need to run yarn build as it's included in the prepublishOnly script
yarn publish --tag alpha
yarn publish command will prompt you for a new version. We suggest using X.X.X-alpha.0 version scheme.
It will automatically bump the version for you and create a commit with the new version.
This is the current interface of Token
export interface Token {
symbol: string
address: Partial<Record<ChainId, string>>
active: boolean
decimals?: Partial<Record<ChainId, number | null>>
dontFetch?: boolean
lpToken?: boolean
price?: number
liquidityDex?: Partial<Record<ChainId, LiquidityDex>>
getLpUrl?: Partial<Record<ChainId, string>>
}
With more recently added properties liquidityDex and getLpUrl
LiquidityDexThis property was added because of us introducing different non ApeLP bonds. For example QS (Algebra) and PCS. This is a way of telling FE that the bond is a non ApeLP and the pricing of the LP should be retrieved differently. Besides that we also have different zapping strategies so this also makes sure the right zap strategy is used.
liquidityDex: {
[ChainId.BSC]: LiquidityDex.PancakeSwapV2,
[ChainId.Polygon]: LiquidityDex.Algebra,
},
getLpUrlFor some non ApeLP bonds we don't have a working zap strategy and we should send users to an external url to get the right LPs. This is the url the users will be send to.
Only used and a must when zap version for liquidityDex is ZapVersion.External.
Check dexToZapMapping.ts for what strategy is used for what LiquidityDex.
getLpUrl: {
[ChainId.BSC]: "https://www.{url}.com",
[ChainId.Polygon]: "https://www.{url}.com",
},
pcsBnbUsdt: {
symbol: 'BNB-USDT',
address: {
[ChainId.BSC]: '0x16b9a82891338f9bA80E2D6970FddA79D1eb0daE',
},
decimals: {
[ChainId.BSC]: 18,
},
active: false,
lpToken: true,
liquidityDex: {
[ChainId.BSC]: LiquidityDex.PancakeSwapV2,
},
getLpUrl: {
[ChainId.BSC]: 'https://pancakeswap.finance/v2/add/0x55d398326f99059fF775485246999027B3197955/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
},
},
This is the current interface for Bonds
export interface BondsConfig {
index: number
contractAddress: Partial<Record<ChainId, string>>
bondVersion: BondVersion
bondType: 'liquidity' | 'reserve' | 'launch'
token: Token
quoteToken: Token
lpToken: Token
earnToken: Token
bondNftAddress: Partial<Record<ChainId, string>>
inactive?: boolean
projectLink?: string
twitter?: string
initTime?: Partial<Record<ChainId, number>>
initPrice?: Partial<Record<ChainId, number>>
audit?: string
soldOut?: boolean
bondArt?: {
collection: BondArtCollection // i.e. BondArtCollection.Goodao_Collection1
}
}
With more recently added property bondArt
bondArtThis property was added to be able to support multiple bond arts. Currently the supported bond arts are Goodao with default Goodao if nothing is specified.
export enum BondArtCollection {
Goodao_Collection1 = 'Goodao_Collection1',
}
bondArt: {
collection: BondArtCollection.Goodao_Collection1
}
FAQs
## How to Manage this Repo
The npm package @goodaofi/config-lists receives a total of 59 weekly downloads. As such, @goodaofi/config-lists popularity was classified as not popular.
We found that @goodaofi/config-lists demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.