Search in sources :

Example 1 with RegisterValidatorConstructor

use of com.radixdlt.application.validators.construction.RegisterValidatorConstructor in project radixdlt by radixdlt.

the class UnstakeTokensV2Test method setup.

@Before
public void setup() throws Exception {
    var cmAtomOS = new CMAtomOS();
    cmAtomOS.load(new SystemConstraintScrypt());
    scrypts.forEach(cmAtomOS::load);
    var cm = new ConstraintMachine(cmAtomOS.getProcedures(), cmAtomOS.buildSubstateDeserialization(), cmAtomOS.buildVirtualSubstateDeserialization());
    var parser = new REParser(cmAtomOS.buildSubstateDeserialization());
    var serialization = cmAtomOS.buildSubstateSerialization();
    this.store = new InMemoryEngineStore<>();
    this.sut = new RadixEngine<>(parser, serialization, REConstructor.newBuilder().put(CreateSystem.class, new CreateSystemConstructorV2()).put(NextRound.class, new NextViewConstructorV3()).put(NextEpoch.class, new NextEpochConstructorV3(Amount.ofTokens(10).toSubunits(), 9800, 1, 10)).put(StakeTokens.class, stakeTokensConstructor).put(UnstakeOwnership.class, unstakeTokensConstructor).put(CreateMutableToken.class, new CreateMutableTokenConstructor(SystemConstraintScrypt.MAX_SYMBOL_LENGTH)).put(MintToken.class, new MintTokenConstructor()).put(TransferToken.class, new TransferTokensConstructorV2()).put(RegisterValidator.class, new RegisterValidatorConstructor()).build(), cm, store);
    this.key = ECKeyPair.generateNew();
    this.accountAddr = REAddr.ofPubKeyAccount(key.getPublicKey());
    var txn = this.sut.construct(TxnConstructionRequest.create().action(new CreateSystem(0)).action(new CreateMutableToken(REAddr.ofNativeToken(), "xrd", "Name", "", "", "", null)).action(new MintToken(REAddr.ofNativeToken(), accountAddr, totalStakes))).buildWithoutSignature();
    this.sut.execute(List.of(txn), null, PermissionLevel.SYSTEM);
}
Also used : SystemConstraintScrypt(com.radixdlt.application.system.scrypt.SystemConstraintScrypt) NextViewConstructorV3(com.radixdlt.application.system.construction.NextViewConstructorV3) REParser(com.radixdlt.engine.parser.REParser) RegisterValidatorConstructor(com.radixdlt.application.validators.construction.RegisterValidatorConstructor) MintTokenConstructor(com.radixdlt.application.tokens.construction.MintTokenConstructor) CMAtomOS(com.radixdlt.atomos.CMAtomOS) ConstraintMachine(com.radixdlt.constraintmachine.ConstraintMachine) CreateMutableTokenConstructor(com.radixdlt.application.tokens.construction.CreateMutableTokenConstructor) CreateSystemConstructorV2(com.radixdlt.application.system.construction.CreateSystemConstructorV2) NextEpochConstructorV3(com.radixdlt.application.system.construction.NextEpochConstructorV3) TransferTokensConstructorV2(com.radixdlt.application.tokens.construction.TransferTokensConstructorV2) Before(org.junit.Before)

Example 2 with RegisterValidatorConstructor

use of com.radixdlt.application.validators.construction.RegisterValidatorConstructor in project radixdlt by radixdlt.

the class NextViewV2Test method setup.

@Before
public void setup() throws Exception {
    var cmAtomOS = new CMAtomOS();
    cmAtomOS.load(new SystemConstraintScrypt());
    scrypts.forEach(cmAtomOS::load);
    cmAtomOS.load(new StakingConstraintScryptV4(Amount.ofTokens(10).toSubunits()));
    cmAtomOS.load(new TokensConstraintScryptV3(Set.of(), Pattern.compile("[a-z0-9]+")));
    cmAtomOS.load(new ValidatorConstraintScryptV2());
    cmAtomOS.load(new ValidatorRegisterConstraintScrypt());
    cmAtomOS.load(new ValidatorUpdateRakeConstraintScrypt(2));
    cmAtomOS.load(new ValidatorUpdateOwnerConstraintScrypt());
    var cm = new ConstraintMachine(cmAtomOS.getProcedures(), cmAtomOS.buildSubstateDeserialization(), cmAtomOS.buildVirtualSubstateDeserialization());
    var parser = new REParser(cmAtomOS.buildSubstateDeserialization());
    var serialization = cmAtomOS.buildSubstateSerialization();
    this.store = new InMemoryEngineStore<>();
    this.sut = new RadixEngine<>(parser, serialization, REConstructor.newBuilder().put(NextEpoch.class, new NextEpochConstructorV3(Amount.ofTokens(10).toSubunits(), 9800, 1, 10)).put(CreateSystem.class, new CreateSystemConstructorV2()).put(CreateMutableToken.class, new CreateMutableTokenConstructor(SystemConstraintScrypt.MAX_SYMBOL_LENGTH)).put(MintToken.class, new MintTokenConstructor()).put(StakeTokens.class, new StakeTokensConstructorV3(Amount.ofTokens(10).toSubunits())).put(NextRound.class, nextViewConstructor).put(RegisterValidator.class, new RegisterValidatorConstructor()).build(), cm, store);
    this.key = ECKeyPair.generateNew();
    var accountAddr = REAddr.ofPubKeyAccount(key.getPublicKey());
    var txn = this.sut.construct(TxnConstructionRequest.create().action(new CreateSystem(0)).action(new CreateMutableToken(REAddr.ofNativeToken(), "xrd", "xrd", "", "", "", null)).action(new MintToken(REAddr.ofNativeToken(), accountAddr, Amount.ofTokens(10).toSubunits())).action(new StakeTokens(accountAddr, key.getPublicKey(), Amount.ofTokens(10).toSubunits())).action(new RegisterValidator(key.getPublicKey())).action(new NextEpoch(0))).buildWithoutSignature();
    this.sut.execute(List.of(txn), null, PermissionLevel.SYSTEM);
}
Also used : StakingConstraintScryptV4(com.radixdlt.application.tokens.scrypt.StakingConstraintScryptV4) SystemConstraintScrypt(com.radixdlt.application.system.scrypt.SystemConstraintScrypt) StakeTokensConstructorV3(com.radixdlt.application.tokens.construction.StakeTokensConstructorV3) REParser(com.radixdlt.engine.parser.REParser) RegisterValidatorConstructor(com.radixdlt.application.validators.construction.RegisterValidatorConstructor) ValidatorConstraintScryptV2(com.radixdlt.application.validators.scrypt.ValidatorConstraintScryptV2) MintTokenConstructor(com.radixdlt.application.tokens.construction.MintTokenConstructor) CMAtomOS(com.radixdlt.atomos.CMAtomOS) ValidatorUpdateOwnerConstraintScrypt(com.radixdlt.application.validators.scrypt.ValidatorUpdateOwnerConstraintScrypt) ValidatorRegisterConstraintScrypt(com.radixdlt.application.validators.scrypt.ValidatorRegisterConstraintScrypt) NextEpochConstructorV3(com.radixdlt.application.system.construction.NextEpochConstructorV3) CreateSystemConstructorV2(com.radixdlt.application.system.construction.CreateSystemConstructorV2) TokensConstraintScryptV3(com.radixdlt.application.tokens.scrypt.TokensConstraintScryptV3) ConstraintMachine(com.radixdlt.constraintmachine.ConstraintMachine) ValidatorUpdateRakeConstraintScrypt(com.radixdlt.application.validators.scrypt.ValidatorUpdateRakeConstraintScrypt) CreateMutableTokenConstructor(com.radixdlt.application.tokens.construction.CreateMutableTokenConstructor) Before(org.junit.Before)

Example 3 with RegisterValidatorConstructor

use of com.radixdlt.application.validators.construction.RegisterValidatorConstructor in project radixdlt by radixdlt.

the class RegisterValidatorTest method setup.

@Before
public void setup() throws Exception {
    var cmAtomOS = new CMAtomOS();
    cmAtomOS.load(new SystemConstraintScrypt());
    cmAtomOS.load(new RoundUpdateConstraintScrypt(2));
    cmAtomOS.load(new EpochUpdateConstraintScrypt(2, UInt256.NINE, 1, 1, 100));
    cmAtomOS.load(new ValidatorConstraintScryptV2());
    cmAtomOS.load(new ValidatorRegisterConstraintScrypt());
    cmAtomOS.load(new ValidatorUpdateRakeConstraintScrypt(2));
    var cm = new ConstraintMachine(cmAtomOS.getProcedures(), cmAtomOS.buildSubstateDeserialization(), cmAtomOS.buildVirtualSubstateDeserialization());
    var parser = new REParser(cmAtomOS.buildSubstateDeserialization());
    this.serialization = cmAtomOS.buildSubstateSerialization();
    this.store = new InMemoryEngineStore<>();
    this.engine = new RadixEngine<>(parser, serialization, REConstructor.newBuilder().put(RegisterValidator.class, new RegisterValidatorConstructor()).put(CreateSystem.class, new CreateSystemConstructorV2()).put(UpdateValidatorMetadata.class, new UpdateValidatorMetadataConstructor()).put(UpdateValidatorSystemMetadata.class, new UpdateValidatorSystemMetadataConstructor()).put(UpdateValidatorFee.class, new UpdateRakeConstructor(2, 2000)).build(), cm, store);
    var txn = this.engine.construct(new CreateSystem(0)).buildWithoutSignature();
    this.engine.execute(List.of(txn), null, PermissionLevel.SYSTEM);
}
Also used : EpochUpdateConstraintScrypt(com.radixdlt.application.system.scrypt.EpochUpdateConstraintScrypt) SystemConstraintScrypt(com.radixdlt.application.system.scrypt.SystemConstraintScrypt) UpdateValidatorMetadataConstructor(com.radixdlt.application.validators.construction.UpdateValidatorMetadataConstructor) UpdateValidatorSystemMetadataConstructor(com.radixdlt.application.validators.construction.UpdateValidatorSystemMetadataConstructor) REParser(com.radixdlt.engine.parser.REParser) RegisterValidatorConstructor(com.radixdlt.application.validators.construction.RegisterValidatorConstructor) ValidatorConstraintScryptV2(com.radixdlt.application.validators.scrypt.ValidatorConstraintScryptV2) CMAtomOS(com.radixdlt.atomos.CMAtomOS) UpdateRakeConstructor(com.radixdlt.application.validators.construction.UpdateRakeConstructor) RoundUpdateConstraintScrypt(com.radixdlt.application.system.scrypt.RoundUpdateConstraintScrypt) ConstraintMachine(com.radixdlt.constraintmachine.ConstraintMachine) ValidatorUpdateRakeConstraintScrypt(com.radixdlt.application.validators.scrypt.ValidatorUpdateRakeConstraintScrypt) ValidatorRegisterConstraintScrypt(com.radixdlt.application.validators.scrypt.ValidatorRegisterConstraintScrypt) CreateSystemConstructorV2(com.radixdlt.application.system.construction.CreateSystemConstructorV2) Before(org.junit.Before)

Aggregations

CreateSystemConstructorV2 (com.radixdlt.application.system.construction.CreateSystemConstructorV2)3 SystemConstraintScrypt (com.radixdlt.application.system.scrypt.SystemConstraintScrypt)3 RegisterValidatorConstructor (com.radixdlt.application.validators.construction.RegisterValidatorConstructor)3 CMAtomOS (com.radixdlt.atomos.CMAtomOS)3 ConstraintMachine (com.radixdlt.constraintmachine.ConstraintMachine)3 REParser (com.radixdlt.engine.parser.REParser)3 Before (org.junit.Before)3 NextEpochConstructorV3 (com.radixdlt.application.system.construction.NextEpochConstructorV3)2 CreateMutableTokenConstructor (com.radixdlt.application.tokens.construction.CreateMutableTokenConstructor)2 MintTokenConstructor (com.radixdlt.application.tokens.construction.MintTokenConstructor)2 ValidatorConstraintScryptV2 (com.radixdlt.application.validators.scrypt.ValidatorConstraintScryptV2)2 ValidatorRegisterConstraintScrypt (com.radixdlt.application.validators.scrypt.ValidatorRegisterConstraintScrypt)2 ValidatorUpdateRakeConstraintScrypt (com.radixdlt.application.validators.scrypt.ValidatorUpdateRakeConstraintScrypt)2 NextViewConstructorV3 (com.radixdlt.application.system.construction.NextViewConstructorV3)1 EpochUpdateConstraintScrypt (com.radixdlt.application.system.scrypt.EpochUpdateConstraintScrypt)1 RoundUpdateConstraintScrypt (com.radixdlt.application.system.scrypt.RoundUpdateConstraintScrypt)1 StakeTokensConstructorV3 (com.radixdlt.application.tokens.construction.StakeTokensConstructorV3)1 TransferTokensConstructorV2 (com.radixdlt.application.tokens.construction.TransferTokensConstructorV2)1 StakingConstraintScryptV4 (com.radixdlt.application.tokens.scrypt.StakingConstraintScryptV4)1 TokensConstraintScryptV3 (com.radixdlt.application.tokens.scrypt.TokensConstraintScryptV3)1