forked from crytic/properties
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCryticTestExt.sol
31 lines (24 loc) · 1.05 KB
/
CryticTestExt.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.8.0;
import "../src/ExampleToken.sol";
import {IERC721Internal} from "properties/ERC721/util/IERC721Internal.sol";
import {CryticERC721ExternalBasicProperties} from "properties/ERC721/external/properties/ERC721ExternalBasicProperties.sol";
import {MockReceiver} from "properties/ERC721/external/util/MockReceiver.sol";
contract CryticERC721ExternalHarness is CryticERC721ExternalBasicProperties {
constructor() {
// Deploy ERC721
token = IERC721Internal(address(new ERC721Mock()));
mockSafeReceiver = new MockReceiver(true);
mockUnsafeReceiver = new MockReceiver(false);
}
}
contract ERC721Mock is ExampleToken {
// Address originating transactions in Echidna (must be equal to the `sender` configuration parameter)
address constant USER1 = address(0x10000);
address constant USER2 = address(0x20000);
address constant USER3 = address(0x30000);
bool public isMintableOrBurnable;
constructor () {
isMintableOrBurnable = true;
}
}