Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m3s
CI/CD Pipeline / Security Scanning (push) Successful in 2m18s
CI/CD Pipeline / Lint and Format (push) Failing after 34s
CI/CD Pipeline / Terraform Validation (push) Failing after 20s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 22s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 40s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 49s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 21s
Validation / validate-genesis (push) Successful in 25s
Validation / validate-terraform (push) Failing after 21s
Validation / validate-kubernetes (push) Failing after 8s
Validation / validate-smart-contracts (push) Failing after 8s
Validation / validate-security (push) Failing after 1m11s
Validation / validate-documentation (push) Failing after 14s
Verify Deployment / Verify Deployment (push) Failing after 45s
Ship AddressActivityRegistry V1/V2, ISO20022IntakeGateway, Chain138ParticipantSurface, checkpoint hub contracts, checkpoint-core package, aggregator/indexer/sdk services, relay profile guards, M00 diamond bridge facet, and OMNL compliance contracts. Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
2.2 KiB
Solidity
57 lines
2.2 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
import {Script, console} from "forge-std/Script.sol";
|
|
import {VaultFactory} from "../../../contracts/vault/VaultFactory.sol";
|
|
|
|
/// @notice M1 vault basket for ALL Mainnet (651940): AUSDC, AUSDT, WALL.
|
|
contract DeployAcVdcSdcVaults651940 is Script {
|
|
uint8 constant DECIMALS = 6;
|
|
bool constant DEBT_TRANSFERABLE = true;
|
|
uint8 constant GRU_TIER_M1 = 2;
|
|
|
|
function run() external {
|
|
uint256 pk = vm.envUint("PRIVATE_KEY");
|
|
address deployer = vm.addr(pk);
|
|
address owner = vm.envOr("OWNER", deployer);
|
|
address entity = vm.envOr("ENTITY", vm.envOr("GRU_OMNL_ENTITY_ADDRESS", deployer));
|
|
address factoryAddr = vm.envAddress("VAULT_FACTORY_ADDRESS");
|
|
VaultFactory factory = VaultFactory(factoryAddr);
|
|
|
|
bytes32 ibanHash = vm.envBytes32("GRU_IBAN_HASH");
|
|
bytes32 policyProfileKey = vm.envOr("GRU_POLICY_PROFILE_KEY", bytes32(0));
|
|
|
|
address[] memory bases = new address[](3);
|
|
string[] memory labels = new string[](3);
|
|
bases[0] = vm.envAddress("CUSDC_ADDRESS_651940");
|
|
labels[0] = "AUSDC";
|
|
bases[1] = vm.envAddress("AUSDT_ADDRESS_651940");
|
|
labels[1] = "AUSDT";
|
|
bases[2] = vm.envAddress("WALL_ADDRESS_651940");
|
|
labels[2] = "WALL";
|
|
|
|
uint256 startIdx = vm.envOr("GRU_VAULT_START_INDEX", uint256(0));
|
|
uint256 endIdx = vm.envOr("GRU_VAULT_END_INDEX", bases.length);
|
|
|
|
vm.startBroadcast(pk);
|
|
for (uint256 i = startIdx; i < endIdx && i < bases.length; i++) {
|
|
(address vault, address depositToken, address debtToken) = factory.createVaultWithDecimalsGRU(
|
|
owner,
|
|
entity,
|
|
bases[i],
|
|
bases[i],
|
|
DECIMALS,
|
|
DECIMALS,
|
|
DEBT_TRANSFERABLE,
|
|
GRU_TIER_M1,
|
|
ibanHash,
|
|
policyProfileKey
|
|
);
|
|
console.log(string.concat(labels[i], " vault:"), vault);
|
|
console.log(string.concat("ac", labels[i], ":"), depositToken);
|
|
console.log(string.concat("vdc", labels[i], ":"), debtToken);
|
|
}
|
|
vm.stopBroadcast();
|
|
}
|
|
}
|