diff --git a/CHANGES.md b/CHANGES.md
index 16c55c6a10..a07e9b5924 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -10,6 +10,11 @@ To be released.
### Backward-incompatible API changes
+ - (Libplanet.Crypto) Removed `ToAddress()` extension method for
+ `PrivateKey` and `PublicKey`. [[#3486]]
+ - (Libplanet.Crypto) Added `Address` property to `PrivateKey` and `PublicKey`.
+ [[#3486]]
+
### Backward-incompatible network protocol changes
### Backward-incompatible storage format changes
@@ -24,6 +29,8 @@ To be released.
### CLI tools
+[[#3486]]: https://github.com/planetarium/libplanet/pull/3486
+
Version 3.7.0
-------------
diff --git a/Libplanet.Action.Tests/ActionEvaluationTest.cs b/Libplanet.Action.Tests/ActionEvaluationTest.cs
index e71f5af145..3bd1223930 100644
--- a/Libplanet.Action.Tests/ActionEvaluationTest.cs
+++ b/Libplanet.Action.Tests/ActionEvaluationTest.cs
@@ -28,7 +28,7 @@ public ActionEvaluationTest(ITestOutputHelper output)
public void Constructor()
{
var txid = new System.Random().NextTxId();
- Address address = new PrivateKey().ToAddress();
+ Address address = new PrivateKey().Address;
var evaluation = new ActionEvaluation(
new DumbAction(address, "item"),
new ActionContext(
diff --git a/Libplanet.Action.Tests/Loader/IndexedActionLoaderTest.cs b/Libplanet.Action.Tests/Loader/IndexedActionLoaderTest.cs
index 211d0e1383..01f9263ae5 100644
--- a/Libplanet.Action.Tests/Loader/IndexedActionLoaderTest.cs
+++ b/Libplanet.Action.Tests/Loader/IndexedActionLoaderTest.cs
@@ -39,15 +39,15 @@ public void LoadAction()
var loader1 = new SingleActionLoader(typeof(DumbAction));
var loader2 = new SingleActionLoader(typeof(Attack));
var loader3 = new SingleActionLoader(typeof(RandomAction));
- var action1 = new DumbAction(new PrivateKey().PublicKey.ToAddress(), "foo");
+ var action1 = new DumbAction(new PrivateKey().Address, "foo");
var action2 = new Attack();
action2.LoadPlainValue(Dictionary.Empty
.Add("type_id", "attack")
.Add("values", Dictionary.Empty
.Add("weapon", "sword")
.Add("target", "dummy")
- .Add("target_address", new PrivateKey().PublicKey.ToAddress().Bencoded)));
- var action3 = new RandomAction(new PrivateKey().PublicKey.ToAddress());
+ .Add("target_address", new PrivateKey().Address.Bencoded)));
+ var action3 = new RandomAction(new PrivateKey().Address);
var loader = new IndexedActionLoader(
new List<(long, IActionLoader)>
diff --git a/Libplanet.Action.Tests/State/KeyConvertersTest.cs b/Libplanet.Action.Tests/State/KeyConvertersTest.cs
index 1c973c8a21..8e41273ba0 100644
--- a/Libplanet.Action.Tests/State/KeyConvertersTest.cs
+++ b/Libplanet.Action.Tests/State/KeyConvertersTest.cs
@@ -15,8 +15,8 @@ public KeyConvertersTest()
[Fact]
public void ToKeysSpec()
{
- var address = new PrivateKey().ToAddress();
- var currency = Currency.Uncapped("Foo", 2, new PrivateKey().ToAddress());
+ var address = new PrivateKey().Address;
+ var currency = Currency.Uncapped("Foo", 2, new PrivateKey().Address);
Assert.Equal(
new KeyBytes(ByteUtil.Hex(address.ByteArray)),
diff --git a/Libplanet.Benchmarks/AppendBlock.cs b/Libplanet.Benchmarks/AppendBlock.cs
index d028c3f67f..19c5b107ef 100644
--- a/Libplanet.Benchmarks/AppendBlock.cs
+++ b/Libplanet.Benchmarks/AppendBlock.cs
@@ -56,7 +56,7 @@ public void PrepareAppendMakeTenTransactionsNoAction()
public void PrepareAppendMakeOneTransactionWithActions()
{
var privateKey = new PrivateKey();
- var address = privateKey.ToAddress();
+ var address = privateKey.Address;
var actions = new[]
{
new DumbAction(address, "foo"),
@@ -74,7 +74,7 @@ public void PrepareAppendMakeTenTransactionsWithActions()
for (var i = 0; i < 10; i++)
{
var privateKey = new PrivateKey();
- var address = privateKey.ToAddress();
+ var address = privateKey.Address;
var actions = new[]
{
new DumbAction(address, "foo"),
diff --git a/Libplanet.Benchmarks/DataModel/DataModelBenchmark.LeafModel.cs b/Libplanet.Benchmarks/DataModel/DataModelBenchmark.LeafModel.cs
index de861663ac..1da903dd64 100644
--- a/Libplanet.Benchmarks/DataModel/DataModelBenchmark.LeafModel.cs
+++ b/Libplanet.Benchmarks/DataModel/DataModelBenchmark.LeafModel.cs
@@ -22,8 +22,8 @@ public LeafModel()
BigDict = Enumerable
.Range(0, 1000)
.Select(_ => new KeyValuePair
(
- new PrivateKey().ToAddress(),
- new PrivateKey().ToAddress().ToString()))
+ new PrivateKey().Address,
+ new PrivateKey().Address.ToString()))
.ToImmutableDictionary();
}
diff --git a/Libplanet.Benchmarks/DataModel/DataModelBenchmark.MidModel.cs b/Libplanet.Benchmarks/DataModel/DataModelBenchmark.MidModel.cs
index dfd4194c01..a18fd4c688 100644
--- a/Libplanet.Benchmarks/DataModel/DataModelBenchmark.MidModel.cs
+++ b/Libplanet.Benchmarks/DataModel/DataModelBenchmark.MidModel.cs
@@ -22,8 +22,8 @@ public MidModel()
BigDict = Enumerable
.Range(0, 1000)
.Select(_ => new KeyValuePair(
- new PrivateKey().ToAddress(),
- new PrivateKey().ToAddress().ToString()))
+ new PrivateKey().Address,
+ new PrivateKey().Address.ToString()))
.ToImmutableDictionary();
}
diff --git a/Libplanet.Benchmarks/DataModel/DataModelBenchmark.RootModel.cs b/Libplanet.Benchmarks/DataModel/DataModelBenchmark.RootModel.cs
index 0cdc264632..b54cc13502 100644
--- a/Libplanet.Benchmarks/DataModel/DataModelBenchmark.RootModel.cs
+++ b/Libplanet.Benchmarks/DataModel/DataModelBenchmark.RootModel.cs
@@ -22,8 +22,8 @@ public RootModel()
BigDict = Enumerable
.Range(0, 1000)
.Select(_ => new KeyValuePair(
- new PrivateKey().ToAddress(),
- new PrivateKey().ToAddress().ToString()))
+ new PrivateKey().Address,
+ new PrivateKey().Address.ToString()))
.ToImmutableDictionary();
}
diff --git a/Libplanet.Benchmarks/ProposeBlock.cs b/Libplanet.Benchmarks/ProposeBlock.cs
index ab29b8214c..ce411c0770 100644
--- a/Libplanet.Benchmarks/ProposeBlock.cs
+++ b/Libplanet.Benchmarks/ProposeBlock.cs
@@ -77,7 +77,7 @@ public void MakeTenTransactionsNoAction()
public void MakeOneTransactionWithActions()
{
var privateKey = new PrivateKey();
- var address = privateKey.ToAddress();
+ var address = privateKey.Address;
var actions = new[]
{
new DumbAction(address, "foo"),
@@ -95,7 +95,7 @@ public void MakeTenTransactionsWithActions()
for (var i = 0; i < 10; i++)
{
var privateKey = new PrivateKey();
- var address = privateKey.ToAddress();
+ var address = privateKey.Address;
var actions = new[]
{
new DumbAction(address, "foo"),
diff --git a/Libplanet.Crypto/Address.cs b/Libplanet.Crypto/Address.cs
index b3b9211490..aef9310239 100644
--- a/Libplanet.Crypto/Address.cs
+++ b/Libplanet.Crypto/Address.cs
@@ -106,7 +106,7 @@ public Address(byte[] address)
/// cref="PublicKey"/>.
/// Note that there is an equivalent extension method
/// , which enables
- /// a code like publicKey.ToAddress() instead of
+ /// a code like publicKey.Address instead of
/// new Address(publicKey), for convenience.
///
/// A to derive
diff --git a/Libplanet.Crypto/AddressExtensions.cs b/Libplanet.Crypto/AddressExtensions.cs
deleted file mode 100644
index 4e78123e9d..0000000000
--- a/Libplanet.Crypto/AddressExtensions.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-namespace Libplanet.Crypto
-{
- ///
- /// This extension class enables some convenient methods (sugar for
- /// the most part) to deal with .
- ///
- ///
- public static class AddressExtensions
- {
- ///
- /// Derives the corresponding from a .
- /// This enables a code like publicKey.ToAddress() instead
- /// of new Address(publicKey).
- ///
- /// A to derive
- /// the corresponding from.
- /// The corresponding derived from
- /// .
- ///
- public static Address ToAddress(this PublicKey publicKey)
- {
- return new Address(publicKey);
- }
-
- ///
- /// Derives the corresponding from a .
- /// This enables a code like privateKey.ToAddress() instead
- /// of new Address(privateKey.PublicKey).
- ///
- /// A to derive
- /// the corresponding from.
- /// The corresponding derived from
- /// .
- public static Address ToAddress(this PrivateKey privateKey)
- {
- return new Address(privateKey.PublicKey);
- }
- }
-}
diff --git a/Libplanet.Crypto/PrivateKey.cs b/Libplanet.Crypto/PrivateKey.cs
index e038bdcccc..94644818f4 100644
--- a/Libplanet.Crypto/PrivateKey.cs
+++ b/Libplanet.Crypto/PrivateKey.cs
@@ -134,6 +134,12 @@ public PublicKey PublicKey
}
}
+ ///
+ /// The corresponding derived from a .
+ /// This is the same as the one derived from .
+ ///
+ public Address Address => new Address(PublicKey);
+
///
/// An encoded array representation.
///
diff --git a/Libplanet.Crypto/PublicKey.cs b/Libplanet.Crypto/PublicKey.cs
index 9869ec3292..c63a976d27 100644
--- a/Libplanet.Crypto/PublicKey.cs
+++ b/Libplanet.Crypto/PublicKey.cs
@@ -60,6 +60,11 @@ internal PublicKey(ECPublicKeyParameters keyParam)
KeyParam = keyParam;
}
+ ///
+ /// The corresponding derived from a .
+ ///
+ public Address Address => new Address(this);
+
internal ECPublicKeyParameters KeyParam { get; }
public static bool operator ==(PublicKey left, PublicKey right) => left.Equals(right);
diff --git a/Libplanet.Explorer.Tests/GeneratedBlockChainFixture.cs b/Libplanet.Explorer.Tests/GeneratedBlockChainFixture.cs
index 8f35c9797c..16855ebf00 100644
--- a/Libplanet.Explorer.Tests/GeneratedBlockChainFixture.cs
+++ b/Libplanet.Explorer.Tests/GeneratedBlockChainFixture.cs
@@ -58,7 +58,7 @@ public GeneratedBlockChainFixture(
.Empty,
(dict, pk) =>
dict.SetItem(
- pk.ToAddress(),
+ pk.Address,
ImmutableArray.Empty));
SignedTxs = PrivateKeys.Aggregate(
ImmutableDictionary<
@@ -66,7 +66,7 @@ public GeneratedBlockChainFixture(
ImmutableArray>.Empty,
(dict, pk) =>
dict.SetItem(
- pk.ToAddress(),
+ pk.Address,
ImmutableArray.Empty));
InvolvedTxs = PrivateKeys.Aggregate(
ImmutableDictionary<
@@ -74,7 +74,7 @@ public GeneratedBlockChainFixture(
ImmutableArray>.Empty,
(dict, pk) =>
dict.SetItem(
- pk.ToAddress(),
+ pk.Address,
ImmutableArray.Empty));
var privateKey = new PrivateKey();
@@ -90,7 +90,7 @@ public GeneratedBlockChainFixture(
Block genesisBlock = BlockChain.ProposeGenesisBlock(
actionEvaluator,
transactions: PrivateKeys
- .OrderBy(pk => pk.ToAddress().ToHex())
+ .OrderBy(pk => pk.Address.ToHex())
.Select(
(pk, i) => Transaction.Create(
nonce: i,
@@ -126,7 +126,7 @@ public GeneratedBlockChainFixture(
random.Next(),
actionsForTransactions.Select(actions =>
Transaction.Create(
- Chain.GetNextTxNonce(pk.ToAddress()),
+ Chain.GetNextTxNonce(pk.Address),
pk,
Chain.Genesis.Hash,
actions.ToPlainValues()))
@@ -150,7 +150,7 @@ public GeneratedBlockChainFixture(
random.Next(),
actionsForTransactions.Select(actions =>
Transaction.Create(
- Chain.GetNextTxNonce(pk.ToAddress()),
+ Chain.GetNextTxNonce(pk.Address),
pk,
Chain.Genesis.Hash,
actions.ToPlainValues()))
@@ -172,7 +172,7 @@ private ImmutableArray GetRandomTransactions(
var pk = PrivateKeys[random.Next(PrivateKeys.Length)];
if (!nonces.TryGetValue(pk, out var nonce))
{
- nonce = Chain.GetNextTxNonce(pk.ToAddress());
+ nonce = Chain.GetNextTxNonce(pk.Address);
}
nonces = nonces.SetItem(pk, nonce + 1);
@@ -187,7 +187,7 @@ private Transaction
GetRandomTransaction(int seed, PrivateKey pk, long nonce)
{
var random = new System.Random(seed);
- var addr = pk.ToAddress();
+ var addr = pk.Address;
var bal = (int)(Chain.GetBalance(addr, TestCurrency).MajorUnit & int.MaxValue);
return Transaction.Create(
nonce,
@@ -216,7 +216,7 @@ private IImmutableSet GetRandomAddresses(int seed)
return Enumerable.Range(0, random.Next(PrivateKeys.Length - 1) + 1)
.Aggregate(
ImmutableHashSet.Empty,
- (arr, _) => arr.Add(PrivateKeys[random.Next(PrivateKeys.Length)].ToAddress()));
+ (arr, _) => arr.Add(PrivateKeys[random.Next(PrivateKeys.Length)].Address));
}
private void AddBlock(
@@ -243,7 +243,7 @@ private void AddBlock(
0,
block.Hash,
PrivateKeys
- .OrderBy(pk => pk.ToAddress().ToHex())
+ .OrderBy(pk => pk.Address.ToHex())
.Select(pk => new VoteMetadata(
Chain.Tip.Index + 1,
0,
@@ -252,7 +252,7 @@ private void AddBlock(
pk.PublicKey,
VoteFlag.PreCommit).Sign(pk)).ToImmutableArray()));
MinedBlocks =
- MinedBlocks.SetItem(pk.ToAddress(), MinedBlocks[pk.ToAddress()].Add(block));
+ MinedBlocks.SetItem(pk.Address, MinedBlocks[pk.Address].Add(block));
SignedTxs = transactions.Aggregate(
SignedTxs,
(dict, tx) =>
diff --git a/Libplanet.Explorer.Tests/Indexing/BlockChainIndexTest.cs b/Libplanet.Explorer.Tests/Indexing/BlockChainIndexTest.cs
index e825dc5993..8a8ae4aaf8 100644
--- a/Libplanet.Explorer.Tests/Indexing/BlockChainIndexTest.cs
+++ b/Libplanet.Explorer.Tests/Indexing/BlockChainIndexTest.cs
@@ -50,7 +50,7 @@ await index.SynchronizeAsync(
0,
divergentBlock.Hash,
ChainFx.PrivateKeys
- .OrderBy(pk => pk.ToAddress().ToHex())
+ .OrderBy(pk => pk.Address.ToHex())
.Select(pk => new VoteMetadata(
forkedChain.Tip.Index + 1,
0,
@@ -85,7 +85,7 @@ public async Task GetLastNonceByAddress()
{
foreach (var pk in ChainFx.PrivateKeys)
{
- var address = pk.ToAddress();
+ var address = pk.Address;
Assert.Equal(
ChainFx.Chain.GetNextTxNonce(address) - 1,
// ReSharper disable once MethodHasAsyncOverload
@@ -251,7 +251,7 @@ public async Task GetBlockHashesByMiner(bool fromHalfway, bool throughHalfway, b
{
foreach (var pk in ChainFx.PrivateKeys)
{
- var address = pk.ToAddress();
+ var address = pk.Address;
var inChain = ChainFx.MinedBlocks[address].ToArray();
inChain = desc ? inChain.Reverse().ToArray() : inChain;
int? fromHeight = fromHalfway ? inChain.Length / 4 : null;
@@ -305,7 +305,7 @@ public async Task GetSignedTxIdsByAddress(bool fromHalfway, bool throughHalfway,
{
foreach (var pk in ChainFx.PrivateKeys)
{
- var address = pk.ToAddress();
+ var address = pk.Address;
var inChain = ChainFx.SignedTxs[address].ToArray();
inChain = desc ? inChain.Reverse().ToArray() : inChain;
int? fromNonce = fromHalfway ? inChain.Length / 4 : null;
diff --git a/Libplanet.Explorer.Tests/Queries/TransactionQueryGeneratedTest.cs b/Libplanet.Explorer.Tests/Queries/TransactionQueryGeneratedTest.cs
index fda7e5b6f0..bbb0bb8b68 100644
--- a/Libplanet.Explorer.Tests/Queries/TransactionQueryGeneratedTest.cs
+++ b/Libplanet.Explorer.Tests/Queries/TransactionQueryGeneratedTest.cs
@@ -54,7 +54,7 @@ public async Task TransactionResult()
var successTx = successBlock.Transactions.First();
var pk = Fx.PrivateKeys[0];
var stagingTx = Transaction.Create(
- Fx.Chain.GetNextTxNonce(pk.ToAddress()),
+ Fx.Chain.GetNextTxNonce(pk.Address),
pk,
Fx.Chain.Genesis.Hash,
ImmutableArray.Empty.Add(new SimpleAction1()).ToPlainValues());
@@ -89,11 +89,11 @@ public virtual async Task Transactions()
{
var allBlocks = Fx.Chain.IterateBlocks().ToImmutableArray();
await AssertTransactionsQueryPermutation(allBlocks, null, null);
- foreach (var signer in Fx.PrivateKeys.Select(pk => pk.ToAddress()))
+ foreach (var signer in Fx.PrivateKeys.Select(pk => pk.Address))
{
await AssertTransactionsQueryPermutation(allBlocks, signer, null);
await AssertTransactionsQueryPermutation(allBlocks, null, signer);
- foreach (var involved in Fx.PrivateKeys.Select(pk => pk.ToAddress()))
+ foreach (var involved in Fx.PrivateKeys.Select(pk => pk.Address))
{
await AssertTransactionsQueryPermutation(allBlocks, signer, involved);
}
diff --git a/Libplanet.Explorer.Tests/Queries/TransactionQueryTest.cs b/Libplanet.Explorer.Tests/Queries/TransactionQueryTest.cs
index 3a0bb11ba1..e98279c2e4 100644
--- a/Libplanet.Explorer.Tests/Queries/TransactionQueryTest.cs
+++ b/Libplanet.Explorer.Tests/Queries/TransactionQueryTest.cs
@@ -120,19 +120,19 @@ async Task AssertNextNonce(long expected, Address address) {
var key1 = new PrivateKey();
// account nonce is 0 in the beginning
- await AssertNextNonce(0, key1.ToAddress());
+ await AssertNextNonce(0, key1.Address);
// staged txs increase next nonce
Source.BlockChain.MakeTransaction(key1, ImmutableList.Empty.Add(new NullAction()));
- await AssertNextNonce(1, key1.ToAddress());
+ await AssertNextNonce(1, key1.Address);
Source.BlockChain.MakeTransaction(key1, ImmutableList.Empty.Add(new NullAction()));
- await AssertNextNonce(2, key1.ToAddress());
+ await AssertNextNonce(2, key1.Address);
var block = Source.BlockChain.ProposeBlock(new PrivateKey());
Source.BlockChain.Append(block, Libplanet.Tests.TestUtils.CreateBlockCommit(block));
- await AssertNextNonce(2, key1.ToAddress());
+ await AssertNextNonce(2, key1.Address);
var key2 = new PrivateKey();
- await AssertNextNonce(0, key2.ToAddress());
+ await AssertNextNonce(0, key2.Address);
// staging txs of key2 does not increase nonce of key1
Source.BlockChain.MakeTransaction(key2, ImmutableList.Empty.Add(new NullAction()));
@@ -140,18 +140,18 @@ async Task AssertNextNonce(long expected, Address address) {
new PrivateKey(),
Libplanet.Tests.TestUtils.CreateBlockCommit(block));
Source.BlockChain.Append(block, Libplanet.Tests.TestUtils.CreateBlockCommit(block));
- await AssertNextNonce(1, key2.ToAddress());
- await AssertNextNonce(2, key1.ToAddress());
+ await AssertNextNonce(1, key2.Address);
+ await AssertNextNonce(2, key1.Address);
// unstaging txs decrease nonce
Source.BlockChain.MakeTransaction(key1, ImmutableList.Empty.Add(new NullAction()));
- await AssertNextNonce(3, key1.ToAddress());
+ await AssertNextNonce(3, key1.Address);
Source.BlockChain.MakeTransaction(key1, ImmutableList.Empty.Add(new NullAction()));
- await AssertNextNonce(4, key1.ToAddress());
+ await AssertNextNonce(4, key1.Address);
Source.BlockChain.GetStagedTransactionIds()
.Select(Source.BlockChain.GetTransaction)
.Select(Source.BlockChain.UnstageTransaction)
.ToImmutableList();
- await AssertNextNonce(2, key1.ToAddress());
+ await AssertNextNonce(2, key1.Address);
}
}
diff --git a/Libplanet.Explorer/Queries/TransactionQuery.cs b/Libplanet.Explorer/Queries/TransactionQuery.cs
index 5b8c5198db..00c0975ed0 100644
--- a/Libplanet.Explorer/Queries/TransactionQuery.cs
+++ b/Libplanet.Explorer/Queries/TransactionQuery.cs
@@ -147,7 +147,7 @@ public TransactionQuery(IBlockChainContext context)
var publicKey = new PublicKey(
ByteUtil.ParseHex(context.GetArgument("publicKey"))
);
- Address signer = publicKey.ToAddress();
+ Address signer = publicKey.Address;
long nonce = context.GetArgument("nonce") ??
chain.GetNextTxNonce(signer);
var sigMeta = new TxSigningMetadata(publicKey, nonce);
diff --git a/Libplanet.Extensions.Cocona/Commands/KeyCommand.cs b/Libplanet.Extensions.Cocona/Commands/KeyCommand.cs
index d7ba336ba1..fcbac521f5 100644
--- a/Libplanet.Extensions.Cocona/Commands/KeyCommand.cs
+++ b/Libplanet.Extensions.Cocona/Commands/KeyCommand.cs
@@ -185,7 +185,7 @@ public void Generate(
{
var key = new PrivateKey();
string priv = ByteUtil.Hex(key.ByteArray);
- string addr = key.ToAddress().ToString();
+ string addr = key.Address.ToString();
string pub = ByteUtil.Hex(key.PublicKey.Format(compress: true));
if (!noAddress && publicKey)
@@ -281,7 +281,7 @@ public void Derive(
PublicKey pubKey = publicKey
? PublicKey.FromHex(key)
: ValidateRawHex(key).PublicKey;
- string addr = pubKey.ToAddress().ToString();
+ string addr = pubKey.Address.ToString();
string pub = ByteUtil.Hex(pubKey.Format(compress: true));
Utils.PrintTable(("Public Key", "Address"), new[] { (pub, addr) });
}
diff --git a/Libplanet.Net.Tests/AppProtocolVersionTest.cs b/Libplanet.Net.Tests/AppProtocolVersionTest.cs
index fc243c50c4..8897a4a678 100644
--- a/Libplanet.Net.Tests/AppProtocolVersionTest.cs
+++ b/Libplanet.Net.Tests/AppProtocolVersionTest.cs
@@ -20,7 +20,7 @@ public class AppProtocolVersionTest
private static readonly AppProtocolVersion ValidClaimFixture = new AppProtocolVersion(
version: 1,
extra: null,
- signer: SignerFixture.ToAddress(),
+ signer: SignerFixture.Address,
signature: new byte[]
{
0x30, 0x45, 0x02, 0x21, 0x00, 0x89, 0x95, 0x9c, 0x59, 0x25, 0x83, 0x4e,
@@ -35,7 +35,7 @@ public class AppProtocolVersionTest
private static readonly AppProtocolVersion ValidClaimWExtraFixture = new AppProtocolVersion(
version: 123,
extra: (Bencodex.Types.Text)"foo",
- signer: SignerFixture.ToAddress(),
+ signer: SignerFixture.Address,
signature: new byte[]
{
0x30, 0x44, 0x02, 0x20, 0x08, 0x5d, 0xd4, 0x4d, 0x2f, 0xa1, 0x57, 0xe0,
@@ -105,7 +105,7 @@ public void Verify()
var invalidSigner = new AppProtocolVersion(
version: ValidClaimFixture.Version,
extra: ValidClaimFixture.Extra,
- signer: otherPartyPublicKey.ToAddress(),
+ signer: otherPartyPublicKey.Address,
signature: ValidClaimFixture.Signature
);
Assert.False(invalidSigner.Verify(signerPublicKey));
@@ -163,7 +163,7 @@ public void Equality()
version,
extra,
signature,
- new PrivateKey().ToAddress());
+ new PrivateKey().Address);
Assert.False(((IEquatable)claim).Equals(claim5));
Assert.False(((object)claim).Equals(claim5));
Assert.NotEqual(claim.GetHashCode(), claim5.GetHashCode());
diff --git a/Libplanet.Net.Tests/Consensus/ContextNonProposerTest.cs b/Libplanet.Net.Tests/Consensus/ContextNonProposerTest.cs
index 287284d5da..2f88c593df 100644
--- a/Libplanet.Net.Tests/Consensus/ContextNonProposerTest.cs
+++ b/Libplanet.Net.Tests/Consensus/ContextNonProposerTest.cs
@@ -231,7 +231,7 @@ public async Task EnterPreVoteNilOnInvalidBlockHeader()
protocolVersion: BlockMetadata.CurrentProtocolVersion - 1,
index: blockChain.Tip.Index + 2,
timestamp: blockChain.Tip.Timestamp.Subtract(TimeSpan.FromSeconds(1)),
- miner: TestUtils.PrivateKeys[1].PublicKey.ToAddress(),
+ miner: TestUtils.PrivateKeys[1].Address,
publicKey: TestUtils.PrivateKeys[1].PublicKey,
previousHash: blockChain.Tip.Hash,
txHash: null,
@@ -266,7 +266,7 @@ public async Task EnterPreVoteNilOnInvalidBlockContent()
TxPolicyViolationException? IsSignerValid(
BlockChain chain, Transaction tx)
{
- var validAddress = TestUtils.PrivateKeys[1].PublicKey.ToAddress();
+ var validAddress = TestUtils.PrivateKeys[1].Address;
return tx.Signer.Equals(validAddress)
? null
: new TxPolicyViolationException("invalid signer", tx.Id);
diff --git a/Libplanet.Net.Tests/Consensus/ContextProposerValidRoundTest.cs b/Libplanet.Net.Tests/Consensus/ContextProposerValidRoundTest.cs
index 0720804c43..5ff5a10143 100644
--- a/Libplanet.Net.Tests/Consensus/ContextProposerValidRoundTest.cs
+++ b/Libplanet.Net.Tests/Consensus/ContextProposerValidRoundTest.cs
@@ -172,7 +172,7 @@ public async void EnterValidRoundPreVoteNil()
protocolVersion: BlockMetadata.CurrentProtocolVersion,
index: blockChain.Tip.Index + 1,
timestamp: blockChain.Tip.Timestamp.Add(TimeSpan.FromSeconds(1)),
- miner: key.PublicKey.ToAddress(),
+ miner: key.Address,
publicKey: key.PublicKey,
previousHash: blockChain.Tip.Hash,
txHash: null,
diff --git a/Libplanet.Net.Tests/Consensus/ContextTest.cs b/Libplanet.Net.Tests/Consensus/ContextTest.cs
index 6f138e00dc..b54ee154d7 100644
--- a/Libplanet.Net.Tests/Consensus/ContextTest.cs
+++ b/Libplanet.Net.Tests/Consensus/ContextTest.cs
@@ -454,7 +454,7 @@ public async void CanReplaceProposal()
var codec = new Codec();
var privateKeys = Enumerable.Range(0, 4).Select(_ => new PrivateKey()).ToArray();
// Order keys as validator set's order to run test as intended.
- privateKeys = privateKeys.OrderBy(key => key.ToAddress()).ToArray();
+ privateKeys = privateKeys.OrderBy(key => key.Address).ToArray();
var proposer = privateKeys[1];
var key1 = privateKeys[2];
var key2 = privateKeys[3];
diff --git a/Libplanet.Net.Tests/Messages/NetMQMessageCodecTest.cs b/Libplanet.Net.Tests/Messages/NetMQMessageCodecTest.cs
index 12ac58e29d..eb452a3bb3 100644
--- a/Libplanet.Net.Tests/Messages/NetMQMessageCodecTest.cs
+++ b/Libplanet.Net.Tests/Messages/NetMQMessageCodecTest.cs
@@ -110,7 +110,7 @@ private MessageContent CreateMessage(MessageContent.MessageType type)
case MessageContent.MessageType.Tx:
return new Libplanet.Net.Messages.TxMsg(transaction.Serialize());
case MessageContent.MessageType.FindNeighbors:
- return new FindNeighborsMsg(privateKey.ToAddress());
+ return new FindNeighborsMsg(privateKey.Address);
case MessageContent.MessageType.Neighbors:
return new NeighborsMsg(new[] { boundPeer });
case MessageContent.MessageType.BlockHeaderMessage:
diff --git a/Libplanet.Net.Tests/Protocols/ProtocolTest.cs b/Libplanet.Net.Tests/Protocols/ProtocolTest.cs
index 45adda6359..1c267cf571 100644
--- a/Libplanet.Net.Tests/Protocols/ProtocolTest.cs
+++ b/Libplanet.Net.Tests/Protocols/ProtocolTest.cs
@@ -514,7 +514,7 @@ public async Task RefreshTable()
const int peersCount = 10;
var privateKey = new PrivateKey();
var privateKeys = Enumerable.Range(0, peersCount).Select(
- i => GeneratePrivateKeyOfBucketIndex(privateKey.ToAddress(), i / 2));
+ i => GeneratePrivateKeyOfBucketIndex(privateKey.Address, i / 2));
TestTransport transport = CreateTestTransport(privateKey);
TestTransport[] transports =
privateKeys.Select(key => CreateTestTransport(key)).ToArray();
diff --git a/Libplanet.Net.Tests/Protocols/RoutingTableTest.cs b/Libplanet.Net.Tests/Protocols/RoutingTableTest.cs
index e8fc87fab8..d1ef12b9c7 100644
--- a/Libplanet.Net.Tests/Protocols/RoutingTableTest.cs
+++ b/Libplanet.Net.Tests/Protocols/RoutingTableTest.cs
@@ -38,7 +38,7 @@ public RoutingTableTest(ITestOutputHelper output)
public void AddSelf()
{
var pubKey = new PrivateKey().PublicKey;
- var table = new RoutingTable(pubKey.ToAddress());
+ var table = new RoutingTable(pubKey.Address);
var peer = new BoundPeer(pubKey, new DnsEndPoint("0.0.0.0", 1234));
Assert.Throws(() => table.AddPeer(peer));
}
@@ -50,7 +50,7 @@ public void AddPeer()
var pubKey1 = new PrivateKey().PublicKey;
var pubKey2 = new PrivateKey().PublicKey;
var pubKey3 = new PrivateKey().PublicKey;
- var table = new RoutingTable(pubKey0.ToAddress(), 1, 2);
+ var table = new RoutingTable(pubKey0.Address, 1, 2);
var peer1 = new BoundPeer(pubKey1, new DnsEndPoint("0.0.0.0", 1234));
var peer2 = new BoundPeer(pubKey2, new DnsEndPoint("0.0.0.0", 1234));
var peer3 = new BoundPeer(pubKey3, new DnsEndPoint("0.0.0.0", 1234));
@@ -70,7 +70,7 @@ public void RemovePeer()
{
var pubKey1 = new PrivateKey().PublicKey;
var pubKey2 = new PrivateKey().PublicKey;
- var table = new RoutingTable(pubKey1.ToAddress(), 1, 2);
+ var table = new RoutingTable(pubKey1.Address, 1, 2);
var peer1 = new BoundPeer(pubKey1, new DnsEndPoint("0.0.0.0", 1234));
var peer2 = new BoundPeer(pubKey2, new DnsEndPoint("0.0.0.0", 1234));
@@ -101,14 +101,14 @@ public void Generate()
count++;
publicKey = new PrivateKey().PublicKey;
}
- while (table.GetBucketIndexOf(publicKey.ToAddress()) != targetBucket);
+ while (table.GetBucketIndexOf(publicKey.Address) != targetBucket);
Log.Debug(
"Found public key of bucket index {Index} in {Count} tries: {Key}",
- table.GetBucketIndexOf(publicKey.ToAddress()),
+ table.GetBucketIndexOf(publicKey.Address),
count,
ByteArrayToString(publicKey.Format(true)));
- Assert.Equal(targetBucket, table.GetBucketIndexOf(publicKey.ToAddress()));
+ Assert.Equal(targetBucket, table.GetBucketIndexOf(publicKey.Address));
}
[Fact]
@@ -116,7 +116,7 @@ public void PeersToBroadcast()
{
var (publicKey, publicKeys) = GeneratePeersDifferentBuckets();
- var table = new RoutingTable(publicKey.ToAddress());
+ var table = new RoutingTable(publicKey.Address);
var peers = publicKeys
.Select(pk => new BoundPeer(pk, new DnsEndPoint("0.0.0.0", 1234)))
.ToArray();
@@ -144,7 +144,7 @@ public void PeersToBroadcast()
public void PeersToRefresh()
{
var (publicKey, publicKeys) = GeneratePeersDifferentBuckets();
- var table = new RoutingTable(publicKey.ToAddress());
+ var table = new RoutingTable(publicKey.Address);
int peerCount = publicKeys.Length;
BoundPeer[] peers = publicKeys
.Select(
@@ -171,7 +171,7 @@ public void PeersToRefresh()
public void PeersToRefreshInSingleBucket()
{
var publicKey = new PrivateKey().PublicKey;
- var table = new RoutingTable(publicKey.ToAddress(), 1);
+ var table = new RoutingTable(publicKey.Address, 1);
const int peerCount = 10;
BoundPeer[] peers = Enumerable.Range(0, peerCount)
.Select(
diff --git a/Libplanet.Net.Tests/Protocols/TestTransport.cs b/Libplanet.Net.Tests/Protocols/TestTransport.cs
index e362f89d2d..730e94d32f 100644
--- a/Libplanet.Net.Tests/Protocols/TestTransport.cs
+++ b/Libplanet.Net.Tests/Protocols/TestTransport.cs
@@ -48,7 +48,7 @@ public TestTransport(
_runningEvent = new TaskCompletionSource