use of com.hedera.mirror.common.domain.entity.NftAllowance in project hedera-mirror-node by hashgraph.
the class AbstractAllowanceTransactionHandler method updateTransaction.
@Override
public void updateTransaction(Transaction transaction, RecordItem recordItem) {
long consensusTimestamp = transaction.getConsensusTimestamp();
var payerAccountId = recordItem.getPayerAccountId();
for (var cryptoApproval : getCryptoAllowances(recordItem)) {
CryptoAllowance cryptoAllowance = new CryptoAllowance();
cryptoAllowance.setAmount(cryptoApproval.getAmount());
cryptoAllowance.setOwner(EntityId.of(cryptoApproval.getOwner()).getId());
cryptoAllowance.setPayerAccountId(payerAccountId);
cryptoAllowance.setSpender(EntityId.of(cryptoApproval.getSpender()).getId());
cryptoAllowance.setTimestampLower(consensusTimestamp);
entityListener.onCryptoAllowance(cryptoAllowance);
}
for (var nftApproval : getNftAllowances(recordItem)) {
var approvedForAll = nftApproval.hasApprovedForAll() && nftApproval.getApprovedForAll().getValue();
NftAllowance nftAllowance = new NftAllowance();
nftAllowance.setApprovedForAll(approvedForAll);
nftAllowance.setOwner(EntityId.of(nftApproval.getOwner()).getId());
nftAllowance.setPayerAccountId(payerAccountId);
nftAllowance.setSerialNumbers(nftApproval.getSerialNumbersList());
nftAllowance.setSpender(EntityId.of(nftApproval.getSpender()).getId());
nftAllowance.setTokenId(EntityId.of(nftApproval.getTokenId()).getId());
nftAllowance.setTimestampLower(consensusTimestamp);
entityListener.onNftAllowance(nftAllowance);
}
for (var tokenApproval : getTokenAllowances(recordItem)) {
TokenAllowance tokenAllowance = new TokenAllowance();
tokenAllowance.setAmount(tokenApproval.getAmount());
tokenAllowance.setOwner(EntityId.of(tokenApproval.getOwner()).getId());
tokenAllowance.setPayerAccountId(payerAccountId);
tokenAllowance.setSpender(EntityId.of(tokenApproval.getSpender()).getId());
tokenAllowance.setTokenId(EntityId.of(tokenApproval.getTokenId()).getId());
tokenAllowance.setTimestampLower(consensusTimestamp);
entityListener.onTokenAllowance(tokenAllowance);
}
}
use of com.hedera.mirror.common.domain.entity.NftAllowance in project hedera-mirror-node by hashgraph.
the class BatchUpserterTest method nftAllowance.
@Test
void nftAllowance() {
NftAllowance nftAllowance1 = domainBuilder.nftAllowance().get();
NftAllowance nftAllowance2 = domainBuilder.nftAllowance().get();
NftAllowance nftAllowance3 = domainBuilder.nftAllowance().get();
var nftAllowance = List.of(nftAllowance1, nftAllowance2, nftAllowance3);
persist(batchPersister, nftAllowance);
assertThat(nftAllowanceRepository.findAll()).containsExactlyInAnyOrderElementsOf(nftAllowance);
}
Aggregations