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

Add new api methods 'getmyoffers' and 'getmyoffer' #5056

Merged
merged 3 commits into from Jan 7, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -18,14 +18,13 @@
package bisq.apitest.method.offer;

import bisq.core.monetary.Altcoin;
import bisq.core.payment.PaymentAccount;

import bisq.proto.grpc.CreateOfferRequest;
import bisq.proto.grpc.GetMyOffersRequest;
import bisq.proto.grpc.GetOffersRequest;
import bisq.proto.grpc.OfferInfo;

import protobuf.PaymentAccount;

import org.bitcoinj.utils.Fiat;

import java.math.BigDecimal;
Expand Down Expand Up @@ -139,10 +138,6 @@ protected final OfferInfo getMostRecentOffer(GrpcStubs grpcStubs, String directi
return offerInfoList.get(offerInfoList.size() - 1);
}

protected final int getOpenOffersCount(GrpcStubs grpcStubs, String direction, String currencyCode) {
return getOffersSortedByDate(grpcStubs, direction, currencyCode).size();
}

protected final List<OfferInfo> getOffersSortedByDate(GrpcStubs grpcStubs,
String direction,
String currencyCode) {
Expand Down
Expand Up @@ -17,6 +17,8 @@

package bisq.apitest.method.trade;

import bisq.core.payment.PaymentAccount;

import bisq.proto.grpc.BtcBalanceInfo;

import io.grpc.StatusRuntimeException;
Expand Down Expand Up @@ -59,7 +61,8 @@ public class TakeBuyBTCOfferTest extends AbstractTradeTest {
@Order(1)
public void testTakeAlicesBuyOffer(final TestInfo testInfo) {
try {
var alicesOffer = createAliceOffer(alicesDummyAcct,
PaymentAccount alicesUsdAccount = createDummyF2FAccount(alicedaemon, "US");
var alicesOffer = createAliceOffer(alicesUsdAccount,
"buy",
"usd",
12500000,
Expand All @@ -70,17 +73,20 @@ public void testTakeAlicesBuyOffer(final TestInfo testInfo) {
// Wait for Alice's AddToOfferBook task.
// Wait times vary; my logs show >= 2 second delay.
sleep(3000); // TODO loop instead of hard code wait time
assertEquals(1, getOpenOffersCount(aliceStubs, "buy", "usd"));
var alicesUsdOffers = getMyOffersSortedByDate(aliceStubs, "buy", "usd");
assertEquals(1, alicesUsdOffers.size());

var trade = takeAlicesOffer(offerId, bobsDummyAcct.getId(), TRADE_FEE_CURRENCY_CODE);
PaymentAccount bobsUsdAccount = createDummyF2FAccount(bobdaemon, "US");
var trade = takeAlicesOffer(offerId, bobsUsdAccount.getId(), TRADE_FEE_CURRENCY_CODE);
assertNotNull(trade);
assertEquals(offerId, trade.getTradeId());
assertFalse(trade.getIsCurrencyForTakerFeeBtc());
// Cache the trade id for the other tests.
tradeId = trade.getTradeId();

genBtcBlocksThenWait(1, 1000);
assertEquals(0, getOpenOffersCount(aliceStubs, "buy", "usd"));
alicesUsdOffers = getMyOffersSortedByDate(aliceStubs, "buy", "usd");
assertEquals(0, alicesUsdOffers.size());

trade = getTrade(bobdaemon, trade.getTradeId());
EXPECTED_PROTOCOL_STATUS.setState(SELLER_PUBLISHED_DEPOSIT_TX)
Expand Down
Expand Up @@ -17,6 +17,8 @@

package bisq.apitest.method.trade;

import bisq.core.payment.PaymentAccount;

import bisq.proto.grpc.BtcBalanceInfo;

import io.grpc.StatusRuntimeException;
Expand Down Expand Up @@ -58,7 +60,8 @@ public class TakeSellBTCOfferTest extends AbstractTradeTest {
@Order(1)
public void testTakeAlicesSellOffer(final TestInfo testInfo) {
try {
var alicesOffer = createAliceOffer(alicesDummyAcct,
PaymentAccount alicesUsdAccount = createDummyF2FAccount(alicedaemon, "US");
var alicesOffer = createAliceOffer(alicesUsdAccount,
"sell",
"usd",
12500000,
Expand All @@ -70,17 +73,20 @@ public void testTakeAlicesSellOffer(final TestInfo testInfo) {
// Wait times vary; my logs show >= 2 second delay, but taking sell offers
// seems to require more time to prepare.
sleep(3000); // TODO loop instead of hard code wait time
assertEquals(1, getOpenOffersCount(bobStubs, "sell", "usd"));
var alicesUsdOffers = getMyOffersSortedByDate(aliceStubs, "sell", "usd");
assertEquals(1, alicesUsdOffers.size());

var trade = takeAlicesOffer(offerId, bobsDummyAcct.getId(), TRADE_FEE_CURRENCY_CODE);
PaymentAccount bobsUsdAccount = createDummyF2FAccount(bobdaemon, "US");
var trade = takeAlicesOffer(offerId, bobsUsdAccount.getId(), TRADE_FEE_CURRENCY_CODE);
assertNotNull(trade);
assertEquals(offerId, trade.getTradeId());
assertTrue(trade.getIsCurrencyForTakerFeeBtc());
// Cache the trade id for the other tests.
tradeId = trade.getTradeId();

genBtcBlocksThenWait(1, 4000);
assertEquals(0, getOpenOffersCount(bobStubs, "sell", "usd"));
var takeableUsdOffers = getOffersSortedByDate(bobStubs, "sell", "usd");
assertEquals(0, takeableUsdOffers.size());

trade = getTrade(bobdaemon, trade.getTradeId());
EXPECTED_PROTOCOL_STATUS.setState(BUYER_RECEIVED_DEPOSIT_TX_PUBLISHED_MSG)
Expand Down