Skip to content

Commit c3d75de

Browse files
authored
RA-44 Switch to genesisService, refactor ProtocolParams (#113)
* feat: RA-44 rename to GenesisService, add ObjectMapping with jackson * feat: RA-44 fix tests after extracting genesisService * feat: RA-44 add ProtocolParamEntity wrapper * feat: RA-44 rewrite ProtocolParams merge logic * feat: RA-44 fix repository query * feat: RA-44 merge from main and rename genesisService to protocolParamService
1 parent 0c9ead6 commit c3d75de

34 files changed

+550
-776
lines changed

api/src/main/java/org/cardanofoundation/rosetta/RosettaApiApplication.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public static void main(String[] args) {
3737
}
3838

3939
@Bean
40-
@SuppressWarnings("unused") //used through injection
4140
public FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() {
4241
final ForwardedHeaderFilter filter = new ForwardedHeaderFilter();
4342
final FilterRegistrationBean<ForwardedHeaderFilter> registration = new FilterRegistrationBean<>(
@@ -50,7 +49,6 @@ public FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() {
5049
}
5150

5251
@Bean
53-
@SuppressWarnings("unused") //used through injection
5452
@Profile("!test-integration")
5553
public JsonNullableModule jsonNullableModule() {
5654
return new JsonNullableModule();

api/src/main/java/org/cardanofoundation/rosetta/api/block/controller/BlockApiImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@
1717
import org.cardanofoundation.rosetta.api.block.model.domain.Block;
1818
import org.cardanofoundation.rosetta.api.block.model.domain.BlockTx;
1919
import org.cardanofoundation.rosetta.api.block.service.BlockService;
20+
import org.cardanofoundation.rosetta.common.services.ProtocolParamService;
2021

2122
@RestController
2223
@RequiredArgsConstructor
2324
public class BlockApiImpl implements BlockApi {
2425

2526
private final BlockService blockService;
27+
private final ProtocolParamService protocolParamService;
2628

2729
private final BlockToBlockResponse mapperToBlockResponse;
2830
private final BlockTxToBlockTxResponse mapperToBlockTxResponse;
@@ -48,7 +50,7 @@ public ResponseEntity<BlockTransactionResponse> blockTransaction(
4850
String txHash = blockReq.getTransactionIdentifier().getHash();
4951

5052
BlockTx tx = blockService.getBlockTransaction(blockId, blockHash, txHash);
51-
String poolDeposit = blockService.getPoolDeposit();
53+
String poolDeposit = String.valueOf(protocolParamService.getProtocolParameters().getPoolDeposit());
5254

5355
return ResponseEntity.ok(mapperToBlockTxResponse.toDto(tx, poolDeposit));
5456

api/src/main/java/org/cardanofoundation/rosetta/api/block/mapper/AbstractToOperation.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Optional;
55
import java.util.stream.Collectors;
66

7+
import org.springframework.beans.factory.annotation.Autowired;
78
import org.apache.commons.codec.binary.Hex;
89
import org.apache.commons.lang3.mutable.MutableInt;
910
import org.jetbrains.annotations.NotNull;
@@ -16,10 +17,14 @@
1617

1718
import org.cardanofoundation.rosetta.api.account.model.domain.Amt;
1819
import org.cardanofoundation.rosetta.common.mapper.DataMapper;
20+
import org.cardanofoundation.rosetta.common.services.ProtocolParamService;
1921
import org.cardanofoundation.rosetta.common.util.Constants;
2022

2123
public abstract class AbstractToOperation<T> {
2224

25+
@Autowired
26+
protected ProtocolParamService protocolParamService;
27+
2328
abstract Operation toDto(T model, OperationStatus status, int index);
2429

2530
protected List<Operation> convert(List<T> stakeReg, OperationStatus status,
@@ -31,7 +36,7 @@ protected List<Operation> convert(List<T> stakeReg, OperationStatus status,
3136
.collect(Collectors.toList());
3237
}
3338

34-
protected static OperationMetadata mapToOperationMetaData(boolean spent, List<Amt> amounts) {
39+
protected OperationMetadata mapToOperationMetaData(boolean spent, List<Amt> amounts) {
3540
OperationMetadata operationMetadata = new OperationMetadata();
3641
Optional.ofNullable(amounts)
3742
.stream()
@@ -56,10 +61,12 @@ protected static OperationMetadata mapToOperationMetaData(boolean spent, List<Am
5661
}
5762

5863
// TODO saa: need to get this '"2000000", Constants.ADA, Constants.ADA_DECIMALS,' from protocolparams
59-
// Create and inject GenesisService to get the stake deposit amount
64+
// Create and inject ProtocolParamServiceImpl to get the stake deposit amount
6065
// see similar implementation in BlockService.getPoolDeposit
6166
@NotNull
62-
protected static Amount getDepositAmount(String deposit) {
67+
protected Amount getDepositAmount(String deposit) {
68+
//TODO saa: poolDeposit and delegation ddeposit are equals?
69+
// String deposit = String.valueOf(protocolParamService.getProtocolParameters().getPoolDeposit());
6370
return DataMapper.mapAmount(deposit, Constants.ADA, Constants.ADA_DECIMALS, null);
6471
}
6572

api/src/main/java/org/cardanofoundation/rosetta/api/block/mapper/BlockToBlockResponse.java

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -87,41 +87,11 @@ public List<Transaction> mapToRosettaTransactions(
8787
return rosettaTransactions;
8888
}
8989

90-
// /**
91-
// * Maps a TransactionDto to a Rosetta compatible BlockTx.
92-
// *
93-
// * @param transaction The Cardano transaction to be mapped
94-
// * @param poolDeposit The pool deposit
95-
// * @return The Rosetta compatible Transaction
96-
// */
97-
// public static Transaction mapToRosettaTransaction(BlockTx transaction, String poolDeposit) {
98-
// Transaction rosettaTransaction = new Transaction();
99-
// TransactionIdentifier identifier = new TransactionIdentifier();
100-
// identifier.setHash(transaction.getHash());
101-
// rosettaTransaction.setTransactionIdentifier(identifier);
102-
//
103-
// OperationStatus status = new OperationStatus();
104-
//// status.setStatus(Boolean.TRUE.equals(transaction.getValidContract()) ? SUCCESS_OPERATION_STATUS.getStatus() : INVALID_OPERATION_STATUS.getStatus());
105-
// status.setStatus(SUCCESS_OPERATION_STATUS.getStatus()); // TODO need to check the right status
106-
// List<Operation> operations =
107-
// OperationDataMapper.getAllOperations(transaction, poolDeposit, status);
108-
//
109-
// rosettaTransaction.setMetadata(TransactionMetadata.builder()
110-
// .size(transaction.getSize()) // Todo size is not available
111-
// .scriptSize(transaction.getScriptSize()) // TODO script size is not available
112-
// .build());
113-
// rosettaTransaction.setOperations(operations);
114-
// return rosettaTransaction;
115-
//
116-
// }
117-
11890
private static BlockIdentifier parentId(BlockResponse dest) {
11991
return dest.getBlock().getParentBlockIdentifier();
12092
}
12193

12294
private static BlockIdentifier currentId(BlockResponse dest) {
12395
return dest.getBlock().getBlockIdentifier();
12496
}
125-
126-
12797
}

api/src/main/java/org/cardanofoundation/rosetta/api/block/mapper/InputToOperation.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import lombok.AllArgsConstructor;
66

7-
import com.bloxbean.cardano.yaci.core.model.certs.CertificateType;
87
import org.modelmapper.ModelMapper;
98
import org.modelmapper.spi.MappingContext;
109
import org.openapitools.client.model.CoinAction;
@@ -13,7 +12,6 @@
1312

1413
import org.cardanofoundation.rosetta.api.account.model.domain.Utxo;
1514
import org.cardanofoundation.rosetta.common.annotation.OpenApiMapper;
16-
import org.cardanofoundation.rosetta.common.enumeration.OperationType;
1715
import org.cardanofoundation.rosetta.common.util.Constants;
1816

1917
import static org.cardanofoundation.rosetta.common.util.Constants.ADA;
@@ -47,18 +45,4 @@ public Operation toDto(Utxo model, OperationStatus status, int index) {
4745
.setPostConverter(MappingContext::getDestination)
4846
.map(model);
4947
}
50-
51-
52-
private String convert(CertificateType model) {
53-
if (model == null) {
54-
return null;
55-
} else {
56-
return model.equals(CertificateType.STAKE_REGISTRATION)
57-
? OperationType.STAKE_KEY_REGISTRATION.toString() :
58-
model.equals(CertificateType.STAKE_DEREGISTRATION)
59-
? OperationType.STAKE_KEY_DEREGISTRATION.toString() : null;
60-
}
61-
}
62-
63-
6448
}

0 commit comments

Comments
 (0)