public int GetIndexOfValidator(Address address) { if (address == Address.Null) { return(-1); } var result = (int)(BigInteger)RootChain.InvokeContract("consensus", "GetIndexOfValidator", address); return(result); }
public Address GetValidatorByIndex(int index) { if (RootChain == null) { return(Address.Null); } Throw.If(index < 0, "invalid validator index"); var result = (Address)RootChain.InvokeContract("consensus", "GetValidatorByIndex", (BigInteger)index); return(result); }
public bool CreateGenesisBlock(KeyPair owner, Timestamp timestamp) { if (FuelToken != null) { return(false); } var transactions = new List <Transaction> { TokenCreateTx(RootChain, owner, StakingTokenSymbol, StakingTokenName, UnitConversion.ToBigInteger(91136374, StakingTokenDecimals), StakingTokenDecimals, TokenFlags.Fungible | TokenFlags.Transferable | TokenFlags.Finite | TokenFlags.Divisible | TokenFlags.Stakable | TokenFlags.External, false), TokenCreateTx(RootChain, owner, FuelTokenSymbol, FuelTokenName, PlatformSupply, FuelTokenDecimals, TokenFlags.Fungible | TokenFlags.Transferable | TokenFlags.Finite | TokenFlags.Divisible | TokenFlags.Fuel, false), TokenCreateTx(RootChain, owner, StableTokenSymbol, StableTokenName, 0, StableTokenDecimals, TokenFlags.Fungible | TokenFlags.Transferable | TokenFlags.Divisible | TokenFlags.Stable, true), SideChainCreateTx(RootChain, owner, "privacy"), SideChainCreateTx(RootChain, owner, "vault"), SideChainCreateTx(RootChain, owner, "bank"), SideChainCreateTx(RootChain, owner, "interop"), // SideChainCreateTx(RootChain, owner, "market"), TODO SideChainCreateTx(RootChain, owner, "apps"), SideChainCreateTx(RootChain, owner, "energy"), TokenCreateTx(RootChain, owner, "NEO", "NEO", UnitConversion.ToBigInteger(100000000, 0), 0, TokenFlags.Fungible | TokenFlags.Transferable | TokenFlags.Finite | TokenFlags.External, true), TokenCreateTx(RootChain, owner, "ETH", "Ethereum", UnitConversion.ToBigInteger(0, 18), 18, TokenFlags.Fungible | TokenFlags.Transferable | TokenFlags.Divisible | TokenFlags.External, true), TokenCreateTx(RootChain, owner, "EOS", "EOS", UnitConversion.ToBigInteger(1006245120, 18), 18, TokenFlags.Fungible | TokenFlags.Transferable | TokenFlags.Finite | TokenFlags.Divisible | TokenFlags.External, true), ConsensusStakeCreateTx(RootChain, owner) }; var genesisMessage = Encoding.UTF8.GetBytes("A Phantasma was born..."); var block = new Block(Chain.InitialHeight, RootChain.Address, timestamp, transactions.Select(tx => tx.Hash), Hash.Null, genesisMessage); try { RootChain.AddBlock(block, transactions); } catch (Exception e) { return(false); } return(true); }
public int GetValidatorCount() { var count = (BigInteger)RootChain.InvokeContract("consensus", "GetActiveValidatorss"); return((int)count); }
public IEnumerable <Address> GetValidators() { var validators = (Address[])RootChain.InvokeContract("consensus", "GetValidators"); return(validators); }