mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-30 05:57:56 +00:00
integration: add create2 test case with duplicate salt (#188)
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.8;
|
||||
|
||||
/* runner.json
|
||||
{
|
||||
"differential": true,
|
||||
"actions": [
|
||||
{
|
||||
"Upload": {
|
||||
"code": {
|
||||
"Solidity": {
|
||||
"contract": "CreateA"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Instantiate": {
|
||||
"code": {
|
||||
"Solidity": {
|
||||
"contract": "CreateB"
|
||||
}
|
||||
},
|
||||
"value": 100000
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
*/
|
||||
|
||||
contract CreateA {
|
||||
constructor() payable {}
|
||||
}
|
||||
|
||||
contract CreateB {
|
||||
constructor() payable {
|
||||
bytes32 salt = hex"ff";
|
||||
|
||||
try new CreateA{salt: salt}() returns (CreateA) {} catch {
|
||||
revert("the first instantiation should succeed");
|
||||
}
|
||||
|
||||
try new CreateA{salt: salt}() returns (CreateA) {} catch {
|
||||
return;
|
||||
}
|
||||
|
||||
revert("the second instantiation should have failed");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user