public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); State.Initialized.Value = true; var proposerWhiteList = new ProposerWhiteList(); if (input.PrivilegedProposer != null) { proposerWhiteList.Proposers.Add(input.PrivilegedProposer); } State.ProposerWhiteList.Value = proposerWhiteList; var organizationInput = new CreateOrganizationInput { ProposalReleaseThreshold = new ProposalReleaseThreshold { MinimalApprovalThreshold = DefaultOrganizationMinimalApprovalThreshold, MinimalVoteThreshold = DefaultOrganizationMinimalVoteThresholdThreshold, MaximalAbstentionThreshold = DefaultOrganizationMaximalAbstentionThreshold, MaximalRejectionThreshold = DefaultOrganizationMaximalRejectionThreshold }, ProposerAuthorityRequired = input.ProposerAuthorityRequired, ParliamentMemberProposingAllowed = true }; var defaultOrganizationAddress = CreateNewOrganization(organizationInput); State.DefaultOrganizationAddress.Value = defaultOrganizationAddress; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(State.TokenSymbol.Value == null, "Already initialized"); State.TokenSymbol.Value = input.TokenSymbol; State.Admin.Value = Context.Sender; State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); State.AEDPoSContract.Value = Context.GetContractAddressByName(SmartContractConstants.ConsensusContractSystemName); State.Price.Value = input.Price == 0 ? DefaultPrice : input.Price; State.DrawingLag.Value = input.DrawingLag == 0 ? DefaultDrawingLag : input.DrawingLag; State.MaximumAmount.Value = input.MaximumAmount == 0 ? MaximumBuyAmount : input.MaximumAmount; State.SelfIncreasingIdForLottery.Value = 1; State.CurrentPeriod.Value = 1; State.Periods[1] = new PeriodBody { StartId = State.SelfIncreasingIdForLottery.Value, BlockNumber = Context.CurrentHeight.Add(State.DrawingLag.Value), RandomHash = Hash.Empty }; return(new Empty()); }
/// <summary> /// Initialize the contract information. /// </summary> /// <param name="input"></param> /// <returns></returns> public override Empty Initialize(InitializeInput input) { Assert(IsValidSymbol(input.BaseTokenSymbol), $"Base token symbol is invalid. {input.BaseTokenSymbol}"); Assert(State.TokenContract.Value == null, "Already initialized."); State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); State.FeeReceiverAddress.Value = Context.GetContractAddressByName(SmartContractConstants.TreasuryContractSystemName); State.BaseTokenSymbol.Value = input.BaseTokenSymbol != string.Empty ? input.BaseTokenSymbol : Context.Variables.NativeSymbol; var feeRate = AssertedDecimal(input.FeeRate); Assert(IsBetweenZeroAndOne(feeRate), "Fee rate has to be a decimal between 0 and 1."); State.FeeRate.Value = feeRate.ToString(CultureInfo.InvariantCulture); foreach (var connector in input.Connectors) { if (connector.IsDepositAccount) { AssertValidConnectorWeight(connector); } else { AssertValidConnectorAndNormalizeWeight(connector); } State.Connectors[connector.Symbol] = connector; } return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); State.Initialized.Value = true; var organizationInput = new CreateOrganizationInput { ReleaseThreshold = input.GenesisOwnerReleaseThreshold }; var proposerWhiteList = new ProposerWhiteList(); if (input.PrivilegedProposer != null) { proposerWhiteList.Proposers.Add(input.PrivilegedProposer); } State.ProposerWhiteList.Value = proposerWhiteList; var defaultOrganizationAddress = CreateOrganization(organizationInput); State.GenesisContract.Value = Context.GetZeroSmartContractAddress(); State.DefaultOrganizationAddress.Value = defaultOrganizationAddress; State.GenesisContract.ChangeGenesisOwner.Send(defaultOrganizationAddress); State.ProposerAuthorityRequired.Value = input.ProposerAuthorityRequired; return(new Empty()); }
/// <summary> /// Initialize the contract information. /// </summary> /// <param name="input"></param> /// <returns></returns> public override Empty Initialize(InitializeInput input) { Assert(input.TokenContractAddress != null, "Token contract address required."); Assert(input.FeeReceiverAddress != null, "Fee receiver address required."); Assert(IsValidSymbol(input.BaseTokenSymbol), "Base token symbol is invalid."); Assert(State.TokenContract.Value == null, "Already initialized."); State.TokenContract.Value = input.TokenContractAddress; State.FeeReceiverAddress.Value = input.FeeReceiverAddress; State.BaseTokenSymbol.Value = input.BaseTokenSymbol; State.ManagerAddress.Value = input.ManagerAddress; var feeRate = AssertedDecimal(input.FeeRate); Assert(IsBetweenZeroAndOne(feeRate), "Fee rate has to be a decimal between 0 and 1."); State.FeeRate.Value = feeRate.ToString(CultureInfo.InvariantCulture); var index = State.ConnectorCount.Value; foreach (var connector in input.Connectors) { AssertValidConnectorAndNormalizeWeight(connector); State.ConnectorSymbols[index] = connector.Symbol; State.Connectors[connector.Symbol] = connector; index = index.Add(1); } State.ConnectorCount.Value = index; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Contract zero already initialized."); Assert(Context.Sender == Context.Self, "Unable to initialize."); State.ContractDeploymentAuthorityRequired.Value = input.ContractDeploymentAuthorityRequired; State.Initialized.Value = true; return(new Empty()); }
//action public override Empty InitializeEvents(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); State.Initialized.Value = true; return(new Empty()); }
/// <summary> /// Initializes this contract. /// </summary> /// <param name="input"></param> /// <returns></returns> public override Empty Initialize(InitializeInput input) { var initialized = State.Initialized.Value; Assert(!initialized, "Already initialized."); State.TokenContract.Value = input.ElfTokenAddress; State.FoundationAddress.Value = input.FoundationAddress; State.Initialized.Value = true; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(State.AdminAddress.Value == null, "Already initialized."); State.AdminAddress.Value = input.AdminAddress; State.WriterTokenSymbol.Value = input.WriterTokenSymbol; State.SubscribeTokenSymbol.Value = input.SubscribeTokenSymbol; State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "MultiToken has been initialized"); InitialParameters(); foreach (var pair in input.ResourceAmount) { State.ResourceAmount[pair.Key] = pair.Value; } State.Initialized.Value = true; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); //State.AuthorizationContract.Value = authorizationContractAddress; State.Initialized.Value = true; State.ParentChainId.Value = input.ParentChainId; State.CurrentParentChainHeight.Value = input.CreationHeightOnParentChain - 1; return(new Empty()); }
protected sealed override void beforeEach() { theInput = new InitializeInput() { DeploymentFlag = "Application1" }; TheDeploymentDirectory = theInput.Settings.DeploymentDirectory; theContextIs(); theReturnBooleanFlag = ClassUnderTest.Initialize(theInput, MockFor <IFileSystem>(), MockFor <ISimpleLogger>()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); State.BasicContractZero.Value = Context.GetZeroSmartContractAddress(); State.ConsensusContractSystemName.Value = input.ConsensusContractSystemName; State.TokenContractSystemName.Value = input.TokenContractSystemName; State.ParliamentAuthContractSystemName.Value = input.ParliamentContractSystemName; //State.AuthorizationContract.Value = authorizationContractAddress; State.Initialized.Value = true; State.ParentChainId.Value = input.ParentChainId; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { State.TokenHolderContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenHolderContractSystemName); State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); State.Symbol.Value = input.Symbol == string.Empty ? "APP" : input.Symbol; State.ProfitReceiver.Value = input.ProfitReceiver; CreateToken(input.ProfitReceiver); CreateTokenHolderProfitScheme(); SetProfitReceivingInformation(input.ProfitReceiver); return(new Empty()); }
public override Empty Initialize(InitializeInput input) { State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); State.TokenHolderContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenHolderContractSystemName); State.TokenHolderContract.CreateScheme.Send(new CreateTokenHolderProfitSchemeInput { Symbol = Context.Variables.NativeSymbol, MinimumLockMinutes = input.MinimumLockMinutes }); return(new Empty()); }
public void Flush(FlushOptions options) { var input = new InitializeInput(_settings); if (options == FlushOptions.Wipeout) { input.ForceFlag = true; } new InitializeCommand().Execute(input); writeEnvironmentSettings(); _recipes.Each(writeRecipe); }
//just for unit cases public override Empty InitializeForUnitTest(InitializeInput input) { State.TokenHolderContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenHolderContractSystemName); State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); State.DividendPoolContract.Value = Context.GetContractAddressByName(SmartContractConstants.ConsensusContractSystemName); State.Symbol.Value = input.Symbol == string.Empty ? "APP" : input.Symbol; State.ProfitReceiver.Value = input.ProfitReceiver; CreateToken(input.ProfitReceiver, true); // To test TokenHolder Contract. CreateTokenHolderProfitScheme(); // To test ACS9 workflow. SetProfitConfig(); State.ProfitReceiver.Value = input.ProfitReceiver; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); //State.AuthorizationContract.Value = authorizationContractAddress; State.Initialized.Value = true; State.ParentChainId.Value = input.ParentChainId; State.CurrentParentChainHeight.Value = input.CreationHeightOnParentChain - 1; if (Context.CurrentHeight != Constants.GenesisBlockHeight) { return(new Empty()); } State.GenesisContract.Value = Context.GetZeroSmartContractAddress(); State.GenesisContract.SetContractProposerRequiredState.Send( new BoolValue { Value = input.IsPrivilegePreserved }); return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); State.ParentChainId.Value = input.ParentChainId; State.CurrentParentChainHeight.Value = input.CreationHeightOnParentChain - 1; State.IndexingPendingProposal.Value = new ProposedCrossChainIndexing(); CreateInitialOrganizationForInitialControllerAddress(); State.Initialized.Value = true; if (Context.CurrentHeight != AElfConstants.GenesisBlockHeight) { return(new Empty()); } State.GenesisContract.Value = Context.GetZeroSmartContractAddress(); State.GenesisContract.SetContractProposerRequiredState.Send( new BoolValue { Value = input.IsPrivilegePreserved }); return(new Empty()); }
/// <summary> /// Initialize the contract information. /// </summary> /// <param name="input"></param> /// <returns></returns> public override Empty Initialize(InitializeInput input) { var initialized = State.Initialized.Value; Assert(!initialized, "Already initialized."); State.TokenContract.Value = input.ElfTokenAddress; State.FeeAddress.Value = input.FeeAddress; State.ResourceControllerAddress.Value = input.ResourceControllerAddress; foreach (var resourceType in _resourceTypes) { var rt = GetConverterKey(resourceType); State.Converters[rt] = new Converter() { ElfBalance = 1000000, ElfWeight = 500000, // Denominated by 1,000,000 ResBalance = 1000000, ResWeight = 500000, // Denominated by 1,000,000 Type = ParseResourceType(resourceType) }; } State.Initialized.Value = true; return(new Empty()); }
public override Empty Initialize(InitializeInput input) { Assert(!State.Initialized.Value, "Already initialized."); State.AssociationContract.Value = Context.GetContractAddressByName(SmartContractConstants.AssociationContractSystemName); State.ConsensusContract.Value = Context.GetContractAddressByName(SmartContractConstants.ConsensusContractSystemName); State.ParliamentContract.Value = Context.GetContractAddressByName(SmartContractConstants.ParliamentContractSystemName); State.TokenContract.Value = Context.GetContractAddressByName(SmartContractConstants.TokenContractSystemName); State.ProfitContract.Value = Context.GetContractAddressByName(SmartContractConstants.ProfitContractSystemName); State.ReferendumContract.Value = Context.GetContractAddressByName(SmartContractConstants.ReferendumContractSystemName); State.ParliamentDefaultAddress.Value = State.ParliamentContract.GetDefaultOrganizationAddress.Call(new Empty()); // Create Decentralized Autonomous Organization via Association Contract. var minerList = input.InitialMemberList != null && input.InitialMemberList.Any() ? new MemberList { Value = { input.InitialMemberList } } : new MemberList { Value = { State.ConsensusContract.GetMinerList.Call(new GetMinerListInput { TermNumber = 1 }).Pubkeys .Select(p => Address.FromPublicKey(ByteArrayHelper.HexStringToByteArray(p.ToHex()))) } }; minerList.Value.Add(Context.Self); var createOrganizationInput = new CreateOrganizationInput { OrganizationMemberList = new OrganizationMemberList { OrganizationMembers = { minerList.Value } }, ProposalReleaseThreshold = new ProposalReleaseThreshold { MinimalApprovalThreshold = 1, MinimalVoteThreshold = 1 }, ProposerWhiteList = new ProposerWhiteList { Proposers = { Context.Self } } }; State.AssociationContract.CreateOrganization.Send(createOrganizationInput); // Record DAO Address and initial member list. State.OrganizationAddress.Value = State.AssociationContract.CalculateOrganizationAddress.Call(createOrganizationInput); State.DAOMemberList.Value = minerList; State.DAOInitialMemberList.Value = minerList; CheckAndUpdateDepositInfo(input.DepositInfo); AdjustDAOProposalReleaseThreshold(); State.Initialized.Value = true; return(new Empty()); }
void Start() { inst = this; ResetBoard(); }
public override Empty Initialize(InitializeInput input) { State.Admin.Value = input.Admin; return(new Empty()); }