diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/ClientV2MapperExtensions.java b/concordium-sdk/src/main/java/com/concordium/sdk/ClientV2MapperExtensions.java index 22ce3d903..ff923b6bd 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/ClientV2MapperExtensions.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/ClientV2MapperExtensions.java @@ -75,8 +75,8 @@ import com.concordium.sdk.transactions.Signature; import com.concordium.sdk.transactions.TransferPayload; import com.concordium.sdk.transactions.TransferWithMemoPayload; -import com.concordium.sdk.transactions.UpdateContractPayload; import com.concordium.sdk.transactions.*; +import com.concordium.sdk.transactions.UpdateContract; import com.concordium.sdk.transactions.smartcontracts.WasmModule; import com.concordium.sdk.transactions.smartcontracts.WasmModuleVersion; import com.concordium.sdk.types.Timestamp; @@ -644,7 +644,8 @@ static AccountTransaction to(com.concordium.grpc.v2.AccountTransaction transacti .builderBlockItem() .header(to(transaction.getHeader(), deployModulePayload.getBytes().length)) .signature(to(transaction.getSignature())) - .payload(deployModulePayload) + .payload(DeployModule.builder().module(deployModulePayload).build()) + .maxEnergyCost(UInt64.from(transaction.getHeader().getEnergyAmount().getValue())) .build(); } case INIT_CONTRACT: { @@ -653,10 +654,11 @@ static AccountTransaction to(com.concordium.grpc.v2.AccountTransaction transacti .header(to(transaction.getHeader(), initContractPayload.getBytes().length)) .signature(to(transaction.getSignature())) .payload(initContractPayload) + .maxEnergyCost(UInt64.from(transaction.getHeader().getEnergyAmount().getValue())) .build(); } case UPDATE_CONTRACT: - final UpdateContractPayload updateContractPayload = to(payload.getUpdateContract()); + final UpdateContract updateContractPayload = to(payload.getUpdateContract()); return UpdateContractTransaction.builderAccountTransactionBlockItem() .header(to(transaction.getHeader(), updateContractPayload.getRawPayloadBytes().length)) .signature(to(transaction.getSignature())) @@ -719,8 +721,8 @@ static Data to(RegisteredData registerData) { return Data.from(registerData.getValue().toByteArray()); } - static UpdateContractPayload to(com.concordium.grpc.v2.UpdateContractPayload updateContract) { - return UpdateContractPayload.from( + static UpdateContract to(com.concordium.grpc.v2.UpdateContractPayload updateContract) { + return UpdateContract.from( to(updateContract.getAmount()), to(updateContract.getAddress()), ReceiveName.parse(updateContract.getReceiveName().getValue()), @@ -871,7 +873,7 @@ static SendBlockItemRequest to(AccountTransaction accountTransaction) { .setAccountTransaction(com.concordium.grpc.v2.AccountTransaction.newBuilder() .setHeader(to(accountTransaction.getHeader())) .setPayload(AccountTransactionPayload.newBuilder() - .setRawPayload(ByteString.copyFrom(accountTransaction.getPayload().getRawPayloadBytes())) + .setRawPayload(ByteString.copyFrom(accountTransaction.getPayload().getBytes())) .build()) .setSignature(to(accountTransaction.getSignature())) .build()) diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/AccountTransaction.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/AccountTransaction.java index a3720a0be..c3d133549 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/AccountTransaction.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/AccountTransaction.java @@ -25,6 +25,14 @@ public class AccountTransaction extends BlockItem { */ private final Payload payload; + /** + * Constructor serializing an account transaction + * @param sender sender of the transaction + * @param nonce account nonce + * @param expiry the expiry of the transaction + * @param signer the {@link Signer} of the transaction + * @param payload the payload of the transaction + */ AccountTransaction( @NonNull final AccountAddress sender, @NonNull final AccountNonce nonce, @@ -40,6 +48,12 @@ public class AccountTransaction extends BlockItem { .signWith(signer)); } + /** + * Constructor for deserializing a transaction + * @param signature the signature + * @param header the header + * @param payload the payload + */ public AccountTransaction( @NonNull final TransactionSignature signature, @NonNull final TransactionHeader header, diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureBaker.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureBaker.java index 661cc6d63..ec85f2a25 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureBaker.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureBaker.java @@ -40,7 +40,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return payload.getBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureDelegation.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureDelegation.java index da8331955..e1182cbb7 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureDelegation.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ConfigureDelegation.java @@ -33,7 +33,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return payload.getBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModule.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModule.java index 6f40c4cdf..b77847d1f 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModule.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModule.java @@ -3,33 +3,34 @@ import com.concordium.sdk.transactions.smartcontracts.WasmModule; import com.concordium.sdk.types.UInt64; import lombok.Builder; +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NonNull; @Getter +@EqualsAndHashCode(callSuper = true) public class DeployModule extends Payload { /** * A compiled Smart Contract Module in WASM with source and version. */ private final WasmModule module; - private final UInt64 maxEnergyCost; + private UInt64 maxEnergyCost; - private DeployModule(@NonNull final WasmModule module, @NonNull final UInt64 maxEnergyCost) { + + private DeployModule(@NonNull final WasmModule module) { this.module = module; - this.maxEnergyCost = maxEnergyCost; } /** * It creates a new instance of the DeployModule class. * * @param module The module to be deployed. - * @param maxEnergyCost The maximum amount of energy that can be consumed by the contract. * @return A new DeployModule object. */ @Builder - static DeployModule createNew(final WasmModule module, final UInt64 maxEnergyCost) { - return new DeployModule(module, maxEnergyCost); + static DeployModule createNew(final WasmModule module) { + return new DeployModule(module); } @Override @@ -43,7 +44,12 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return module.getBytes(); } + + public DeployModule withMaxEnergyCost(UInt64 maxEnergyCost) { + this.maxEnergyCost = maxEnergyCost; + return this; + } } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModuleTransaction.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModuleTransaction.java index 4807f6697..525b41740 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModuleTransaction.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/DeployModuleTransaction.java @@ -20,15 +20,15 @@ private DeployModuleTransaction( @NonNull final TransactionSigner signer, @NonNull final WasmModule module, @NonNull final UInt64 maxEnergyCost) { - super(sender, nonce, expiry, signer, DeployModule.createNew(module, maxEnergyCost)); + super(sender, nonce, expiry, signer, DeployModule.createNew(module).withMaxEnergyCost(maxEnergyCost)); } private DeployModuleTransaction( final @NonNull TransactionHeader header, final @NonNull TransactionSignature signature, - final @NonNull WasmModule payload, + final @NonNull DeployModule payload, final @NonNull UInt64 maxEnergyCost) { - super(header, signature, DeployModule.createNew(payload, maxEnergyCost)); + super(header, signature, payload.withMaxEnergyCost(maxEnergyCost)); } /** @@ -71,7 +71,7 @@ public static DeployModuleTransaction from(final AccountAddress sender, static DeployModuleTransaction from( final TransactionHeader header, final TransactionSignature signature, - final WasmModule payload, + final DeployModule payload, final UInt64 maxEnergyCost) { try { return new DeployModuleTransaction(header, signature, payload, maxEnergyCost); diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransfer.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransfer.java index 7757ebff3..ef29fe9f3 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransfer.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransfer.java @@ -41,7 +41,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { val toAddress = receiver.getBytes(); byte[] dataBytes = data.getBytes(); val buffer = ByteBuffer.allocate(toAddress.length + dataBytes.length); diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransferWithMemo.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransferWithMemo.java index ed239fc43..611648ce3 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransferWithMemo.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/EncryptedTransferWithMemo.java @@ -28,7 +28,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return payload.getBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitContract.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitContract.java index 438b4b096..53ef222b5 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitContract.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitContract.java @@ -41,7 +41,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return payload.getBytes(); } } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitName.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitName.java index 73281ce43..c8d92a6f1 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitName.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/InitName.java @@ -2,6 +2,7 @@ import com.concordium.sdk.types.UInt16; import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; import lombok.val; @@ -16,6 +17,7 @@ */ @Getter @ToString +@EqualsAndHashCode public final class InitName { /** * Name of the contract diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Parameter.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Parameter.java index 0b66f09de..573b0e412 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Parameter.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Parameter.java @@ -2,6 +2,7 @@ import com.concordium.sdk.types.UInt16; import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; import lombok.val; @@ -18,6 +19,7 @@ @Getter @ToString +@EqualsAndHashCode public final class Parameter { public static final Parameter EMPTY = Parameter.from(new byte[0]); private final byte[] bytes; diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Payload.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Payload.java index e844b72f8..215351b8b 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Payload.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Payload.java @@ -34,11 +34,13 @@ public boolean equals(Object obj) { } /** - * Get the bytes representation of the payload + * Get the serialized payload. + * The actual payload is prepended with a tag (a byte) which + * indicates the {@link TransactionType} * - * @return byte[] + * @return the serialized payload (including the type tag). */ - final byte[] getBytes() { + public final byte[] getBytes() { val payloadBytes = getRawPayloadBytes(); val buffer = ByteBuffer.allocate(TransactionType.BYTES + payloadBytes.length); buffer.put(getTransactionType().getValue()); @@ -114,6 +116,11 @@ private static UInt64 calculateEnergyCost(int noOfSignatures, public abstract TransactionType getTransactionType(); - public abstract byte[] getRawPayloadBytes(); + /** + * This must return the raw payload i.e., the + * payload only. The tag will be prepended by {@link Payload#getBytes()} + * @return the raw serialized payload. + */ + protected abstract byte[] getRawPayloadBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RawPayload.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RawPayload.java index 2519c6f0c..4c0b94eea 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RawPayload.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RawPayload.java @@ -8,7 +8,7 @@ import java.util.Arrays; @ToString -@EqualsAndHashCode(callSuper = true) +@EqualsAndHashCode(callSuper = false) public class RawPayload extends Payload { /** diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ReceiveName.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ReceiveName.java index 391254cd9..4a83f5396 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ReceiveName.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/ReceiveName.java @@ -2,6 +2,7 @@ import com.concordium.sdk.types.UInt16; import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; import lombok.val; @@ -16,6 +17,7 @@ @Getter @ToString +@EqualsAndHashCode public final class ReceiveName { /** * The name of the contract. diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RegisterData.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RegisterData.java index 3a828e6dd..0c16fedf3 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RegisterData.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/RegisterData.java @@ -39,7 +39,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return data.getBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Transfer.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Transfer.java index e265708d9..33caee77e 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Transfer.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/Transfer.java @@ -37,7 +37,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return payload.getBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferSchedule.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferSchedule.java index cb1a2bdc9..a09db8538 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferSchedule.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferSchedule.java @@ -45,7 +45,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { val scheduleLen = amount.length; val scheduleBufferSize = UInt64.BYTES * scheduleLen * 2; diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferScheduleWithMemo.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferScheduleWithMemo.java index 48d024ec2..1a66ce133 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferScheduleWithMemo.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferScheduleWithMemo.java @@ -51,7 +51,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { val schedule_len = amount.length; val schedule_buffer_size = UInt64.BYTES * schedule_len * 2; val buffer = ByteBuffer.allocate( diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToEncrypted.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToEncrypted.java index 57cad52bf..696a697ab 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToEncrypted.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToEncrypted.java @@ -35,7 +35,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return amount.getBytes(); } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToPublic.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToPublic.java index 7879532da..00958494b 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToPublic.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferToPublic.java @@ -49,7 +49,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { val proofBytes = this.proof.getBytes(); val remainingAmountBytes = this.remainingAmount.getBytes(); val buffer = ByteBuffer.allocate(remainingAmountBytes.length diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferWithMemo.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferWithMemo.java index 34413dec4..51e12a658 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferWithMemo.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/TransferWithMemo.java @@ -44,7 +44,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { return payload.getBytes(); } } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContract.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContract.java index 3e43058f6..d4753a3c6 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContract.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContract.java @@ -1,39 +1,78 @@ package com.concordium.sdk.transactions; +import com.concordium.sdk.types.ContractAddress; import com.concordium.sdk.types.UInt64; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.ToString; +import lombok.*; + +import java.nio.ByteBuffer; /** - * Update a new smart contract instance. + * The payload for updating a smart contract. */ +@ToString @Getter @EqualsAndHashCode(callSuper = true) -@ToString public final class UpdateContract extends Payload { - /** - * The payload for updating a smart contract. + * Send the given amount of CCD to the smart contract. + */ + private final CCDAmount amount; + /** + * Address of the contract instance to invoke. + */ + private final ContractAddress contractAddress; + /** + * Name of the method to invoke on the contract. + */ + private final ReceiveName receiveName; + /** + * Message to send to the contract instance */ - private final UpdateContractPayload payload; + private final Parameter param; - private final UInt64 maxEnergyCost; + private UInt64 maxEnergyCost; - public UpdateContract(UpdateContractPayload payload, UInt64 maxEnergyCost) { - this.payload = payload; - this.maxEnergyCost = maxEnergyCost; + private UpdateContract(@NonNull final CCDAmount amount, + @NonNull final ContractAddress contractAddress, + @NonNull final ReceiveName receiveName, + @NonNull final Parameter param) { + this.amount = amount; + this.contractAddress = contractAddress; + this.receiveName = receiveName; + this.param = param; } /** - * Create a new UpdateContract object with the given payload and maximum energy cost. + * > This function creates a payload for updating a contract * - * @param payload The payload of the transaction. - * @param maxEnergyCost The maximum amount of energy that can be consumed by the transaction. - * @return A new instance of the UpdateContract class. + * @param amount The amount of CCD to be sent to the contract. + * @param contractAddress Address of the contract instance to invoke. + * @param contractName Name of the contract to update. + * @param method Name of the method to invoke on the contract + * @param parameter The parameter of the contract method. + * @return A new UpdateContractPayload object. */ - static UpdateContract createNew(UpdateContractPayload payload, UInt64 maxEnergyCost) { - return new UpdateContract(payload, maxEnergyCost); + public static UpdateContract from(final long amount, + @NonNull final ContractAddress contractAddress, + @NonNull final String contractName, + @NonNull final String method, + final byte @NonNull [] parameter) { + return from(CCDAmount.fromMicro(amount), + contractAddress, + ReceiveName.from(contractName, method), + Parameter.from(parameter)); + } + + public static UpdateContract from(@NonNull final CCDAmount amount, + @NonNull final ContractAddress contractAddress, + @NonNull final ReceiveName receiveName, + @NonNull final Parameter param) { + return new UpdateContract(amount, contractAddress, receiveName, param); + } + + public UpdateContract withMaxEnergyCost(UInt64 maxEnergyCost) { + this.maxEnergyCost = maxEnergyCost; + return this; } @Override @@ -48,6 +87,20 @@ public TransactionType getTransactionType() { @Override public byte[] getRawPayloadBytes() { - return payload.getBytes(); + val amountBytes = amount.getBytes(); + val contractAddressBytes = contractAddress.getBytes(); + val receiveNameBytes = receiveName.getBytes(); + val paramBytes = param.getBytes(); + + val buffer = ByteBuffer.allocate(contractAddressBytes.length + + amountBytes.length + + receiveNameBytes.length + + paramBytes.length); + buffer.put(amountBytes); + buffer.put(contractAddressBytes); + buffer.put(receiveNameBytes); + buffer.put(paramBytes); + + return buffer.array(); } } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractPayload.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractPayload.java deleted file mode 100644 index b1e036ffb..000000000 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractPayload.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.concordium.sdk.transactions; - -import com.concordium.sdk.types.ContractAddress; -import com.concordium.sdk.types.UInt64; -import lombok.*; - -import java.nio.ByteBuffer; - -/** - * The payload for updating a smart contract. - */ -@ToString -@Getter -@EqualsAndHashCode(callSuper = true) -public final class UpdateContractPayload extends Payload { - /** - * Send the given amount of CCD to the smart contract. - */ - private final CCDAmount amount; - /** - * Address of the contract instance to invoke. - */ - private final ContractAddress contractAddress; - /** - * Name of the method to invoke on the contract. - */ - private final ReceiveName receiveName; - /** - * Message to send to the contract instance - */ - private final Parameter param; - - private UpdateContractPayload(@NonNull final CCDAmount amount, - @NonNull final ContractAddress contractAddress, - @NonNull final ReceiveName receiveName, - @NonNull final Parameter param) { - this.amount = amount; - this.contractAddress = contractAddress; - this.receiveName = receiveName; - this.param = param; - } - - /** - * > This function creates a payload for updating a contract - * - * @param amount The amount of CCD to be sent to the contract. - * @param contractAddress Address of the contract instance to invoke. - * @param contractName Name of the contract to update. - * @param method Name of the method to invoke on the contract - * @param parameter The parameter of the contract method. - * @return A new UpdateContractPayload object. - */ - public static UpdateContractPayload from(final long amount, - @NonNull final ContractAddress contractAddress, - @NonNull final String contractName, - @NonNull final String method, - final byte @NonNull [] parameter) { - return from(CCDAmount.fromMicro(amount), - contractAddress, - ReceiveName.from(contractName, method), - Parameter.from(parameter)); - } - - public static UpdateContractPayload from(@NonNull final CCDAmount amount, - @NonNull final ContractAddress contractAddress, - @NonNull final ReceiveName receiveName, - @NonNull final Parameter param) { - return new UpdateContractPayload(amount, contractAddress, receiveName, param); - } - - /** - * Returns null as the cost is unknown before - * executing the transaction. - * @return null - */ - @Override - protected UInt64 getTransactionTypeCost() { - return null; - } - - @Override - public TransactionType getTransactionType() { - return TransactionType.UPDATE_SMART_CONTRACT_INSTANCE; - } - - @Override - public byte[] getRawPayloadBytes() { - val amountBytes = amount.getBytes(); - val contractAddressBytes = contractAddress.getBytes(); - val receiveNameBytes = receiveName.getBytes(); - val paramBytes = param.getBytes(); - - val buffer = ByteBuffer.allocate(contractAddressBytes.length - + amountBytes.length - + receiveNameBytes.length - + paramBytes.length); - buffer.put(amountBytes); - buffer.put(contractAddressBytes); - buffer.put(receiveNameBytes); - buffer.put(paramBytes); - - return buffer.array(); - } -} diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractTransaction.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractTransaction.java index ee5af7412..8c4c9ee8d 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractTransaction.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateContractTransaction.java @@ -14,19 +14,19 @@ @ToString(callSuper = true) public class UpdateContractTransaction extends AccountTransaction { private UpdateContractTransaction( - @NonNull final UpdateContractPayload payload, + @NonNull final UpdateContract payload, @NonNull final AccountAddress sender, @NonNull final AccountNonce nonce, @NonNull final Expiry expiry, @NonNull final TransactionSigner signer, @NonNull final UInt64 maxEnergyCost) { - super(sender, nonce, expiry, signer, UpdateContract.createNew(payload, maxEnergyCost)); + super(sender, nonce, expiry, signer, payload.withMaxEnergyCost(maxEnergyCost)); } /** * Creates a new instance of {@link UpdateContractTransaction}. * - * @param payload {@link UpdateContractPayload} of the transaction. + * @param payload {@link UpdateContract} of the transaction. * @param sender Sender ({@link AccountAddress}) of this Transaction. * @param nonce Account {@link com.concordium.sdk.types.Nonce} Of the Sender Account. * @param expiry {@link Expiry} of this transaction. @@ -37,7 +37,7 @@ private UpdateContractTransaction( */ @Builder(builderClassName = "UpdateContractTransactionBuilder") public static UpdateContractTransaction from( - final UpdateContractPayload payload, + final UpdateContract payload, final AccountAddress sender, final AccountNonce nonce, final Expiry expiry, @@ -52,11 +52,11 @@ public static UpdateContractTransaction from( /** * Creates a new instance of {@link UpdateContractTransaction}. - * Using {@link TransactionHeader}, {@link TransactionSignature} and Payload {@link UpdateContractPayload}. + * Using {@link TransactionHeader}, {@link TransactionSignature} and Payload {@link UpdateContract}. * * @param header {@link TransactionHeader}. * @param signature {@link TransactionSignature}. - * @param payload {@link UpdateContractPayload} Payload for this transaction. + * @param payload {@link UpdateContract} Payload for this transaction. * @throws TransactionCreationException On failure to create the Transaction from input params. * Ex when any of the input param is NULL. diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateCredentialKeys.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateCredentialKeys.java index b51e187f5..15f52df23 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateCredentialKeys.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/UpdateCredentialKeys.java @@ -53,7 +53,7 @@ public TransactionType getTransactionType() { } @Override - public byte[] getRawPayloadBytes() { + protected byte[] getRawPayloadBytes() { val credentialRegistrationIdBytes = credentialRegistrationID.getRegId(); val keysBytes = keys.getBytes(); val buffer = ByteBuffer.allocate(credentialRegistrationIdBytes.length + keysBytes.length); diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModule.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModule.java index f49ff2be0..856b79fde 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModule.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModule.java @@ -17,9 +17,9 @@ * A compiled Smart Contract Module in WASM with source and version. */ @Getter -@EqualsAndHashCode(callSuper = true) +@EqualsAndHashCode @ToString -public class WasmModule extends Payload { +public class WasmModule { private static final long MAX_SIZE_V0 = 65536; // 64 kb private static final long MAX_SIZE_V1 = 8 * 65536; // 512 kb @@ -90,7 +90,7 @@ public static WasmModule from(final byte[] bytes) { * @return the identifier of the Module. */ public ModuleRef getIdentifier() { - return ModuleRef.from(SHA256.hash(this.getBytes())); + return ModuleRef.from(SHA256.hash(this.source.getBytes())); } /** @@ -107,18 +107,4 @@ public byte[] getBytes() { return buffer.array(); } - @Override - protected UInt64 getTransactionTypeCost() { - return null; - } - - @Override - public TransactionType getTransactionType() { - return TransactionType.DEPLOY_MODULE; - } - - @Override - public byte[] getRawPayloadBytes() { - return getBytes(); - } } diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModuleSource.java b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModuleSource.java index 20d3f538f..6617dbf60 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModuleSource.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/transactions/smartcontracts/WasmModuleSource.java @@ -11,7 +11,7 @@ * Compiled source in of the WASM Module. */ @EqualsAndHashCode -class WasmModuleSource { +public class WasmModuleSource { /** * The raw bytes of the WasmModule. @@ -27,7 +27,7 @@ public static WasmModuleSource from(final byte[] bytes) { } /** - * Get the raw bytes of the wasm module. + * Get the serialized bytes of the module. * * @return the module source bytes. */ diff --git a/concordium-sdk/src/main/java/com/concordium/sdk/types/AccountAddress.java b/concordium-sdk/src/main/java/com/concordium/sdk/types/AccountAddress.java index b7ad8cdf4..7b89241d2 100644 --- a/concordium-sdk/src/main/java/com/concordium/sdk/types/AccountAddress.java +++ b/concordium-sdk/src/main/java/com/concordium/sdk/types/AccountAddress.java @@ -20,7 +20,7 @@ import java.util.Objects; import java.util.Optional; -@EqualsAndHashCode(callSuper = true) +@EqualsAndHashCode(callSuper = false) public final class AccountAddress extends AbstractAddress { public static final int BYTES = 32; private final static int VERSION = 1; diff --git a/concordium-sdk/src/test/java/com/concordium/sdk/ClientV2GetItemsTest.java b/concordium-sdk/src/test/java/com/concordium/sdk/ClientV2GetItemsTest.java index 59b753121..d57426654 100644 --- a/concordium-sdk/src/test/java/com/concordium/sdk/ClientV2GetItemsTest.java +++ b/concordium-sdk/src/test/java/com/concordium/sdk/ClientV2GetItemsTest.java @@ -138,7 +138,8 @@ public void getBlockItems(BlockHashInput request, StreamObserver resp .builderBlockItem() .header(ACCOUNT_TRANSACTION_HEADER_EXPECTED) .signature(ACCOUNT_TRANSACTION_SIGNATURE_EXPECTED) - .payload(WasmModule.from(MODULE_V0_BYTES, WasmModuleVersion.V0)) + .payload(DeployModule.builder().module(WasmModule.from(MODULE_V0_BYTES, WasmModuleVersion.V0)).build().withMaxEnergyCost(UInt64.from(ACCOUNT_TRANSACTION_ENERGY))) + .maxEnergyCost(UInt64.from(ACCOUNT_TRANSACTION_ENERGY)) .build(); private static final CredentialDeploymentTransaction CREDENTIAL_DEPLOYMENT_EXPECTED = CredentialDeploymentTransaction .builderBlockItem() @@ -215,6 +216,7 @@ public void shouldMapInitContractTransaction() { moduleRef, initName, parameter)) + .maxEnergyCost(ACCOUNT_TRANSACTION_HEADER_EXPECTED.getMaxEnergyCost()) .build(); assertEquals(expected, mapped); @@ -243,7 +245,7 @@ public void shouldMapUpdateContractTransaction() { val expected = UpdateContractTransaction.builderAccountTransactionBlockItem() .header(ACCOUNT_TRANSACTION_HEADER_EXPECTED.toBuilder().payloadSize(UInt32.from(46)).build()) .signature(ACCOUNT_TRANSACTION_SIGNATURE_EXPECTED) - .payload(com.concordium.sdk.transactions.UpdateContractPayload.from(amount, + .payload(UpdateContract.from(amount, com.concordium.sdk.types.ContractAddress.from(1, 0), "contract", "method", @@ -330,8 +332,6 @@ public void shouldMapTransferWithMemoTransaction() { assertEquals(expected, mapped); } - /** - * @Test public void shouldMapRawTransaction() { @@ -346,7 +346,7 @@ public void shouldMapRawTransaction() { .builderAccountTransactionBlockItem() .header(ACCOUNT_TRANSACTION_HEADER_EXPECTED.toBuilder().payloadSize(UInt32.from(3)).build()) .signature(ACCOUNT_TRANSACTION_SIGNATURE_EXPECTED) - .payload(payloadBytes) + .payload(RawPayload.from(payloadBytes)) .build(); assertEquals(expected, mapped); @@ -361,13 +361,12 @@ public void shouldMapPayloadNotSetTransaction() { .builderAccountTransactionBlockItem() .header(ACCOUNT_TRANSACTION_HEADER_EXPECTED.toBuilder().payloadSize(UInt32.from(0)).build()) .signature(ACCOUNT_TRANSACTION_SIGNATURE_EXPECTED) - .payloadBytes(new byte[0]) + .payload(RawPayload.from(new byte[0])) .build(); assertEquals(expected, mapped); } - */ @Test public void shouldMapModuleV1() { diff --git a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/DeployModuleTest.java b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/DeployModuleTest.java index 5ac0a672f..02a9b0634 100644 --- a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/DeployModuleTest.java +++ b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/DeployModuleTest.java @@ -22,7 +22,7 @@ public class DeployModuleTest { public void testDeployVersionedModule() { val module = WasmModule.from( Files.readAllBytes(Paths.get("src/test/java/com/concordium/sdk/binaries/module.wasm.v1"))); - val payload = DeployModule.createNew(module, UInt64.from(6000)) + val payload = DeployModule.createNew(module).withMaxEnergyCost(UInt64.from(6000)) .withHeader(TransactionHeader .builder() .sender(AccountAddress.from("3JwD2Wm3nMbsowCwb1iGEpnt47UQgdrtnq2qT6opJc3z2AgCrc")) @@ -44,7 +44,7 @@ public void testDeployUnVersionedModule() { val module = WasmModule.from( Files.readAllBytes(Paths.get("src/test/java/com/concordium/sdk/binaries/module.wasm")), WasmModuleVersion.V0); - val payload = DeployModule.createNew(module, UInt64.from(6000)) + val payload = DeployModule.createNew(module).withMaxEnergyCost(UInt64.from(6000)) .withHeader(TransactionHeader .builder() .sender(AccountAddress.from("3JwD2Wm3nMbsowCwb1iGEpnt47UQgdrtnq2qT6opJc3z2AgCrc")) diff --git a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/TestUtils.java b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/TestUtils.java index d2245ba27..e3d47777a 100644 --- a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/TestUtils.java +++ b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/TestUtils.java @@ -12,6 +12,14 @@ static int[] signedByteArrayToUnsigned(byte[] bytes) { return out; } + static byte[] unsignedByteArrayToSigned(int[] bytes) { + val out = new byte[bytes.length]; + for (int i = 0; i < bytes.length; i++) { + out[i] = (byte) bytes[i]; + } + return out; + } + final static int[] EXPECTED_BLOCK_ITEM_VERSIONED_BYTES = new int[]{0, 0, 1, 0, 2, 0, 0, 64, 152, 227, 127, 99, 157, 56, 42, 159, 2, 201, 153, 75, 203, 225, 32, 170, 250, 113, 86, 154, 221, 39, 67, 217, 104, 230, 252, 238, 144, 171, 148, 190, 180, 53, 148, 163, 156, 67, 200, 194, 171, 125, 50, 34, 7, 163, 16, 11, 174, 57, 32, 182, 39, 175, 140, 53, 221, 212, 247, 198, 238, 40, 172, 3, 1, 0, 64, 251, 92, 45, 163, 94, 136, 144, 50, 231, 36, 74, 36, 65, 31, 185, 11, 70, 69, 187, 0, 116, 221, 88, 132, 9, 75, 94, 146, 142, 38, 174, 165, 165, 91, 19, 187, 255, 120, 109, 91, 24, 238, 62, 101, 74, 138, 118, 2, 65, 136, 169, 90, 126, 198, 88, 34, 52, 67, 227, 217, 112, 174, 57, 10, 48, 29, 107, 23, 16, 181, 115, 90, 252, 36, 88, 152, 1, 33, 61, 19, 170, 107, 68, 120, 137, 15, 223, 232, 25, 91, 202, 14, 175, 34, 97, 78, 0, 0, 0, 0, 0, 1, 52, 62, 0, 0, 0, 0, 0, 0, 2, 89, 0, 0, 0, 41, 0, 0, 0, 0, 0, 1, 226, 64, 3, 99, 115, 136, 188, 214, 204, 203, 57, 195, 36, 187, 150, 38, 82, 98, 202, 219, 128, 109, 136, 75, 54, 232, 84, 31, 221, 18, 246, 161, 193, 14, 225, 0, 0, 0, 0, 0, 0, 0, 17}; final static int[] EXPECTED_BLOCK_ITEM_BYTES = new int[]{0, 1, 0, 2, 0, 0, 64, 152, 227, 127, 99, 157, 56, 42, 159, 2, 201, 153, 75, 203, 225, 32, 170, 250, 113, 86, 154, 221, 39, 67, 217, 104, 230, 252, 238, 144, 171, 148, 190, 180, 53, 148, 163, 156, 67, 200, 194, 171, 125, 50, 34, 7, 163, 16, 11, 174, 57, 32, 182, 39, 175, 140, 53, 221, 212, 247, 198, 238, 40, 172, 3, 1, 0, 64, 251, 92, 45, 163, 94, 136, 144, 50, 231, 36, 74, 36, 65, 31, 185, 11, 70, 69, 187, 0, 116, 221, 88, 132, 9, 75, 94, 146, 142, 38, 174, 165, 165, 91, 19, 187, 255, 120, 109, 91, 24, 238, 62, 101, 74, 138, 118, 2, 65, 136, 169, 90, 126, 198, 88, 34, 52, 67, 227, 217, 112, 174, 57, 10, 48, 29, 107, 23, 16, 181, 115, 90, 252, 36, 88, 152, 1, 33, 61, 19, 170, 107, 68, 120, 137, 15, 223, 232, 25, 91, 202, 14, 175, 34, 97, 78, 0, 0, 0, 0, 0, 1, 52, 62, 0, 0, 0, 0, 0, 0, 2, 89, 0, 0, 0, 41, 0, 0, 0, 0, 0, 1, 226, 64, 3, 99, 115, 136, 188, 214, 204, 203, 57, 195, 36, 187, 150, 38, 82, 98, 202, 219, 128, 109, 136, 75, 54, 232, 84, 31, 221, 18, 246, 161, 193, 14, 225, 0, 0, 0, 0, 0, 0, 0, 17}; final static int[] EXPECTED_BLOCK_ITEM_TRANSFER_WITH_MEMO_VERSIONED_BYTES = new int[]{0, 0, 1, 0, 2, 0, 0, 64, 80, 53, 110, 69, 119, 199, 84, 15, 33, 30, 60, 7, 251, 96, 224, 136, 118, 61, 237, 128, 206, 2, 245, 200, 154, 69, 98, 60, 123, 46, 109, 43, 251, 252, 92, 223, 20, 188, 240, 18, 250, 133, 77, 184, 171, 118, 65, 146, 115, 40, 19, 12, 189, 99, 109, 232, 21, 72, 17, 182, 219, 229, 170, 14, 1, 0, 64, 211, 209, 44, 206, 175, 172, 171, 169, 42, 221, 75, 73, 127, 176, 202, 107, 7, 223, 236, 13, 185, 199, 202, 63, 43, 57, 139, 18, 15, 139, 100, 181, 55, 223, 99, 98, 155, 82, 124, 41, 197, 122, 226, 69, 49, 132, 156, 106, 142, 84, 33, 34, 175, 43, 66, 58, 152, 100, 149, 210, 20, 17, 95, 11, 48, 29, 107, 23, 16, 181, 115, 90, 252, 36, 88, 152, 1, 33, 61, 19, 170, 107, 68, 120, 137, 15, 223, 232, 25, 91, 202, 14, 175, 34, 97, 78, 0, 0, 0, 0, 0, 1, 52, 62, 0, 0, 0, 0, 0, 0, 2, 96, 0, 0, 0, 48, 0, 0, 0, 0, 0, 1, 226, 64, 22, 99, 115, 136, 188, 214, 204, 203, 57, 195, 36, 187, 150, 38, 82, 98, 202, 219, 128, 109, 136, 75, 54, 232, 84, 31, 221, 18, 246, 161, 193, 14, 225, 0, 5, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 17}; diff --git a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractPayloadTest.java b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractPayloadTest.java deleted file mode 100644 index 7d1ab92a7..000000000 --- a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractPayloadTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.concordium.sdk.transactions; - -import com.concordium.sdk.types.ContractAddress; -import lombok.val; -import org.junit.Test; - -import static org.junit.Assert.assertArrayEquals; - - -public class UpdateContractPayloadTest { - - final static int[] EXPECTED_UPDATE_CONTRACT_PAYLOAD_DATA_BYTES = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 67, 73, 83, 50, 45, 78, 70, 84, 46, 109, 105, 110, 116, 0, 0}; - - @Test - public void testCreatePayload() { - byte[] emptyArray = new byte[0]; - val payload = UpdateContractPayload.from( - 0, - ContractAddress.from(81, 0), - "CIS2-NFT", - "mint", - emptyArray); - - assertArrayEquals(EXPECTED_UPDATE_CONTRACT_PAYLOAD_DATA_BYTES, TestUtils.signedByteArrayToUnsigned(payload.getRawPayloadBytes())); - } -} diff --git a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTest.java b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTest.java index 4376a58b2..51948ed24 100644 --- a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTest.java +++ b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTest.java @@ -21,8 +21,8 @@ public class UpdateContractTest { @Test public void updateContractTest() { byte[] emptyArray = new byte[0]; - val transfer = UpdateContract.createNew( - UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray), UInt64.from(3000)) + val tx = + UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray).withMaxEnergyCost(UInt64.from(3000)) .withHeader(TransactionHeader .builder() .sender(AccountAddress.from("3JwD2Wm3nMbsowCwb1iGEpnt47UQgdrtnq2qT6opJc3z2AgCrc")) @@ -37,12 +37,12 @@ public void updateContractTest() { ED25519SecretKey.from("cd20ea0127cddf77cf2c20a18ec4516a99528a72e642ac7deb92131a9d108ae9")) ) ); - val transferBytesLength = transfer.getRawPayloadBytes().length; - assertEquals(42, transferBytesLength); + val txLength = tx.getBytes().length; + assertEquals(42, txLength); - val transferDataToSign = transfer.getDataToSign(); + val transferDataToSign = tx.getDataToSign(); assertEquals("02b15fc092aa1e63035a18cb1b4f62a9d2a6186bdb6147f85525bcb8771ab5b7", Hex.encodeHexString(transferDataToSign)); - val blockItem = transfer.toAccountTransaction(); + val blockItem = tx.toAccountTransaction(); val blockItemBytes = blockItem.getBytes(); assertArrayEquals(EXPECTED_BLOCK_ITEM_UPDATE_CONTRACT_DATA_BYTES, TestUtils.signedByteArrayToUnsigned(blockItemBytes)); diff --git a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTransactionTest.java b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTransactionTest.java index 023f4e597..664c5aa05 100644 --- a/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTransactionTest.java +++ b/concordium-sdk/src/test/java/com/concordium/sdk/transactions/UpdateContractTransactionTest.java @@ -25,7 +25,7 @@ public void testUpdateContractTransaction() { .nonce(AccountNonce.from(78910)) .expiry(Expiry.from(123456)) .signer(TransactionTestHelper.getValidSigner()) - .payload(UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) + .payload(UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) .maxEnergyCost(UInt64.from(10000)) .build(); assertEquals("ac20e2a4be17d4e85bfbbbdc430b249517cfc634eaa57baa7df6cd42d711d94c", transaction.getHash().asHex()); @@ -40,7 +40,7 @@ public void testUpdateContractTransactionWithoutSenderFails() { .nonce(AccountNonce.from(78910)) .expiry(Expiry.from(123456)) .signer(TransactionTestHelper.getValidSigner()) - .payload(UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) + .payload(UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) .maxEnergyCost(UInt64.from(10000)) .build(); fail("Expected TransferTransaction to fail"); @@ -55,7 +55,7 @@ public void testUpdateContractTransactionWithoutNonceFails() { .sender(AccountAddress.from("3JwD2Wm3nMbsowCwb1iGEpnt47UQgdrtnq2qT6opJc3z2AgCrc")) .expiry(Expiry.from(123456)) .signer(TransactionTestHelper.getValidSigner()) - .payload(UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) + .payload(UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) .maxEnergyCost(UInt64.from(10000)) .build(); fail("Expected TransferTransaction to fail"); @@ -70,7 +70,7 @@ public void testUpdateContractTransactionWithoutExpiryFails() { .sender(AccountAddress.from("3JwD2Wm3nMbsowCwb1iGEpnt47UQgdrtnq2qT6opJc3z2AgCrc")) .nonce(AccountNonce.from(78910)) .signer(TransactionTestHelper.getValidSigner()) - .payload(UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) + .payload(UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) .maxEnergyCost(UInt64.from(10000)) .build(); fail("Expected DeployTransaction to fail"); @@ -85,7 +85,7 @@ public void testUpdateContractTransactionWithoutSignerShouldFail() { .sender(AccountAddress.from("3JwD2Wm3nMbsowCwb1iGEpnt47UQgdrtnq2qT6opJc3z2AgCrc")) .nonce(AccountNonce.from(78910)) .expiry(Expiry.from(123456)) - .payload(UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) + .payload(UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) .maxEnergyCost(UInt64.from(10000)) .build(); fail("Expected TransferTransaction to fail"); @@ -99,7 +99,7 @@ public void testUpdateContractTransactionWithInvalidSignerFails() { .nonce(AccountNonce.from(78910)) .expiry(Expiry.from(123456)) .signer(getSignerWithMalformedSecretKey()) - .payload(UpdateContractPayload.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) + .payload(UpdateContract.from(0, ContractAddress.from(81, 0), "CIS2-NFT", "mint", emptyArray)) .maxEnergyCost(UInt64.from(10000)) .build(); }