diff --git a/README.md b/README.md index 6c691b8..b7dbcef 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,18 @@ import { getRPCUrl, ChainId } from "@bgd-labs/rpc-env"; // will fetch the rpc based on a opinionated priorization and does not error if no rpc is found // 1. checks if `RPC_MAINNET` is set, otherwise // 2. checks if alchemy key was provided & if alchemy supports the network, otherwise -// 3. checks if a public rpc is configured -const url = getRPCUrl(ChainId.mainnet, { alchemyKey?: "[YOUR_ALCHEMY_KEY]" }); +// 3. checks if quicknode key was provided & if quicknode supports the network, otherwise +// 4. checks if a public rpc is configured +const url = getRPCUrl(ChainId.mainnet, { + alchemyKey?: "[YOUR_ALCHEMY_KEY]", + quicknodeToken?: "[QUICKNODE_TOKEN]", + quicknodeEndpointName?: "[QUICKNODE_ENDPOINT_NAME]" +}); // alternatively you can use the explicit getters, which will throw if no rpc is found const url = getExplicitRPC(ChainId.mainnet); const url = getAlchemyRPC(ChainId.mainnet, alchemyKey); +const url = getQuickNodeRpc(ChainId.mainnet, {quicknodeEndpointName, quicknodeToken}); const url = getPublicRpc(ChainId.mainnet); ``` @@ -29,7 +35,10 @@ const url = getPublicRpc(ChainId.mainnet); The cli will emit explicit rps and a foundry.toml configuration for each network. ``` -export ALCHEMY_API_KEY=<> && npx @bgd-labs/rpc-env +export ALCHEMY_API_KEY=[YOUR_ALCHEMY_KEY] +export QUICKNODE_TOKEN=[QUICKNODE_TOKEN] +export QUICKNODE_ENDPOINT_NAME=[QUICKNODE_ENDPOINT_NAME] +npx @bgd-labs/rpc-env ``` ## Action: `action-rpc-env` @@ -44,6 +53,12 @@ Alchemy API key If given, the action substitute missing RPC_URLs with one constructed from the given key. +#### `QUICKNODE_TOKEN` & `QUICKNODE_ENDPOINT_NAME` + +Quicknode API key and endpoint name + +If given, the action substitute missing RPC_URLs with one constructed from the given token & name pair. + ### Supported Environment Variables The supported environment variables are documented in [this](src/lib.test.ts) test. @@ -54,6 +69,8 @@ The supported environment variables are documented in [this](src/lib.test.ts) te - uses: bgd-labs/action-rpc-env@main with: ALCHEMY_API_KEY: ${{ secrets.ALCHEMY_API_KEY }} + QUICKNODE_TOKEN: ${{ secrets.QUICKNODE_TOKEN }} + QUICKNODE_ENDPOINT_NAME: ${{ secrets.QUICKNODE_ENDPOINT_NAME }} env: RPC_POLYGON: "https://rpc.polygon.com" ``` diff --git a/package.json b/package.json index dca53bc..4d23337 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,7 @@ "format": "biome check --write", "prepublishOnly": "npm run build" }, - "files": [ - "src/*.ts", - "dist/lib*", - "dist/cli*" - ], + "files": ["src/*.ts", "dist/lib*", "dist/cli*"], "bin": "./dist/cli.js", "main": "./dist/lib.js", "module": "./dist/lib.mjs", @@ -47,19 +43,12 @@ "dotenv": "^16.4.5" }, "tsup": { - "entry": [ - "src/action.ts", - "src/lib.ts", - "src/cli.ts" - ], + "entry": ["src/action.ts", "src/lib.ts", "src/cli.ts"], "splitting": false, "sourcemap": false, "clean": true, "dts": true, "treeshake": true, - "format": [ - "esm", - "cjs" - ] + "format": ["esm", "cjs"] } }