You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
We added the TBTC(Test Bitcoin) extension and then we added the Sell functionality for this coin like Sumcoin or BCH coin we tried to perform the sell using bitgoNoForward wallet. But it won't work while buying is working without any issue.
We have added the Extension class, AdreessValidator, PaymentSupport, RPCWallet, UniqueAddressRPCWallet classes for the TBTC (Test Bitcoin).
So when we perform the sell operation on TBTC(Test Bitcoin) we get the following Error also we have added the TestBitcoinPaymentSupport Class just below the stack trace. So please help us that how we can resolve this and can able to perform sell functionality on customly added Cryptocurrencies using bitgoNoForward wallet.
`5.09.2024 16:33:46 ERROR
[BT301241/0.0.0.0/submitTransaction3/RAUDRU/114]
batm.master.AdvancedBackOffice - Sell~1 RAUDRU: #999 - ERROR
java.lang.ClassCastException: class com.generalbytes.batm.server.extensions.extra.bitcoin.wallets.bitgo.v2.BitgoWalletWithUniqueAddresses cannot be cast to class com.generalbytes.batm.server.extensions.extra.common.IRPCWallet (com.generalbytes.batm.server.extensions.extra.bitcoin.wallets.bitgo.v2.BitgoWalletWithUniqueAddresses and com.generalbytes.batm.server.extensions.extra.common.IRPCWallet are in unnamed module of loader com.generalbytes.batm.server.extensions.e @188467fe)
at com.generalbytes.batm.server.extensions.extra.common.AbstractRPCPaymentSupport.getClient(AbstractRPCPaymentSupport.java:91)
at com.generalbytes.batm.server.extensions.extra.common.AbstractRPCPaymentSupport.registerPaymentRequest(AbstractRPCPaymentSupport.java:534)
at com.generalbytes.batm.server.extensions.extra.common.AbstractRPCPaymentSupport.createPaymentRequest(AbstractRPCPaymentSupport.java:521)
at com.generalbytes.batm.server.services.e.a.a(GB:60)
at com.generalbytes.batm.server.core.d.a(GB:1520)
at com.generalbytes.batm.server.core.c.c.l.a(GB:663)
at com.generalbytes.batm.server.core.c.c.m.a(GB:2289)
at com.generalbytes.batm.server.core.c.c.o.a(GB:65)
at com.generalbytes.batm.server.core.u.submitTransaction3(GB:343)
at com.generalbytes.batm.server.extensions.a.a.a(GB:228)
at com.generalbytes.batm.server.extensions.f.sellCrypto(GB:741)
at com.generalbytes.batm.server.extensions.f.sellCrypto(GB:731)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.generalbytes.batm.server.extensions.c.invoke(GB:39)
at jdk.proxy2/jdk.proxy2.$Proxy69.sellCrypto(Unknown Source)
at org.bitcoinmat.batm.server.extensions.api.RestSecuredService.sellCryptos(RestSecuredService.java:1338)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
at com.generalbytes.batm.server.services.web.q.service(GB:97)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
at org.bitcoinmat.batm.server.extensions.api.CorsFilter.doFilter(CorsFilter.java:42)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at com.generalbytes.batm.server.services.web.a.f.doFilter(GB:34)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at com.generalbytes.batm.server.services.web.a.e.doFilter(GB:23)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137)
at com.generalbytes.batm.server.services.web.w.a(GB:101)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:840)
05.09.2024 16:33:46 ERROR [BT301241/0.0.0.0/submitTransaction3/RAUDRU/114] c.g.batm.server.core.c.c.l - submitTransactionSellCryptoInternal (1)
java.lang.NullPointerException: Cannot invoke "com.generalbytes.batm.server.d.h.setFixedTransactionFee(java.math.BigDecimal)" because "<local6>" is null
at com.generalbytes.batm.server.core.c.c.l.a(GB:687)
at com.generalbytes.batm.server.core.c.c.m.a(GB:2289)
at com.generalbytes.batm.server.core.c.c.o.a(GB:65)
at com.generalbytes.batm.server.core.u.submitTransaction3(GB:343)
at com.generalbytes.batm.server.extensions.a.a.a(GB:228)
at com.generalbytes.batm.server.extensions.f.sellCrypto(GB:741)
at com.generalbytes.batm.server.extensions.f.sellCrypto(GB:731)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.generalbytes.batm.server.extensions.c.invoke(GB:39)
at jdk.proxy2/jdk.proxy2.$Proxy69.sellCrypto(Unknown Source)
at org.bitcoinmat.batm.server.extensions.api.RestSecuredService.sellCryptos(RestSecuredService.java:1338)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
at com.generalbytes.batm.server.services.web.q.service(GB:97)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
at org.bitcoinmat.batm.server.extensions.api.CorsFilter.doFilter(CorsFilter.java:42)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at com.generalbytes.batm.server.services.web.a.f.doFilter(GB:34)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at com.generalbytes.batm.server.services.web.a.e.doFilter(GB:23)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137)
at com.generalbytes.batm.server.services.web.w.a(GB:101)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:840)
While we have this TestBitcoinPaymentSupport:
public class TestBitcoinPaymentSupport extends AbstractRPCPaymentSupport {
private static final Logger log = LoggerFactory.getLogger(TestBitcoinPaymentSupport.class);
private TestBTCAdressValidator addressValidator = new TestBTCAdressValidator();
private static final long MAXIMUM_WAIT_FOR_POSSIBLE_REFUND_MILLIS = TimeUnit.DAYS.toMillis(3); // 3 days
private static final long MAXIMUM_WATCHING_TIME_MILLIS = TimeUnit.DAYS.toMillis(3); // 3 days (exactly plus Sell Offer Expiration 5-120 minutes)
@Override
public String getCurrency() {
return CryptoCurrency.TBTC.getCode();
}
@Override
public long getMaximumWatchingTimeMillis() {
return MAXIMUM_WATCHING_TIME_MILLIS;
}
@Override
public long getMaximumWaitForPossibleRefundInMillis() {
return MAXIMUM_WAIT_FOR_POSSIBLE_REFUND_MILLIS;
}
@Override
public BigDecimal getMinimumNetworkFee(RPCClient client) {
return client.getNetworkInfo().relayFee();
}
@Override
public ICryptoAddressValidator getAddressValidator() {
return addressValidator;
}
@Override
public int calculateTransactionSize(int numberOfInputs, int numberOfOutputs) {
return (numberOfInputs * 149) + (numberOfOutputs * 34) + 10;
}
@Override
public BigDecimal calculateTxFee(int numberOfInputs, int numberOfOutputs, RPCClient client) {
final int transactionSize = calculateTransactionSize(numberOfInputs, numberOfOutputs);
try {
BigDecimal estimate = new BigDecimal(client.getEstimateFee(2)); //sumcoind must be run with -deprecatedrpc=estimatefee
if (BigDecimal.ZERO.compareTo(estimate) == 0 || estimate.compareTo(new BigDecimal("-1")) == 0 ) {
return getMinimumNetworkFee(client);
}
return estimate.divide(new BigDecimal("1000"), RoundingMode.UP).multiply(new BigDecimal(transactionSize));
} catch (Exception e) {
log.error("", e);
return getMinimumNetworkFee(client);
}
}
@Override
public String getSigHashType() {
return "ALL";
}
}
The text was updated successfully, but these errors were encountered:
Hello,
We added the TBTC(Test Bitcoin) extension and then we added the Sell functionality for this coin like Sumcoin or BCH coin we tried to perform the sell using bitgoNoForward wallet. But it won't work while buying is working without any issue.
We have added the Extension class, AdreessValidator, PaymentSupport, RPCWallet, UniqueAddressRPCWallet classes for the TBTC (Test Bitcoin).
So when we perform the sell operation on TBTC(Test Bitcoin) we get the following Error also we have added the TestBitcoinPaymentSupport Class just below the stack trace. So please help us that how we can resolve this and can able to perform sell functionality on customly added Cryptocurrencies using bitgoNoForward wallet.
`5.09.2024 16:33:46 ERROR
While we have this TestBitcoinPaymentSupport:
The text was updated successfully, but these errors were encountered: