use of com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedStakes in project radixdlt by radixdlt.
the class ConstructionDeriveHandlerTest method derive_prepared_stakes_should_return_entity_identifier.
@Test
public void derive_prepared_stakes_should_return_entity_identifier() throws CoreApiException {
// Arrange
var publicKey = PrivateKeys.ofNumeric(2).getPublicKey();
var validatorKey = PrivateKeys.ofNumeric(3).getPublicKey();
start();
// Act
var request = new ConstructionDeriveRequest().networkIdentifier(networkIdentifier()).publicKey(coreModelMapper.publicKey(publicKey)).metadata(new ConstructionDeriveRequestMetadataPreparedStakes().validator(coreModelMapper.entityIdentifier(validatorKey)).type("PreparedStakes"));
var response = sut.handleRequest(request);
// Assert
assertThat(response.getEntityIdentifier()).isEqualTo(coreModelMapper.entityIdentifierPreparedStake(REAddr.ofPubKeyAccount(publicKey), validatorKey));
}
use of com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedStakes in project radixdlt by radixdlt.
the class ConstructionDeriveHandlerTest method derive_prepared_stakes_with_invalid_validator_should_return_error.
@Test
public void derive_prepared_stakes_with_invalid_validator_should_return_error() {
// Arrange
var publicKey = PrivateKeys.ofNumeric(2).getPublicKey();
var validatorKey = PrivateKeys.ofNumeric(3).getPublicKey();
start();
// Act
// Assert
var request = new ConstructionDeriveRequest().networkIdentifier(networkIdentifier()).publicKey(coreModelMapper.publicKey(publicKey)).metadata(new ConstructionDeriveRequestMetadataPreparedStakes().validator(coreModelMapper.entityIdentifier(REAddr.ofPubKeyAccount(validatorKey))).type("PreparedStakes"));
assertThatThrownBy(() -> sut.handleRequest(request)).isInstanceOfSatisfying(CoreApiException.class, e -> {
assertThat(e.toError().getDetails()).isInstanceOf(NotValidatorEntityError.class);
});
}
use of com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedStakes in project radixdlt by radixdlt.
the class StakeTokens method toOperationGroups.
@Override
public List<OperationGroup> toOperationGroups(EngineConfiguration configuration, Function<ConstructionDeriveRequestMetadata, EntityIdentifier> identifierFunction) {
var nativeToken = configuration.getNativeToken();
var from = identifierFunction.apply(new ConstructionDeriveRequestMetadataAccount().type("Account"));
var to = identifierFunction.apply(new ConstructionDeriveRequestMetadataPreparedStakes().validator(validator).type("PreparedStakes"));
var operationGroup = new OperationGroup().addOperationsItem(new Operation().type("Resource").amount(new ResourceAmount().resourceIdentifier(nativeToken).value("-" + amount.toSubunits().toString())).entityIdentifier(from)).addOperationsItem(new Operation().type("Resource").amount(new ResourceAmount().resourceIdentifier(nativeToken).value(amount.toSubunits().toString())).entityIdentifier(to));
return List.of(operationGroup);
}
Aggregations