Search in sources :

Example 1 with OperationGroup

use of com.radixdlt.api.core.openapitools.model.OperationGroup in project radixdlt by radixdlt.

the class CreateTokenDefinition method toOperationGroups.

@Override
public List<OperationGroup> toOperationGroups(EngineConfiguration configuration, Function<ConstructionDeriveRequestMetadata, EntityIdentifier> identifierFunction) {
    var entityIdentifier = identifierFunction.apply(new ConstructionDeriveRequestMetadataToken().symbol(symbol).type("Token"));
    var mintOperation = new Operation().type("Resource").amount(new ResourceAmount().value(amount.toString()).resourceIdentifier(new TokenResourceIdentifier().rri(entityIdentifier.getAddress()).type("Token"))).entityIdentifier(to);
    var createTokenGroup = new OperationGroup();
    createTokenGroup.addOperationsItem(new Operation().type("Data").data(new Data().action(Data.ActionEnum.CREATE).dataObject(new TokenData().isMutable(owner != null).granularity("1").owner(owner).type(PreparedValidatorRegistered.class.getSimpleName()))).entityIdentifier(entityIdentifier));
    if (owner == null) {
        createTokenGroup.addOperationsItem(mintOperation);
    }
    createTokenGroup.addOperationsItem(new Operation().type("Data").data(new Data().action(Data.ActionEnum.CREATE).dataObject(new TokenMetadata().symbol(symbol).name("some_name").description("some_description").url("").iconUrl(""))).entityIdentifier(entityIdentifier));
    if (owner == null) {
        return List.of(createTokenGroup);
    }
    var mintTokenGroup = new OperationGroup().addOperationsItem(mintOperation);
    return List.of(createTokenGroup, mintTokenGroup);
}
Also used : ResourceAmount(com.radixdlt.api.core.openapitools.model.ResourceAmount) OperationGroup(com.radixdlt.api.core.openapitools.model.OperationGroup) TokenResourceIdentifier(com.radixdlt.api.core.openapitools.model.TokenResourceIdentifier) Data(com.radixdlt.api.core.openapitools.model.Data) TokenData(com.radixdlt.api.core.openapitools.model.TokenData) TokenData(com.radixdlt.api.core.openapitools.model.TokenData) Operation(com.radixdlt.api.core.openapitools.model.Operation) PreparedValidatorRegistered(com.radixdlt.api.core.openapitools.model.PreparedValidatorRegistered) ConstructionDeriveRequestMetadataToken(com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataToken) TokenMetadata(com.radixdlt.api.core.openapitools.model.TokenMetadata)

Example 2 with OperationGroup

use of com.radixdlt.api.core.openapitools.model.OperationGroup in project radixdlt by radixdlt.

the class UnstakeStakeUnits method toOperationGroups.

@Override
public List<OperationGroup> toOperationGroups(EngineConfiguration configuration, Function<ConstructionDeriveRequestMetadata, EntityIdentifier> identifierFunction) {
    var from = identifierFunction.apply(new ConstructionDeriveRequestMetadataAccount().type("Account"));
    var to = identifierFunction.apply(new ConstructionDeriveRequestMetadataPreparedUnstakes().type("PreparedUnstakes"));
    var resourceIdentifier = new StakeUnitResourceIdentifier().validatorAddress(validatorAddress).type("StakeUnits");
    var operationGroup = new OperationGroup().addOperationsItem(new Operation().type("Resource").amount(new ResourceAmount().resourceIdentifier(resourceIdentifier).value("-" + amount.toSubunits().toString())).entityIdentifier(from)).addOperationsItem(new Operation().type("Resource").amount(new ResourceAmount().resourceIdentifier(resourceIdentifier).value(amount.toSubunits().toString())).entityIdentifier(to));
    return List.of(operationGroup);
}
Also used : ConstructionDeriveRequestMetadataAccount(com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataAccount) ResourceAmount(com.radixdlt.api.core.openapitools.model.ResourceAmount) OperationGroup(com.radixdlt.api.core.openapitools.model.OperationGroup) ConstructionDeriveRequestMetadataPreparedUnstakes(com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedUnstakes) StakeUnitResourceIdentifier(com.radixdlt.api.core.openapitools.model.StakeUnitResourceIdentifier) Operation(com.radixdlt.api.core.openapitools.model.Operation)

Example 3 with OperationGroup

use of com.radixdlt.api.core.openapitools.model.OperationGroup in project radixdlt by radixdlt.

the class ConstructionBuildFeePayerTest method buildRequestWithFeePayer.

private ConstructionBuildRequest buildRequestWithFeePayer(EntityIdentifier feePayer) {
    var transferAmount = getLiquidAmount().toSubunits().subtract(Amount.ofTokens(1).toSubunits());
    var accountAddress = REAddr.ofPubKeyAccount(self);
    var otherKey = PrivateKeys.ofNumeric(2).getPublicKey();
    var otherAddress = REAddr.ofPubKeyAccount(otherKey);
    return new ConstructionBuildRequest().networkIdentifier(new NetworkIdentifier().network("localnet")).feePayer(feePayer).addOperationGroupsItem(new OperationGroup().addOperationsItem(new Operation().entityIdentifier(coreModelMapper.entityIdentifier(accountAddress)).amount(coreModelMapper.nativeTokenAmount(false, transferAmount))).addOperationsItem(new Operation().entityIdentifier(coreModelMapper.entityIdentifier(otherAddress)).amount(coreModelMapper.nativeTokenAmount(true, transferAmount))));
}
Also used : OperationGroup(com.radixdlt.api.core.openapitools.model.OperationGroup) ConstructionBuildRequest(com.radixdlt.api.core.openapitools.model.ConstructionBuildRequest) NetworkIdentifier(com.radixdlt.api.core.openapitools.model.NetworkIdentifier) Operation(com.radixdlt.api.core.openapitools.model.Operation)

Example 4 with OperationGroup

use of com.radixdlt.api.core.openapitools.model.OperationGroup in project radixdlt by radixdlt.

the class ConstructionBuildMessageTest method buildRequestWithMessage.

private ConstructionBuildRequest buildRequestWithMessage(String message) {
    var transferAmount = UInt256.ONE;
    var accountAddress = REAddr.ofPubKeyAccount(self);
    var otherKey = PrivateKeys.ofNumeric(2).getPublicKey();
    var otherAddress = REAddr.ofPubKeyAccount(otherKey);
    return new ConstructionBuildRequest().message(message).networkIdentifier(new NetworkIdentifier().network("localnet")).feePayer(coreModelMapper.entityIdentifier(accountAddress)).addOperationGroupsItem(new OperationGroup().addOperationsItem(new Operation().entityIdentifier(coreModelMapper.entityIdentifier(accountAddress)).amount(coreModelMapper.nativeTokenAmount(false, transferAmount))).addOperationsItem(new Operation().entityIdentifier(coreModelMapper.entityIdentifier(otherAddress)).amount(coreModelMapper.nativeTokenAmount(true, transferAmount))));
}
Also used : OperationGroup(com.radixdlt.api.core.openapitools.model.OperationGroup) ConstructionBuildRequest(com.radixdlt.api.core.openapitools.model.ConstructionBuildRequest) NetworkIdentifier(com.radixdlt.api.core.openapitools.model.NetworkIdentifier) Operation(com.radixdlt.api.core.openapitools.model.Operation)

Example 5 with OperationGroup

use of com.radixdlt.api.core.openapitools.model.OperationGroup 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);
}
Also used : ConstructionDeriveRequestMetadataAccount(com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataAccount) ConstructionDeriveRequestMetadataPreparedStakes(com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedStakes) ResourceAmount(com.radixdlt.api.core.openapitools.model.ResourceAmount) OperationGroup(com.radixdlt.api.core.openapitools.model.OperationGroup) Operation(com.radixdlt.api.core.openapitools.model.Operation)

Aggregations

OperationGroup (com.radixdlt.api.core.openapitools.model.OperationGroup)7 Operation (com.radixdlt.api.core.openapitools.model.Operation)6 ResourceAmount (com.radixdlt.api.core.openapitools.model.ResourceAmount)4 ConstructionDeriveRequestMetadataAccount (com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataAccount)3 ConstructionBuildRequest (com.radixdlt.api.core.openapitools.model.ConstructionBuildRequest)2 NetworkIdentifier (com.radixdlt.api.core.openapitools.model.NetworkIdentifier)2 Inject (com.google.inject.Inject)1 Provider (com.google.inject.Provider)1 CoreJsonRpcHandler (com.radixdlt.api.core.CoreJsonRpcHandler)1 CoreApiException (com.radixdlt.api.core.model.CoreApiException)1 CoreModelMapper (com.radixdlt.api.core.model.CoreModelMapper)1 CommittedTransaction (com.radixdlt.api.core.openapitools.model.CommittedTransaction)1 CommittedTransactionMetadata (com.radixdlt.api.core.openapitools.model.CommittedTransactionMetadata)1 CommittedTransactionsRequest (com.radixdlt.api.core.openapitools.model.CommittedTransactionsRequest)1 CommittedTransactionsResponse (com.radixdlt.api.core.openapitools.model.CommittedTransactionsResponse)1 ConstructionDeriveRequestMetadataPreparedStakes (com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedStakes)1 ConstructionDeriveRequestMetadataPreparedUnstakes (com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataPreparedUnstakes)1 ConstructionDeriveRequestMetadataToken (com.radixdlt.api.core.openapitools.model.ConstructionDeriveRequestMetadataToken)1 Data (com.radixdlt.api.core.openapitools.model.Data)1 PreparedValidatorRegistered (com.radixdlt.api.core.openapitools.model.PreparedValidatorRegistered)1