fix
Helius
2022-06-13 a26796c06e7dbf5e1f96dca971b08e1278103f29
fix
3 files modified
18 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java 2 ●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 6 ●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ChainTest.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -100,7 +100,7 @@
            }
            BigInteger tokens = e.tokens;
            BigDecimal amount = BigDecimal.valueOf(tokens.intValue()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
            BigDecimal amount = new BigDecimal(tokens.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
            // 如果转账对象地址不为源池地址,注册该用户并绑定上下级关系
            if (!e.to.equals(ChainEnum.BSC_TFC_SOURCE.getAddress().toLowerCase())) {
src/main/resources/application-test.yml
@@ -2,7 +2,7 @@
  datasource:
    dynamic:
      # 是否开启 SQL日志输出,生产环境建议关闭,有性能损耗
      p6spy: false
      p6spy: true
      hikari:
        connection-timeout: 30000
        max-lifetime: 1800000
@@ -49,5 +49,5 @@
    publisher-confirm-type: correlated
system:
  online-transfer: false
  chain-listener: false
  online-transfer: true
  chain-listener: true
src/test/java/cc/mrbird/febs/ChainTest.java
@@ -15,6 +15,8 @@
import org.springframework.boot.test.context.SpringBootTest;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -95,4 +97,12 @@
    public void userBuyRewardTest() {
        chainProducer.sendUserBuyReward(56L);
    }
    @Test
    public void coinDecimalsTest() {
        int decimals = ChainService.getInstance(ChainEnum.BSC_TFC.name()).decimals();
        BigInteger bigInteger = new BigInteger("110000000000");
        BigDecimal amount = new BigDecimal(bigInteger.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
        System.out.println(amount);
    }
}