Skip to content

Commit

Permalink
feature : adding isSoulbound to nft minting service
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperBatata committed Sep 22, 2023
1 parent 20e2c4d commit 3f53d3f
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions src/main/kotlin/id/walt/nftkit/services/NftService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,8 @@ object NftService {
chain: EVMChain,
contractAddress: String,
parameter: MintingParameter,
options: MintingOptions
options: MintingOptions,
isSoulBound: Boolean
): MintingResponse {
var tokenUri: String?
if (parameter.metadataUri != null && parameter.metadataUri != "") {
Expand All @@ -316,7 +317,7 @@ object NftService {
tokenUri = metadataUri.getTokenUri(nftMetadataWrapper)
}

return mintNewToken(parameter.recipientAddress, tokenUri, chain, contractAddress)
return mintNewToken(parameter.recipientAddress, tokenUri, chain, contractAddress , isSoulBound )
}


Expand Down Expand Up @@ -595,10 +596,11 @@ object NftService {
recipientAddress: String,
metadataUri: String,
chain: EVMChain,
contractAddress: String
contractAddress: String,
isSoulBound : Boolean
): MintingResponse {
if (isErc721Standard(chain, contractAddress) && !isSoulBoundStandard(chain , contractAddress)) {
//val erc721TokenStandard = Erc721TokenStandard()
if (!isSoulBound) {

val recipient = Address(recipientAddress)
val tokenUri = Utf8String(metadataUri)
val transactionReceipt: TransactionReceipt? =
Expand All @@ -611,7 +613,7 @@ object NftService {
TransactionResponse(transactionReceipt!!.transactionHash, "$url/tx/${transactionReceipt.transactionHash}")
val mr = MintingResponse(ts, eventValues?.indexedValues?.get(2)?.value as BigInteger)
return mr
} else if (isSoulBoundStandard(chain , contractAddress) && isErc721Standard(chain, contractAddress)){
} else if (isSoulBound){
val recipient = recipientAddress
val tokenUri = metadataUri
val transactionReceipt: TransactionReceipt? =
Expand All @@ -638,10 +640,10 @@ object NftService {
}


private fun isErc721Standard(chain: EVMChain, contractAddress: String): Boolean {
fun isErc721Standard(chain: EVMChain, contractAddress: String): Boolean {
return Erc721TokenStandard.supportsInterface(chain, contractAddress)
}
private fun isSoulBoundStandard(chain: EVMChain, contractAddress: String): Boolean {
fun isSoulBoundStandard(chain: EVMChain, contractAddress: String): Boolean {
return SoulBoundTokenStandard.supportsInterface(chain, contractAddress)
}

Expand Down

0 comments on commit 3f53d3f

Please sign in to comment.