Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
da0c4dc
feat: extend bank balance authorization
piotr-roslaniec Nov 2, 2025
c7bf48a
docs: add Bridge controller-authorization upgrade explainer; ignore l…
piotr-roslaniec Nov 9, 2025
0f5f209
deploy(upgrade-bridge): prefer cached deployment, use PROXY_ADMIN_PK …
piotr-roslaniec Nov 9, 2025
3cb3a0a
deploy(transfer-governance): use governance signer (BRIDGE_GOVERNANCE…
piotr-roslaniec Nov 9, 2025
20a8e8f
scripts(sepolia): call BridgeGovernance ownership transfer; fix rollb…
piotr-roslaniec Nov 9, 2025
2c777b0
config(hardhat): set optimizer runs to 200; update comments and keep …
piotr-roslaniec Nov 9, 2025
1976be0
deploy(governance): conditional Tenderly/Etherscan verify and minor p…
piotr-roslaniec Nov 9, 2025
9d56c1b
chore(docs): format bridge upgrade explainer with Prettier
piotr-roslaniec Nov 9, 2025
8969dac
chore(solidity): relax lint for deploy/scripts via overrides; fix typ…
piotr-roslaniec Nov 9, 2025
766a6d0
Sepolia: redeploy BridgeGovernance and verify allowlist
piotr-roslaniec Nov 17, 2025
c92f50a
Remove unused solidity .env example
piotr-roslaniec Nov 17, 2025
d74bb6b
Remove Sepolia-specific upgrade/rollback scripts
piotr-roslaniec Nov 17, 2025
38159ee
Revert "Sepolia: redeploy BridgeGovernance and verify allowlist"
piotr-roslaniec Nov 17, 2025
5dec1e5
Remove toggle-increaser helper script
piotr-roslaniec Nov 17, 2025
1cf6301
Remove verify-sepolia helper script
piotr-roslaniec Nov 17, 2025
66ec3bd
chore(governance): helper + safer controller sync
piotr-roslaniec Nov 17, 2025
1aa5af7
docs: consolidate controller upgrade and governance redeploy
piotr-roslaniec Nov 17, 2025
b3d4f0a
docs: remove redundant bridge governance redeploy report
piotr-roslaniec Nov 17, 2025
c729bc9
solidity: switch git+ssh deps to git+https
piotr-roslaniec Nov 17, 2025
874500c
ci(contracts): use node 18 for solidity jobs
piotr-roslaniec Nov 17, 2025
64aa9e7
ci(contracts): align format/slither with node 18
piotr-roslaniec Nov 17, 2025
3fc56bb
ci(contracts): move solidity jobs to node 20
piotr-roslaniec Nov 17, 2025
1c80f74
chore(governance): controller ops tooling and docs
piotr-roslaniec Nov 17, 2025
dc44a82
chore(solidity): apply Prettier formatting
piotr-roslaniec Nov 17, 2025
0312bab
chore(solidity): align hardhat and deploy tooling with main
piotr-roslaniec Nov 17, 2025
3369741
chore(solidity): revert unrelated contract formatting
piotr-roslaniec Nov 17, 2025
09e95dd
Fix bridge governance CI and formatting
piotr-roslaniec Nov 17, 2025
c460c8d
Use Node 18 for contracts CI
piotr-roslaniec Nov 17, 2025
eb6fa37
chore(governance): harden controller sync and tooling
piotr-roslaniec Nov 17, 2025
f5773f7
ci(docs): ignore engines for solidity docs workflow
piotr-roslaniec Nov 17, 2025
33993a4
ci(docs): set YARN_IGNORE_ENGINES at workflow level
piotr-roslaniec Nov 17, 2025
e5991a3
ci(contracts): run format job on node 18 and ignore generated docs
piotr-roslaniec Nov 17, 2025
52a01d7
feat(bridge): controller caps and MintingGuard scaffold
piotr-roslaniec Nov 18, 2025
1b9d275
refactor(bridge): rely on MintingGuard for caps
piotr-roslaniec Nov 18, 2025
4831a07
Wire MintingGuard executor and docs for controller allowlist
piotr-roslaniec Nov 18, 2025
1d01c9f
test: relax MintingGuard revert assertions
piotr-roslaniec Nov 18, 2025
3fc3497
slither: silence expected reentrancy warnings for controllers
piotr-roslaniec Nov 18, 2025
f4b94c8
slither: widen controller reentrancy suppression
piotr-roslaniec Nov 18, 2025
8a4c28b
refactor: emit controller events before bank calls
piotr-roslaniec Nov 18, 2025
a3ac589
Wire MintBurnGuard interface, tests, and docs
piotr-roslaniec Nov 18, 2025
682bb52
chore: rename MintingGuard to MintBurnGuard
piotr-roslaniec Nov 18, 2025
7ccab01
chore: switch bridge to single controller
piotr-roslaniec Nov 18, 2025
593b0a9
fix: share vault interface and satisfy slither
piotr-roslaniec Nov 18, 2025
b72596f
refactor: keep vault interface local
piotr-roslaniec Nov 18, 2025
505b08a
Use ITBTCVault in MintBurnGuard and fix lints
piotr-roslaniec Nov 18, 2025
af0d715
Improve execution wiring and governance transfer workflow
piotr-roslaniec Nov 18, 2025
d5c995e
Allow internal wiring helpers
piotr-roslaniec Nov 18, 2025
963b24a
refactor: reuse guard increase logic
piotr-roslaniec Nov 18, 2025
d911874
Add configurable mint rate limiting to MintBurnGuard
piotr-roslaniec Nov 18, 2025
44468af
Suppress time-based lint for MintBurnGuard rate limit
piotr-roslaniec Nov 18, 2025
a15a87e
Document MintBurnGuard rate limiting
codex Nov 18, 2025
fdfa279
fix(mintburn): avoid window start equality
piotr-roslaniec Nov 18, 2025
7a69404
Merge remote-tracking branch 'origin/main' into new/bank-decreaser
piotr-roslaniec Dec 2, 2025
41d7a8e
fix(mintburnguard): address audit findings ENG-473
piotr-roslaniec Dec 2, 2025
3526421
Merge branch 'main' into feat/eng-472-mintburnguard-workstream
miquelcabot Dec 19, 2025
a1fa407
Implement one-off governance function setControllerBalanceIncreaser
miquelcabot Dec 22, 2025
c1a1195
refactor: rename controller-related interfaces, functions and events
miquelcabot Dec 23, 2025
fe7d9af
refactor: update MintBurnGuard to use 'operator' terminology instead …
miquelcabot Dec 23, 2025
76a2869
feat: implement MintBurnGuard deployment and configuration scripts
miquelcabot Dec 29, 2025
1b794d2
refactor: add unmintAndBurnFrom and burnFrom functions to MintBurnGuard
miquelcabot Dec 31, 2025
764ea30
refactor: enhance unmintAndBurnFrom and burn functions with SafeERC20…
miquelcabot Dec 31, 2025
1281655
refactor: add error handling for bank transfer failure in MintBurnGuard
miquelcabot Dec 31, 2025
b2aaf13
test: add operator change functionality tests in MintBurnGuard
miquelcabot Dec 31, 2025
89c6cd1
refactor: rename controller to operator in MintBurnGuard tests
miquelcabot Dec 31, 2025
08407c1
feat: implement MockAccountControl for testing MintBurnGuard integration
miquelcabot Jan 5, 2026
f5bc30d
feat: add bank and tbtcToken addresses for improved vault integration…
miquelcabot Jan 7, 2026
cee32f0
refactor: change TBTC token approval to use safeIncreaseAllowance in …
miquelcabot Jan 7, 2026
158a8d1
fix: update balance handling in MintBurnGuard to use satoshi (1e8) am…
miquelcabot Jan 7, 2026
3675843
Merge branch 'main' into new/bank-decreaser
miquelcabot Jan 8, 2026
5bc750e
Merge branch 'new/bank-decreaser' into feat/eng-472-mintburnguard-wor…
miquelcabot Jan 8, 2026
0d0613a
feat: add bridge address to MintBurnGuard for improved vault integration
miquelcabot Jan 9, 2026
e9913cb
feat: refactor MintBurnGuard to use upgradeable proxy pattern and add…
miquelcabot Jan 12, 2026
2533910
feat: update Slither version to 0.10.1
miquelcabot Jan 12, 2026
a5dcc8a
feat: update Slither version to 0.11.0
miquelcabot Jan 13, 2026
d0be3d8
feat: add 'incorrect-equality' to Slither detectors to exclude
miquelcabot Jan 13, 2026
6b56b55
feat: update Slither command to fail on high severity issues
miquelcabot Jan 13, 2026
b7b33f4
feat: add integration tests for MintBurnGuard contract interactions
miquelcabot Jan 15, 2026
ff9e4f2
ENG-472: MintBurnGuard workstream. Governance, interfaces, integratio…
piotr-roslaniec Mar 17, 2026
6ba652b
fix(bridge): re-upgrade Bridge proxy to MintBurnGuard-aware impleme…
antomor Mar 20, 2026
6452b75
fix(deploy): TOB-TBTCAC-45: enforce strict library bytecode verificat…
piotr-roslaniec Apr 13, 2026
eecfc53
fix(deploy): TOB-TBTCAC-45: enforce strict library bytecode verificat…
piotr-roslaniec Apr 14, 2026
29fcc68
chore: merge main into new/bank-decreaser
piotr-roslaniec Apr 14, 2026
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
7 changes: 7 additions & 0 deletions .github/workflows/contracts-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ on:
- "published"
workflow_dispatch:

env:
# Ignore Node.js engine constraints when installing dependencies for
# Solidity doc generation. Some transitive tooling may declare a stricter
# Node engine (for example >=20) even though this workflow uses Node 18.15.0
# in the reusable `reusable-solidity-docs.yml` workflow.
YARN_IGNORE_ENGINES: "true"

jobs:
docs-detect-changes:
runs-on: ubuntu-latest
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/contracts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock

Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock

Expand Down Expand Up @@ -144,7 +144,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock
registry-url: "https://registry.npmjs.org"
Expand All @@ -160,7 +160,7 @@ jobs:
run: git config --global url."https://".insteadOf git://

- name: Install dependencies
run: yarn install --frozen-lockfile
run: yarn install --frozen-lockfile --ignore-engines

- name: Get upstream packages versions
uses: keep-network/ci/actions/upstream-builds-query@v2
Expand Down Expand Up @@ -241,7 +241,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock

Expand Down Expand Up @@ -290,7 +290,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock
registry-url: "https://registry.npmjs.org"
Expand All @@ -306,7 +306,7 @@ jobs:
run: git config --global url."https://".insteadOf git://

- name: Install dependencies
run: yarn install --frozen-lockfile
run: yarn install --frozen-lockfile --ignore-engines

- name: Get upstream packages versions
uses: keep-network/ci/actions/upstream-builds-query@v2
Expand Down Expand Up @@ -358,7 +358,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock

Expand Down Expand Up @@ -401,7 +401,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "14.x"
node-version: "18.x"
cache: "yarn"
cache-dependency-path: solidity/yarn.lock

Expand All @@ -419,7 +419,7 @@ jobs:

- name: Install Slither
env:
SLITHER_VERSION: 0.9.0
SLITHER_VERSION: 0.11.0
run: pip3 install slither-analyzer==$SLITHER_VERSION

# We need this step because the `@keep-network/tbtc` which we update in
Expand All @@ -434,4 +434,4 @@ jobs:
run: yarn install

- name: Run Slither
run: slither --hardhat-artifacts-directory build .
run: slither --hardhat-artifacts-directory build . --fail-high
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ dist/
.vscode/
.envrc

# Local environment files for Solidity
solidity/.env
solidity/.env.sepolia
Comment on lines +10 to +11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
solidity/.env
solidity/.env.sepolia
solidity/.env*


yarn-error.log
CLAUDE.md
.claude/

# Generated Solidity API docs
solidity/generated-docs/
221 changes: 221 additions & 0 deletions docs/bridge-controller-authorization-upgrade.md

Large diffs are not rendered by default.

Loading
Loading