Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/check-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
check-pr:
name: Check PR
runs-on: ubuntu-latest
timeout-minutes: 30
timeout-minutes: 45
env:
JAVA_OPTS: -Dfile.encoding=UTF-8
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
Expand Down
8 changes: 2 additions & 6 deletions consensus-client-it/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,11 @@ libraryDependencies ++= Seq(
).map(_ % Test)

Test / sourceGenerators += Def.task {
val generateSourcesFromContracts = Seq("Bridge", "StandardBridge", "ERC20")
val generateSourcesFromContracts = Seq("Bridge", "StandardBridge", "ERC20", "TERC20")
val contractSources = baseDirectory.value / ".." / "contracts" / "eth"
val compiledDir = contractSources / "target"
// --silent to bypass garbage "Counting objects" git logs
s"forge build --silent --config-path ${contractSources / "foundry.toml"} --contracts " +
s"${contractSources / "src" / "utils" / "TERC20.sol"} " +
s"${contractSources / "src" / "StandardBridge.sol"} " +
s"${contractSources / "src" / "Bridge.sol"} " +
s"${contractSources / "src" / "UnitsMintableERC20.sol"}" !
s"forge build --silent --config-path ${contractSources / "foundry.toml"} --contracts ${contractSources / "src"}" !

generateSourcesFromContracts.foreach { contract =>
val json = Json.parse(new FileInputStream(compiledDir / s"$contract.sol" / s"$contract.json"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.wavesplatform.common.utils.EitherExt2.explicitGet
import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationAssetInvalidAmountTestSuite extends BaseBlockValidationSuit
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.wavesplatform.common.utils.EitherExt2.explicitGet
import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationAssetInvalidBridgeTestSuite extends BaseBlockValidationSuit
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import units.BlockHash
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationAssetInvalidRecipientTestSuite extends BaseBlockValidationS
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.wavesplatform.common.utils.EitherExt2.explicitGet
import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.{BlockHash, TestNetworkClient}
Expand Down Expand Up @@ -47,14 +47,15 @@ class BlockValidationAssetInvalidSenderTestSuite extends BaseBlockValidationSuit
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.wavesplatform.common.utils.EitherExt2.explicitGet
import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationAssetInvalidTokenTestSuite extends BaseBlockValidationSuite
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.wavesplatform.common.utils.EitherExt2.explicitGet
import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -47,14 +47,15 @@ class BlockValidationAssetValidTestSuite extends BaseBlockValidationSuite {
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationNativeInvalidAmountTestSuite extends BaseBlockValidationSui
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationNativeInvalidBridgeTestSuite extends BaseBlockValidationSui
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationNativeInvalidRecipientTestSuite extends BaseBlockValidation
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.{BlockHash, TestNetworkClient}
Expand Down Expand Up @@ -47,14 +47,15 @@ class BlockValidationNativeInvalidSenderTestSuite extends BaseBlockValidationSui
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.{BlockHash, TestNetworkClient}

class BlockValidationNativeMissingDepositTestSuite extends BaseBlockValidationSuite {
// Note: This test doesn't assert behavior in case of a failed transfer (which also means that the deposited tx is missing). For that case we have FailedTransfersTestSuite.
// This test only asserts behavior in case of a missing deposited tx while there were no unsuccessful transfers (meaning that the block is considered invalid).
"Invalid block: native token, missing deposited transaction" in {
val ethBalanceBefore = ec1.web3j.ethGetBalance(elRecipient.toString, DefaultBlockParameterName.LATEST).send().getBalance
val elParentBlock: EcBlock = ec1.engineApi.getLastExecutionBlock().explicitGet()
Expand All @@ -36,14 +38,15 @@ class BlockValidationNativeMissingDepositTestSuite extends BaseBlockValidationSu
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.EcBlock
import units.el.*
import units.eth.EthAddress
Expand Down Expand Up @@ -39,14 +39,15 @@ class BlockValidationNativeUnexpectedDepositTestSuite extends BaseBlockValidatio
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.wavesplatform.lang.v1.compiler.Terms
import com.wavesplatform.transaction.TxHelpers
import com.wavesplatform.transaction.smart.InvokeScriptTransaction
import org.web3j.protocol.core.DefaultBlockParameterName
import units.client.contract.HasConsensusLayerDappTxHelpers.EmptyE2CTransfersRootHashHex
import units.client.contract.HasConsensusLayerDappTxHelpers.{EmptyE2CTransfersRootHashHex, EmptyFailedC2ETransfersRootHashHex}
import units.client.engine.model.{EcBlock, Withdrawal}
import units.el.*
import units.eth.{EthAddress, Gwei}
Expand Down Expand Up @@ -49,14 +49,15 @@ class BlockValidationNativeUnexpectedWithdrawalTestSuite extends BaseBlockValida
TxHelpers.invoke(
invoker = actingMiner,
dApp = chainContractAddress,
func = Some("extendMainChain_v2"),
func = Some("extendMainChain_v3"),
args = List(
Terms.CONST_STRING(simulatedBlockHash.drop(2)).explicitGet(),
Terms.CONST_STRING(elParentBlock.hash.hexNoPrefix).explicitGet(),
Terms.CONST_BYTESTR(hitSource).explicitGet(),
Terms.CONST_STRING(EmptyE2CTransfersRootHashHex.drop(2)).explicitGet(),
Terms.CONST_LONG(0),
Terms.CONST_LONG(-1)
Terms.CONST_LONG(-1),
Terms.CONST_STRING(EmptyFailedC2ETransfersRootHashHex.drop(2)).explicitGet()
)
)
)
Expand Down
Loading