From 5e64e5e0d022edb9c7b251322d75586ec97a3ba4 Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 15:07:11 +0800 Subject: [PATCH 1/9] add no cryptoKeyPair method --- .../manager/TransactionProcessor.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 9d7b4c960..0b16f8cff 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -62,6 +62,10 @@ public TransactionReceipt sendTransactionAndGetReceipt( return this.client.sendRawTransactionAndGetReceipt(signedData); } + public TransactionReceipt sendTransactionAndGetReceipt(String to, String data) { + return sendTransactionAndGetReceipt(to, data, this.cryptoKeyPair); + } + @Override public void sendTransactionAsync( String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { @@ -69,6 +73,10 @@ public void sendTransactionAsync( client.sendRawTransactionAndGetReceiptAsync(signedData, callback); } + public void sendTransactionAsync(String to, String data, TransactionCallback callback) { + sendTransactionAsync(to, data, this.cryptoKeyPair, callback); + } + @Override public byte[] sendTransactionAsyncAndGetHash( String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { @@ -78,6 +86,11 @@ public byte[] sendTransactionAsyncAndGetHash( return transactionHash; } + public byte[] sendTransactionAsyncAndGetHash( + String to, String data, TransactionCallback callback) { + return sendTransactionAsyncAndGetHash(to, data, this.cryptoKeyPair, callback); + } + @Override public Call executeCall(CallRequest callRequest) { return executeCall( @@ -103,4 +116,8 @@ public String createSignedTransaction(String to, String data, CryptoKeyPair cryp ""); return transactionEncoder.encodeAndSign(rawTransaction, cryptoKeyPair); } + + public String createSignedTransaction(String to, String data) { + return createSignedTransaction(to, data, this.cryptoKeyPair); + } } From d8a5565ccdfc0eaca1b9a9f2e899e98eeb04fe55 Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 15:15:28 +0800 Subject: [PATCH 2/9] add preconditions&default cryptoKeyPair in method --- .../transaction/manager/TransactionProcessor.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 0b16f8cff..8c5dc689b 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -58,6 +58,9 @@ public TransactionProcessor( @Override public TransactionReceipt sendTransactionAndGetReceipt( String to, String data, CryptoKeyPair cryptoKeyPair) { + if (cryptoKeyPair == null) { + cryptoKeyPair = this.cryptoKeyPair; + } String signedData = createSignedTransaction(to, data, cryptoKeyPair); return this.client.sendRawTransactionAndGetReceipt(signedData); } @@ -69,6 +72,9 @@ public TransactionReceipt sendTransactionAndGetReceipt(String to, String data) { @Override public void sendTransactionAsync( String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { + if (cryptoKeyPair == null) { + cryptoKeyPair = this.cryptoKeyPair; + } String signedData = createSignedTransaction(to, data, cryptoKeyPair); client.sendRawTransactionAndGetReceiptAsync(signedData, callback); } @@ -80,6 +86,9 @@ public void sendTransactionAsync(String to, String data, TransactionCallback cal @Override public byte[] sendTransactionAsyncAndGetHash( String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { + if (cryptoKeyPair == null) { + cryptoKeyPair = this.cryptoKeyPair; + } String signedData = createSignedTransaction(to, data, cryptoKeyPair); client.sendRawTransactionAndGetReceiptAsync(signedData, callback); byte[] transactionHash = cryptoSuite.hash(Hex.decode(Numeric.cleanHexPrefix(signedData))); @@ -104,6 +113,9 @@ public Call executeCall(String from, String to, String encodedFunction) { @Override public String createSignedTransaction(String to, String data, CryptoKeyPair cryptoKeyPair) { + if (cryptoKeyPair == null) { + cryptoKeyPair = this.cryptoKeyPair; + } RawTransaction rawTransaction = transactionBuilder.createTransaction( DefaultGasProvider.GAS_PRICE, From b7251f19203288acc645aa688850e109190e386f Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 15:24:56 +0800 Subject: [PATCH 3/9] rename --- .../manager/TransactionProcessor.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 8c5dc689b..503c805ec 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -71,11 +71,11 @@ public TransactionReceipt sendTransactionAndGetReceipt(String to, String data) { @Override public void sendTransactionAsync( - String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { - if (cryptoKeyPair == null) { - cryptoKeyPair = this.cryptoKeyPair; + String to, String data, CryptoKeyPair newCryptoKeyPair, TransactionCallback callback) { + if (newCryptoKeyPair == null) { + newCryptoKeyPair = this.cryptoKeyPair; } - String signedData = createSignedTransaction(to, data, cryptoKeyPair); + String signedData = createSignedTransaction(to, data, newCryptoKeyPair); client.sendRawTransactionAndGetReceiptAsync(signedData, callback); } @@ -85,11 +85,11 @@ public void sendTransactionAsync(String to, String data, TransactionCallback cal @Override public byte[] sendTransactionAsyncAndGetHash( - String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { - if (cryptoKeyPair == null) { - cryptoKeyPair = this.cryptoKeyPair; + String to, String data, CryptoKeyPair newCryptoKeyPair, TransactionCallback callback) { + if (newCryptoKeyPair == null) { + newCryptoKeyPair = this.cryptoKeyPair; } - String signedData = createSignedTransaction(to, data, cryptoKeyPair); + String signedData = createSignedTransaction(to, data, newCryptoKeyPair); client.sendRawTransactionAndGetReceiptAsync(signedData, callback); byte[] transactionHash = cryptoSuite.hash(Hex.decode(Numeric.cleanHexPrefix(signedData))); return transactionHash; @@ -112,9 +112,9 @@ public Call executeCall(String from, String to, String encodedFunction) { } @Override - public String createSignedTransaction(String to, String data, CryptoKeyPair cryptoKeyPair) { - if (cryptoKeyPair == null) { - cryptoKeyPair = this.cryptoKeyPair; + public String createSignedTransaction(String to, String data, CryptoKeyPair newCryptoKeyPair) { + if (newCryptoKeyPair == null) { + newCryptoKeyPair = this.cryptoKeyPair; } RawTransaction rawTransaction = transactionBuilder.createTransaction( @@ -126,7 +126,7 @@ public String createSignedTransaction(String to, String data, CryptoKeyPair cryp new BigInteger(this.chainId), BigInteger.valueOf(this.groupId), ""); - return transactionEncoder.encodeAndSign(rawTransaction, cryptoKeyPair); + return transactionEncoder.encodeAndSign(rawTransaction, newCryptoKeyPair); } public String createSignedTransaction(String to, String data) { From a1f5217e33d0bc1c5c433993ea8f833ea5e932fa Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 15:37:52 +0800 Subject: [PATCH 4/9] fix style problems --- .../manager/TransactionProcessor.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 503c805ec..77fd9118f 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -59,10 +59,12 @@ public TransactionProcessor( public TransactionReceipt sendTransactionAndGetReceipt( String to, String data, CryptoKeyPair cryptoKeyPair) { if (cryptoKeyPair == null) { - cryptoKeyPair = this.cryptoKeyPair; + return this.client.sendRawTransactionAndGetReceipt( + createSignedTransaction(to, data, this.cryptoKeyPair)); + } else { + return this.client.sendRawTransactionAndGetReceipt( + createSignedTransaction(to, data, cryptoKeyPair)); } - String signedData = createSignedTransaction(to, data, cryptoKeyPair); - return this.client.sendRawTransactionAndGetReceipt(signedData); } public TransactionReceipt sendTransactionAndGetReceipt(String to, String data) { @@ -71,12 +73,13 @@ public TransactionReceipt sendTransactionAndGetReceipt(String to, String data) { @Override public void sendTransactionAsync( - String to, String data, CryptoKeyPair newCryptoKeyPair, TransactionCallback callback) { - if (newCryptoKeyPair == null) { - newCryptoKeyPair = this.cryptoKeyPair; + String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { + if (cryptoKeyPair == null) { + client.sendRawTransactionAndGetReceiptAsync( + createSignedTransaction(to, data, this.cryptoKeyPair), callback); } - String signedData = createSignedTransaction(to, data, newCryptoKeyPair); - client.sendRawTransactionAndGetReceiptAsync(signedData, callback); + client.sendRawTransactionAndGetReceiptAsync( + createSignedTransaction(to, data, cryptoKeyPair), callback); } public void sendTransactionAsync(String to, String data, TransactionCallback callback) { @@ -85,11 +88,13 @@ public void sendTransactionAsync(String to, String data, TransactionCallback cal @Override public byte[] sendTransactionAsyncAndGetHash( - String to, String data, CryptoKeyPair newCryptoKeyPair, TransactionCallback callback) { - if (newCryptoKeyPair == null) { - newCryptoKeyPair = this.cryptoKeyPair; + String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback) { + String signedData; + if (cryptoKeyPair == null) { + signedData = createSignedTransaction(to, data, this.cryptoKeyPair); + } else { + signedData = createSignedTransaction(to, data, cryptoKeyPair); } - String signedData = createSignedTransaction(to, data, newCryptoKeyPair); client.sendRawTransactionAndGetReceiptAsync(signedData, callback); byte[] transactionHash = cryptoSuite.hash(Hex.decode(Numeric.cleanHexPrefix(signedData))); return transactionHash; @@ -112,10 +117,7 @@ public Call executeCall(String from, String to, String encodedFunction) { } @Override - public String createSignedTransaction(String to, String data, CryptoKeyPair newCryptoKeyPair) { - if (newCryptoKeyPair == null) { - newCryptoKeyPair = this.cryptoKeyPair; - } + public String createSignedTransaction(String to, String data, CryptoKeyPair cryptoKeyPair) { RawTransaction rawTransaction = transactionBuilder.createTransaction( DefaultGasProvider.GAS_PRICE, @@ -126,7 +128,10 @@ public String createSignedTransaction(String to, String data, CryptoKeyPair newC new BigInteger(this.chainId), BigInteger.valueOf(this.groupId), ""); - return transactionEncoder.encodeAndSign(rawTransaction, newCryptoKeyPair); + if (cryptoKeyPair == null) { + return transactionEncoder.encodeAndSign(rawTransaction, this.cryptoKeyPair); + } + return transactionEncoder.encodeAndSign(rawTransaction, cryptoKeyPair); } public String createSignedTransaction(String to, String data) { From d9c10d63195176a131ada65bc969867f982cd4de Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 16:39:50 +0800 Subject: [PATCH 5/9] add method with cryptoKeyPair args --- .../manager/AssembleTransactionProcessor.java | 154 +++++++++++++++++- .../manager/TransactionProcessor.java | 10 +- 2 files changed, 154 insertions(+), 10 deletions(-) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java index a0fee8de3..0abaa9344 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java @@ -94,9 +94,18 @@ public void deployOnly(String abi, String bin, List params) throws ABICo transactionPusher.pushOnly(createSignedConstructor(abi, bin, params)); } + public void deployOnly(String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) + throws ABICodecException { + transactionPusher.pushOnly(createSignedConstructor(abi, bin, params, cryptoKeyPair)); + } + @Override public TransactionReceipt deployAndGetReceipt(String data) { - String signedData = createSignedTransaction(null, data, this.cryptoKeyPair); + return deployAndGetReceipt(data, this.cryptoKeyPair); + } + + public TransactionReceipt deployAndGetReceipt(String data, CryptoKeyPair cryptoKeyPair) { + String signedData = createSignedTransaction(null, data, cryptoKeyPair); return transactionPusher.push(signedData); } @@ -119,15 +128,27 @@ public TransactionResponse deployAndGetResponse(String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) + throws ABICodecException { + return deployAndGetResponse(abi, createSignedConstructor(abi, bin, params, cryptoKeyPair)); + } + @Override public TransactionResponse deployAndGetResponseWithStringParams( String abi, String bin, List params) throws ABICodecException { + return deployAndGetResponseWithStringParams(abi, bin, params, this.cryptoKeyPair); + } + + public TransactionResponse deployAndGetResponseWithStringParams( + String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) + throws ABICodecException { return deployAndGetResponse( abi, createSignedTransaction( null, abiCodec.encodeConstructorFromString(abi, bin, params), - this.cryptoKeyPair)); + cryptoKeyPair)); } @Override @@ -137,12 +158,30 @@ public void deployAsync( transactionPusher.pushAsync(createSignedConstructor(abi, bin, params), callback); } + public void deployAsync( + String abi, + String bin, + List params, + TransactionCallback callback, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException { + transactionPusher.pushAsync( + createSignedConstructor(abi, bin, params, cryptoKeyPair), callback); + } + @Override public CompletableFuture deployAsync( String abi, String bin, List params) throws ABICodecException { return transactionPusher.pushAsync(createSignedConstructor(abi, bin, params)); } + public CompletableFuture deployAsync( + String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) + throws ABICodecException { + return transactionPusher.pushAsync( + createSignedConstructor(abi, bin, params, cryptoKeyPair)); + } + /** * Deploy by bin and abi files. Should init with contractLoader. * @@ -156,21 +195,38 @@ public CompletableFuture deployAsync( @Override public TransactionResponse deployByContractLoader(String contractName, List args) throws ABICodecException, TransactionBaseException { + return deployByContractLoader(contractName, args, this.cryptoKeyPair); + } + + public TransactionResponse deployByContractLoader( + String contractName, List args, CryptoKeyPair cryptoKeyPair) + throws ABICodecException, TransactionBaseException { return deployAndGetResponse( contractLoader.getABIByContractName(contractName), contractLoader.getBinaryByContractName(contractName), - args); + args, + cryptoKeyPair); } @Override public void deployByContractLoaderAsync( String contractName, List args, TransactionCallback callback) throws ABICodecException, NoSuchTransactionFileException { + deployByContractLoaderAsync(contractName, args, callback, this.cryptoKeyPair); + } + + public void deployByContractLoaderAsync( + String contractName, + List args, + TransactionCallback callback, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException, NoSuchTransactionFileException { deployAsync( contractLoader.getABIByContractName(contractName), contractLoader.getBinaryByContractName(contractName), args, - callback); + callback, + cryptoKeyPair); } @Override @@ -182,7 +238,18 @@ public void sendTransactionOnly(String signedData) { public TransactionResponse sendTransactionAndGetResponse( String to, String abi, String functionName, String data) throws TransactionBaseException, ABICodecException { - String signedData = createSignedTransaction(to, data, this.cryptoKeyPair); + return sendTransactionAndGetResponse(to, abi, functionName, data, this.cryptoKeyPair); + } + + public TransactionResponse sendTransactionAndGetResponse( + String to, String abi, String functionName, String data, CryptoKeyPair cryptoKeyPair) + throws TransactionBaseException, ABICodecException { + String signedData; + if (cryptoKeyPair == null) { + signedData = createSignedTransaction(to, data, cryptoKeyPair); + } else { + signedData = createSignedTransaction(to, data, this.cryptoKeyPair); + } TransactionReceipt receipt = this.transactionPusher.push(signedData); try { return transactionDecoder.decodeReceiptWithValues(abi, functionName, receipt); @@ -197,8 +264,18 @@ public TransactionResponse sendTransactionAndGetResponse( public TransactionResponse sendTransactionAndGetResponse( String to, String abi, String functionName, List params) throws ABICodecException, TransactionBaseException { + return sendTransactionAndGetResponse(to, abi, functionName, params, this.cryptoKeyPair); + } + + public TransactionResponse sendTransactionAndGetResponse( + String to, + String abi, + String functionName, + List params, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException, TransactionBaseException { String data = encodeFunction(abi, functionName, params); - return sendTransactionAndGetResponse(to, abi, functionName, data); + return sendTransactionAndGetResponse(to, abi, functionName, data, cryptoKeyPair); } @Override @@ -213,6 +290,17 @@ public TransactionResponse sendTransactionWithStringParamsAndGetResponse( public TransactionReceipt sendTransactionAndGetReceiptByContractLoader( String contractName, String contractAddress, String functionName, List args) throws ABICodecException, TransactionBaseException { + return sendTransactionAndGetReceiptByContractLoader( + contractName, contractAddress, functionName, args, this.cryptoKeyPair); + } + + public TransactionReceipt sendTransactionAndGetReceiptByContractLoader( + String contractName, + String contractAddress, + String functionName, + List args, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException, TransactionBaseException { String data = abiCodec.encodeMethod( contractLoader.getABIByContractName(contractName), functionName, args); @@ -233,6 +321,21 @@ public TransactionResponse sendTransactionAndGetResponseByContractLoader( funcParams); } + public TransactionResponse sendTransactionAndGetResponseByContractLoader( + String contractName, + String contractAddress, + String functionName, + List funcParams, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException, TransactionBaseException { + return sendTransactionAndGetResponse( + contractAddress, + contractLoader.getABIByContractName(contractName), + functionName, + funcParams, + cryptoKeyPair); + } + @Override public void sendTransactionAsync(String signedTransaction, TransactionCallback callback) { transactionPusher.pushAsync(signedTransaction, callback); @@ -246,8 +349,19 @@ public void sendTransactionAsync( List params, TransactionCallback callback) throws TransactionBaseException, ABICodecException { + sendTransactionAsync(to, abi, functionName, params, callback, this.cryptoKeyPair); + } + + public void sendTransactionAsync( + String to, + String abi, + String functionName, + List params, + TransactionCallback callback, + CryptoKeyPair cryptoKeyPair) + throws TransactionBaseException, ABICodecException { String data = encodeFunction(abi, functionName, params); - sendTransactionAsync(to, data, this.cryptoKeyPair, callback); + sendTransactionAsync(to, data, cryptoKeyPair, callback); } @Override @@ -263,10 +377,22 @@ public void sendTransactionAndGetReceiptByContractLoaderAsync( List args, TransactionCallback callback) throws ABICodecException, TransactionBaseException { + sendTransactionAndGetReceiptByContractLoaderAsync( + contractName, contractAddress, functionName, args, callback, this.cryptoKeyPair); + } + + public void sendTransactionAndGetReceiptByContractLoaderAsync( + String contractName, + String contractAddress, + String functionName, + List args, + TransactionCallback callback, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException, TransactionBaseException { String data = abiCodec.encodeMethod( contractLoader.getABIByContractName(contractName), functionName, args); - sendTransactionAsync(contractAddress, data, this.cryptoKeyPair, callback); + sendTransactionAsync(contractAddress, data, cryptoKeyPair, callback); } @Override @@ -328,8 +454,18 @@ public CallResponse callAndGetResponse( @Override public String createSignedConstructor(String abi, String bin, List params) throws ABICodecException { + return createSignedConstructor(abi, bin, params, this.cryptoKeyPair); + } + + public String createSignedConstructor( + String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) + throws ABICodecException { + if (cryptoKeyPair == null) { + return createSignedTransaction( + null, abiCodec.encodeConstructor(abi, bin, params), this.cryptoKeyPair); + } return createSignedTransaction( - null, abiCodec.encodeConstructor(abi, bin, params), this.cryptoKeyPair); + null, abiCodec.encodeConstructor(abi, bin, params), cryptoKeyPair); } @Override diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 77fd9118f..3b05cf1a6 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -37,7 +37,7 @@ public class TransactionProcessor implements TransactionProcessorInterface { protected static Logger log = LoggerFactory.getLogger(TransactionProcessor.class); protected final CryptoSuite cryptoSuite; - protected final CryptoKeyPair cryptoKeyPair; + protected CryptoKeyPair cryptoKeyPair; protected final Client client; protected final Integer groupId; protected final String chainId; @@ -55,6 +55,14 @@ public TransactionProcessor( this.transactionEncoder = new TransactionEncoderService(client.getCryptoSuite()); } + public CryptoKeyPair getCryptoKeyPair() { + return cryptoKeyPair; + } + + public void setCryptoKeyPair(CryptoKeyPair cryptoKeyPair) { + this.cryptoKeyPair = cryptoKeyPair; + } + @Override public TransactionReceipt sendTransactionAndGetReceipt( String to, String data, CryptoKeyPair cryptoKeyPair) { From f3b065a6e960d81738600db0a3ff2fa84fa8478d Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 16:50:17 +0800 Subject: [PATCH 6/9] =?UTF-8?q?pull=20interface=20up=20=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdk/transaction/manager/TransactionProcessor.java | 4 ++++ .../manager/TransactionProcessorInterface.java | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 3b05cf1a6..72045cccf 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -75,6 +75,7 @@ public TransactionReceipt sendTransactionAndGetReceipt( } } + @Override public TransactionReceipt sendTransactionAndGetReceipt(String to, String data) { return sendTransactionAndGetReceipt(to, data, this.cryptoKeyPair); } @@ -90,6 +91,7 @@ public void sendTransactionAsync( createSignedTransaction(to, data, cryptoKeyPair), callback); } + @Override public void sendTransactionAsync(String to, String data, TransactionCallback callback) { sendTransactionAsync(to, data, this.cryptoKeyPair, callback); } @@ -108,6 +110,7 @@ public byte[] sendTransactionAsyncAndGetHash( return transactionHash; } + @Override public byte[] sendTransactionAsyncAndGetHash( String to, String data, TransactionCallback callback) { return sendTransactionAsyncAndGetHash(to, data, this.cryptoKeyPair, callback); @@ -142,6 +145,7 @@ public String createSignedTransaction(String to, String data, CryptoKeyPair cryp return transactionEncoder.encodeAndSign(rawTransaction, cryptoKeyPair); } + @Override public String createSignedTransaction(String to, String data) { return createSignedTransaction(to, data, this.cryptoKeyPair); } diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessorInterface.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessorInterface.java index 4f644a799..d47e90420 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessorInterface.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessorInterface.java @@ -38,6 +38,8 @@ public interface TransactionProcessorInterface { public TransactionReceipt sendTransactionAndGetReceipt( String to, String data, CryptoKeyPair cryptoKeyPair); + public TransactionReceipt sendTransactionAndGetReceipt(String to, String data); + /** * send transaction to fisco bcos node and get transaction receipt asynchronously. * @@ -49,8 +51,14 @@ public TransactionReceipt sendTransactionAndGetReceipt( public void sendTransactionAsync( String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback); + public void sendTransactionAsync(String to, String data, TransactionCallback callback); + public byte[] sendTransactionAsyncAndGetHash( String to, String data, CryptoKeyPair cryptoKeyPair, TransactionCallback callback); + + public byte[] sendTransactionAsyncAndGetHash( + String to, String data, TransactionCallback callback); + /** * send call to fisco bcos node and receive call response. * @@ -78,4 +86,6 @@ public byte[] sendTransactionAsyncAndGetHash( * @return hexed data of signed transaction */ public String createSignedTransaction(String to, String data, CryptoKeyPair cryptoKeyPair); + + public String createSignedTransaction(String to, String data); } From 4d09f119285121e47c6ef7b2877617e2bb70f7aa Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 16:52:59 +0800 Subject: [PATCH 7/9] format --- .../sdk/transaction/manager/AssembleTransactionProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java index 0abaa9344..e3d8e0d4d 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java @@ -91,7 +91,7 @@ public AssembleTransactionProcessor( @Override public void deployOnly(String abi, String bin, List params) throws ABICodecException { - transactionPusher.pushOnly(createSignedConstructor(abi, bin, params)); + deployOnly(abi, bin, params, this.cryptoKeyPair); } public void deployOnly(String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) From 6081b6f461731e8fa777e35714403e5ce3b0b19f Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 17:05:31 +0800 Subject: [PATCH 8/9] fix methods --- .../manager/AssembleTransactionProcessor.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java index e3d8e0d4d..40db65bb1 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java @@ -246,9 +246,9 @@ public TransactionResponse sendTransactionAndGetResponse( throws TransactionBaseException, ABICodecException { String signedData; if (cryptoKeyPair == null) { - signedData = createSignedTransaction(to, data, cryptoKeyPair); - } else { signedData = createSignedTransaction(to, data, this.cryptoKeyPair); + } else { + signedData = createSignedTransaction(to, data, cryptoKeyPair); } TransactionReceipt receipt = this.transactionPusher.push(signedData); try { @@ -282,8 +282,19 @@ public TransactionResponse sendTransactionAndGetResponse( public TransactionResponse sendTransactionWithStringParamsAndGetResponse( String to, String abi, String functionName, List params) throws ABICodecException, TransactionBaseException { + return sendTransactionWithStringParamsAndGetResponse( + to, abi, functionName, params, this.cryptoKeyPair); + } + + public TransactionResponse sendTransactionWithStringParamsAndGetResponse( + String to, + String abi, + String functionName, + List params, + CryptoKeyPair cryptoKeyPair) + throws ABICodecException, TransactionBaseException { String data = abiCodec.encodeMethodFromString(abi, functionName, params); - return sendTransactionAndGetResponse(to, abi, functionName, data); + return sendTransactionAndGetResponse(to, abi, functionName, data, cryptoKeyPair); } @Override @@ -314,11 +325,8 @@ public TransactionResponse sendTransactionAndGetResponseByContractLoader( String functionName, List funcParams) throws ABICodecException, TransactionBaseException { - return sendTransactionAndGetResponse( - contractAddress, - contractLoader.getABIByContractName(contractName), - functionName, - funcParams); + return sendTransactionAndGetResponseByContractLoader( + contractName, contractAddress, functionName, funcParams, this.cryptoKeyPair); } public TransactionResponse sendTransactionAndGetResponseByContractLoader( From 81a3f0e888ec3cf8f130cba632dc24e82f403cae Mon Sep 17 00:00:00 2001 From: dalaocu Date: Fri, 12 Nov 2021 17:19:07 +0800 Subject: [PATCH 9/9] rm assembleTransactionProcessor predicate null of cryptoKeyPair --- .../manager/AssembleTransactionProcessor.java | 11 +---------- .../sdk/transaction/manager/TransactionProcessor.java | 5 +++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java index 40db65bb1..2a71176b2 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/AssembleTransactionProcessor.java @@ -244,12 +244,7 @@ public TransactionResponse sendTransactionAndGetResponse( public TransactionResponse sendTransactionAndGetResponse( String to, String abi, String functionName, String data, CryptoKeyPair cryptoKeyPair) throws TransactionBaseException, ABICodecException { - String signedData; - if (cryptoKeyPair == null) { - signedData = createSignedTransaction(to, data, this.cryptoKeyPair); - } else { - signedData = createSignedTransaction(to, data, cryptoKeyPair); - } + String signedData = createSignedTransaction(to, data, cryptoKeyPair); TransactionReceipt receipt = this.transactionPusher.push(signedData); try { return transactionDecoder.decodeReceiptWithValues(abi, functionName, receipt); @@ -468,10 +463,6 @@ public String createSignedConstructor(String abi, String bin, List param public String createSignedConstructor( String abi, String bin, List params, CryptoKeyPair cryptoKeyPair) throws ABICodecException { - if (cryptoKeyPair == null) { - return createSignedTransaction( - null, abiCodec.encodeConstructor(abi, bin, params), this.cryptoKeyPair); - } return createSignedTransaction( null, abiCodec.encodeConstructor(abi, bin, params), cryptoKeyPair); } diff --git a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java index 72045cccf..fce38284c 100644 --- a/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java +++ b/sdk-transaction/src/main/java/org/fisco/bcos/sdk/transaction/manager/TransactionProcessor.java @@ -86,9 +86,10 @@ public void sendTransactionAsync( if (cryptoKeyPair == null) { client.sendRawTransactionAndGetReceiptAsync( createSignedTransaction(to, data, this.cryptoKeyPair), callback); + } else { + client.sendRawTransactionAndGetReceiptAsync( + createSignedTransaction(to, data, cryptoKeyPair), callback); } - client.sendRawTransactionAndGetReceiptAsync( - createSignedTransaction(to, data, cryptoKeyPair), callback); } @Override