feat: bridges, PMM, flash workflow, token-aggregation, and deployment docs

- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault.
- Token-aggregation service routes, planner, chain config, relay env templates.
- Config snapshots and multi-chain deployment markdown updates.
- gitignore services/btc-intake/dist/ (tsc output); do not track dist.

Run forge build && forge test before deploy (large solc graph).

Made-with: Cursor
This commit is contained in:
defiQUG
2026-04-07 23:40:52 -07:00
parent 0fb7bba07b
commit 76aa419320
289 changed files with 28367 additions and 824 deletions

View File

@@ -134,4 +134,24 @@ contract CompliantWrappedTokenTest is Test {
assertEq(token.reportingURI(), "ipfs://cw-emergency-reporting");
assertEq(token.minimumUpgradeNoticePeriod(), 30 days);
}
function testWrappedBTCCanUseEightDecimalsAndFrozenBridgeRoles() public {
CompliantWrappedToken wrappedBtc = new CompliantWrappedToken("Wrapped cBTC", "cWBTC", 8, admin);
wrappedBtc.grantRole(MINTER_ROLE, bridge);
wrappedBtc.grantRole(BURNER_ROLE, bridge);
vm.prank(bridge);
wrappedBtc.mint(user1, 125_000_000);
assertEq(wrappedBtc.decimals(), 8);
assertEq(wrappedBtc.balanceOf(user1), 125_000_000);
wrappedBtc.freezeOperationalRoles();
vm.prank(bridge);
wrappedBtc.burnFrom(user1, 25_000_000);
assertEq(wrappedBtc.balanceOf(user1), 100_000_000);
vm.expectRevert();
wrappedBtc.grantRole(MINTER_ROLE, address(0xCAFE));
}
}