Skip to content

Commit

Permalink
chore: fix last references to mirror
Browse files Browse the repository at this point in the history
  • Loading branch information
reednaa committed Sep 18, 2024
1 parent 81e5566 commit 4551efe
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 57 deletions.
8 changes: 4 additions & 4 deletions script/Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ contract DeployBtcPrism is Script {
vm.broadcast();

// Deploy BtcPrism
BtcPrism mirror;
BtcPrism prism;
if (mainnet) {
// ...tracking Bitcoin mainnet, starting at block 739000
mirror = new BtcPrism(
prism = new BtcPrism(
739000,
hex"00000000000000000001059a330a05e66e4fa2d1a5adcd56d1bfefc5c114195d",
1654182075,
Expand All @@ -27,7 +27,7 @@ contract DeployBtcPrism is Script {
);
} else {
// ...tracking Bitcoin testnet, starting at block 2315360
mirror = new BtcPrism(
prism = new BtcPrism(
2315360,
hex"0000000000000022201eee4f82ca053dfbc50d91e76e9cbff671699646d0982c",
1659901500,
Expand All @@ -37,7 +37,7 @@ contract DeployBtcPrism is Script {
}

// Deploy the transaction verifier
new BtcTxVerifier(mirror);
new BtcTxVerifier(prism);

vm.stopBroadcast();
}
Expand Down
14 changes: 7 additions & 7 deletions src/BtcTxVerifier.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import { NoBlock, TooFewConfirmations, InvalidProof } from "./interfaces/IBtcTxV
// uses BtcPrism as a source of truth for which Bitcoin block hashes are in the
// canonical chain.
contract BtcTxVerifier is IBtcTxVerifier {
IBtcPrism public immutable mirror;
IBtcPrism public immutable prism;

constructor(IBtcPrism _mirror) {
mirror = _mirror;
constructor(IBtcPrism _prism) {
prism = _prism;
}

function _verifyPayment(
Expand All @@ -24,7 +24,7 @@ contract BtcTxVerifier is IBtcTxVerifier {
bytes calldata outputScript
) internal view returns (uint256 sats) {
{
uint256 currentHeight = mirror.getLatestBlockHeight();
uint256 currentHeight = prism.getLatestBlockHeight();

if (currentHeight < blockNum) revert NoBlock(currentHeight, blockNum);

Expand All @@ -33,7 +33,7 @@ contract BtcTxVerifier is IBtcTxVerifier {
}
}

bytes32 blockHash = mirror.getBlockHash(blockNum);
bytes32 blockHash = prism.getBlockHash(blockNum);

bytes memory txOutScript;
(sats, txOutScript) = BtcProof.validateTx(
Expand Down Expand Up @@ -65,7 +65,7 @@ contract BtcTxVerifier is IBtcTxVerifier {
uint256 amountSats
) internal view returns (bool) {
{
uint256 currentHeight = mirror.getLatestBlockHeight();
uint256 currentHeight = prism.getLatestBlockHeight();

if (currentHeight < blockNum) revert NoBlock(currentHeight, blockNum);

Expand All @@ -74,7 +74,7 @@ contract BtcTxVerifier is IBtcTxVerifier {
}
}

bytes32 blockHash = mirror.getBlockHash(blockNum);
bytes32 blockHash = prism.getBlockHash(blockNum);

if(
!BtcProof.validateOrdinalTransfer(
Expand Down
4 changes: 2 additions & 2 deletions src/interfaces/IBtcTxVerifier.sol
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ interface IBtcTxVerifier {
bytes calldata outputScript
) external view returns (uint256 amountSats);

/** @notice Returns the underlying mirror associated with this verifier. */
function mirror() external view returns (IBtcPrism);
/** @notice Returns the underlying prism associated with this verifier. */
function prism() external view returns (IBtcPrism);

/**
* @notice Verifies that the a transaction cleared, sending a specific ordinal to
Expand Down
76 changes: 38 additions & 38 deletions test/BtcMirror.t.sol → test/BtcPrism.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -57,37 +57,37 @@ contract BtcPrismTest is DSTest {
bytes.concat(bVer, bParent, bTxRoot, bTime, bBits, hex"41b360c0");

function testGetTarget() public {
BtcPrism mirror = createBtcPrism();
BtcPrism prism = createBtcPrism();
uint256 expectedTarget;
expectedTarget = 0x0000000000000000000B8C8B0000000000000000000000000000000000000000;
assertEq(mirror.getTarget(hex"8b8c0b17"), expectedTarget);
assertEq(prism.getTarget(hex"8b8c0b17"), expectedTarget);
expectedTarget = 0x00000000000404CB000000000000000000000000000000000000000000000000;
assertEq(mirror.getTarget(hex"cb04041b"), expectedTarget);
assertEq(prism.getTarget(hex"cb04041b"), expectedTarget);
expectedTarget = 0x000000000000000000096A200000000000000000000000000000000000000000;
assertEq(mirror.getTarget(hex"206a0917"), expectedTarget);
assertEq(prism.getTarget(hex"206a0917"), expectedTarget);
}

function testSubmitError() public {
BtcPrism mirror = createBtcPrism();
assertEq(mirror.getLatestBlockHeight(), 717694);
BtcPrism prism = createBtcPrism();
assertEq(prism.getLatestBlockHeight(), 717694);
vm.expectRevert(abi.encodeWithSelector(BadParent.selector));
mirror.submit(717695, headerWrongParentHash);
prism.submit(717695, headerWrongParentHash);
vm.expectRevert(abi.encodeWithSelector(WrongHeaderLength.selector));
mirror.submit(717695, headerWrongLength);
prism.submit(717695, headerWrongLength);
vm.expectRevert(abi.encodeWithSelector(HashAboveTarget.selector));
mirror.submit(717695, headerHashTooEasy);
prism.submit(717695, headerHashTooEasy);
}

// function testSubmitErrorFuzz1(bytes calldata x) public {
// vm.expectRevert("");
// mirror.submit(718115, x);
// assert(mirror.getLatestBlockHeight() == 718115);
// prism.submit(718115, x);
// assert(prism.getLatestBlockHeight() == 718115);
// }

// function testSubmitErrorFuzz2(uint256 height, bytes calldata x) public {
// vm.expectRevert("");
// mirror.submit(height, x);
// assert(mirror.getLatestBlockHeight() == 718115);
// prism.submit(height, x);
// assert(prism.getLatestBlockHeight() == 718115);
// }

event NewTip(uint256 blockHeight, uint256 blockTime, bytes32 blockHash);
Expand All @@ -97,8 +97,8 @@ contract BtcPrismTest is DSTest {
uint32 newDifficultyBits
);

function createBtcPrism() internal returns (BtcPrism mirror) {
mirror = new BtcPrism(
function createBtcPrism() internal returns (BtcPrism prism) {
prism = new BtcPrism(
717694, // start at block #717694, two blocks before retarget
0x0000000000000000000b3dd6d6062aa8b7eb99d033fe29e507e0a0d81b5eaeed,
1641627092,
Expand All @@ -108,36 +108,36 @@ contract BtcPrismTest is DSTest {
}

function testSubmit() public {
BtcPrism mirror = createBtcPrism();
assertEq(mirror.getLatestBlockHeight(), 717694);
BtcPrism prism = createBtcPrism();
assertEq(prism.getLatestBlockHeight(), 717694);
vm.expectEmit(true, true, true, true);
emit NewTip(
717695,
1641627659,
0x00000000000000000000135a8473d7d3a3b091c928246c65ce2a396dd2a5ca9a
);
mirror.submit(717695, headerGood);
assertEq(mirror.getLatestBlockHeight(), 717695);
assertEq(mirror.getLatestBlockTime(), 1641627659);
prism.submit(717695, headerGood);
assertEq(prism.getLatestBlockHeight(), 717695);
assertEq(prism.getLatestBlockTime(), 1641627659);
assertEq(
mirror.getBlockHash(717695),
prism.getBlockHash(717695),
0x00000000000000000000135a8473d7d3a3b091c928246c65ce2a396dd2a5ca9a
);
}

function testSubmitError2() public {
BtcPrism mirror = createBtcPrism();
mirror.submit(717695, headerGood);
assertEq(mirror.getLatestBlockHeight(), 717695);
BtcPrism prism = createBtcPrism();
prism.submit(717695, headerGood);
assertEq(prism.getLatestBlockHeight(), 717695);
vm.expectRevert(abi.encodeWithSelector(NoBlocksSubmitted.selector));
mirror.submit(717696, hex"");
assertEq(mirror.getLatestBlockHeight(), 717695);
prism.submit(717696, hex"");
assertEq(prism.getLatestBlockHeight(), 717695);
}

function testRetarget() public {
BtcPrism mirror = createBtcPrism();
mirror.submit(717695, headerGood);
assertEq(mirror.getLatestBlockHeight(), 717695);
BtcPrism prism = createBtcPrism();
prism.submit(717695, headerGood);
assertEq(prism.getLatestBlockHeight(), 717695);

vm.expectEmit(true, true, true, true);
emit NewTotalDifficultySinceRetarget(
Expand All @@ -151,19 +151,19 @@ contract BtcPrismTest is DSTest {
1641627937,
0x0000000000000000000335dd327bde445d83f1ce40af2736a7c279045b9a55bf
);
mirror.submit(717696, b717696);
assertEq(mirror.getLatestBlockHeight(), 717696);
assertEq(mirror.getLatestBlockTime(), 1641627937);
prism.submit(717696, b717696);
assertEq(prism.getLatestBlockHeight(), 717696);
assertEq(prism.getLatestBlockTime(), 1641627937);
assertEq(
mirror.getBlockHash(717696),
prism.getBlockHash(717696),
0x0000000000000000000335dd327bde445d83f1ce40af2736a7c279045b9a55bf
);
}

function testRetargetLonger() public {
BtcPrism mirror = createBtcPrism();
mirror.submit(717695, headerGood);
assertEq(mirror.getLatestBlockHeight(), 717695);
BtcPrism prism = createBtcPrism();
prism.submit(717695, headerGood);
assertEq(prism.getLatestBlockHeight(), 717695);

vm.expectEmit(true, true, true, true);
emit NewTotalDifficultySinceRetarget(
Expand All @@ -178,8 +178,8 @@ contract BtcPrismTest is DSTest {
0x00000000000000000000794d6f4f6ee1c09e69a81469d7456e67be3d724223fb
);
vm.recordLogs();
mirror.submit(717695, bytes.concat(headerGood, b717696, b717697));
assertEq(mirror.getLatestBlockHeight(), 717697);
prism.submit(717695, bytes.concat(headerGood, b717696, b717697));
assertEq(prism.getLatestBlockHeight(), 717697);
assertEq(vm.getRecordedLogs().length, 2);
}
}
12 changes: 6 additions & 6 deletions test/BtcTxVerifier.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ contract BtcTxVerifierTest is DSTest {
);

function testVerifyTx() public {
BtcPrism mirror = new BtcPrism(
BtcPrism prism = new BtcPrism(
736000, // start at block #736000
0x00000000000000000002d52d9816a419b45f1f0efe9a9df4f7b64161e508323d,
0,
0x0,
false
);
assertEq(mirror.getLatestBlockHeight(), 736000);
assertEq(prism.getLatestBlockHeight(), 736000);

BtcTxVerifier verif = new BtcTxVerifier(mirror);
BtcTxVerifier verif = new BtcTxVerifier(prism);

// validate payment 736000 #1
bytes memory header736000 = (
Expand Down Expand Up @@ -99,16 +99,16 @@ contract BtcTxVerifierTest is DSTest {
}

function testVerifySegwitTx() public {
BtcPrism mirror = new BtcPrism(
BtcPrism prism = new BtcPrism(
831400, // start at block #736000
0x00000000000000000002f2b8b266d44886b53142a93464b7042ca8b014d1fcfc,
0,
0x0,
false
);
assertEq(mirror.getLatestBlockHeight(), 831400);
assertEq(prism.getLatestBlockHeight(), 831400);

BtcTxVerifier verif = new BtcTxVerifier(mirror);
BtcTxVerifier verif = new BtcTxVerifier(prism);

// validate payment 736000 #1
bytes memory header831400 = (
Expand Down

0 comments on commit 4551efe

Please sign in to comment.