Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
3bede7a
feat: use wagmi to generate contract types
adklempner Oct 23, 2025
8620014
feat: migrate rln from ethers to viem
adklempner Oct 24, 2025
412369e
fix: remove .gitmodules
adklempner Oct 25, 2025
a6e5249
fix: update readme
adklempner Nov 5, 2025
5a7b549
fix: refactor to use a single viem client object
adklempner Nov 12, 2025
3e2255d
fix: update comments, tsconfig
adklempner Nov 12, 2025
3c4c531
feat: remove membership event tracking
adklempner Nov 12, 2025
1bd6a6d
fix: script name in package.json and readme
adklempner Nov 12, 2025
a09444a
fix: only allow linea sepolia
adklempner Nov 12, 2025
8f4d583
fix: consolidate viem types, typed window
adklempner Nov 13, 2025
5d9ddad
fix: use viem to infer type of decoded event
adklempner Nov 13, 2025
525bdcf
fix: use js for generate abi script
adklempner Nov 20, 2025
d8ca7d0
feat: generate abi and build rln package as release condition
adklempner Nov 21, 2025
12d56f9
fix: check that eth_requestAccounts returns an array
adklempner Nov 21, 2025
5a5363b
fix: handle error messages
adklempner Nov 21, 2025
71525a0
fix: use https instead of git for cloning in script
adklempner Nov 21, 2025
b7eabf5
fix: add warning annotations for contract typings check
adklempner Nov 21, 2025
354dc65
fix: install deps for rln package before building
adklempner Nov 21, 2025
dd38f2d
fix: use pnpm when installing rln contracts
adklempner Dec 1, 2025
f7c6831
fix: use workspace flag to run abi script
adklempner Dec 1, 2025
2b146eb
fix: add ref to checkout action
adklempner Dec 1, 2025
d1e0074
fix: include pnpm in ci
adklempner Dec 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
"reactjs",
"recid",
"rlnrelay",
"rlnv",
"roadmap",
"sandboxed",
"scanf",
Expand Down Expand Up @@ -132,7 +133,9 @@
"upgrader",
"vacp",
"varint",
"viem",
"vkey",
"wagmi",
"waku",
"wakuconnect",
"wakunode",
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,44 @@ jobs:
node-version: ${{ env.NODE_JS }}
registry-url: "https://registry.npmjs.org"

- uses: pnpm/action-setup@v4
if: ${{ steps.release.outputs.releases_created }}
with:
version: 9

- run: npm install
if: ${{ steps.release.outputs.releases_created }}

- run: npm run build
if: ${{ steps.release.outputs.releases_created }}

- name: Setup Foundry
if: ${{ steps.release.outputs.releases_created }}
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Generate RLN contract ABIs
id: rln-abi
if: ${{ steps.release.outputs.releases_created }}
run: |
npm run setup:contract-abi -w @waku/rln || {
echo "::warning::Failed to generate contract ABIs, marking @waku/rln as private to skip publishing"
cd packages/rln
node -e "const fs = require('fs'); const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8')); pkg.private = true; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
echo "failed=true" >> $GITHUB_OUTPUT
}

- name: Rebuild with new ABIs
if: ${{ steps.release.outputs.releases_created && steps.rln-abi.outputs.failed != 'true' }}
run: |
npm install -w packages/rln
npm run build -w @waku/rln || {
echo "::warning::Failed to build @waku/rln, marking as private to skip publishing"
cd packages/rln
node -e "const fs = require('fs'); const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8')); pkg.private = true; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
}

- run: npm run publish
if: ${{ steps.release.outputs.releases_created }}
env:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,46 @@ jobs:
- uses: actions/checkout@v4
with:
repository: waku-org/js-waku
ref: ${{ github.ref }}

- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_JS }}
registry-url: "https://registry.npmjs.org"

- uses: pnpm/action-setup@v4
with:
version: 9

- run: npm install

- run: npm run build

- name: Setup Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Generate RLN contract ABIs
id: rln-abi
run: |
npm run setup:contract-abi -w @waku/rln || {
echo "::warning::Failed to generate contract ABIs, marking @waku/rln as private to skip publishing"
cd packages/rln
node -e "const fs = require('fs'); const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8')); pkg.private = true; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
echo "failed=true" >> $GITHUB_OUTPUT
}

- name: Rebuild with new ABIs
if: steps.rln-abi.outputs.failed != 'true'
run: |
npm install -w packages/rln
npm run build -w @waku/rln || {
echo "::warning::Failed to build @waku/rln, marking as private to skip publishing"
cd packages/rln
node -e "const fs = require('fs'); const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8')); pkg.private = true; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
}

- run: npm run publish -- --tag next
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_JS_WAKU_PUBLISH }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ packages/discovery/mock_local_storage
CLAUDE.md
.env
postgres-data/
packages/rln/waku-rlnv2-contract/
Loading
Loading