Account { public static Account fromNewECKeyPair() { try { return new Account(ECKeyPair.createEcKeyPair()); } catch (InvalidAlgorithmParameterException | NoSuchAlgorithmException | NoSuchProviderException e) { throw new RuntimeException("Failed to create a new EC key pair.", e); } } protected  Account();  Account(ECKeyPair ecKeyPair); String getAddress(); ScriptHash getScriptHash(); ECKeyPair getECKeyPair(); String getLabel(); Account label(String label); Wallet getWallet(); Boolean isDefault(); Boolean isLocked(); Account lock(); void unlock(); VerificationScript getVerificationScript(); String getEncryptedPrivateKey(); void decryptPrivateKey(String password); void decryptPrivateKey(String password, ScryptParams scryptParams); void encryptPrivateKey(String password); void encryptPrivateKey(String password, ScryptParams scryptParams); boolean isMultiSig(); Map<ScriptHash, BigInteger> getNep5Balances(Neow3j neow3j); NEP6Account toNEP6Account(); static Account createMultiSigAccount(List<ECPublicKey> publicKeys, int signatureThreshold); static Account fromWIF(String wif); static Account fromNewECKeyPair(); static Account fromNEP6Account(NEP6Account nep6Acct); static Account fromAddress(String address); static Account createAccount();  }
@Test public void testFromNewECKeyPair() { Account a = Account.fromNewECKeyPair() .label("example") .lock(); assertThat(a, notNullValue()); assertThat(a.getAddress(), notNullValue()); assertThat(a.getVerificationScript(), notNullValue()); assertThat(a.getECKeyPair(), notNullValue()); assertThat(a.getEncryptedPrivateKey(), is(nullValue())); assertThat(a.getLabel(), is("example")); assertThat(a.getECKeyPair(), notNullValue()); assertTrue(a.isLocked()); }