diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index f06235c..0000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -dist diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index e82ce57..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - env: { - browser: false, - es2021: true, - mocha: true, - node: true, - }, - plugins: ["@typescript-eslint"], - extends: ["standard", "plugin:prettier/recommended", "plugin:node/recommended"], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 12, - }, - rules: { - "node/no-unsupported-features/es-syntax": ["error", { ignores: ["modules"] }], - "@typescript-eslint/no-var-requires": 0, - }, -}; diff --git a/.husky/_/pre-commit b/.husky/_/pre-commit new file mode 100755 index 0000000..4855f61 --- /dev/null +++ b/.husky/_/pre-commit @@ -0,0 +1,57 @@ +#!/bin/sh + +if [ "$LEFTHOOK_VERBOSE" = "1" -o "$LEFTHOOK_VERBOSE" = "true" ]; then + set -x +fi + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +call_lefthook() +{ + if test -n "$LEFTHOOK_BIN" + then + "$LEFTHOOK_BIN" "$@" + elif lefthook -h >/dev/null 2>&1 + then + lefthook "$@" + else + dir="$(git rev-parse --show-toplevel)" + osArch=$(uname | tr '[:upper:]' '[:lower:]') + cpuArch=$(uname -m | sed 's/aarch64/arm64/;s/x86_64/x64/') + if test -f "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" + then + "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" "$@" + elif test -f "$dir/node_modules/lefthook/bin/index.js" + then + "$dir/node_modules/lefthook/bin/index.js" "$@" + + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook "$@" + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook "$@" + elif pnpm lefthook -h >/dev/null 2>&1 + then + pnpm lefthook "$@" + elif swift package plugin lefthook >/dev/null 2>&1 + then + swift package --disable-sandbox plugin lefthook "$@" + elif command -v mint >/dev/null 2>&1 + then + mint run csjones/lefthook-plugin "$@" + else + echo "Can't find lefthook in PATH" + fi + fi +} + +call_lefthook run "pre-commit" "$@" diff --git a/.husky/_/prepare-commit-msg b/.husky/_/prepare-commit-msg new file mode 100755 index 0000000..2655902 --- /dev/null +++ b/.husky/_/prepare-commit-msg @@ -0,0 +1,57 @@ +#!/bin/sh + +if [ "$LEFTHOOK_VERBOSE" = "1" -o "$LEFTHOOK_VERBOSE" = "true" ]; then + set -x +fi + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +call_lefthook() +{ + if test -n "$LEFTHOOK_BIN" + then + "$LEFTHOOK_BIN" "$@" + elif lefthook -h >/dev/null 2>&1 + then + lefthook "$@" + else + dir="$(git rev-parse --show-toplevel)" + osArch=$(uname | tr '[:upper:]' '[:lower:]') + cpuArch=$(uname -m | sed 's/aarch64/arm64/;s/x86_64/x64/') + if test -f "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" + then + "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" "$@" + elif test -f "$dir/node_modules/lefthook/bin/index.js" + then + "$dir/node_modules/lefthook/bin/index.js" "$@" + + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook "$@" + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook "$@" + elif pnpm lefthook -h >/dev/null 2>&1 + then + pnpm lefthook "$@" + elif swift package plugin lefthook >/dev/null 2>&1 + then + swift package --disable-sandbox plugin lefthook "$@" + elif command -v mint >/dev/null 2>&1 + then + mint run csjones/lefthook-plugin "$@" + else + echo "Can't find lefthook in PATH" + fi + fi +} + +call_lefthook run "prepare-commit-msg" "$@" diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..de0e8e1 --- /dev/null +++ b/biome.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "ignore": ["./dist", "node_modules"] + }, + "formatter": { + "enabled": true, + "indentStyle": "space" + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + } +} diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 0000000..3d59446 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,24 @@ +# EXAMPLE USAGE: +# +# Refer for explanation to following link: +# https://github.com/evilmartians/lefthook/blob/master/docs/configuration.md +# + +# pre-commit: +# parallel: true +# commands: +# eslint: +# glob: "*.{js,ts,jsx,tsx}" +# run: yarn eslint {staged_files} +# scripts: +# "hello.js": +# runner: node +# "any.go": +# runner: go run + +pre-commit: + commands: + check: + glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}" + run: yarn lint-format + stage_fixed: true \ No newline at end of file diff --git a/package.json b/package.json index f7e17e5..300d3cc 100644 --- a/package.json +++ b/package.json @@ -11,15 +11,13 @@ "access": "public" }, "type": "module", - "files": [ - "/dist/**/*" - ], + "files": ["/dist/**/*"], "scripts": { - "lint": "yarn eslint && yarn prettier --list-different", - "lint-fix": "yarn eslint --fix && yarn prettier --write", - "prettier": "prettier .", - "eslint": "eslint .", - "prepare": "yarn build", + "lint": "yarn biome lint", + "lint-fix": "yarn biome lint --write", + "format": "yarn biome format", + "format-fix": "yarn biome format --write", + "lint-format": "yarn biome check --write --no-errors-on-unmatched --files-ignore-unknown=true", "build": "yarn run clean && yarn run build:cjs && yarn run build:esm && yarn run build:types", "build:cjs": "tsc --project tsconfig.json --module commonjs --outDir ./dist/cjs --removeComments --verbatimModuleSyntax false && echo > ./dist/cjs/package.json '{\"type\":\"commonjs\"}'", "build:esm": "tsc --project tsconfig.json --module es2015 --outDir ./dist/esm && echo > ./dist/esm/package.json '{\"type\":\"module\",\"sideEffects\":false}'", @@ -27,6 +25,7 @@ "clean": "rm -rf ./dist" }, "devDependencies": { + "@biomejs/biome": "1.9.4", "@typescript-eslint/eslint-plugin": "^6.7.3", "@typescript-eslint/parser": "^6.7.3", "eslint": "^8.50.0", @@ -37,6 +36,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-promise": "^6.1.1", + "lefthook": "^1.10.1", "prettier": "^3.0.3", "typescript": "^5.2.2" }, diff --git a/src/networks.ts b/src/networks.ts index 8375214..7ed3384 100644 --- a/src/networks.ts +++ b/src/networks.ts @@ -36,7 +36,7 @@ export const MAINNET_CHAIN_IDs = { SUPERSEED: 5330, WORLD_CHAIN: 480, ZK_SYNC: 324, - ZORA: 7777777 + ZORA: 7777777, }; export const CHAIN_IDs = { @@ -45,11 +45,11 @@ export const CHAIN_IDs = { }; export enum ChainFamily { - NONE, - OP_STACK, - ORBIT, // Future: Might need to distinguish between ORBIT_L2 and ORBIT_L3... - ZK_STACK -}; + NONE = 0, + OP_STACK = 1, + ORBIT = 2, // Future: Might need to distinguish between ORBIT_L2 and ORBIT_L3... + ZK_STACK = 3, +} interface PublicNetwork { name: string; @@ -70,67 +70,67 @@ export const PRODUCTION_NETWORKS: { [chainId: number]: PublicNetwork } = { name: "Arbitrum One", family: NONE, nativeToken: "ETH", - blockExplorer: "https://arbiscan.io" + blockExplorer: "https://arbiscan.io", }, [CHAIN_IDs.BASE]: { name: "Base", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://basescan.org" + blockExplorer: "https://basescan.org", }, [CHAIN_IDs.BLAST]: { name: "Blast", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://blastscan.io" + blockExplorer: "https://blastscan.io", }, [CHAIN_IDs.BOBA]: { name: "Boba", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://blockexplorer.boba.network" + blockExplorer: "https://blockexplorer.boba.network", }, [CHAIN_IDs.INK]: { name: "Ink", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://explorer.inkonchain.com" + blockExplorer: "https://explorer.inkonchain.com", }, [CHAIN_IDs.LINEA]: { name: "Linea", family: NONE, nativeToken: "ETH", - blockExplorer: "https://lineascan.build" + blockExplorer: "https://lineascan.build", }, [CHAIN_IDs.LISK]: { name: "Lisk", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://blockscout.lisk.com" + blockExplorer: "https://blockscout.lisk.com", }, [CHAIN_IDs.MAINNET]: { name: "Mainnet", family: NONE, nativeToken: "ETH", - blockExplorer: "https://etherscan.io" + blockExplorer: "https://etherscan.io", }, [CHAIN_IDs.MODE]: { name: "Mode", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://explorer.mode.network" + blockExplorer: "https://explorer.mode.network", }, [CHAIN_IDs.OPTIMISM]: { name: "Optimism", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://optimistic.etherscan.io" + blockExplorer: "https://optimistic.etherscan.io", }, [CHAIN_IDs.POLYGON]: { name: "Polygon", family: NONE, nativeToken: "MATIC", - blockExplorer: "https://polygonscan.com" + blockExplorer: "https://polygonscan.com", }, [CHAIN_IDs.REDSTONE]: { name: "Redstone", @@ -142,13 +142,13 @@ export const PRODUCTION_NETWORKS: { [chainId: number]: PublicNetwork } = { name: "Scroll", family: NONE, nativeToken: "ETH", - blockExplorer: "https://scrollscan.com" + blockExplorer: "https://scrollscan.com", }, [CHAIN_IDs.SUPERSEED]: { name: "Superseed", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "" // @todo: To be added later + blockExplorer: "", // @todo: To be added later }, [CHAIN_IDs.WORLD_CHAIN]: { name: "World Chain", @@ -160,14 +160,14 @@ export const PRODUCTION_NETWORKS: { [chainId: number]: PublicNetwork } = { name: "zkSync", family: NONE, nativeToken: "ETH", - blockExplorer: "https://era.zksync.network" + blockExplorer: "https://era.zksync.network", }, [CHAIN_IDs.ZORA]: { name: "Zora", family: OP_STACK, nativeToken: "ETH", blockExplorer: "https://zorascan.xyz", - } + }, }; export const TEST_NETWORKS: { [chainId: number]: PublicNetwork } = { @@ -175,67 +175,67 @@ export const TEST_NETWORKS: { [chainId: number]: PublicNetwork } = { name: "Arbitrum Sepolia", family: NONE, nativeToken: "ETH", - blockExplorer: "https://sepolia.arbiscan.io" + blockExplorer: "https://sepolia.arbiscan.io", }, [CHAIN_IDs.BASE_SEPOLIA]: { name: "Base Sepolia", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://sepolia.basescan.org" + blockExplorer: "https://sepolia.basescan.org", }, [CHAIN_IDs.BLAST_SEPOLIA]: { name: "Blast Sepolia", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://sepolia.blastscan.io" + blockExplorer: "https://sepolia.blastscan.io", }, [CHAIN_IDs.LISK_SEPOLIA]: { name: "Lisk Sepolia", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://sepolia-blockscout.lisk.com" + blockExplorer: "https://sepolia-blockscout.lisk.com", }, [CHAIN_IDs.MODE_SEPOLIA]: { name: "Mode Sepolia", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://sepolia.explorer.mode.network" + blockExplorer: "https://sepolia.explorer.mode.network", }, [CHAIN_IDs.OPTIMISM_SEPOLIA]: { name: "Optimism Sepolia", family: OP_STACK, nativeToken: "ETH", - blockExplorer: "https://sepolia-optimism.etherscan.io" + blockExplorer: "https://sepolia-optimism.etherscan.io", }, [CHAIN_IDs.POLYGON_AMOY]: { name: "Polygon Amoy", family: NONE, nativeToken: "MATIC", - blockExplorer: "https://amoy.polygonscan.com" + blockExplorer: "https://amoy.polygonscan.com", }, [CHAIN_IDs.SCROLL_SEPOLIA]: { name: "Scroll Sepolia", family: NONE, nativeToken: "ETH", - blockExplorer: "https://sepolia.scrollscan.com" + blockExplorer: "https://sepolia.scrollscan.com", }, [CHAIN_IDs.SEPOLIA]: { name: "Sepolia", family: NONE, nativeToken: "ETH", - blockExplorer: "https://sepolia.etherscan.io" + blockExplorer: "https://sepolia.etherscan.io", }, [CHAIN_IDs.ZK_SYNC_SEPOLIA]: { name: "zkSync Sepolia", family: NONE, nativeToken: "ETH", - blockExplorer: "https://sepolia-era.zksync.network" + blockExplorer: "https://sepolia-era.zksync.network", }, [CHAIN_IDs.LENS_SEPOLIA]: { name: "Lens Sepolia", family: ChainFamily.ZK_STACK, nativeToken: "GRASS", - blockExplorer: "https://block-explorer.testnet.lens.dev" + blockExplorer: "https://block-explorer.testnet.lens.dev", }, }; diff --git a/src/tokens.ts b/src/tokens.ts index a0e8f7b..0d838b7 100644 --- a/src/tokens.ts +++ b/src/tokens.ts @@ -95,7 +95,8 @@ export const TOKEN_SYMBOLS_MAP = { addresses: { [CHAIN_IDs.ALEPH_ZERO]: "0xB3f0eE446723f4258862D949B4c9688e7e7d35d3", [CHAIN_IDs.ARBITRUM]: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", - [CHAIN_IDs.ARBITRUM_SEPOLIA]: "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", + [CHAIN_IDs.ARBITRUM_SEPOLIA]: + "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", [CHAIN_IDs.BASE]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.BASE_SEPOLIA]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.BOBA]: "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000", @@ -110,7 +111,8 @@ export const TOKEN_SYMBOLS_MAP = { [CHAIN_IDs.MODE]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.MODE_SEPOLIA]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.OPTIMISM]: "0x4200000000000000000000000000000000000006", - [CHAIN_IDs.OPTIMISM_SEPOLIA]: "0x4200000000000000000000000000000000000006", + [CHAIN_IDs.OPTIMISM_SEPOLIA]: + "0x4200000000000000000000000000000000000006", [CHAIN_IDs.POLYGON]: "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", [CHAIN_IDs.POLYGON_AMOY]: "0x52eF3d68BaB452a294342DC3e5f464d7f610f72E", [CHAIN_IDs.REDSTONE]: "0x4200000000000000000000000000000000000006", @@ -121,7 +123,7 @@ export const TOKEN_SYMBOLS_MAP = { [CHAIN_IDs.ZK_SYNC]: "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", [CHAIN_IDs.ZK_SYNC_SEPOLIA]: "0x2D6Db36B3117802E996f13073A08A685D3FeF7eD", [CHAIN_IDs.ZORA]: "0x4200000000000000000000000000000000000006", - [CHAIN_IDs.LENS_SEPOLIA]: "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16" + [CHAIN_IDs.LENS_SEPOLIA]: "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", }, coingeckoId: "ethereum", }, @@ -130,9 +132,11 @@ export const TOKEN_SYMBOLS_MAP = { symbol: "GHO", decimals: 18, addresses: { - [CHAIN_IDs.ARBITRUM_SEPOLIA]: "0xb13Cfa6f8B2Eed2C37fB00fF0c1A59807C585810", + [CHAIN_IDs.ARBITRUM_SEPOLIA]: + "0xb13Cfa6f8B2Eed2C37fB00fF0c1A59807C585810", [CHAIN_IDs.BASE_SEPOLIA]: "0x7CFa3f3d1cded0Da930881c609D4Dbf0012c14Bb", - [CHAIN_IDs.OPTIMISM_SEPOLIA]: "0xb13Cfa6f8B2Eed2C37fB00fF0c1A59807C585810", + [CHAIN_IDs.OPTIMISM_SEPOLIA]: + "0xb13Cfa6f8B2Eed2C37fB00fF0c1A59807C585810", [CHAIN_IDs.MAINNET]: "0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f", [CHAIN_IDs.SEPOLIA]: "0xc4bF5CbDaBE595361438F8c6a187bDc330539c60", }, @@ -223,12 +227,14 @@ export const TOKEN_SYMBOLS_MAP = { decimals: 6, addresses: { [CHAIN_IDs.ARBITRUM]: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", - [CHAIN_IDs.ARBITRUM_SEPOLIA]: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d", + [CHAIN_IDs.ARBITRUM_SEPOLIA]: + "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d", [CHAIN_IDs.BASE]: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", [CHAIN_IDs.BASE_SEPOLIA]: "0x036CbD53842c5426634e7929541eC2318f3dCF7e", [CHAIN_IDs.MAINNET]: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", [CHAIN_IDs.OPTIMISM]: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - [CHAIN_IDs.OPTIMISM_SEPOLIA]: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7", + [CHAIN_IDs.OPTIMISM_SEPOLIA]: + "0x5fd84259d66Cd46123540766Be93DFE6D43130D7", [CHAIN_IDs.POLYGON]: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", [CHAIN_IDs.POLYGON_AMOY]: "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582", [CHAIN_IDs.SCROLL]: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4", @@ -249,7 +255,8 @@ export const TOKEN_SYMBOLS_MAP = { [CHAIN_IDs.MAINNET]: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", [CHAIN_IDs.MODE]: "0xd988097fb8612cc24eeC14542bC03424c656005f", [CHAIN_IDs.OPTIMISM]: "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", - [CHAIN_IDs.OPTIMISM_SEPOLIA]: "0x9552a0a6624A23B848060AE5901659CDDa1f83f8", + [CHAIN_IDs.OPTIMISM_SEPOLIA]: + "0x9552a0a6624A23B848060AE5901659CDDa1f83f8", [CHAIN_IDs.POLYGON]: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", [CHAIN_IDs.WORLD_CHAIN]: "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1", [CHAIN_IDs.ZK_SYNC]: "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", @@ -334,7 +341,8 @@ export const TOKEN_SYMBOLS_MAP = { addresses: { [CHAIN_IDs.ALEPH_ZERO]: "0xB3f0eE446723f4258862D949B4c9688e7e7d35d3", [CHAIN_IDs.ARBITRUM]: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", - [CHAIN_IDs.ARBITRUM_SEPOLIA]: "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", + [CHAIN_IDs.ARBITRUM_SEPOLIA]: + "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", [CHAIN_IDs.BASE]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.BASE_SEPOLIA]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.BOBA]: "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000", @@ -349,7 +357,8 @@ export const TOKEN_SYMBOLS_MAP = { [CHAIN_IDs.MODE]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.MODE_SEPOLIA]: "0x4200000000000000000000000000000000000006", [CHAIN_IDs.OPTIMISM]: "0x4200000000000000000000000000000000000006", - [CHAIN_IDs.OPTIMISM_SEPOLIA]: "0x4200000000000000000000000000000000000006", + [CHAIN_IDs.OPTIMISM_SEPOLIA]: + "0x4200000000000000000000000000000000000006", [CHAIN_IDs.POLYGON]: "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", [CHAIN_IDs.POLYGON_AMOY]: "0x52eF3d68BaB452a294342DC3e5f464d7f610f72E", [CHAIN_IDs.REDSTONE]: "0x4200000000000000000000000000000000000006", @@ -382,9 +391,9 @@ export const TOKEN_SYMBOLS_MAP = { decimals: 18, addresses: { [CHAIN_IDs.LENS_SEPOLIA]: "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", - [CHAIN_IDs.SEPOLIA]: "0x8D725d9dBBb5E0667efeDC833D6A9e8C6cA02C68" + [CHAIN_IDs.SEPOLIA]: "0x8D725d9dBBb5E0667efeDC833D6A9e8C6cA02C68", }, - coingeckoId: "grass" // TODO: verify when listed + coingeckoId: "grass", // TODO: verify when listed }, WGRASS: { name: "Wrapped Grass", @@ -392,17 +401,17 @@ export const TOKEN_SYMBOLS_MAP = { decimals: 18, addresses: { [CHAIN_IDs.LENS_SEPOLIA]: "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", - [CHAIN_IDs.SEPOLIA]: "0x8D725d9dBBb5E0667efeDC833D6A9e8C6cA02C68" + [CHAIN_IDs.SEPOLIA]: "0x8D725d9dBBb5E0667efeDC833D6A9e8C6cA02C68", }, - coingeckoId: "wgrass" // TODO: verify when listed + coingeckoId: "wgrass", // TODO: verify when listed }, }; // Hard-coded mapping of token symbols that should be treated as having equivalent // prices. The right-hand side should map to a token symbol in TOKEN_SYMBOLS_MAP. export const TOKEN_EQUIVALENCE_REMAPPING: { [symbol: string]: string } = { - [TOKEN_SYMBOLS_MAP["USDC.e"].symbol]: TOKEN_SYMBOLS_MAP["USDC"].symbol, - [TOKEN_SYMBOLS_MAP["USDbC"].symbol]: TOKEN_SYMBOLS_MAP["USDC"].symbol, - [TOKEN_SYMBOLS_MAP["USDzC"].symbol]: TOKEN_SYMBOLS_MAP["USDC"].symbol, - [TOKEN_SYMBOLS_MAP["USDB"].symbol]: TOKEN_SYMBOLS_MAP["DAI"].symbol, + [TOKEN_SYMBOLS_MAP["USDC.e"].symbol]: TOKEN_SYMBOLS_MAP.USDC.symbol, + [TOKEN_SYMBOLS_MAP.USDbC.symbol]: TOKEN_SYMBOLS_MAP.USDC.symbol, + [TOKEN_SYMBOLS_MAP.USDzC.symbol]: TOKEN_SYMBOLS_MAP.USDC.symbol, + [TOKEN_SYMBOLS_MAP.USDB.symbol]: TOKEN_SYMBOLS_MAP.DAI.symbol, }; diff --git a/tsconfig.json b/tsconfig.json index 2edf1db..a6cb775 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -32,4 +32,4 @@ // output to dist folder "outDir": "./dist" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 15ccb59..1d46c04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,60 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@biomejs/biome@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.9.4.tgz#89766281cbc3a0aae865a7ff13d6aaffea2842bf" + integrity sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog== + optionalDependencies: + "@biomejs/cli-darwin-arm64" "1.9.4" + "@biomejs/cli-darwin-x64" "1.9.4" + "@biomejs/cli-linux-arm64" "1.9.4" + "@biomejs/cli-linux-arm64-musl" "1.9.4" + "@biomejs/cli-linux-x64" "1.9.4" + "@biomejs/cli-linux-x64-musl" "1.9.4" + "@biomejs/cli-win32-arm64" "1.9.4" + "@biomejs/cli-win32-x64" "1.9.4" + +"@biomejs/cli-darwin-arm64@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz#dfa376d23a54a2d8f17133c92f23c1bf2e62509f" + integrity sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw== + +"@biomejs/cli-darwin-x64@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz#eafc2ce3849d385fc02238aad1ca4a73395a64d9" + integrity sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg== + +"@biomejs/cli-linux-arm64-musl@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz#d780c3e01758fc90f3268357e3f19163d1f84fca" + integrity sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA== + +"@biomejs/cli-linux-arm64@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz#8ed1dd0e89419a4b66a47f95aefb8c46ae6041c9" + integrity sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g== + +"@biomejs/cli-linux-x64-musl@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz#f36982b966bd671a36671e1de4417963d7db15fb" + integrity sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg== + +"@biomejs/cli-linux-x64@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz#a0a7f56680c76b8034ddc149dbf398bdd3a462e8" + integrity sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg== + +"@biomejs/cli-win32-arm64@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz#e2ef4e0084e76b7e26f0fc887c5ef1265ea56200" + integrity sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg== + +"@biomejs/cli-win32-x64@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz#4c7afa90e3970213599b4095e62f87e5972b2340" + integrity sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA== + "@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -1277,6 +1331,72 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" +lefthook-darwin-arm64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.10.1.tgz#dfab2281cc1920a09853896b5b2d079eec6c6622" + integrity sha512-dGi4Oiu2LSve8Xmz7vHWlUbnU5mk6HnhTbC1CnXqaFbb08yNYSYoJBwsalS+LoO4L6I/pqnv32ESCbdIzuhBiQ== + +lefthook-darwin-x64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-darwin-x64/-/lefthook-darwin-x64-1.10.1.tgz#89032b2d72968af911b53fd6f805a1fce61a968c" + integrity sha512-NkEkBZm5jYH4fqbpJweDyJx/+/jWLst0FEHOCU5QZ8xFm+42hTGj4+6kfbjirU1ubvmRY/TeilYDsq1OIr5jZQ== + +lefthook-freebsd-arm64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.10.1.tgz#eeec59879454646abed1bf12c24de853ff9c405c" + integrity sha512-hX/c4p0+JoCrr55e8zfXC63ReW3Cg4WKzZKP6NA2uNDaKItHlQ4zR3CCOytdVnuPXOa6f93WB9lmRYtIp34dqw== + +lefthook-freebsd-x64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.10.1.tgz#87118f415cf669b2600147121ddd60af88a34287" + integrity sha512-0suh8/Mx56Rircc/hvr3vU/XKv0E/afD/LkF8lkOPm4besgq6k9HCkpdPgBykP8Q0ve/W3rOlXeBQ7c7oDhX8Q== + +lefthook-linux-arm64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-linux-arm64/-/lefthook-linux-arm64-1.10.1.tgz#6769a4ece41ba616799247a22766205c0f759cd3" + integrity sha512-zADf8CSkoV7EfpLsy5U22gq0+famMjUEfKy9nacS6zEgPvMxDk5Q/7QpnMWJeeiwkf9XWgQ+GATWuGahA3Id9A== + +lefthook-linux-x64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-linux-x64/-/lefthook-linux-x64-1.10.1.tgz#a511024a483ededa1b0b94dc03afaceb9f1df978" + integrity sha512-wdPVMZAN6vi3/4rlhzaWjR5N3AZE5+dUd3lSzfP6mmfXVQtwnJ29HFUlje6TAnwZBSOBI8yoMsz38FrhPuayYg== + +lefthook-openbsd-arm64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.10.1.tgz#98a987c095589dda2a578cfd8c66715c23f4998a" + integrity sha512-PJ0fHvjcgapaWsn+4uhj3ZMRvkV0Ug+BOrRovF+SdXdA7DiBbRzFPTpUWrGoV3lw7uFjY6pJqGqakDqZ0J7J6g== + +lefthook-openbsd-x64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.10.1.tgz#e59c762d2c26cedd6686c92b0fbca2f39d8bca6b" + integrity sha512-Bs0hBWHW4s6Dp0qVG4LXv96Vo1NXsM/y6VrWten3pv2oEO18Yw9PmKd6vl4mGI7yA72wq4HNATBagFx460IIEw== + +lefthook-windows-arm64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-windows-arm64/-/lefthook-windows-arm64-1.10.1.tgz#b42d15b8c9cffd9d9bacfa777ac888ac48ab3dc5" + integrity sha512-xoBiiAChVSv1YYVkwkpfEoAbjNuRblrA0tI8GOtPBhkzlfBP3MaD5JfU2SPzID9IfAG/yV5dOlrLVKhacQA66A== + +lefthook-windows-x64@1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook-windows-x64/-/lefthook-windows-x64-1.10.1.tgz#df558118ea7d450623e7df504679757c94aa81a1" + integrity sha512-+AwTHtBP8npL604Dd13rnEblWh6a9+sf0lSzoLy22y3jdae4kVENLmYoeZ6bz0Wf6SF18UCjf+byvspQRnnCHg== + +lefthook@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/lefthook/-/lefthook-1.10.1.tgz#f77d751791ed73962e1ce5e96893e1a9400b96e7" + integrity sha512-WLwXd8FxAcZ0KJg0d/u1r2nY7F/i2XJlyxQSKJkFkbuzqggNU876ksHuNAluSbsZ4nNdI+tWbBUu1Th3SPvgcQ== + optionalDependencies: + lefthook-darwin-arm64 "1.10.1" + lefthook-darwin-x64 "1.10.1" + lefthook-freebsd-arm64 "1.10.1" + lefthook-freebsd-x64 "1.10.1" + lefthook-linux-arm64 "1.10.1" + lefthook-linux-x64 "1.10.1" + lefthook-openbsd-arm64 "1.10.1" + lefthook-openbsd-x64 "1.10.1" + lefthook-windows-arm64 "1.10.1" + lefthook-windows-x64 "1.10.1" + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"