public BitAddress getAddress(SimpleHDKeyChain.KeyPurpose purpose, boolean isManualAddressManagement) { BitAddress receiveAddress = null; if (isManualAddressManagement) { receiveAddress = getLastUsedAddress(purpose); } if (receiveAddress == null) { receiveAddress = currentAddress(purpose); } return receiveAddress; }
public BitAddress getFreshReceiveAddress(boolean isManualAddressManagement) throws Bip44KeyLookAheadExceededException { lock.lock(); try { BitAddress newAddress = null; BitAddress freshAddress = getFreshReceiveAddress(); if (isManualAddressManagement) { newAddress = getLastUsedAddress(RECEIVE_FUNDS); } if (newAddress == null) { newAddress = freshAddress; } return newAddress; } finally { lock.unlock(); walletSaveNow(); } }