Skip to content

Commit da2bb4e

Browse files
committed
fixed tests
1 parent 93e4dff commit da2bb4e

File tree

15 files changed

+96
-80
lines changed

15 files changed

+96
-80
lines changed

node-it/src/test/scala/com/wavesplatform/it/NodeConfigs.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ object NodeConfigs {
5757

5858
val (defaultNodes: Seq[Config], specialNodes: Seq[Config]) = bc.zipWithIndex
5959
.collect { case (x, i) if NonConflictingNodes.contains(i + 1) => x }
60+
.reverse
6061
.splitAt(defaultEntities)
6162

6263
specialNodes

node-it/src/test/scala/com/wavesplatform/it/sync/transactions/DataTransactionSuite.scala

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@ package com.wavesplatform.it.sync.transactions
33
import com.google.common.primitives.Ints
44
import com.typesafe.config.Config
55
import com.wavesplatform.account.{AddressScheme, KeyPair}
6-
import com.wavesplatform.api.http.ApiError.{CustomValidationError, TooBigArrayAllocation, WrongJson}
6+
import com.wavesplatform.api.http.ApiError.{CustomValidationError, TooBigArrayAllocation}
77
import com.wavesplatform.common.state.ByteStr
88
import com.wavesplatform.common.utils.Base58
99
import com.wavesplatform.common.utils.EitherExt2.*
1010
import com.wavesplatform.it.NodeConfigs
1111
import com.wavesplatform.it.api.SyncHttpApi.*
1212
import com.wavesplatform.it.api.{TransactionInfo, UnexpectedStatusCodeException}
13-
import com.wavesplatform.it.sync.{calcDataFee, minFee, *}
13+
import com.wavesplatform.it.sync.*
1414
import com.wavesplatform.it.transactions.BaseTransactionSuite
15-
import com.wavesplatform.state.Height
16-
import com.wavesplatform.test.*
1715
import com.wavesplatform.lang.v1.estimator.ScriptEstimatorV1
18-
import com.wavesplatform.state.{BinaryDataEntry, BooleanDataEntry, DataEntry, EmptyDataEntry, IntegerDataEntry, StringDataEntry}
16+
import com.wavesplatform.state.{BinaryDataEntry, BooleanDataEntry, DataEntry, EmptyDataEntry, Height, IntegerDataEntry, StringDataEntry}
17+
import com.wavesplatform.test.*
1918
import com.wavesplatform.transaction.smart.script.ScriptCompiler
2019
import com.wavesplatform.transaction.{DataTransaction, Proofs, TxHelpers, TxVersion}
2120
import org.scalatest.{Assertion, Assertions, EitherValues}
@@ -356,13 +355,17 @@ class DataTransactionSuite extends BaseTransactionSuite with EitherValues {
356355
test("transaction requires a valid proof") {
357356
for (v <- dataTxSupportedVersions) {
358357
def request: JsObject =
359-
TxHelpers.data(account = firstKeyPair, entries = List(IntegerDataEntry("int", 333)), fee = minFee, version = v)
358+
TxHelpers
359+
.data(account = firstKeyPair, entries = List(IntegerDataEntry("int", 333)), fee = minFee, version = v)
360360
.json()
361361

362362
def id(obj: JsObject): String = obj.value("id").as[String]
363363

364364
val noProof = request - "proofs"
365-
assertBadRequestAndResponse(sender.postJson("/transactions/broadcast", noProof), s"${WrongJson.WrongJsonDataMessage}.*proofs.*missing")
365+
assertBadRequestAndResponse(
366+
sender.postJson("/transactions/broadcast", noProof),
367+
"Transactions from non-scripted accounts must have exactly 1 proof"
368+
)
366369
nodes.foreach(_.ensureTxDoesntExist(id(noProof)))
367370

368371
val badProof = request ++ Json.obj("proofs" -> Seq(Base58.encode(Array.fill(64)(Random.nextInt().toByte))))

node-it/src/test/scala/com/wavesplatform/it/sync/transactions/MassTransferTransactionSuite.scala

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.wavesplatform.it.sync.transactions
22

33
import com.google.protobuf.ByteString
44
import com.wavesplatform.account.{Address, AddressScheme, Alias}
5-
import com.wavesplatform.api.http.ApiError.WrongJson
65
import com.wavesplatform.api.http.requests.MassTransferRequest
76
import com.wavesplatform.common.state.ByteStr
87
import com.wavesplatform.common.utils.EitherExt2.*
@@ -145,16 +144,18 @@ class MassTransferTransactionSuite extends BaseTransactionSuite {
145144
): (MassTransferRequest, Option[ByteStr]) = {
146145
val txEi = for {
147146
parsedTransfers <- MassTransferTransaction.parseTransfersList(transfers)
148-
tx <- MassTransferTransaction.create(
149-
1.toByte,
150-
sender.keyPair.publicKey,
151-
Waves,
152-
parsedTransfers,
153-
fee,
154-
timestamp,
155-
ByteStr(attachment),
156-
Proofs.empty
157-
).map(_.signWith(sender.keyPair.privateKey))
147+
tx <- MassTransferTransaction
148+
.create(
149+
1.toByte,
150+
sender.keyPair.publicKey,
151+
Waves,
152+
parsedTransfers,
153+
fee,
154+
timestamp,
155+
ByteStr(attachment),
156+
Proofs.empty
157+
)
158+
.map(_.signWith(sender.keyPair.privateKey))
158159
} yield tx
159160

160161
val (signature, idOpt) = txEi.fold(_ => (Proofs(List(fakeSignature)), None), tx => (tx.proofs, Some(tx.id())))
@@ -264,7 +265,10 @@ class MassTransferTransactionSuite extends BaseTransactionSuite {
264265
def id(obj: JsObject) = obj.value("id").as[String]
265266

266267
val noProof = signedMassTransfer - "proofs"
267-
assertBadRequestAndResponse(sender.postJson("/transactions/broadcast", noProof), s"${WrongJson.WrongJsonDataMessage}.*proofs.*missing")
268+
assertBadRequestAndResponse(
269+
sender.postJson("/transactions/broadcast", noProof),
270+
s"Reason: Transactions from non-scripted accounts must have exactly 1 proof"
271+
)
268272
nodes.foreach(_.ensureTxDoesntExist(id(noProof)))
269273

270274
val badProof = signedMassTransfer ++ Json.obj("proofs" -> Seq(fakeSignature.toString))

node-it/src/test/scala/com/wavesplatform/it/sync/transactions/SignAndBroadcastApiSuite.scala

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,22 @@ class SignAndBroadcastApiSuite extends BaseTransactionSuite with NTPTime with Be
5959
assertBadRequestAndMessage(sender.postJsonWithApiKey("/transactions/sign", json), expectedMessage, code)
6060

6161
for (v <- supportedVersions) {
62-
val json = Json.obj("type" -> CreateAliasTransaction.typeId, "sender" -> firstAddress, "alias" -> "alias", "fee" -> 100000)
62+
val json = Json.obj("type" -> CreateAliasTransaction.typeId, "sender" -> sender.address, "alias" -> "alias", "fee" -> 100000)
6363
val js = if (Option(v).isDefined) json ++ Json.obj("version" -> v) else json
6464
assertSignBadJson(js - "type", WrongJson.WrongJsonDataMessage)
6565
assertSignBadJson(js + ("type" -> JsNumber(-100)), "Bad transaction type")
6666
assertSignBadJson(js - "alias", WrongJson.WrongJsonDataMessage)
6767
}
6868

6969
val obsoleteTx =
70-
Json.obj("type" -> GenesisTransaction.typeId, "sender" -> firstAddress, "recipient" -> firstAddress, "amount" -> 1, "fee" -> 100000)
70+
Json.obj("type" -> GenesisTransaction.typeId, "sender" -> sender.address, "recipient" -> firstAddress, "amount" -> 1, "fee" -> 100000)
7171
assertSignBadJson(obsoleteTx, "transaction type not supported", 501)
7272
assertSignBadJson(obsoleteTx + ("type" -> Json.toJson(PaymentTransaction.typeId)), "transaction type not supported", 501)
7373

7474
val bigBaseTx =
7575
Json.obj(
7676
"type" -> TransferTransaction.typeId,
77-
"sender" -> firstAddress,
77+
"sender" -> sender.address,
7878
"recipient" -> firstAddress,
7979
"amount" -> 1,
8080
"fee" -> 100000,
@@ -141,7 +141,7 @@ class SignAndBroadcastApiSuite extends BaseTransactionSuite with NTPTime with Be
141141
for (j <- List(jsonV1, jsonV2)) {
142142
assertBroadcastBadJson(j - "type", WrongJson.WrongJsonDataMessage)
143143
assertBroadcastBadJson(j - "type" + ("type" -> Json.toJson(88)), "Bad transaction type")
144-
assertBroadcastBadJson(j - "chainId" + ("chainId" -> Json.toJson(123)), "Wrong chain-id")
144+
assertBroadcastBadJson(j - "chainId" + ("chainId" -> Json.toJson(123)), "Address belongs to another network")
145145
assertBroadcastBadJson(j - "alias", WrongJson.WrongJsonDataMessage)
146146
}
147147
}
@@ -365,21 +365,21 @@ class SignAndBroadcastApiSuite extends BaseTransactionSuite with NTPTime with Be
365365
}
366366

367367
test("/transactions/sign/{signerAddress} should sign a transaction by key of signerAddress") {
368-
val firstAddress = sender.createKeyPairServerSide().toAddress.toString
368+
val firstAddress = sender.createKeyPairServerSide()
369369

370370
val json = Json.obj(
371-
"type" -> TransferTransaction.typeId,
372-
"sender" -> firstAddress,
373-
"recipient" -> secondAddress,
374-
"fee" -> minFee,
375-
"amount" -> transferAmount
371+
"type" -> TransferTransaction.typeId,
372+
"senderPublicKey" -> firstAddress.publicKey,
373+
"recipient" -> secondAddress,
374+
"fee" -> minFee,
375+
"amount" -> transferAmount
376376
)
377377

378378
val signedRequestResponse = sender.postJsonWithApiKey(s"/transactions/sign/${sender.address}", json)
379379
assert(signedRequestResponse.getStatusCode == HttpConstants.ResponseStatusCodes.OK_200)
380380
val signedRequestJson = Json.parse(signedRequestResponse.getResponseBody)
381381
val signedRequest = signedRequestJson.as[TransferRequest]
382-
assert(PublicKey.fromBase58String(signedRequest.senderPublicKey).explicitGet().toAddress.toString == firstAddress)
382+
assert(PublicKey.fromBase58String(signedRequest.senderPublicKey).explicitGet() == firstAddress.publicKey)
383383
assert(signedRequest.recipient == secondAddress)
384384
assert(signedRequest.fee == minFee)
385385
assert(signedRequest.amount == transferAmount)
@@ -442,7 +442,8 @@ class SignAndBroadcastApiSuite extends BaseTransactionSuite with NTPTime with Be
442442
val amount = math.min(buy.amount.value, sell.amount.value)
443443
val tx =
444444
if (tver == 1) {
445-
TxHelpers.exchange(
445+
TxHelpers
446+
.exchange(
446447
version = 1.toByte,
447448
matcher = matcher,
448449
order1 = buy,
@@ -456,7 +457,8 @@ class SignAndBroadcastApiSuite extends BaseTransactionSuite with NTPTime with Be
456457
)
457458
.json()
458459
} else {
459-
TxHelpers.exchange(
460+
TxHelpers
461+
.exchange(
460462
version = 2.toByte,
461463
matcher = matcher,
462464
order1 = buy,

node-it/src/test/scala/com/wavesplatform/it/sync/transactions/UpdateAssetInfoTransactionSuite.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class UpdateAssetInfoTransactionSuite extends BaseTransactionSuite with CancelAf
120120
TxVersion.V1,
121121
AddressScheme.current.chainId,
122122
issuer.publicKey.toString,
123-
IssuedAsset(ByteStr.empty),
123+
IssuedAsset(ByteStr(new Array[Byte](32))),
124124
"test",
125125
"test",
126126
None,

node/src/main/scala/com/wavesplatform/api/http/requests/CommitToGenerationRequest.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ case class CommitToGenerationRequest(
2121
timestamp: Option[Long] = None,
2222
fee: Option[Long] = None,
2323
commitmentSignature: ByteStr,
24-
chainId: Option[Byte] = None,
24+
chainId: Byte = AddressScheme.current.chainId,
2525
proofs: Proofs = Proofs.empty
2626
) extends TxBroadcastRequest[CommitToGenerationTransaction] {
2727
def toTx: Either[ValidationError, CommitToGenerationTransaction] = {
@@ -38,7 +38,7 @@ case class CommitToGenerationRequest(
3838
fee.getOrElse(FeeConstants(TransactionType.CommitToGeneration) * FeeUnit),
3939
blsSignature,
4040
proofs,
41-
chainId.getOrElse(AddressScheme.current.chainId)
41+
chainId
4242
)
4343
} yield tx
4444
}

node/src/main/scala/com/wavesplatform/api/http/requests/CreateAliasRequest.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.wavesplatform.api.http.requests
22

3-
import com.wavesplatform.account.PublicKey
3+
import com.wavesplatform.account.{AddressScheme, PublicKey}
44
import com.wavesplatform.common.state.ByteStr
55
import com.wavesplatform.lang.ValidationError
66
import com.wavesplatform.transaction.{CreateAliasTransaction, Proofs, TxTimestamp, TxVersion}
@@ -13,13 +13,14 @@ case class CreateAliasRequest(
1313
fee: Option[Long] = None,
1414
timestamp: Option[TxTimestamp] = None,
1515
signature: Option[ByteStr] = None,
16-
proofs: Option[Proofs] = None
16+
proofs: Option[Proofs] = None,
17+
chainId: Byte = AddressScheme.current.chainId
1718
) extends TxBroadcastRequest[CreateAliasTransaction] {
1819
def toTx: Either[ValidationError, CreateAliasTransaction] =
1920
for {
2021
validProofs <- toProofs(signature, proofs)
2122
validSender <- PublicKey.fromBase58String(senderPublicKey)
22-
tx <- CreateAliasTransaction.create(version, validSender, alias, fee.getOrElse(0L), timestamp.getOrElse(0L), validProofs)
23+
tx <- CreateAliasTransaction.create(version, validSender, alias, fee.getOrElse(0L), timestamp.getOrElse(0L), validProofs, chainId)
2324
} yield tx
2425
}
2526

node/src/main/scala/com/wavesplatform/api/http/requests/DataRequest.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.wavesplatform.api.http.requests
22

3-
import com.wavesplatform.account.PublicKey
3+
import com.wavesplatform.account.{AddressScheme, PublicKey}
44
import com.wavesplatform.common.state.ByteStr
55
import com.wavesplatform.lang.ValidationError
66
import com.wavesplatform.state.DataEntry
@@ -14,13 +14,14 @@ case class DataRequest(
1414
fee: Long,
1515
timestamp: Long,
1616
proofs: Option[Proofs],
17-
signature: Option[ByteStr]
17+
signature: Option[ByteStr],
18+
chainId: Byte = AddressScheme.current.chainId
1819
) extends TxBroadcastRequest[DataTransaction] {
1920
def toTx: Either[ValidationError, DataTransaction] =
2021
for {
2122
validProofs <- toProofs(signature, proofs)
2223
validSender <- PublicKey.fromBase58String(senderPublicKey)
23-
tx <- DataTransaction.create(version, validSender, data, fee, timestamp, validProofs)
24+
tx <- DataTransaction.create(version, validSender, data, fee, timestamp, validProofs, chainId)
2425
} yield tx
2526

2627
}

node/src/main/scala/com/wavesplatform/api/http/requests/IssueRequest.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.wavesplatform.api.http.requests
22

3-
import com.wavesplatform.account.PublicKey
3+
import com.wavesplatform.account.{AddressScheme, PublicKey}
44
import com.wavesplatform.common.state.ByteStr
55
import com.wavesplatform.lang.ValidationError
66
import com.wavesplatform.lang.script.Script
@@ -20,7 +20,8 @@ case class IssueRequest(
2020
fee: Long,
2121
timestamp: Option[Long],
2222
signature: Option[ByteStr],
23-
proofs: Option[Proofs]
23+
proofs: Option[Proofs],
24+
chainId: Byte = AddressScheme.current.chainId
2425
) extends TxBroadcastRequest[IssueTransaction] {
2526
def toTx: Either[ValidationError, IssueTransaction] = {
2627
for {
@@ -41,7 +42,8 @@ case class IssueRequest(
4142
validScript,
4243
fee,
4344
timestamp.getOrElse(defaultTimestamp),
44-
validProofs
45+
validProofs,
46+
chainId
4547
)
4648
} yield tx
4749
}

node/src/main/scala/com/wavesplatform/api/http/requests/LeaseCancelRequest.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.wavesplatform.api.http.requests
22

3-
import com.wavesplatform.account.PublicKey
3+
import com.wavesplatform.account.{AddressScheme, PublicKey}
44
import com.wavesplatform.common.state.ByteStr
55
import com.wavesplatform.lang.ValidationError
66
import com.wavesplatform.transaction.Proofs
@@ -15,7 +15,8 @@ case class LeaseCancelRequest(
1515
fee: Long,
1616
timestamp: Option[Long],
1717
signature: Option[ByteStr],
18-
proofs: Option[Proofs]
18+
proofs: Option[Proofs],
19+
chainId: Byte
1920
) extends TxBroadcastRequest[LeaseCancelTransaction] {
2021
def toTx: Either[ValidationError, LeaseCancelTransaction] =
2122
for {
@@ -42,7 +43,8 @@ object LeaseCancelRequest {
4243
(JsPath \ "fee").read[Long] and
4344
(JsPath \ "timestamp").readNullable[Long] and
4445
(JsPath \ "signature").readNullable[ByteStr] and
45-
(JsPath \ "proofs").readNullable[Proofs])(LeaseCancelRequest.apply),
46+
(JsPath \ "proofs").readNullable[Proofs] and
47+
(JsPath \ "chainId").readWithDefault(AddressScheme.current.chainId))(LeaseCancelRequest.apply),
4648
Json.writes[LeaseCancelRequest]
4749
)
4850
}

0 commit comments

Comments
 (0)