use of com.github.rosklyar.client.transaction.domain.Transaction in project nem-library by rosklyar.
the class SecureTransactionClient method createMultisigAccount.
@Override
public NemAnnounceResult createMultisigAccount(String privateKey, List<String> cosignatories, int minCosignatories, int timeToLiveInSeconds) {
Signer signer = new DefaultSigner(privateKey);
int currentTime = nodeClient.extendedInfo().nisInfo.currentTime;
List<Modification> modifications = cosignatories.stream().map(publicKey -> new Modification(1, publicKey)).collect(toList());
Transaction transaction = aggregateModificationTransaction(signer.publicKey(), modifications, minCosignatories, currentTime, timeToLiveInSeconds);
byte[] data = transactionEncoder.data(transaction);
return feignTransactionClient.prepare(new RequestAnnounce(hexConverter.getString(data), signer.sign(data)));
}
use of com.github.rosklyar.client.transaction.domain.Transaction in project nem-library by rosklyar.
the class SecureTransactionClient method cosignTransaction.
@Override
public NemAnnounceResult cosignTransaction(String privateKey, String transactionHash, String multisigAddress, int timeToLiveInSeconds) {
Signer signer = new DefaultSigner(privateKey);
int currentTime = nodeClient.extendedInfo().nisInfo.currentTime;
Transaction transaction = Transaction.builder().type(MULTISIG_SIGNATURE.type).version(versionProvider.version(network, MULTISIG_SIGNATURE)).timeStamp(currentTime).signer(signer.publicKey()).fee(feeCalculator.cosigningFee()).deadline(currentTime + timeToLiveInSeconds).otherAccount(multisigAddress).otherHash(new Hash(transactionHash)).build();
byte[] data = transactionEncoder.data(transaction);
return feignTransactionClient.prepare(new RequestAnnounce(hexConverter.getString(data), signer.sign(data)));
}
use of com.github.rosklyar.client.transaction.domain.Transaction in project nem-library by rosklyar.
the class SecureTransactionClient method multisigTransferMosaics.
@Override
public NemAnnounceResult multisigTransferMosaics(String privateKey, String toAddress, List<MosaicTransfer> mosaics, int times, String message, String multisigPublicKey, int timeToLiveInSeconds) {
Signer signer = new DefaultSigner(privateKey);
int currentTime = nodeClient.extendedInfo().nisInfo.currentTime;
Transaction transferTransaction = mosaicsTransferTransaction(multisigPublicKey, toAddress, mosaics, times, message, currentTime, timeToLiveInSeconds);
MultisigTransaction<Transaction> transaction = MultisigTransaction.<Transaction>builder().type(MULTISIG_TRANSACTION.type).version(versionProvider.version(network, MULTISIG_TRANSACTION)).timeStamp(currentTime).signer(signer.publicKey()).fee(feeCalculator.multisigTransactionFee()).deadline(currentTime + timeToLiveInSeconds).otherTrans(transferTransaction).build();
byte[] data = transactionEncoder.dataMultisigTransfer(transaction);
return feignTransactionClient.prepare(new RequestAnnounce(hexConverter.getString(data), signer.sign(data)));
}
use of com.github.rosklyar.client.transaction.domain.Transaction in project nem-library by rosklyar.
the class SecureTransactionClient method transferMosaics.
@Override
public NemAnnounceResult transferMosaics(String privateKey, String toAddress, List<MosaicTransfer> mosaics, int times, String message, int timeToLiveInSeconds) {
Signer signer = new DefaultSigner(privateKey);
String publicKey = signer.publicKey();
int currentTime = nodeClient.extendedInfo().nisInfo.currentTime;
Transaction transaction = mosaicsTransferTransaction(publicKey, toAddress, mosaics, times, message, currentTime, timeToLiveInSeconds);
byte[] data = transactionEncoder.data(transaction);
return feignTransactionClient.prepare(new RequestAnnounce(hexConverter.getString(data), signer.sign(data)));
}
use of com.github.rosklyar.client.transaction.domain.Transaction in project nem-library by rosklyar.
the class SecureTransactionClient method modifyMultisigAccountTransaction.
private NemAnnounceResult modifyMultisigAccountTransaction(Signer signer, List<Modification> modifications, int relativeChange, String multisigPublicKey, int currentTime, int timeToLiveInSeconds) {
Transaction modificationTransaction = aggregateModificationTransaction(multisigPublicKey, modifications, relativeChange, currentTime, timeToLiveInSeconds);
Transaction transaction = Transaction.builder().type(MULTISIG_TRANSACTION.type).version(versionProvider.version(network, MULTISIG_TRANSACTION)).timeStamp(currentTime).signer(signer.publicKey()).fee(feeCalculator.multisigTransactionFee()).deadline(currentTime + timeToLiveInSeconds).otherTrans(modificationTransaction).build();
byte[] data = transactionEncoder.data(transaction);
return feignTransactionClient.prepare(new RequestAnnounce(hexConverter.getString(data), signer.sign(data)));
}
Aggregations