31 lines
1.3 KiB
Solidity
31 lines
1.3 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
import {Script, console} from "forge-std/Script.sol";
|
|
import {AtomicCwUsdcUsdcPurchase} from "../../contracts/x402/AtomicCwUsdcUsdcPurchase.sol";
|
|
|
|
contract DeployAtomicCwUsdcUsdcPurchase is Script {
|
|
address internal constant POLYGON_CWUSDC_V2 = 0x7476a64B37732698b9f729fdB373a7B65e9677e9;
|
|
address internal constant POLYGON_USDC = 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359;
|
|
|
|
function run() external returns (AtomicCwUsdcUsdcPurchase purchase) {
|
|
uint256 pk = vm.envUint("PRIVATE_KEY");
|
|
address deployer = vm.addr(pk);
|
|
address treasury = vm.envOr("X402_POLYGON_ATOMIC_TREASURY", vm.envOr("SERVER_WALLET_ADDRESS", deployer));
|
|
address owner = vm.envOr("X402_POLYGON_ATOMIC_OWNER", deployer);
|
|
|
|
console.log("Deployer:", deployer);
|
|
console.log("cWUSDC_V2:", POLYGON_CWUSDC_V2);
|
|
console.log("USDC:", POLYGON_USDC);
|
|
console.log("Treasury:", treasury);
|
|
console.log("Owner:", owner);
|
|
|
|
vm.startBroadcast(pk);
|
|
purchase = new AtomicCwUsdcUsdcPurchase(POLYGON_CWUSDC_V2, POLYGON_USDC, treasury, owner);
|
|
vm.stopBroadcast();
|
|
|
|
console.log("AtomicCwUsdcUsdcPurchase:", address(purchase));
|
|
console.log("Contract treasury:", purchase.treasury());
|
|
}
|
|
}
|