Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -21,39 +21,49 @@ enum class GatewayType() {
open abstract class CurrencyGatewayCommand(
open var currencySymbol: String? = null,
open var gatewayUuid: String? = UUID.randomUUID().toString(),
open var isActive: Boolean?,
open var isDepositActive: Boolean?,
open var isWithdrawActive: Boolean?,
open var withdrawFee: BigDecimal? = BigDecimal.ZERO,
open var withdrawAllowed: Boolean? = true,
open var depositAllowed: Boolean? = true,
open var depositMin: BigDecimal? = BigDecimal.ZERO,
open var depositMax: BigDecimal? = BigDecimal.ZERO,
open var withdrawMin: BigDecimal? = BigDecimal.ZERO,
open var withdrawMax: BigDecimal? = BigDecimal.ZERO,
open var description: String? = null,
open var displayOrder: Int? = null,
)

data class OffChainGatewayCommand(
var transferMethod: TransferMethod,
override var currencySymbol: String? = null,
override var gatewayUuid: String? = UUID.randomUUID().toString(),
override var isActive: Boolean? = true,
override var isDepositActive: Boolean? = true,
override var isWithdrawActive: Boolean? = true,
override var withdrawFee: BigDecimal? = BigDecimal.ZERO,
override var withdrawAllowed: Boolean? = true,
override var depositAllowed: Boolean? = true,
override var depositMin: BigDecimal? = BigDecimal.ZERO,
override var depositMax: BigDecimal? = BigDecimal.ZERO,
override var withdrawMin: BigDecimal? = BigDecimal.ZERO,
override var withdrawMax: BigDecimal? = BigDecimal.ZERO,
) : CurrencyGatewayCommand(
override var description: String? = null,
override var displayOrder: Int? = null,

) : CurrencyGatewayCommand(
currencySymbol,
gatewayUuid,
isActive,
isDepositActive,
isWithdrawActive,
withdrawFee,
withdrawAllowed,
depositAllowed,
depositMin,
depositMax,
withdrawMin,
withdrawMax
withdrawMax,
description,
displayOrder
)

data class OnChainGatewayCommand(
Expand All @@ -66,25 +76,31 @@ data class OnChainGatewayCommand(
var chain: String,
override var currencySymbol: String? = null,
override var gatewayUuid: String? = UUID.randomUUID().toString(),
override var isActive: Boolean? = true,
override var isDepositActive: Boolean? = true,
override var isWithdrawActive: Boolean? = true,
override var withdrawFee: BigDecimal? = BigDecimal.ZERO,
override var withdrawAllowed: Boolean? = true,
override var depositAllowed: Boolean? = true,
override var depositMin: BigDecimal? = BigDecimal.ZERO,
override var depositMax: BigDecimal? = BigDecimal.ZERO,
override var withdrawMin: BigDecimal? = BigDecimal.ZERO,
override var withdrawMax: BigDecimal? = BigDecimal.ZERO,
override var description: String? = null,
override var displayOrder: Int? = null,
) : CurrencyGatewayCommand(
currencySymbol,
gatewayUuid,
isActive,
isDepositActive,
isWithdrawActive,
withdrawFee,
withdrawAllowed,
depositAllowed,
depositMin,
depositMax,
withdrawMin,
withdrawMax
withdrawMax,
description,
displayOrder
)


Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ data class CryptoCurrencyCommand(
var currencySymbol: String,
var gatewayUuid: String?,
var implementationSymbol: String? = currencySymbol,
var isActive: Boolean? = true,
var isDepositActive: Boolean? = true,
var isWithdrawActive: Boolean? = true,
var isToken: Boolean? = false,
var tokenName: String? = null,
var tokenAddress: String? = null,
Expand All @@ -19,7 +20,9 @@ data class CryptoCurrencyCommand(
var depositMax: BigDecimal? = BigDecimal.ZERO,
var decimal: Int,
var chain: String,
var type: String = "OnChain"
var description: String?,
var displayOrder: Int? = null,
var type: String = "OnChain",

// var chainDetail: Chain? = null

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class AssignAddressServiceImplUnitTest {
UUID.randomUUID().toString(),
currency,
true,
true,
false,
null,
null,
Expand All @@ -52,6 +53,7 @@ class AssignAddressServiceImplUnitTest {
BigDecimal.ZERO,
18,
ethChain.name,
null
// ethChain
)

Expand All @@ -61,6 +63,7 @@ class AssignAddressServiceImplUnitTest {
UUID.randomUUID().toString(),
currency,
true,
true,
false,
"WETH",
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
Expand All @@ -73,6 +76,7 @@ class AssignAddressServiceImplUnitTest {
BigDecimal.ZERO,
18,
bscChain.name,
null
// bscChain

)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ interface CurrencyImplementationRepository : ReactiveCrudRepository<CurrencyOnCh

fun findByGatewayUuid(uuid: String): Mono<CurrencyOnChainGatewayModel>?

@Query("select * from currency_on_chain_gateway where (:gatewayUuid is null or gateway_uuid=:gatewayUuid) and (:currencySymbol is null or currency_symbol=:currencySymbol ) and (:implementationSymbol is null or implementation_symbol=:implementationSymbol ) and (:chain is null or chain=:chain ) ")
@Query("select * from currency_on_chain_gateway where (:gatewayUuid is null or gateway_uuid=:gatewayUuid) and (:currencySymbol is null or currency_symbol=:currencySymbol ) and (:implementationSymbol is null or implementation_symbol=:implementationSymbol ) and (:chain is null or chain=:chain ) order by display_order")
fun findGateways(
currencySymbol: String? = null,
gatewayUuid: String? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ class CurrencyOnChainGatewayModel(
@Column("withdraw_max") var withdrawMax: BigDecimal? = BigDecimal.ZERO,
@Column("deposit_min") var depositMin: BigDecimal? = BigDecimal.ZERO,
@Column("deposit_max") var depositMax: BigDecimal? = BigDecimal.ZERO, @Column("decimal") var decimal: Int,
@Column("is_active") var isActive: Boolean? = true,

@Column("is_deposit_active") var isDepositActive: Boolean? = true,
@Column("is_withdraw_active") var isWithdrawActive: Boolean? = true,
@Column("description") val description: String?,
@Column("display_order") val displayOrder: Int? = null,

)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ fun CryptoCurrencyCommand.toModel(): CurrencyOnChainGatewayModel {
depositMin,
depositMax,
decimal,
isActive
isDepositActive,
isWithdrawActive,
description,
displayOrder,
)
}

Expand All @@ -31,7 +34,8 @@ fun CurrencyOnChainGatewayModel.toDto(): CryptoCurrencyCommand {
currencySymbol,
gatewayUuid!!,
implementationSymbol,
isActive,
isDepositActive,
isWithdrawActive,
isToken,
tokenName,
tokenAddress,
Expand All @@ -43,8 +47,11 @@ fun CurrencyOnChainGatewayModel.toDto(): CryptoCurrencyCommand {
depositMin,
depositMax,
decimal,
chain
)
chain,
description,
displayOrder,

)

}

Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,10 @@ CREATE TABLE IF NOT EXISTS currency_on_chain_gateway
deposit_min DECIMAL NOT NULL,
deposit_max DECIMAL NOT NULL,
decimal INTEGER NOT NULL,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
is_deposit_active BOOLEAN NOT NULL DEFAULT TRUE,
is_withdraw_active BOOLEAN NOT NULL DEFAULT TRUE,
description TEXT,
display_order INTEGER,
UNIQUE (currency_symbol, chain, implementation_symbol)
);

Expand All @@ -95,5 +98,30 @@ CREATE TABLE IF NOT EXISTS deposits
depositor_memo VARCHAR(72)
);

DO
$$
BEGIN
IF NOT EXISTS (SELECT 1
FROM information_schema.columns
WHERE table_name = 'currency_on_chain_gateway' AND column_name = 'is_deposit_active') THEN ALTER TABLE currency_on_chain_gateway
ADD COLUMN is_deposit_active Boolean NOT NULL DEFAULT TRUE;
END IF;
IF EXISTS (SELECT 1
FROM information_schema.columns
WHERE table_name = 'currency_on_chain_gateway' AND column_name = 'is_active') THEN ALTER TABLE currency_on_chain_gateway
RENAME COLUMN is_active TO is_withdraw_active;
END IF;
IF NOT EXISTS (SELECT 1
FROM information_schema.columns
WHERE table_name = 'currency_on_chain_gateway' AND column_name = 'description') THEN ALTER TABLE currency_on_chain_gateway
ADD COLUMN description TEXT;
END IF;
IF NOT EXISTS (SELECT 1
FROM information_schema.columns
WHERE table_name = 'currency_on_chain_gateway' AND column_name = 'display_order') THEN ALTER TABLE currency_on_chain_gateway
ADD COLUMN display_order INTEGER;
END IF;
END
$$;


Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ class CurrencyServiceV2(
var gateways = gatewayService.fetchGateways(currencySymbol, includeGateways)
return it.apply {
it.depositAllowed =
gateways?.stream()?.filter { it.isActive == true }?.map(CurrencyGatewayCommand::depositAllowed)
gateways?.stream()?.filter { it.isDepositActive == true }?.map(CurrencyGatewayCommand::depositAllowed)
?.reduce { t, u -> t ?: false || u ?: false }?.orElseGet { false }
it.withdrawAllowed =
gateways?.stream()?.filter { it.isActive == true }?.map(CurrencyGatewayCommand::withdrawAllowed)
gateways?.stream()?.filter { it.isWithdrawActive == true }?.map(CurrencyGatewayCommand::withdrawAllowed)
?.reduce { t, u -> t ?: false || u ?: false }?.orElseGet { false }
it.gateways = gateways
//It is a stupid field for resolving front-end developers need
Expand Down Expand Up @@ -119,10 +119,10 @@ class CurrencyServiceV2(
return CurrenciesDto(currencies?.stream()?.map {
it.apply {
it.gateways = groupedByGateways?.get(it.symbol)
it.depositAllowed = groupedByGateways?.get(it.symbol)?.stream()?.filter { g -> g.isActive == true }
it.depositAllowed = groupedByGateways?.get(it.symbol)?.stream()?.filter { g -> g.isDepositActive == true }
?.map(CurrencyGatewayCommand::depositAllowed)?.reduce { t, u -> t ?: false || u ?: false }
?.orElseGet { false }
it.withdrawAllowed = groupedByGateways?.get(it.symbol)?.stream()?.filter { g -> g.isActive == true }
it.withdrawAllowed = groupedByGateways?.get(it.symbol)?.stream()?.filter { g -> g.isWithdrawActive == true }
?.map(CurrencyGatewayCommand::withdrawAllowed)?.reduce { t, u -> t ?: false || u ?: false }
?.orElseGet { false }
it.gateways?.forEach { gateway ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ class DepositService(
depositCommand.currency = it.currencySymbol!!
depositCommand.network = it.chain
return GatewayData(
it.isActive ?: true && it.depositAllowed ?: true,
it.isDepositActive ?: true && it.depositAllowed ?: true,
BigDecimal.ZERO,
it.depositMin ?: BigDecimal.ZERO,
it.depositMax
Expand All @@ -178,7 +178,7 @@ class DepositService(
depositCommand.network = null
depositCommand.transferMethod = it.transferMethod
return GatewayData(
it.isActive ?: true && it.depositAllowed ?: true,
it.isDepositActive ?: true && it.depositAllowed ?: true,
BigDecimal.ZERO,
it.depositMin ?: BigDecimal.ZERO,
it.depositMax
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class ManualWithdrawService(
?.takeIf { it is OffChainGatewayCommand && it.transferMethod == TransferMethod.MANUALLY }
?.let {
val gatewayData = GatewayData(
it.isActive ?: true && it.withdrawAllowed ?: true,
it.isWithdrawActive ?: true && it.withdrawAllowed ?: true,
it.withdrawFee ?: BigDecimal.ZERO,
it.withdrawMin ?: BigDecimal.ZERO,
it.withdrawMax
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,39 +21,48 @@ enum class GatewayType() {
open abstract class CurrencyGatewayCommand(
open var currencySymbol: String? = null,
open var gatewayUuid: String? = UUID.randomUUID().toString(),
open var isActive: Boolean?,
open var isDepositActive: Boolean?,
open var isWithdrawActive: Boolean?,
open var withdrawFee: BigDecimal? = BigDecimal.ZERO,
open var withdrawAllowed: Boolean? = true,
open var depositAllowed: Boolean? = true,
open var depositMin: BigDecimal? = BigDecimal.ZERO,
open var depositMax: BigDecimal? = BigDecimal.ZERO,
open var withdrawMin: BigDecimal? = BigDecimal.ZERO,
open var withdrawMax: BigDecimal? = BigDecimal.ZERO,
open var description: String? = null,
open var displayOrder: Int? = null,
)

data class OffChainGatewayCommand(
var transferMethod: TransferMethod,
override var currencySymbol: String? = null,
override var gatewayUuid: String? = UUID.randomUUID().toString(),
override var isActive: Boolean? = true,
override var isDepositActive: Boolean? = true,
override var isWithdrawActive: Boolean? = true,
override var withdrawFee: BigDecimal? = BigDecimal.ZERO,
override var withdrawAllowed: Boolean? = true,
override var depositAllowed: Boolean? = true,
override var depositMin: BigDecimal? = BigDecimal.ZERO,
override var depositMax: BigDecimal? = BigDecimal.ZERO,
override var withdrawMin: BigDecimal? = BigDecimal.ZERO,
override var withdrawMax: BigDecimal? = BigDecimal.ZERO,
override var description: String? = null,
override var displayOrder: Int? = null,
) : CurrencyGatewayCommand(
currencySymbol,
gatewayUuid,
isActive,
isDepositActive,
isWithdrawActive,
withdrawFee,
withdrawAllowed,
depositAllowed,
depositMin,
depositMax,
withdrawMin,
withdrawMax
withdrawMax,
description,
displayOrder
)

data class OnChainGatewayCommand(
Expand All @@ -66,25 +75,31 @@ data class OnChainGatewayCommand(
var chain: String,
override var currencySymbol: String? = null,
override var gatewayUuid: String? = UUID.randomUUID().toString(),
override var isActive: Boolean? = true,
override var isDepositActive: Boolean? = true,
override var isWithdrawActive: Boolean? = true,
override var withdrawFee: BigDecimal? = BigDecimal.ZERO,
override var withdrawAllowed: Boolean? = true,
override var depositAllowed: Boolean? = true,
override var depositMin: BigDecimal? = BigDecimal.ZERO,
override var depositMax: BigDecimal? = BigDecimal.ZERO,
override var withdrawMin: BigDecimal? = BigDecimal.ZERO,
override var withdrawMax: BigDecimal? = BigDecimal.ZERO,
override var description: String? = null,
override var displayOrder: Int? = null,
) : CurrencyGatewayCommand(
currencySymbol,
gatewayUuid,
isActive,
isDepositActive,
isWithdrawActive,
withdrawFee,
withdrawAllowed,
depositAllowed,
depositMin,
depositMax,
withdrawMin,
withdrawMax
withdrawMax,
description,
displayOrder
)


Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ data class TerminalCommand(
var active: Boolean? = true,
var type: TransferMethod,
var metaData: String,
var description : String?
var description : String?,
var displayOrder: Int? = null,

)
Loading
Loading