Skip to content

Commit

Permalink
coordinator: smart contract deploy helper improver regex
Browse files Browse the repository at this point in the history
  • Loading branch information
jpnovais committed Oct 16, 2024
1 parent 44d1ed1 commit 416f718
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,11 @@ fun executeCommand(
return futureResult.toSafeFuture()
}

private val lineaRollupAddressPattern = Pattern.compile(
"^LineaRollup(?:[a-zA-Z0-9]*)? deployed: address=(0x[0-9a-fA-F]{40}) blockNumber=(\\d+)"
internal val lineaRollupAddressPattern = Pattern.compile(
"^LineaRollup(?:.*)? deployed: address=(0x[0-9a-fA-F]{40}) blockNumber=(\\d+)"
)
private val l2MessageServiceAddressPattern = Pattern.compile(
"^L2MessageService deployed: address=(0x[0-9a-fA-F]{40}) blockNumber=(\\d+)"
internal val l2MessageServiceAddressPattern = Pattern.compile(
"^L2MessageService(?:.*)? deployed: address=(0x[0-9a-fA-F]{40}) blockNumber=(\\d+)"
)

data class DeployedContract(
Expand All @@ -91,7 +91,14 @@ fun getDeployedAddress(
addressPattern: Pattern
): DeployedContract {
val lines = commandResult.stdOut.toList().asReversed()
val matcher: Matcher? = lines
return getDeployedAddress(lines, addressPattern)
}

fun getDeployedAddress(
cmdStdoutLines: List<String>,
addressPattern: Pattern
): DeployedContract {
val matcher: Matcher? = cmdStdoutLines
.firstOrNull { line -> addressPattern.matcher(line).find() }
?.let { addressPattern.matcher(it).also { it.find() } }

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package net.consensys.zkevm.ethereum

import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test

class MakefileContractDeploymentHelperKtTest {

@Test
fun getDeployedAddress_messageService() {
assertThat(
getDeployedAddress(
listOf(
"L2MessageService artifact has been deployed in 1.2659626659999998s ",
"L2MessageService deployed: address=0xFE48d65B84AA0E23594Fd585c11cAD831F90AcB6 blockNumber=8",
""
),
l2MessageServiceAddressPattern
)
).isEqualTo(
DeployedContract("0xFE48d65B84AA0E23594Fd585c11cAD831F90AcB6", 8)
)

assertThat(
getDeployedAddress(
listOf(
"L2MessageServiceV1.2.3 artifact has been deployed in 1.2659626659999998s ",
"L2MessageServiceV1.2.3 deployed: address=0xFE48d65B84AA0E23594Fd585c11cAD831F90AcB6 blockNumber=8",
""
),
l2MessageServiceAddressPattern
)
).isEqualTo(
DeployedContract("0xFE48d65B84AA0E23594Fd585c11cAD831F90AcB6", 8)
)
}

@Test
fun getDeployedAddress_LineaRollup() {
assertThat(
getDeployedAddress(
listOf(
"LineaRollup artifact has been deployed in 1.855172125s ",
"LineaRollup deployed: address=0x8613180dF1485B8b87DEE3BCf31896659eb1a092 blockNumber=1414",
""
),
lineaRollupAddressPattern
)
).isEqualTo(
DeployedContract("0x8613180dF1485B8b87DEE3BCf31896659eb1a092", 1414)
)

assertThat(
getDeployedAddress(
listOf(
"LineaRollupV5.2.1 artifact has been deployed in 1.855172125s ",
"LineaRollupV5.2.1 deployed: address=0x8613180dF1485B8b87DEE3BCf31896659eb1a092 blockNumber=1414",
""
),
lineaRollupAddressPattern
)
).isEqualTo(
DeployedContract("0x8613180dF1485B8b87DEE3BCf31896659eb1a092", 1414)
)
}
}

0 comments on commit 416f718

Please sign in to comment.