Skip to content

Commit

Permalink
add script to test signing and claiming rewards
Browse files Browse the repository at this point in the history
  • Loading branch information
ETeissonniere committed Aug 1, 2024
1 parent d1c1049 commit c90ba67
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions script/RewardsSig.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// SPDX-License-Identifier: BSD-3-Clause-Clear

pragma solidity 0.8.23;

import {Script, console} from "forge-std/Script.sol";

import {Rewards} from "../src/Rewards.sol";

contract RewardsSig is Script {
uint256 internal sk;
address internal tgtAddr;
uint256 internal tgtAmount;
address internal rewardsAddr;

function setUp() public {
sk = vm.envUint("N_REWARDS_SIGNER");
tgtAddr = vm.envAddress("N_REWARDS_TGT_ADDR");
tgtAmount = vm.envUint("N_REWARDS_TGT_AMOUNT");
rewardsAddr = vm.envAddress("N_REWARDS_ADDR");
}

function run() public {
Rewards rewards = Rewards(rewardsAddr);

uint256 tgtSequence = rewards.sequences(tgtAddr);
console.log("=== Target sequence ===");
console.logUint(tgtSequence);

Rewards.Reward memory reward = Rewards.Reward({recipient: tgtAddr, amount: tgtAmount, sequence: tgtSequence});

bytes32 digest = rewards.digestReward(reward);

console.log("=== Rewards digest ===");
console.logBytes32(digest);

(uint8 v, bytes32 r, bytes32 s) = vm.sign(sk, digest);
bytes memory sig = abi.encodePacked(r, s, v);

console.log("=== Signature ===");
console.logBytes(sig);

vm.startBroadcast();
rewards.mintReward(reward, sig);
}
}

0 comments on commit c90ba67

Please sign in to comment.