- 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
51 lines
1.7 KiB
Solidity
51 lines
1.7 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
import "forge-std/Script.sol";
|
|
import {UniversalAssetRegistry} from "../../contracts/registry/UniversalAssetRegistry.sol";
|
|
|
|
/**
|
|
* @title RegisterGRUCompliantTokensV2
|
|
* @notice Stage deployed c* V2 contracts in UniversalAssetRegistry using version-aware symbols.
|
|
* @dev Keeps live V1 symbols untouched while allowing indexers/operators to discover V2 addresses.
|
|
* Env: UNIVERSAL_ASSET_REGISTRY; optional CUSDT_V2_ADDRESS_138, CUSDC_V2_ADDRESS_138.
|
|
*/
|
|
contract RegisterGRUCompliantTokensV2 is Script {
|
|
function run() external {
|
|
address registryAddr = vm.envAddress("UNIVERSAL_ASSET_REGISTRY");
|
|
UniversalAssetRegistry registry = UniversalAssetRegistry(registryAddr);
|
|
uint256 pk = vm.envUint("PRIVATE_KEY");
|
|
vm.startBroadcast(pk);
|
|
|
|
_register(
|
|
registry,
|
|
vm.envOr("CUSDT_V2_ADDRESS_138", address(0)),
|
|
"Tether USD (Compliant V2)",
|
|
"cUSDT.v2"
|
|
);
|
|
_register(
|
|
registry,
|
|
vm.envOr("CUSDC_V2_ADDRESS_138", address(0)),
|
|
"USD Coin (Compliant V2)",
|
|
"cUSDC.v2"
|
|
);
|
|
|
|
vm.stopBroadcast();
|
|
}
|
|
|
|
function _register(
|
|
UniversalAssetRegistry registry,
|
|
address tokenAddr,
|
|
string memory name,
|
|
string memory symbol
|
|
) internal {
|
|
if (tokenAddr == address(0)) return;
|
|
if (registry.isAssetActive(tokenAddr)) {
|
|
console.log("Skip (already registered):", symbol, vm.toString(tokenAddr));
|
|
return;
|
|
}
|
|
registry.registerGRUCompliantAsset(tokenAddr, name, symbol, 6, "International");
|
|
console.log("Registered GRU V2:", symbol, vm.toString(tokenAddr));
|
|
}
|
|
}
|