Files
smom-dbis-138/script/DeployOfficialUSDC138.s.sol
defiQUG 2a4753eb2d feat: restore operator WIP — PMM JSON sync entrypoint, dotenv RPC trim + secrets, pool env alignment
- Resolve stash: merge load_deployment_env path with secure-secrets and CR/LF RPC strip
- create-pmm-full-mesh-chain138.sh delegates to sync-chain138-pmm-pools-from-json.sh
- env.additions.example: canonical PMM pool defaults (cUSDT/USDT per crosscheck)
- Include Chain138 scripts, official mirror deploy scaffolding, and prior staged changes

Made-with: Cursor
2026-03-27 19:02:30 -07:00

37 lines
1.2 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import {Script, console} from "forge-std/Script.sol";
import {OfficialStableMirrorToken} from "../contracts/tokens/OfficialStableMirrorToken.sol";
/**
* @title DeployOfficialUSDC138
* @notice Deploy the local Chain 138 quote-side USDC mirror used by DODO PMM pools.
*/
contract DeployOfficialUSDC138 is Script {
function run() external {
uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
address deployer = vm.addr(deployerPrivateKey);
address owner = vm.envOr("OFFICIAL_USDC_138_OWNER", deployer);
uint256 initialSupply = vm.envOr("OFFICIAL_USDC_138_INITIAL_SUPPLY", uint256(0));
console.log("Deploying Official USDC (Chain 138) with deployer:", vm.toString(deployer));
console.log("Owner:", vm.toString(owner));
console.log("Initial supply:", initialSupply);
vm.startBroadcast(deployerPrivateKey);
OfficialStableMirrorToken token = new OfficialStableMirrorToken(
"USD Coin (Chain 138)",
"USDC",
6,
owner,
initialSupply
);
console.log("Official USDC (Chain 138) deployed at:", vm.toString(address(token)));
vm.stopBroadcast();
}
}