cleveland-0.2.1: test/TestSuite/Cleveland/OperationReplay.hs
-- SPDX-FileCopyrightText: 2021 Oxhead Alpha
-- SPDX-License-Identifier: LicenseRef-MIT-OA
module TestSuite.Cleveland.OperationReplay
( test_replayOrigination_fails
, test_replayTransfer_fails
) where
import Test.Tasty (TestTree)
import Morley.Tezos.Address (Address)
import Test.Cleveland
import TestSuite.Util (idContract, shouldFailWithMessage)
import TestSuite.Util.Contracts
test_replayTransfer_fails :: TestTree
test_replayTransfer_fails =
testScenarioOnEmulator "Transfer operation replay is prohibited" $ scenarioEmulated do
dummyAddress <- toAddress . chAddress <$> originate "dummy" () (idContract @() @())
contract <- importContract @Address @() @() (contractsDir </> "replay_transfer.tz")
replayTransfer <- originate "replayTransfer" () contract
transfer replayTransfer (calling def dummyAddress)
& shouldFailWithMessage "Operation replay attempt"
test_replayOrigination_fails :: TestTree
test_replayOrigination_fails =
testScenarioOnEmulator "Origination operation replay is prohibited" $ scenarioEmulated do
contract <- importContract @() @() @() (contractsDir </> "replay_origination.tz")
replayOrigination <- originate "replayOrigination" () contract
transfer replayOrigination
& shouldFailWithMessage "Operation replay attempt"