diff --git a/CLAUDE.md b/CLAUDE.md index 4914196..d9bd44a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,10 +2,22 @@ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. +## What is Azimuth? + +Azimuth is Urbit's public key infrastructure (PKI) that lives on Ethereum. It's a set of smart contracts that manage Urbit identities called "points" (similar to usernames), their ownership, cryptographic keys, and hierarchical relationships. By storing identity data on Ethereum, the system is decentralized and censorship-resistant. + ## Project Overview This is a monorepo containing blockchain watchers for the Azimuth PKI system used in Urbit identities. It watches multiple Ethereum contracts (Azimuth, Censures, Claims, ConditionalStarRelease, DelegatedSending, Ecliptic, LinearStarRelease, Polls) and provides GraphQL APIs for querying their state. +**Watchers** are services that continuously monitor smart contracts on Ethereum, index their events and state changes, and provide efficient APIs for querying blockchain data. Instead of directly querying the Ethereum blockchain (which is slow and expensive), applications can query watchers for fast, indexed access to current and historical blockchain state. + +## Hosted Service + +A public instance is available at: **https://azimuth.dev.vdb.to/graphql** + +You can also run the system locally using [Stack Orchestrator](https://git.vdb.to/cerc-io/stack-orchestrator/src/branch/main/app/data/stacks/azimuth). + ## Common Commands ### Building and Development @@ -59,6 +71,7 @@ yarn index-block ``` ### Gateway Server +The gateway server runs on port 4000 by default. ```bash # Development gateway server (proxies to all watchers) yarn server:dev @@ -91,10 +104,12 @@ Each watcher follows identical structure: - `src/cli/` - Command-line utilities for management ### Gateway Server Architecture +- **Port**: Runs on port 4000 by default (http://localhost:4000/graphql) - **Schema stitching**: Combines all watcher schemas with prefixed field names - **Health checking**: Monitors watcher availability before routing -- **Configuration**: `src/watchers.json` defines watcher endpoints and prefixes +- **Configuration**: `packages/gateway-server/src/watchers.json` defines watcher endpoints and prefixes - **GraphQL proxy**: Routes queries like `azimuthGetKeys` to azimuth-watcher at localhost:3001 +- **Query prefixing**: Each watcher's queries are prefixed (e.g., `azimuthGetKeys`, `censuresGetCensuredByCount`, `claimsFindClaim`) ### Data Flow 1. **Event Processing**: job-runner fetches Ethereum events → processes through indexer → stores in database @@ -115,4 +130,58 @@ Each watcher follows identical structure: - Monitor with debug logs using `DEBUG=vulcanize:*` ### Generated Watcher Creation -Watchers are generated using `@cerc-io/codegen` from contract ABIs. The process involves creating config.yaml files specifying contract paths, output folders, and generation modes (eth_call/storage/all). \ No newline at end of file +Watchers are generated using `@cerc-io/codegen` from contract ABIs. The process involves creating config.yaml files specifying contract paths, output folders, and generation modes (eth_call/storage/all). + +## Docker & Deployment + +### Building Docker Images +The project includes a Dockerfile for building production-ready container images: + +```bash +# Build the watcher-azimuth image +docker build -t cerc/watcher-azimuth -f Dockerfile . +``` + +The Dockerfile: +- Uses Node.js 18.16.0 on Alpine Linux 3.16 +- Installs build dependencies (git, python3, alpine-sdk, jq) +- Embeds the Git commit hash in all package.json files +- Builds only azimuth-watcher and gateway-server packages +- Includes toml-js for runtime configuration updates +- Results in a ~1.1GB production image + +### CI/CD Pipeline +The project uses GitHub Actions for automated Docker image publishing: + +- **Trigger**: On release publication (tags) +- **Workflow**: `.gitea/workflows/docker-image.yml` +- **Outputs**: + - Image tagged with git SHA (e.g., `git.vdb.to/laconicnetwork/cerc/watcher-azimuth:abc1234`) + - Image tagged with release version (e.g., `git.vdb.to/laconicnetwork/cerc/watcher-azimuth:v0.1.10`) +- **Registry**: git.vdb.to + +To trigger a release build: +1. Create and push a new git tag +2. Publish the release on GitHub +3. CI will automatically build and push Docker images + +## Git Hooks + +The project uses [Husky](https://typicode.github.io/husky/) for Git hooks: + +- **Pre-commit hook**: Automatically runs `yarn lint` before every commit +- **Configuration**: `.husky/pre-commit` +- **Setup**: Run `yarn install` or `yarn prepare` to install hooks +- **Bypass**: Use `git commit --no-verify` to skip hooks (not recommended) + +This ensures code quality by enforcing linting rules before code is committed. + +## Key Technologies + +- **Language**: TypeScript 5.0+ +- **Database**: PostgreSQL with TypeORM 0.2.37 +- **Blockchain**: ethers.js 5.4+ for Ethereum interaction +- **GraphQL**: graphql 15.5+ with custom resolvers +- **API Framework**: @cerc-io packages for watcher infrastructure +- **Monorepo**: Lerna 6.6+ with Yarn workspaces +- **Base Image**: Node.js 18.16.0 on Alpine Linux (Docker) \ No newline at end of file diff --git a/lerna.json b/lerna.json index 4bb78f5..bff938e 100644 --- a/lerna.json +++ b/lerna.json @@ -3,6 +3,6 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.1.10", + "version": "0.1.11", "npmClient": "yarn" } diff --git a/packages/azimuth-watcher/package.json b/packages/azimuth-watcher/package.json index a665bf6..d3c9c9c 100644 --- a/packages/azimuth-watcher/package.json +++ b/packages/azimuth-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/azimuth-watcher", - "version": "0.1.10", + "version": "0.1.11", "description": "azimuth-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/censures-watcher/package.json b/packages/censures-watcher/package.json index cb24c46..4ea2c12 100644 --- a/packages/censures-watcher/package.json +++ b/packages/censures-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/censures-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "censures-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/claims-watcher/package.json b/packages/claims-watcher/package.json index ca53830..b0fd07e 100644 --- a/packages/claims-watcher/package.json +++ b/packages/claims-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/claims-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "claims-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/conditional-star-release-watcher/package.json b/packages/conditional-star-release-watcher/package.json index b4a239f..bf34cd2 100644 --- a/packages/conditional-star-release-watcher/package.json +++ b/packages/conditional-star-release-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/conditional-star-release-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "conditional-star-release-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/delegated-sending-watcher/package.json b/packages/delegated-sending-watcher/package.json index 1be32f1..8833161 100644 --- a/packages/delegated-sending-watcher/package.json +++ b/packages/delegated-sending-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/delegated-sending-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "delegated-sending-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/ecliptic-watcher/package.json b/packages/ecliptic-watcher/package.json index 8dfd4d3..f5586ac 100644 --- a/packages/ecliptic-watcher/package.json +++ b/packages/ecliptic-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/ecliptic-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "ecliptic-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/gateway-server/package.json b/packages/gateway-server/package.json index 474f009..1ae71af 100644 --- a/packages/gateway-server/package.json +++ b/packages/gateway-server/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/gateway-server", - "version": "0.1.9", + "version": "0.1.11", "main": "index.js", "license": "AGPL-3.0", "private": true, diff --git a/packages/linear-star-release-watcher/package.json b/packages/linear-star-release-watcher/package.json index eff7b7c..e65645e 100644 --- a/packages/linear-star-release-watcher/package.json +++ b/packages/linear-star-release-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/linear-star-release-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "linear-star-release-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/packages/polls-watcher/package.json b/packages/polls-watcher/package.json index 9d62877..880e983 100644 --- a/packages/polls-watcher/package.json +++ b/packages/polls-watcher/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/polls-watcher", - "version": "0.1.9", + "version": "0.1.11", "description": "polls-watcher", "private": true, "main": "dist/index.js", @@ -39,10 +39,10 @@ "homepage": "https://github.com/cerc-io/watcher-ts#readme", "dependencies": { "@apollo/client": "^3.3.19", - "@cerc-io/cli": "0.2.98-patch.2", - "@cerc-io/ipld-eth-client": "0.2.98-patch.2", - "@cerc-io/solidity-mapper": "0.2.98-patch.2", - "@cerc-io/util": "0.2.98-patch.2", + "@cerc-io/cli": "0.2.98-patch.3", + "@cerc-io/ipld-eth-client": "0.2.98-patch.3", + "@cerc-io/solidity-mapper": "0.2.98-patch.3", + "@cerc-io/util": "0.2.98-patch.3", "@ethersproject/providers": "^5.4.4", "debug": "^4.3.1", "decimal.js": "^10.3.1", diff --git a/yarn.lock b/yarn.lock index 0e66f25..5304e44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -206,10 +206,10 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@cerc-io/cache@^0.2.98-patch.2": - version "0.2.98-patch.2" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.98-patch.2/cache-0.2.98-patch.2.tgz#2be752e92aa42cc7c57ade5387fe950832d1e39a" - integrity sha512-0KkK+UsC9iBPt23iD1n8CRS5anp9JHeAy2K5/fHLmFccc58rC6jNi2J/U+mDQ3AkeojlqMvDkQc4w071der/Gw== +"@cerc-io/cache@^0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.98-patch.3/cache-0.2.98-patch.3.tgz#d60eee7f751036532b2d9a054216a75c99832f6c" + integrity sha512-zalJUirFo++YFdA8tD8F632XhpPOkNjsz87VP2ltHCSIrh720T4v/QDzMsGORs++1E9oPp4QRbQ7MntX/jzVwA== dependencies: canonical-json "^0.0.4" debug "^4.3.1" @@ -217,19 +217,19 @@ fs-extra "^10.0.0" level "^7.0.0" -"@cerc-io/cli@0.2.98-patch.2": - version "0.2.98-patch.2" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.98-patch.2/cli-0.2.98-patch.2.tgz#56e2130a40cd748cd7f045d66393e836cb2b3583" - integrity sha512-o3+Ryp0T/6TShd5gKFFtt67wBamtBpK0Ci/c87Yf8RiB7jPsXOILLvigJkhQWhnldvfCULyjWriy5L4dZ/j99w== +"@cerc-io/cli@0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.98-patch.3/cli-0.2.98-patch.3.tgz#08208564bbdcfa23c91a0f0a3a40c9496aeacf23" + integrity sha512-mNkd0JZ63Kxs7Nr0+1QgWi2MNcDiSTyINPS7BpWBQUAYpJu4YZ6Y8KJpI+6Juxh1TlnZU8F4fh6MqEuORwgvrw== dependencies: "@apollo/client" "^3.7.1" - "@cerc-io/cache" "^0.2.98-patch.2" - "@cerc-io/ipld-eth-client" "^0.2.98-patch.2" + "@cerc-io/cache" "^0.2.98-patch.3" + "@cerc-io/ipld-eth-client" "^0.2.98-patch.3" "@cerc-io/libp2p" "^0.42.2-laconic-0.1.4" "@cerc-io/nitro-node" "^0.1.15" - "@cerc-io/peer" "0.2.98" - "@cerc-io/rpc-eth-client" "^0.2.98-patch.2" - "@cerc-io/util" "^0.2.98-patch.2" + "@cerc-io/peer" "^0.2.98-patch.3" + "@cerc-io/rpc-eth-client" "^0.2.98-patch.3" + "@cerc-io/util" "^0.2.98-patch.3" "@ethersproject/providers" "^5.4.4" "@graphql-tools/utils" "^9.1.1" "@ipld/dag-cbor" "^8.0.0" @@ -250,14 +250,14 @@ typeorm "0.2.37" yargs "^17.0.1" -"@cerc-io/ipld-eth-client@0.2.98-patch.2", "@cerc-io/ipld-eth-client@^0.2.98-patch.2": - version "0.2.98-patch.2" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.98-patch.2/ipld-eth-client-0.2.98-patch.2.tgz#88feb90ff67dc6c4fa31f7bac64b34276b7aeccb" - integrity sha512-Dh4IcQHkIvxGotXS/WqUzADfP9W8eZqGyaoKGlSYMNnFLgU5CL8Atag4yhfiKqqMZX1qO4QEoAFQ0ABIh8KhSw== +"@cerc-io/ipld-eth-client@0.2.98-patch.3", "@cerc-io/ipld-eth-client@^0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.98-patch.3/ipld-eth-client-0.2.98-patch.3.tgz#cde66c17a00b5294ceffe320d4c9893f69d690da" + integrity sha512-QELYD26u9d4ZAmRjvm/ljS5iYQheUaQiUuEYV7Hig6Q4qFy8xdEjN/4uaJu/0/Q1gcKhdFGQLmwaJ4o1hNQ87Q== dependencies: "@apollo/client" "^3.7.1" - "@cerc-io/cache" "^0.2.98-patch.2" - "@cerc-io/util" "^0.2.98-patch.2" + "@cerc-io/cache" "^0.2.98-patch.3" + "@cerc-io/util" "^0.2.98-patch.3" cross-fetch "^3.1.4" debug "^4.3.1" ethers "^5.4.4" @@ -380,10 +380,10 @@ lodash "^4.17.21" uint8arrays "^4.0.3" -"@cerc-io/peer@0.2.98": - version "0.2.98" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.98/peer-0.2.98.tgz#650c771be2a3767456f38c93cb86e6667f2867ec" - integrity sha512-b8sCTzFxfTgrlscNutBzML0y4rzkZvzjCpHDEp3P4fMRHIK9SM5o8yYaPS9g1NwoedjbLKCnCDrmaIGpLEbmqA== +"@cerc-io/peer@^0.2.65": + version "0.2.74" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.74/peer-0.2.74.tgz#cc54e513e1857b04630f6b11e9a65dcdcc532790" + integrity sha512-l7y19KU0ZJtRkjTrgyzHj+0X8Zu9GO70Eg0AKMFrGmcFfHEfjKGmfWn0gYERNHSy5SGktOJAztAtd/dXARPpnw== dependencies: "@cerc-io/libp2p" "^0.42.2-laconic-0.1.4" "@cerc-io/prometheus-metrics" "1.1.4" @@ -410,10 +410,10 @@ unique-names-generator "^4.7.1" yargs "^17.0.1" -"@cerc-io/peer@^0.2.65": - version "0.2.74" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.74/peer-0.2.74.tgz#cc54e513e1857b04630f6b11e9a65dcdcc532790" - integrity sha512-l7y19KU0ZJtRkjTrgyzHj+0X8Zu9GO70Eg0AKMFrGmcFfHEfjKGmfWn0gYERNHSy5SGktOJAztAtd/dXARPpnw== +"@cerc-io/peer@^0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.98-patch.3/peer-0.2.98-patch.3.tgz#3369a7fbe782ec5a2deffb9d183900bcb393842e" + integrity sha512-tnJEyFyAX6EEKp3xh73/c5FwY8M/6vbaCE5JXOPtyXhL9cIXhjMPmxJ7J370Nb+3DC8qcPbbuJOMXaYzawO5vQ== dependencies: "@cerc-io/libp2p" "^0.42.2-laconic-0.1.4" "@cerc-io/prometheus-metrics" "1.1.4" @@ -452,23 +452,23 @@ it-stream-types "^1.0.4" promjs "^0.4.2" -"@cerc-io/rpc-eth-client@^0.2.98-patch.2": - version "0.2.98-patch.2" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Frpc-eth-client/-/0.2.98-patch.2/rpc-eth-client-0.2.98-patch.2.tgz#11499c754ec25b0705b102ae5cbf6cd4b81d9c3b" - integrity sha512-7VNuWLt82yoBsTk5Nz8LWuCZiqZ6WjsFWIK+9lAnRoHHrt7ojLq7LGTrzRlTFtkqt8DzwvHv5ktDOs2NuZHH8w== +"@cerc-io/rpc-eth-client@^0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Frpc-eth-client/-/0.2.98-patch.3/rpc-eth-client-0.2.98-patch.3.tgz#37255cce97df6f162305b0b86647a600267ca1e6" + integrity sha512-3Fd7GiISGMTiRmGAadvxVEqXm003kAZQXYgE7MFVKbjnd87NuCnyMmFGKoBT8qQMKy9DS0rs3rR3A76Z8tNg3w== dependencies: - "@cerc-io/cache" "^0.2.98-patch.2" - "@cerc-io/ipld-eth-client" "^0.2.98-patch.2" - "@cerc-io/util" "^0.2.98-patch.2" + "@cerc-io/cache" "^0.2.98-patch.3" + "@cerc-io/ipld-eth-client" "^0.2.98-patch.3" + "@cerc-io/util" "^0.2.98-patch.3" chai "^4.3.4" ethers "^5.4.4" left-pad "^1.3.0" mocha "^8.4.0" -"@cerc-io/solidity-mapper@0.2.98-patch.2", "@cerc-io/solidity-mapper@^0.2.98-patch.2": - version "0.2.98-patch.2" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.98-patch.2/solidity-mapper-0.2.98-patch.2.tgz#6b82c09cc891cc47c56d00705d83039e65a84aee" - integrity sha512-sSxLfM+xuDJwGbW2ztho0Xog6XOMe9b7Z+XMOQT/PVpNhBUNiRZ9j5TnPrbKnCC8N132pVApo0FHzgROQYznbg== +"@cerc-io/solidity-mapper@0.2.98-patch.3", "@cerc-io/solidity-mapper@^0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.98-patch.3/solidity-mapper-0.2.98-patch.3.tgz#6d067aba1185069791628fca9bb80f044e9d148f" + integrity sha512-3aD0lVE4afLloCGPKWGTioi8r/bQtp00vHIdMjvKPuvDQxcgFouM3fme3xqy0gVdGFVjhCeHUJrHdawXXQmm3w== dependencies: dotenv "^10.0.0" @@ -477,15 +477,15 @@ resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fts-channel/-/1.0.3-ts-nitro-0.1.1/ts-channel-1.0.3-ts-nitro-0.1.1.tgz#0768781313a167295c0bf21307f47e02dc17e936" integrity sha512-2jFICUSyffuZ+8+qRhXuLSJq4GJ6Y02wxiXoubH0Kzv2lIKkJtWICY1ZQQhtXAvP0ncAQB85WJHqtqwH8l7J3Q== -"@cerc-io/util@0.2.98-patch.2", "@cerc-io/util@^0.2.98-patch.2": - version "0.2.98-patch.2" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.98-patch.2/util-0.2.98-patch.2.tgz#f306d4087b55f87ac16731544a19fe482454eb20" - integrity sha512-oYjH7n+2ivf6/chDFRgAuwXeQk2ZW/ZnVWVzHMf9avQIdVLoQF7XU8fpfckKTHbMPek4yV8C+Mb3EmKwREpopQ== +"@cerc-io/util@0.2.98-patch.3", "@cerc-io/util@^0.2.98-patch.3": + version "0.2.98-patch.3" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.98-patch.3/util-0.2.98-patch.3.tgz#2e4bf7faff6685f791ebc8bcd9a6247f3aac7739" + integrity sha512-Z4OL2bgqpZnnIF03bLVxGvU2jY4HvsrRmWLxre0T0PS4SLPJk5OccXdynNSF3BsFRy2k0nl5Nd7DZepHiEy3GQ== dependencies: "@apollo/utils.keyvaluecache" "^1.0.1" "@cerc-io/nitro-node" "^0.1.15" - "@cerc-io/peer" "0.2.98" - "@cerc-io/solidity-mapper" "^0.2.98-patch.2" + "@cerc-io/peer" "^0.2.98-patch.3" + "@cerc-io/solidity-mapper" "^0.2.98-patch.3" "@cerc-io/ts-channel" "1.0.3-ts-nitro-0.1.1" "@ethersproject/properties" "^5.7.0" "@ethersproject/providers" "^5.4.4"