33 lines
1.3 KiB
Solidity
33 lines
1.3 KiB
Solidity
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
pragma solidity ^0.8.20;
|
||
|
|
|
||
|
|
import {Script, console2} from "forge-std/Script.sol";
|
||
|
|
import {ReserveCommitmentStore} from "../../contracts/hybx-omnl/ReserveCommitmentStore.sol";
|
||
|
|
|
||
|
|
/// @notice Refresh reserve TTL and optionally bump R / evidence hashes.
|
||
|
|
contract RefreshReserveAttestation is Script {
|
||
|
|
function run() external {
|
||
|
|
uint256 pk = vm.envUint("PRIVATE_KEY");
|
||
|
|
address storeAddr = vm.envAddress("OMNL_RESERVE_STORE_138");
|
||
|
|
bytes32 lineId = vm.envBytes32("OMNL_HEALTH_LINE_ID");
|
||
|
|
|
||
|
|
uint256 ttlDays = vm.envOr("OMNL_RESERVE_TTL_DAYS", uint256(90));
|
||
|
|
uint256 validUntil = block.timestamp + ttlDays * 1 days;
|
||
|
|
|
||
|
|
ReserveCommitmentStore store = ReserveCommitmentStore(storeAddr);
|
||
|
|
ReserveCommitmentStore.Commitment memory c = store.getCommitment(lineId);
|
||
|
|
|
||
|
|
uint256 R = vm.envOr("OMNL_RESERVE_R", c.R);
|
||
|
|
bytes32 evidence = vm.envOr("OMNL_RESERVE_EVIDENCE_HASH", c.evidenceHash);
|
||
|
|
bytes32 merkle = vm.envOr("OMNL_RESERVE_MERKLE_ROOT", c.merkleRoot);
|
||
|
|
|
||
|
|
vm.startBroadcast(pk);
|
||
|
|
store.commitReserve(lineId, R, validUntil, evidence, merkle);
|
||
|
|
vm.stopBroadcast();
|
||
|
|
|
||
|
|
console2.log("Reserve refreshed lineId", vm.toString(lineId));
|
||
|
|
console2.log("validUntil", validUntil);
|
||
|
|
console2.log("R", R);
|
||
|
|
}
|
||
|
|
}
|