Skip to content

Commit 110ba78

Browse files
committed
Track wallet after Scaffold generation #33
1 parent 4e7e5f7 commit 110ba78

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package io.openfuture.api.domain.scaffold
22

3-
import io.openfuture.api.annotation.Address
3+
import io.openfuture.api.annotation.Url
44
import io.openfuture.api.entity.scaffold.Currency
55
import io.openfuture.api.entity.scaffold.ScaffoldVersion
66
import javax.validation.Valid
77
import javax.validation.constraints.*
88

99
data class SaveEthereumScaffoldRequest(
10-
@Address @field:NotBlank var address: String? = null,
10+
@field:NotBlank var address: String? = null,
1111
@field:NotBlank var abi: String? = null,
1212
@field:NotBlank var openKey: String? = null,
13-
@field:NotBlank @field:Address var developerAddress: String? = null,
13+
@field:NotBlank var developerAddress: String? = null,
1414
@field:NotBlank var description: String? = null,
1515
@field:NotBlank @field:Digits(integer = Int.MAX_VALUE, fraction = Int.MAX_VALUE) var fiatAmount: String? = null,
1616
@field:NotNull var currency: Currency? = null,
1717
@field:NotBlank @field:Digits(integer = Int.MAX_VALUE, fraction = Int.MAX_VALUE) var conversionAmount: String? = null,
18-
var webHook: String? = null,
18+
@field:Url var webHook: String? = null,
1919
@field:NotEmpty @field:Size(max = 9) @field:Valid var properties: List<EthereumScaffoldPropertyDto> = listOf(),
2020
@field:NotNull var version: ScaffoldVersion = ScaffoldVersion.last()
21-
)
21+
)

src/main/kotlin/io/openfuture/api/service/DefaultEthereumScaffoldService.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.openfuture.api.service
22

33
import io.openfuture.api.component.scaffold.processor.ScaffoldProcessor
4+
import io.openfuture.api.component.state.StateApi
45
import io.openfuture.api.config.propety.ScaffoldProperties
56
import io.openfuture.api.domain.holder.AddEthereumShareHolderRequest
67
import io.openfuture.api.domain.holder.UpdateEthereumShareHolderRequest
@@ -9,6 +10,7 @@ import io.openfuture.api.entity.auth.User
910
import io.openfuture.api.entity.scaffold.EthereumScaffold
1011
import io.openfuture.api.entity.scaffold.EthereumScaffoldProperty
1112
import io.openfuture.api.entity.scaffold.EthereumScaffoldSummary
13+
import io.openfuture.api.entity.state.Blockchain
1214
import io.openfuture.api.exception.NotFoundException
1315
import io.openfuture.api.repository.EthereumScaffoldPropertyRepository
1416
import io.openfuture.api.repository.EthereumScaffoldRepository
@@ -29,7 +31,8 @@ class DefaultEthereumScaffoldService(
2931
private val propertyRepository: EthereumScaffoldPropertyRepository,
3032
private val ethereumScaffoldSummaryRepository: EthereumScaffoldSummaryRepository,
3133
private val shareHolderRepository: ShareHolderRepository,
32-
private val openKeyService: OpenKeyService
34+
private val openKeyService: OpenKeyService,
35+
private val stateApi: StateApi
3336
) : EthereumScaffoldService {
3437

3538
@Transactional(readOnly = true)
@@ -80,6 +83,7 @@ class DefaultEthereumScaffoldService(
8083
val properties = request.properties.map { propertyRepository.save(EthereumScaffoldProperty.of(scaffold, it)) }
8184
scaffold.property.addAll(properties)
8285
getScaffoldSummary(scaffold.address, openKey.user, true)
86+
request.webHook?.let { stateApi.createWallet(scaffold.developerAddress, it, Blockchain.Ethereum) }
8387
return scaffold
8488
}
8589

0 commit comments

Comments
 (0)