Merge branch 'Development' into PaymentAccountAgeVerification

This commit is contained in:
Manfred Karrer 2017-10-12 19:44:30 -05:00
commit 5e8c8310ba
No known key found for this signature in database
GPG Key ID: 401250966A6B2C46
8 changed files with 34 additions and 12 deletions

View File

@ -100,6 +100,7 @@ public class CurrencyUtil {
if (!baseCurrencyCode.equals("DOGE"))
result.add(new CryptoCurrency("DOGE", "Dogecoin"));
result.add(new CryptoCurrency("DMC", "DynamicCoin"));
result.add(new CryptoCurrency("ELLA", "Ellaism"));
result.add(new CryptoCurrency("ESP", "Espers"));
result.add(new CryptoCurrency("ETH", "Ether"));
result.add(new CryptoCurrency("ETC", "Ether Classic"));

View File

@ -364,7 +364,7 @@ createOffer.warnCancelOffer=You have already funded that offer.\nIf you cancel n
createOffer.fixed=Fixed
createOffer.percentage=Percentage
createOffer.timeoutAtPublishing=A timeout occurred at publishing the offer.
createOffer.errorInfo=\n\nThe maker fee is already paid. In the worst case you have lost that fee. We are sorry about that but keep in mind it is a very small amount.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.
createOffer.errorInfo=\n\nThe maker fee is already paid. In the worst case you have lost that fee.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.
createOffer.tooLowSecDeposit.warning=You have set the security deposit to a lower value than the recommended default value of {0}.\n\
Are you sure you want to use a lower security deposit?
createOffer.tooLowSecDeposit.makerIsSeller=It gives you less protection in case the trading peer does not follow the trade protocol.
@ -424,7 +424,7 @@ takeOffer.failed.offererOffline=You cannot take that offer because the maker is
takeOffer.warning.connectionToPeerLost=You lost connection to the maker.\nHe might have gone offline or has closed the connection to you because of too many open connections.\n\nIf you can still see his offer in the offerbook you can try to take the offer again.
takeOffer.error.noFundsLost=\n\nNo funds have left your wallet yet.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.
takeOffer.error.feePaid=\n\nThe taker fee is already paid. In the worst case you have lost that fee. We are sorry about that but keep in mind it is a very small amount.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.
takeOffer.error.feePaid=\n\nThe taker fee is already paid. In the worst case you have lost that fee.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.
takeOffer.error.depositPublished=\n\nThe deposit transaction is already published.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.\nIf the problem still remains please contact the developers for support.
takeOffer.error.payoutPublished=\n\nThe payout transaction is already published.\nPlease try to restart your application and check your network connection to see if you can resolve the issue.\nIf the problem still remains please contact the developers for support.
takeOffer.tac=With taking that offer I agree to the trade conditions as defined in that screen.
@ -477,7 +477,7 @@ portfolio.pending.step2_buyer.startPaymentUsing=Start payment using {0}
portfolio.pending.step2_buyer.amountToTransfer=Amount to transfer:
portfolio.pending.step2_buyer.sellersAddress=Seller''s {0} address:
portfolio.pending.step2_buyer.paymentStarted=Payment started
portfolio.pending.step2_buyer.warn=You still have not done your {0} payment!\nPlease note that the trade has to be completed until {1} otherwise the trade will be investigated by the arbitrator.
portfolio.pending.step2_buyer.warn=You still have not done your {0} payment!\nPlease note that the trade has to be completed by {1} otherwise the trade will be investigated by the arbitrator.
portfolio.pending.step2_buyer.openForDispute=You have not completed your payment!\nThe max. period for the trade has elapsed.\n\nPlease contact the arbitrator for opening a dispute.
portfolio.pending.step2_buyer.paperReceipt.headline=Did you sent the paper receipt to the BTC seller?
portfolio.pending.step2_buyer.paperReceipt.msg=Remember:\n\
@ -496,7 +496,7 @@ portfolio.pending.step3_buyer.wait.headline=Wait for BTC seller's payment confir
portfolio.pending.step3_buyer.wait.info=Waiting for the BTC seller''s confirmation for the receipt of the {0} payment.
portfolio.pending.step3_buyer.warn.part1a=on the {0} blockchain
portfolio.pending.step3_buyer.warn.part1b=at your payment provider (e.g. bank)
portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed your payment!\nPlease check {0} if the payment sending was successful.\nIf the BTC seller does not confirm the receipt of your payment until {1} the trade will be investigated by the arbitrator.
portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed your payment!\nPlease check {0} if the payment sending was successful.\nIf the BTC seller does not confirm the receipt of your payment by {1} the trade will be investigated by the arbitrator.
portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment!\nThe max. period for the trade has elapsed.\nPlease contact the arbitrator for opening a dispute.
# suppress inspection "TrailingSpacesInProperty"
portfolio.pending.step3_seller.part=Your trading partner has confirmed that he initiated the {0} payment.\n\n
@ -527,7 +527,7 @@ portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Check for blockchain
portfolio.pending.step3_seller.buyerStartedPayment.fiat=Check at your trading account (e.g. bank account) and confirm when you have received the payment.
portfolio.pending.step3_seller.warn.part1a=on the {0} blockchain
portfolio.pending.step3_seller.warn.part1b=at your payment provider (e.g. bank)
portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment!\nPlease check {0} if you have received the payment.\nIf you don''t confirm receipt until {1} the trade will be investigated by the arbitrator.
portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment!\nPlease check {0} if you have received the payment.\nIf you don''t confirm receipt by {1} the trade will be investigated by the arbitrator.
portfolio.pending.step3_seller.openForDispute=You have not confirmed the receipt of the payment!\nThe max. period for the trade has elapsed.\nPlease contact the arbitrator for opening a dispute.
# suppress inspection "TrailingSpacesInProperty"
portfolio.pending.step3_seller.onPaymentReceived.part1=Have you received the {0} payment from your trading partner?\n\n
@ -1443,7 +1443,7 @@ time.seconds=seconds
password.enterPassword=Enter password:
password.confirmPassword=Confirm password:
password.tooLong=Password must be less than 50 characters.
password.tooLong=Password must be less than 500 characters.
password.deriveKey=Derive key from password
password.walletDecrypted=Wallet successfully decrypted and password protection removed.
password.wrongPw=You entered the wrong password.\n\nPlease try entering your password again, carefully checking for typos or spelling errors.

View File

@ -173,7 +173,7 @@ public class ArbitratorManager {
.filter(e -> {
final boolean isInPublicKeyInList = isPublicKeyInList(Utils.HEX.encode(e.getRegistrationPubKey()));
if (!isInPublicKeyInList)
log.warn("We got an arbitrator which is not in our list of publicKeys. Arbitrator=", e.toString());
log.warn("We got an arbitrator which is not in our list of publicKeys. Arbitrator={}", e.toString());
final boolean isSigValid = verifySignature(e.getPubKeyRing().getSignaturePubKey(),
e.getRegistrationPubKey(),
e.getRegistrationSignature());

View File

@ -119,7 +119,7 @@ public class PasswordView extends ActivatableView<GridPane, Void> {
private void onApplyPassword(BusyAnimation busyAnimation, Label deriveStatusLabel) {
String password = passwordField.getText();
checkArgument(password.length() < 50, Res.get("password.tooLong"));
checkArgument(password.length() < 500, Res.get("password.tooLong"));
pwButton.setDisable(true);
deriveStatusLabel.setText(Res.get("password.deriveKey"));

View File

@ -189,7 +189,7 @@ public class WalletPasswordWindow extends Overlay<WalletPasswordWindow> {
unlockButton.setDisable(true);
unlockButton.setOnAction(e -> {
String password = passwordTextField.getText();
checkArgument(password.length() < 50, Res.get("password.tooLong"));
checkArgument(password.length() < 500, Res.get("password.tooLong"));
KeyCrypterScrypt keyCrypterScrypt = walletsManager.getKeyCrypterScrypt();
if (keyCrypterScrypt != null) {
busyAnimation.play();

View File

@ -334,6 +334,7 @@ public class BuyerStep2View extends TradeStepView {
String assign = Res.get("portfolio.pending.step2_buyer.assign");
String fees = Res.get("portfolio.pending.step2_buyer.fees");
String id = trade.getShortId();
String paddedId = " " + id + " ";
String amount = model.btcFormatter.formatVolumeWithCode(trade.getTradeVolume());
if (paymentAccountPayload instanceof CryptoCurrencyAccountPayload)
//noinspection UnusedAssignment
@ -350,7 +351,7 @@ public class BuyerStep2View extends TradeStepView {
accountDetails +
paymentDetailsForTradePopup + ".\n" +
copyPaste + "\n\n" +
tradeId + id +
tradeId + paddedId +
assign +
refTextWarn + "\n\n" +
fees + "\n\n" +
@ -361,7 +362,7 @@ public class BuyerStep2View extends TradeStepView {
accountDetails +
paymentDetailsForTradePopup + ".\n" +
copyPaste + "\n\n" +
tradeId + id +
tradeId + paddedId +
assign +
refTextWarn;
else
@ -370,7 +371,7 @@ public class BuyerStep2View extends TradeStepView {
accountDetails +
paymentDetailsForTradePopup + ".\n" +
copyPaste + "\n\n" +
tradeId + id +
tradeId + paddedId +
assign +
refTextWarn + "\n\n" +
fees;

View File

@ -331,6 +331,12 @@ public final class AltCoinAddressValidator extends InputValidator {
return new ValidationResult(true);
else
return regexTestFailed;
case "ELLA":
// https://github.com/ethereum/web3.js/blob/master/lib/utils/utils.js#L403
if (!input.matches("^(0x)?[0-9a-fA-F]{40}$"))
return regexTestFailed;
else
return new ValidationResult(true);
default:
log.debug("Validation for AltCoinAddress not implemented yet. currencyCode: " + currencyCode);
return validationResult;

View File

@ -200,4 +200,18 @@ public class AltCoinAddressValidatorTest {
assertFalse(validator.validate("decent-").isValid);
assertFalse(validator.validate("").isValid);
}
@Test
public void testELLA() {
AltCoinAddressValidator validator = new AltCoinAddressValidator();
validator.setCurrencyCode("ELLA");
assertTrue(validator.validate("0x65767ec6d4d3d18a200842352485cdc37cbf3a21").isValid);
assertTrue(validator.validate("65767ec6d4d3d18a200842352485cdc37cbf3a21").isValid);
assertFalse(validator.validate("0x65767ec6d4d3d18a200842352485cdc37cbf3a216").isValid);
assertFalse(validator.validate("0x65767ec6d4d3d18a200842352485cdc37cbf3a2g").isValid);
assertFalse(validator.validate("65767ec6d4d3d18a200842352485cdc37cbf3a2g").isValid);
assertFalse(validator.validate("").isValid);
}
}