Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge haveno-reto & haveno-dex #1

Merged
merged 32 commits into from
Oct 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ddb48d1
enable connection auto switch on daemon by default (#1320)
woodser Oct 12, 2024
58787a1
reclassify public nodes and use if no provided nodes available (#1315)
woodser Oct 12, 2024
5352225
log error on failure to set password (#1318)
woodser Oct 12, 2024
5f0d95c
log height of local monero node (#1322)
woodser Oct 13, 2024
6b68819
play chime when buyer can confirm payment sent (#1324)
woodser Oct 13, 2024
cda610f
close mutable offer view on fx thread (#1325)
woodser Oct 13, 2024
a6c178c
deduplicate additional trade statistics (#1326)
woodser Oct 13, 2024
e811e2b
improve error handling on payment received message (#1327)
woodser Oct 13, 2024
6ff73f1
standardize installer artifact naming conventions (#1328)
woodser Oct 13, 2024
6b3e9fe
bump version to 1.0.12 (#1329)
woodser Oct 13, 2024
b2f9816
Update AlertManager.java
retoaccess1 May 14, 2024
7797ca1
Update PrivateNotificationManager.java
retoaccess1 May 14, 2024
d9d618b
Update AlertManager.java
retoaccess1 May 14, 2024
7bad1b9
Update FilterManager.java
retoaccess1 May 14, 2024
9877dd6
Update HavenoUtils.java
retoaccess1 May 14, 2024
2f67038
Update xmr_mainnet.seednodes
retoaccess1 May 14, 2024
2b11f87
Update package.gradle
retoaccess1 May 14, 2024
d489346
Update ArbitratorManager.java
retoaccess1 May 14, 2024
e2031d8
Update AlertManager.java
retoaccess1 May 15, 2024
a353444
Update PrivateNotificationManager.java
retoaccess1 May 15, 2024
d90850c
Update FilterManager.java
retoaccess1 May 15, 2024
f0cff7e
Update xmr_mainnet.seednodes
retoaccess1 May 15, 2024
5c71206
Update HavenoExecutable.java
retoaccess1 May 15, 2024
dd37d80
Update Makefile
retoaccess1 May 15, 2024
2805349
Update HavenoExecutable.java
retoaccess1 May 16, 2024
c706727
Update Makefile
retoaccess1 May 16, 2024
2926836
Update xmr_mainnet.seednodes
retoaccess1 Jul 9, 2024
75c0ce2
Update xmr_mainnet.seednodes
retoaccess1 Jul 21, 2024
97e08da
Update xmr_mainnet.seednodes
retoaccess1 Jul 21, 2024
0637e44
images: replace haveno logo for haveno-reto logo
rottenwheel Jul 24, 2024
fad1682
Update xmr_mainnet.seednodes
retoaccess1 Aug 11, 2024
d1a7636
Update xmr_mainnet.seednodes
retoaccess1 Aug 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 24 additions & 23 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,30 +70,31 @@ jobs:
- name: Move Release Files on Unix
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' }}
run: |
mkdir ${{ github.workspace }}/release
if [ "${{ matrix.os }}" == "ubuntu-22.04" ]; then
mkdir ${{ github.workspace }}/release-rpm
mkdir ${{ github.workspace }}/release-deb
mkdir ${{ github.workspace }}/release-flat
mkdir ${{ github.workspace }}/release-appimage
mv desktop/build/temp-*/binaries/haveno-*.rpm ${{ github.workspace }}/release-rpm/Haveno-${{ env.VERSION }}-linux-x86_64-installer.rpm
mv desktop/build/temp-*/binaries/haveno_*.deb ${{ github.workspace }}/release-deb/Haveno-${{ env.VERSION }}-linux-x86_64-installer.deb
mv desktop/build/temp-*/binaries/*.flatpak ${{ github.workspace }}/release-flat/Haveno-${{ env.VERSION }}-linux-x86_64.flatpak
mv desktop/build/temp-*/binaries/haveno_*.AppImage ${{ github.workspace }}/release-appimage/Haveno-${{ env.VERSION }}-linux-x86_64.AppImage
mkdir ${{ github.workspace }}/release-linux-rpm
mkdir ${{ github.workspace }}/release-linux-deb
mkdir ${{ github.workspace }}/release-linux-flatpak
mkdir ${{ github.workspace }}/release-linux-appimage
mv desktop/build/temp-*/binaries/haveno-*.rpm ${{ github.workspace }}/release-linux-rpm/haveno-v${{ env.VERSION }}-linux-x86_64-installer.rpm
mv desktop/build/temp-*/binaries/haveno_*.deb ${{ github.workspace }}/release-linux-deb/haveno-v${{ env.VERSION }}-linux-x86_64-installer.deb
mv desktop/build/temp-*/binaries/*.flatpak ${{ github.workspace }}/release-linux-flatpak/haveno-v${{ env.VERSION }}-linux-x86_64.flatpak
mv desktop/build/temp-*/binaries/haveno_*.AppImage ${{ github.workspace }}/release-linux-appimage/haveno-v${{ env.VERSION }}-linux-x86_64.AppImage
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-deb
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-rpm
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-appimage
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-flatpak
else
mv desktop/build/temp-*/binaries/Haveno-*.dmg ${{ github.workspace }}/release/Haveno-${{ env.VERSION }}-mac-installer.dmg
mkdir ${{ github.workspace }}/release-macos
mv desktop/build/temp-*/binaries/Haveno-*.dmg ${{ github.workspace }}/release-macos/haveno-v${{ env.VERSION }}-macos-installer.dmg
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-macos
fi
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-deb
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-rpm
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-appimage
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-flat
shell: bash
- name: Move Release Files on Windows
if: ${{ matrix.os == 'windows-latest' }}
run: |
mkdir ${{ github.workspace }}/release
Move-Item -Path desktop\build\temp-*/binaries\Haveno-*.exe -Destination ${{ github.workspace }}/release/Haveno-${{ env.VERSION }}-windows-installer.exe
Move-Item -Path desktop\build\temp-*/binaries\desktop-*.jar.SHA-256 -Destination ${{ github.workspace }}/release
mkdir ${{ github.workspace }}/release-windows
Move-Item -Path desktop\build\temp-*/binaries\Haveno-*.exe -Destination ${{ github.workspace }}/release-windows/haveno-v${{ env.VERSION }}-windows-installer.exe
Move-Item -Path desktop\build\temp-*/binaries\desktop-*.jar.SHA-256 -Destination ${{ github.workspace }}/release-windows
shell: powershell

# win
Expand All @@ -102,38 +103,38 @@ jobs:
if: ${{ matrix.os == 'windows-latest'}}
with:
name: haveno-windows
path: ${{ github.workspace }}/release
path: ${{ github.workspace }}/release-windows
# macos
- uses: actions/upload-artifact@v3
name: "macOS artifacts"
if: ${{ matrix.os == 'macos-13' }}
with:
name: haveno-macos
path: ${{ github.workspace }}/release
path: ${{ github.workspace }}/release-macos
# linux
- uses: actions/upload-artifact@v3
name: "Linux - deb artifact"
if: ${{ matrix.os == 'ubuntu-22.04' }}
with:
name: haveno-linux-deb
path: ${{ github.workspace }}/release-deb
path: ${{ github.workspace }}/release-linux-deb
- uses: actions/upload-artifact@v3
name: "Linux - rpm artifact"
if: ${{ matrix.os == 'ubuntu-22.04' }}
with:
name: haveno-linux-rpm
path: ${{ github.workspace }}/release-rpm
path: ${{ github.workspace }}/release-linux-rpm

- uses: actions/upload-artifact@v3
name: "Linux - AppImage artifact"
if: ${{ matrix.os == 'ubuntu-22.04' }}
with:
name: haveno-linux-appimage
path: ${{ github.workspace }}/release-appimage
path: ${{ github.workspace }}/release-linux-appimage

- uses: actions/upload-artifact@v3
name: "Linux - flatpak artifact"
if: ${{ matrix.os == 'ubuntu-22.04' }}
with:
name: haveno-linux-flatpak
path: ${{ github.workspace }}/release-flat
path: ${{ github.workspace }}/release-linux-flatpak
22 changes: 11 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ seednode:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=1002 \
--appName=haveno-XMR_MAINNET_Seed_1002 \
--appName=haveno-reto-XMR_MAINNET_Seed_1002 \
--xmrNode=http://127.0.0.1:18081 \

seednode2:
Expand All @@ -439,7 +439,7 @@ seednode2:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=1003 \
--appName=haveno-XMR_MAINNET_Seed_1003 \
--appName=haveno-reto-XMR_MAINNET_Seed_1003 \
--xmrNode=http://127.0.0.1:18081 \

arbitrator-daemon-mainnet:
Expand All @@ -449,7 +449,7 @@ arbitrator-daemon-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_arbitrator \
--appName=haveno-reto-XMR_MAINNET_arbitrator \
--apiPassword=apitest \
--apiPort=1200 \
--passwordRequired=false \
Expand All @@ -462,7 +462,7 @@ arbitrator-desktop-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_arbitrator \
--appName=haveno-reto-XMR_MAINNET_arbitrator \
--apiPassword=apitest \
--apiPort=1200 \
--xmrNode=http://127.0.0.1:18081 \
Expand All @@ -474,7 +474,7 @@ haveno-daemon-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=Haveno \
--appName=Haveno-reto \
--apiPassword=apitest \
--apiPort=1201 \
--useNativeXmrWallet=false \
Expand All @@ -486,7 +486,7 @@ haveno-desktop-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=Haveno \
--appName=Haveno-reto \
--apiPassword=apitest \
--apiPort=1201 \
--useNativeXmrWallet=false \
Expand All @@ -498,7 +498,7 @@ user1-daemon-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_user1 \
--appName=haveno-reto-XMR_MAINNET_user1 \
--apiPassword=apitest \
--apiPort=1202 \
--passwordRequired=false \
Expand All @@ -511,7 +511,7 @@ user1-desktop-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_user1 \
--appName=haveno-reto-XMR_MAINNET_user1 \
--apiPassword=apitest \
--apiPort=1202 \
--useNativeXmrWallet=false \
Expand All @@ -523,7 +523,7 @@ user2-daemon-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_user2 \
--appName=haveno-reto-XMR_MAINNET_user2 \
--apiPassword=apitest \
--apiPort=1203 \
--passwordRequired=false \
Expand All @@ -536,7 +536,7 @@ user2-desktop-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_user2 \
--appName=haveno-reto-XMR_MAINNET_user2 \
--apiPassword=apitest \
--apiPort=1203 \
--useNativeXmrWallet=false \
Expand All @@ -548,7 +548,7 @@ user3-desktop-mainnet:
--useLocalhostForP2P=false \
--useDevPrivilegeKeys=false \
--nodePort=9999 \
--appName=haveno-XMR_MAINNET_user3 \
--appName=haveno-reto-XMR_MAINNET_user3 \
--apiPassword=apitest \
--apiPort=1204 \
--useNativeXmrWallet=false \
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,7 @@ configure(project(':desktop')) {
apply plugin: 'com.github.johnrengelman.shadow'
apply from: 'package/package.gradle'

version = '1.0.11-SNAPSHOT'
version = '1.0.12-SNAPSHOT'

jar.manifest.attributes(
"Implementation-Title": project.name,
Expand Down
2 changes: 1 addition & 1 deletion common/src/main/java/haveno/common/app/Version.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
public class Version {
// The application versions
// We use semantic versioning with major, minor and patch
public static final String VERSION = "1.0.11";
public static final String VERSION = "1.0.12";

/**
* Holds a list of the tagged resource files for optimizing the getData requests.
Expand Down
5 changes: 4 additions & 1 deletion core/src/main/java/haveno/core/alert/AlertManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,10 @@ protected List<String> getPubKeyList() {
"026c581ad773d987e6bd10785ac7f7e0e64864aedeb8bce5af37046de812a37854",
"025b058c9f2c60d839669dbfa5578cf5a8117d60e6b70e2f0946f8a691273c6a36");
case XMR_MAINNET:
return List.of();
return List.of(
"02e9dc14edddde19cc9f829a0739d0ab0c7310154ad94a15d477b51d85991b5a8a",
"021c798eb224ba23bd91ed7710a85d9b9a6439c29f4f29c1a14b96750a0da36aa7",
"029da09bc04dea33cd11a31bc1c05aa830b9180acb84e5370ee7fde60cae9f3d03");
default:
throw new RuntimeException("Unhandled base currency network: " + Config.baseCurrencyNetwork());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,10 @@ protected List<String> getPubKeyList() {
"026c581ad773d987e6bd10785ac7f7e0e64864aedeb8bce5af37046de812a37854",
"025b058c9f2c60d839669dbfa5578cf5a8117d60e6b70e2f0946f8a691273c6a36");
case XMR_MAINNET:
return List.of();
return List.of(
"02e9dc14edddde19cc9f829a0739d0ab0c7310154ad94a15d477b51d85991b5a8a",
"021c798eb224ba23bd91ed7710a85d9b9a6439c29f4f29c1a14b96750a0da36aa7",
"029da09bc04dea33cd11a31bc1c05aa830b9180acb84e5370ee7fde60cae9f3d03");
default:
throw new RuntimeException("Unhandled base currency network: " + Config.baseCurrencyNetwork());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.google.inject.Singleton;
import haveno.core.api.model.TradeInfo;
import haveno.core.support.messages.ChatMessage;
import haveno.core.trade.BuyerTrade;
import haveno.core.trade.HavenoUtils;
import haveno.core.trade.MakerTrade;
import haveno.core.trade.SellerTrade;
Expand Down Expand Up @@ -55,6 +56,9 @@ public void sendTradeNotification(Trade trade, Phase phase, String title, String
// play chime when maker's trade is taken
if (trade instanceof MakerTrade && phase == Trade.Phase.DEPOSITS_PUBLISHED) HavenoUtils.playChimeSound();

// play chime when buyer can confirm payment sent
if (trade instanceof BuyerTrade && phase == Trade.Phase.DEPOSITS_UNLOCKED) HavenoUtils.playChimeSound();

// play chime when seller sees buyer confirm payment sent
if (trade instanceof SellerTrade && phase == Trade.Phase.PAYMENT_SENT) HavenoUtils.playChimeSound();

Expand Down
15 changes: 10 additions & 5 deletions core/src/main/java/haveno/core/api/XmrConnectionService.java
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ private void initializeConnections() {
xmrLocalNode.addListener(new XmrLocalNodeListener() {
@Override
public void onNodeStarted(MoneroDaemonRpc daemon) {
log.info("Local monero node started");
log.info("Local monero node started, height={}", daemon.getHeight());
}

@Override
Expand Down Expand Up @@ -588,7 +588,7 @@ public void onConnectionChanged(MoneroRpcConnection connection) {

// restore auto switch
if (coreContext.isApiUser()) connectionManager.setAutoSwitch(connectionList.getAutoSwitch());
else connectionManager.setAutoSwitch(true);
else connectionManager.setAutoSwitch(true); // auto switch is always enabled on desktop ui

// start local node if applicable
maybeStartLocalNode();
Expand Down Expand Up @@ -718,10 +718,15 @@ private void doPollDaemon() {
// skip handling if shutting down
if (isShutDownStarted) return;

// fallback to provided nodes if custom connection fails on startup
// fallback to provided or public nodes if custom connection fails on startup
if (lastInfo == null && "".equals(config.xmrNode) && preferences.getMoneroNodesOption() == XmrNodes.MoneroNodesOption.CUSTOM) {
log.warn("Failed to fetch daemon info from custom node on startup, falling back to provided nodes: " + e.getMessage());
preferences.setMoneroNodesOptionOrdinal(XmrNodes.MoneroNodesOption.PROVIDED.ordinal());
if (xmrNodes.getProvidedXmrNodes().isEmpty()) {
log.warn("Failed to fetch daemon info from custom node on startup, falling back to public nodes: " + e.getMessage());
preferences.setMoneroNodesOptionOrdinal(XmrNodes.MoneroNodesOption.PUBLIC.ordinal());
} else {
log.warn("Failed to fetch daemon info from custom node on startup, falling back to provided nodes: " + e.getMessage());
preferences.setMoneroNodesOptionOrdinal(XmrNodes.MoneroNodesOption.PROVIDED.ordinal());
}
initializeConnections();
return;
}
Expand Down
4 changes: 1 addition & 3 deletions core/src/main/java/haveno/core/app/HavenoExecutable.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,7 @@
@Slf4j
public abstract class HavenoExecutable implements GracefulShutDownHandler, HavenoSetup.HavenoSetupListener, UncaughtExceptionHandler {

// TODO: regular expression is used to parse application name for the flatpak manifest, a more stable approach would be nice
// Don't edit the next line unless you're only editing in between the quotes.
public static final String DEFAULT_APP_NAME = "Haveno";
public static final String DEFAULT_APP_NAME = "Haveno-reto";

public static final int EXIT_SUCCESS = 0;
public static final int EXIT_FAILURE = 1;
Expand Down
6 changes: 3 additions & 3 deletions core/src/main/java/haveno/core/filter/FilterManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,9 @@ public FilterManager(P2PService p2PService,

publicKeys = useDevPrivilegeKeys ?
Collections.singletonList(DevEnv.DEV_PRIVILEGE_PUB_KEY) :
List.of("0358d47858acdc41910325fce266571540681ef83a0d6fedce312bef9810793a27",
"029340c3e7d4bb0f9e651b5f590b434fecb6175aeaa57145c7804ff05d210e534f",
"034dc7530bf66ffd9580aa98031ea9a18ac2d269f7c56c0e71eca06105b9ed69f9");
List.of("02e9dc14edddde19cc9f829a0739d0ab0c7310154ad94a15d477b51d85991b5a8a",
"021c798eb224ba23bd91ed7710a85d9b9a6439c29f4f29c1a14b96750a0da36aa7",
"029da09bc04dea33cd11a31bc1c05aa830b9180acb84e5370ee7fde60cae9f3d03");

banFilter.setBannedNodePredicate(this::isNodeAddressBannedFromNetwork);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import haveno.core.support.dispute.agent.DisputeAgentManager;
import haveno.core.user.User;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
//import java.util.ArrayList;TODO
import java.util.List;
import lombok.extern.slf4j.Slf4j;

Expand Down Expand Up @@ -78,7 +79,10 @@ protected List<String> getPubKeyList() {
"02a1a458df5acf4ab08fdca748e28f33a955a30854c8c1a831ee733dca7f0d2fcd",
"0374dd70f3fa6e47ec5ab97932e1cec6233e98e6ae3129036b17118650c44fd3de");
case XMR_MAINNET:
return List.of();
return List.of(
"029da09bc04dea33cd11a31bc1c05aa830b9180acb84e5370ee7fde60cae9f3d03",
"021c798eb224ba23bd91ed7710a85d9b9a6439c29f4f29c1a14b96750a0da36aa7",
"02e9dc14edddde19cc9f829a0739d0ab0c7310154ad94a15d477b51d85991b5a8a");
default:
throw new RuntimeException("Unhandled base currency network: " + Config.baseCurrencyNetwork());
}
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/haveno/core/trade/HavenoUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ public class HavenoUtils {

// configure fees
public static final boolean ARBITRATOR_ASSIGNS_TRADE_FEE_ADDRESS = true;
public static final double MAKER_FEE_PCT = 0.0015; // 0.15%
public static final double TAKER_FEE_PCT = 0.0075; // 0.75%
public static final double MAKER_FEE_PCT = 0.005; // 0.5%
public static final double TAKER_FEE_PCT = 0.001; // 0.1%
public static final double PENALTY_FEE_PCT = 0.02; // 2%

// other configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,11 @@ private void processPayoutTx(PaymentReceivedMessage message) {

// verify and publish payout tx
if (!trade.isPayoutPublished()) {
if (isSigned) {
log.info("{} {} publishing signed payout tx from seller", trade.getClass().getSimpleName(), trade.getId());
trade.processPayoutTx(message.getSignedPayoutTxHex(), false, true);
} else {
try {
try {
if (isSigned) {
log.info("{} {} publishing signed payout tx from seller", trade.getClass().getSimpleName(), trade.getId());
trade.processPayoutTx(message.getSignedPayoutTxHex(), false, true);
} else {
PaymentSentMessage paymentSentMessage = (trade.isArbitrator() ? trade.getBuyer() : trade.getArbitrator()).getPaymentSentMessage();
if (paymentSentMessage == null) throw new RuntimeException("Process model does not have payment sent message for " + trade.getClass().getSimpleName() + " " + trade.getId());
if (trade.getPayoutTxHex() == null) { // unsigned
Expand All @@ -175,12 +175,12 @@ private void processPayoutTx(PaymentReceivedMessage message) {
log.info("{} {} re-verifying and publishing signed payout tx", trade.getClass().getSimpleName(), trade.getId());
trade.processPayoutTx(trade.getPayoutTxHex(), false, true);
}
} catch (Exception e) {
HavenoUtils.waitFor(trade.getXmrConnectionService().getRefreshPeriodMs()); // wait to see published tx
trade.syncAndPollWallet();
if (trade.isPayoutPublished()) log.info("Payout tx already published for {} {}", trade.getClass().getName(), trade.getId());
else throw e;
}
} catch (Exception e) {
HavenoUtils.waitFor(trade.getXmrConnectionService().getRefreshPeriodMs()); // wait to see published tx
trade.syncAndPollWallet();
if (trade.isPayoutPublished()) log.info("Payout tx already published for {} {}", trade.getClass().getName(), trade.getId());
else throw e;
}
}
} else {
Expand Down
Loading
Loading