diff --git a/.travis.yml b/.travis.yml
index 6691c787d3..f13cecc403 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,7 +18,7 @@ install:
script: |
echo "Checking format..."
dotnet format --check --dry-run -w . -v diagnostic # check C# formatting for neo.sln
- cd neo.UnitTests
+ cd tests/neo.UnitTests
if [[ "$TEST_SUITE" == "cultures" ]]; then
dotnet test -v m --filter FullyQualifiedName=Neo.UnitTests.UT_Culture.All_Tests_Cultures
else
diff --git a/neo.sln b/neo.sln
index fd72762fc2..79e13f0185 100644
--- a/neo.sln
+++ b/neo.sln
@@ -1,11 +1,14 @@
-
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26430.15
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29519.87
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "neo", "neo\neo.csproj", "{36447A9B-0311-4D4D-A3D5-AECBE9C15BBC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "neo", "src\neo\neo.csproj", "{36447A9B-0311-4D4D-A3D5-AECBE9C15BBC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "neo.UnitTests", "neo.UnitTests\neo.UnitTests.csproj", "{5B783B30-B422-4C2F-AC22-187A8D1993F4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "neo.UnitTests", "tests\neo.UnitTests\neo.UnitTests.csproj", "{5B783B30-B422-4C2F-AC22-187A8D1993F4}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B5339DF7-5D1D-43BA-B332-74B825E1770E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{EDE05FA8-8E73-4924-BC63-DD117127EEE1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -25,4 +28,11 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {36447A9B-0311-4D4D-A3D5-AECBE9C15BBC} = {B5339DF7-5D1D-43BA-B332-74B825E1770E}
+ {5B783B30-B422-4C2F-AC22-187A8D1993F4} = {EDE05FA8-8E73-4924-BC63-DD117127EEE1}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {BCBA19D9-F868-4C6D-8061-A2B91E06E3EC}
+ EndGlobalSection
EndGlobal
diff --git a/neo/BigDecimal.cs b/src/neo/BigDecimal.cs
similarity index 100%
rename from neo/BigDecimal.cs
rename to src/neo/BigDecimal.cs
diff --git a/neo/Consensus/ChangeView.cs b/src/neo/Consensus/ChangeView.cs
similarity index 100%
rename from neo/Consensus/ChangeView.cs
rename to src/neo/Consensus/ChangeView.cs
diff --git a/neo/Consensus/ChangeViewReason.cs b/src/neo/Consensus/ChangeViewReason.cs
similarity index 100%
rename from neo/Consensus/ChangeViewReason.cs
rename to src/neo/Consensus/ChangeViewReason.cs
diff --git a/neo/Consensus/Commit.cs b/src/neo/Consensus/Commit.cs
similarity index 100%
rename from neo/Consensus/Commit.cs
rename to src/neo/Consensus/Commit.cs
diff --git a/neo/Consensus/ConsensusContext.cs b/src/neo/Consensus/ConsensusContext.cs
similarity index 100%
rename from neo/Consensus/ConsensusContext.cs
rename to src/neo/Consensus/ConsensusContext.cs
diff --git a/neo/Consensus/ConsensusMessage.cs b/src/neo/Consensus/ConsensusMessage.cs
similarity index 100%
rename from neo/Consensus/ConsensusMessage.cs
rename to src/neo/Consensus/ConsensusMessage.cs
diff --git a/neo/Consensus/ConsensusMessageType.cs b/src/neo/Consensus/ConsensusMessageType.cs
similarity index 100%
rename from neo/Consensus/ConsensusMessageType.cs
rename to src/neo/Consensus/ConsensusMessageType.cs
diff --git a/neo/Consensus/ConsensusService.cs b/src/neo/Consensus/ConsensusService.cs
similarity index 100%
rename from neo/Consensus/ConsensusService.cs
rename to src/neo/Consensus/ConsensusService.cs
diff --git a/neo/Consensus/PrepareRequest.cs b/src/neo/Consensus/PrepareRequest.cs
similarity index 100%
rename from neo/Consensus/PrepareRequest.cs
rename to src/neo/Consensus/PrepareRequest.cs
diff --git a/neo/Consensus/PrepareResponse.cs b/src/neo/Consensus/PrepareResponse.cs
similarity index 100%
rename from neo/Consensus/PrepareResponse.cs
rename to src/neo/Consensus/PrepareResponse.cs
diff --git a/neo/Consensus/RecoveryMessage.ChangeViewPayloadCompact.cs b/src/neo/Consensus/RecoveryMessage.ChangeViewPayloadCompact.cs
similarity index 100%
rename from neo/Consensus/RecoveryMessage.ChangeViewPayloadCompact.cs
rename to src/neo/Consensus/RecoveryMessage.ChangeViewPayloadCompact.cs
diff --git a/neo/Consensus/RecoveryMessage.CommitPayloadCompact.cs b/src/neo/Consensus/RecoveryMessage.CommitPayloadCompact.cs
similarity index 100%
rename from neo/Consensus/RecoveryMessage.CommitPayloadCompact.cs
rename to src/neo/Consensus/RecoveryMessage.CommitPayloadCompact.cs
diff --git a/neo/Consensus/RecoveryMessage.PreparationPayloadCompact.cs b/src/neo/Consensus/RecoveryMessage.PreparationPayloadCompact.cs
similarity index 100%
rename from neo/Consensus/RecoveryMessage.PreparationPayloadCompact.cs
rename to src/neo/Consensus/RecoveryMessage.PreparationPayloadCompact.cs
diff --git a/neo/Consensus/RecoveryMessage.cs b/src/neo/Consensus/RecoveryMessage.cs
similarity index 100%
rename from neo/Consensus/RecoveryMessage.cs
rename to src/neo/Consensus/RecoveryMessage.cs
diff --git a/neo/Consensus/RecoveryRequest.cs b/src/neo/Consensus/RecoveryRequest.cs
similarity index 100%
rename from neo/Consensus/RecoveryRequest.cs
rename to src/neo/Consensus/RecoveryRequest.cs
diff --git a/neo/Cryptography/Base58.cs b/src/neo/Cryptography/Base58.cs
similarity index 100%
rename from neo/Cryptography/Base58.cs
rename to src/neo/Cryptography/Base58.cs
diff --git a/neo/Cryptography/BloomFilter.cs b/src/neo/Cryptography/BloomFilter.cs
similarity index 100%
rename from neo/Cryptography/BloomFilter.cs
rename to src/neo/Cryptography/BloomFilter.cs
diff --git a/neo/Cryptography/Crypto.cs b/src/neo/Cryptography/Crypto.cs
similarity index 100%
rename from neo/Cryptography/Crypto.cs
rename to src/neo/Cryptography/Crypto.cs
diff --git a/neo/Cryptography/ECC/ECCurve.cs b/src/neo/Cryptography/ECC/ECCurve.cs
similarity index 100%
rename from neo/Cryptography/ECC/ECCurve.cs
rename to src/neo/Cryptography/ECC/ECCurve.cs
diff --git a/neo/Cryptography/ECC/ECDsa.cs b/src/neo/Cryptography/ECC/ECDsa.cs
similarity index 100%
rename from neo/Cryptography/ECC/ECDsa.cs
rename to src/neo/Cryptography/ECC/ECDsa.cs
diff --git a/neo/Cryptography/ECC/ECFieldElement.cs b/src/neo/Cryptography/ECC/ECFieldElement.cs
similarity index 100%
rename from neo/Cryptography/ECC/ECFieldElement.cs
rename to src/neo/Cryptography/ECC/ECFieldElement.cs
diff --git a/neo/Cryptography/ECC/ECPoint.cs b/src/neo/Cryptography/ECC/ECPoint.cs
similarity index 100%
rename from neo/Cryptography/ECC/ECPoint.cs
rename to src/neo/Cryptography/ECC/ECPoint.cs
diff --git a/neo/Cryptography/Helper.cs b/src/neo/Cryptography/Helper.cs
similarity index 100%
rename from neo/Cryptography/Helper.cs
rename to src/neo/Cryptography/Helper.cs
diff --git a/neo/Cryptography/MerkleTree.cs b/src/neo/Cryptography/MerkleTree.cs
similarity index 100%
rename from neo/Cryptography/MerkleTree.cs
rename to src/neo/Cryptography/MerkleTree.cs
diff --git a/neo/Cryptography/MerkleTreeNode.cs b/src/neo/Cryptography/MerkleTreeNode.cs
similarity index 100%
rename from neo/Cryptography/MerkleTreeNode.cs
rename to src/neo/Cryptography/MerkleTreeNode.cs
diff --git a/neo/Cryptography/Murmur3.cs b/src/neo/Cryptography/Murmur3.cs
similarity index 100%
rename from neo/Cryptography/Murmur3.cs
rename to src/neo/Cryptography/Murmur3.cs
diff --git a/neo/Cryptography/RIPEMD160Managed.cs b/src/neo/Cryptography/RIPEMD160Managed.cs
similarity index 100%
rename from neo/Cryptography/RIPEMD160Managed.cs
rename to src/neo/Cryptography/RIPEMD160Managed.cs
diff --git a/neo/Cryptography/SCrypt.cs b/src/neo/Cryptography/SCrypt.cs
similarity index 100%
rename from neo/Cryptography/SCrypt.cs
rename to src/neo/Cryptography/SCrypt.cs
diff --git a/neo/Helper.cs b/src/neo/Helper.cs
similarity index 100%
rename from neo/Helper.cs
rename to src/neo/Helper.cs
diff --git a/neo/IO/Actors/Idle.cs b/src/neo/IO/Actors/Idle.cs
similarity index 100%
rename from neo/IO/Actors/Idle.cs
rename to src/neo/IO/Actors/Idle.cs
diff --git a/neo/IO/Actors/PriorityMailbox.cs b/src/neo/IO/Actors/PriorityMailbox.cs
similarity index 100%
rename from neo/IO/Actors/PriorityMailbox.cs
rename to src/neo/IO/Actors/PriorityMailbox.cs
diff --git a/neo/IO/Actors/PriorityMessageQueue.cs b/src/neo/IO/Actors/PriorityMessageQueue.cs
similarity index 100%
rename from neo/IO/Actors/PriorityMessageQueue.cs
rename to src/neo/IO/Actors/PriorityMessageQueue.cs
diff --git a/neo/IO/ByteArrayComparer.cs b/src/neo/IO/ByteArrayComparer.cs
similarity index 100%
rename from neo/IO/ByteArrayComparer.cs
rename to src/neo/IO/ByteArrayComparer.cs
diff --git a/neo/IO/Caching/Cache.cs b/src/neo/IO/Caching/Cache.cs
similarity index 100%
rename from neo/IO/Caching/Cache.cs
rename to src/neo/IO/Caching/Cache.cs
diff --git a/neo/IO/Caching/CloneCache.cs b/src/neo/IO/Caching/CloneCache.cs
similarity index 100%
rename from neo/IO/Caching/CloneCache.cs
rename to src/neo/IO/Caching/CloneCache.cs
diff --git a/neo/IO/Caching/CloneMetaCache.cs b/src/neo/IO/Caching/CloneMetaCache.cs
similarity index 100%
rename from neo/IO/Caching/CloneMetaCache.cs
rename to src/neo/IO/Caching/CloneMetaCache.cs
diff --git a/neo/IO/Caching/DataCache.cs b/src/neo/IO/Caching/DataCache.cs
similarity index 100%
rename from neo/IO/Caching/DataCache.cs
rename to src/neo/IO/Caching/DataCache.cs
diff --git a/neo/IO/Caching/FIFOCache.cs b/src/neo/IO/Caching/FIFOCache.cs
similarity index 100%
rename from neo/IO/Caching/FIFOCache.cs
rename to src/neo/IO/Caching/FIFOCache.cs
diff --git a/neo/IO/Caching/FIFOSet.cs b/src/neo/IO/Caching/FIFOSet.cs
similarity index 100%
rename from neo/IO/Caching/FIFOSet.cs
rename to src/neo/IO/Caching/FIFOSet.cs
diff --git a/neo/IO/Caching/MetaDataCache.cs b/src/neo/IO/Caching/MetaDataCache.cs
similarity index 100%
rename from neo/IO/Caching/MetaDataCache.cs
rename to src/neo/IO/Caching/MetaDataCache.cs
diff --git a/neo/IO/Caching/OrderedDictionary.cs b/src/neo/IO/Caching/OrderedDictionary.cs
similarity index 100%
rename from neo/IO/Caching/OrderedDictionary.cs
rename to src/neo/IO/Caching/OrderedDictionary.cs
diff --git a/neo/IO/Caching/ReflectionCache.cs b/src/neo/IO/Caching/ReflectionCache.cs
similarity index 100%
rename from neo/IO/Caching/ReflectionCache.cs
rename to src/neo/IO/Caching/ReflectionCache.cs
diff --git a/neo/IO/Caching/ReflectionCacheAttribute.cs b/src/neo/IO/Caching/ReflectionCacheAttribute.cs
similarity index 100%
rename from neo/IO/Caching/ReflectionCacheAttribute.cs
rename to src/neo/IO/Caching/ReflectionCacheAttribute.cs
diff --git a/neo/IO/Caching/RelayCache.cs b/src/neo/IO/Caching/RelayCache.cs
similarity index 100%
rename from neo/IO/Caching/RelayCache.cs
rename to src/neo/IO/Caching/RelayCache.cs
diff --git a/neo/IO/Caching/TrackState.cs b/src/neo/IO/Caching/TrackState.cs
similarity index 100%
rename from neo/IO/Caching/TrackState.cs
rename to src/neo/IO/Caching/TrackState.cs
diff --git a/neo/IO/Data/LevelDB/DB.cs b/src/neo/IO/Data/LevelDB/DB.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/DB.cs
rename to src/neo/IO/Data/LevelDB/DB.cs
diff --git a/neo/IO/Data/LevelDB/Helper.cs b/src/neo/IO/Data/LevelDB/Helper.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/Helper.cs
rename to src/neo/IO/Data/LevelDB/Helper.cs
diff --git a/neo/IO/Data/LevelDB/Iterator.cs b/src/neo/IO/Data/LevelDB/Iterator.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/Iterator.cs
rename to src/neo/IO/Data/LevelDB/Iterator.cs
diff --git a/neo/IO/Data/LevelDB/LevelDBException.cs b/src/neo/IO/Data/LevelDB/LevelDBException.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/LevelDBException.cs
rename to src/neo/IO/Data/LevelDB/LevelDBException.cs
diff --git a/neo/IO/Data/LevelDB/Native.cs b/src/neo/IO/Data/LevelDB/Native.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/Native.cs
rename to src/neo/IO/Data/LevelDB/Native.cs
diff --git a/neo/IO/Data/LevelDB/Options.cs b/src/neo/IO/Data/LevelDB/Options.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/Options.cs
rename to src/neo/IO/Data/LevelDB/Options.cs
diff --git a/neo/IO/Data/LevelDB/ReadOptions.cs b/src/neo/IO/Data/LevelDB/ReadOptions.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/ReadOptions.cs
rename to src/neo/IO/Data/LevelDB/ReadOptions.cs
diff --git a/neo/IO/Data/LevelDB/Slice.cs b/src/neo/IO/Data/LevelDB/Slice.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/Slice.cs
rename to src/neo/IO/Data/LevelDB/Slice.cs
diff --git a/neo/IO/Data/LevelDB/SliceBuilder.cs b/src/neo/IO/Data/LevelDB/SliceBuilder.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/SliceBuilder.cs
rename to src/neo/IO/Data/LevelDB/SliceBuilder.cs
diff --git a/neo/IO/Data/LevelDB/Snapshot.cs b/src/neo/IO/Data/LevelDB/Snapshot.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/Snapshot.cs
rename to src/neo/IO/Data/LevelDB/Snapshot.cs
diff --git a/neo/IO/Data/LevelDB/WriteBatch.cs b/src/neo/IO/Data/LevelDB/WriteBatch.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/WriteBatch.cs
rename to src/neo/IO/Data/LevelDB/WriteBatch.cs
diff --git a/neo/IO/Data/LevelDB/WriteOptions.cs b/src/neo/IO/Data/LevelDB/WriteOptions.cs
similarity index 100%
rename from neo/IO/Data/LevelDB/WriteOptions.cs
rename to src/neo/IO/Data/LevelDB/WriteOptions.cs
diff --git a/neo/IO/Helper.cs b/src/neo/IO/Helper.cs
similarity index 100%
rename from neo/IO/Helper.cs
rename to src/neo/IO/Helper.cs
diff --git a/neo/IO/ICloneable.cs b/src/neo/IO/ICloneable.cs
similarity index 100%
rename from neo/IO/ICloneable.cs
rename to src/neo/IO/ICloneable.cs
diff --git a/neo/IO/ISerializable.cs b/src/neo/IO/ISerializable.cs
similarity index 100%
rename from neo/IO/ISerializable.cs
rename to src/neo/IO/ISerializable.cs
diff --git a/neo/IO/Json/JArray.cs b/src/neo/IO/Json/JArray.cs
similarity index 100%
rename from neo/IO/Json/JArray.cs
rename to src/neo/IO/Json/JArray.cs
diff --git a/neo/IO/Json/JBoolean.cs b/src/neo/IO/Json/JBoolean.cs
similarity index 100%
rename from neo/IO/Json/JBoolean.cs
rename to src/neo/IO/Json/JBoolean.cs
diff --git a/neo/IO/Json/JNumber.cs b/src/neo/IO/Json/JNumber.cs
similarity index 100%
rename from neo/IO/Json/JNumber.cs
rename to src/neo/IO/Json/JNumber.cs
diff --git a/neo/IO/Json/JObject.cs b/src/neo/IO/Json/JObject.cs
similarity index 100%
rename from neo/IO/Json/JObject.cs
rename to src/neo/IO/Json/JObject.cs
diff --git a/neo/IO/Json/JString.cs b/src/neo/IO/Json/JString.cs
similarity index 100%
rename from neo/IO/Json/JString.cs
rename to src/neo/IO/Json/JString.cs
diff --git a/neo/IO/Wrappers/SerializableWrapper.cs b/src/neo/IO/Wrappers/SerializableWrapper.cs
similarity index 100%
rename from neo/IO/Wrappers/SerializableWrapper.cs
rename to src/neo/IO/Wrappers/SerializableWrapper.cs
diff --git a/neo/IO/Wrappers/UInt32Wrapper.cs b/src/neo/IO/Wrappers/UInt32Wrapper.cs
similarity index 100%
rename from neo/IO/Wrappers/UInt32Wrapper.cs
rename to src/neo/IO/Wrappers/UInt32Wrapper.cs
diff --git a/neo/Ledger/Blockchain.ApplicationExecuted.cs b/src/neo/Ledger/Blockchain.ApplicationExecuted.cs
similarity index 100%
rename from neo/Ledger/Blockchain.ApplicationExecuted.cs
rename to src/neo/Ledger/Blockchain.ApplicationExecuted.cs
diff --git a/neo/Ledger/Blockchain.cs b/src/neo/Ledger/Blockchain.cs
similarity index 100%
rename from neo/Ledger/Blockchain.cs
rename to src/neo/Ledger/Blockchain.cs
diff --git a/neo/Ledger/ContractState.cs b/src/neo/Ledger/ContractState.cs
similarity index 100%
rename from neo/Ledger/ContractState.cs
rename to src/neo/Ledger/ContractState.cs
diff --git a/neo/Ledger/HashIndexState.cs b/src/neo/Ledger/HashIndexState.cs
similarity index 100%
rename from neo/Ledger/HashIndexState.cs
rename to src/neo/Ledger/HashIndexState.cs
diff --git a/neo/Ledger/HeaderHashList.cs b/src/neo/Ledger/HeaderHashList.cs
similarity index 100%
rename from neo/Ledger/HeaderHashList.cs
rename to src/neo/Ledger/HeaderHashList.cs
diff --git a/neo/Ledger/MemoryPool.cs b/src/neo/Ledger/MemoryPool.cs
similarity index 100%
rename from neo/Ledger/MemoryPool.cs
rename to src/neo/Ledger/MemoryPool.cs
diff --git a/neo/Ledger/PoolItem.cs b/src/neo/Ledger/PoolItem.cs
similarity index 100%
rename from neo/Ledger/PoolItem.cs
rename to src/neo/Ledger/PoolItem.cs
diff --git a/neo/Ledger/RelayResultReason.cs b/src/neo/Ledger/RelayResultReason.cs
similarity index 100%
rename from neo/Ledger/RelayResultReason.cs
rename to src/neo/Ledger/RelayResultReason.cs
diff --git a/neo/Ledger/SendersFeeMonitor.cs b/src/neo/Ledger/SendersFeeMonitor.cs
similarity index 100%
rename from neo/Ledger/SendersFeeMonitor.cs
rename to src/neo/Ledger/SendersFeeMonitor.cs
diff --git a/neo/Ledger/StorageFlags.cs b/src/neo/Ledger/StorageFlags.cs
similarity index 100%
rename from neo/Ledger/StorageFlags.cs
rename to src/neo/Ledger/StorageFlags.cs
diff --git a/neo/Ledger/StorageItem.cs b/src/neo/Ledger/StorageItem.cs
similarity index 100%
rename from neo/Ledger/StorageItem.cs
rename to src/neo/Ledger/StorageItem.cs
diff --git a/neo/Ledger/StorageKey.cs b/src/neo/Ledger/StorageKey.cs
similarity index 100%
rename from neo/Ledger/StorageKey.cs
rename to src/neo/Ledger/StorageKey.cs
diff --git a/neo/Ledger/TransactionState.cs b/src/neo/Ledger/TransactionState.cs
similarity index 100%
rename from neo/Ledger/TransactionState.cs
rename to src/neo/Ledger/TransactionState.cs
diff --git a/neo/Ledger/TrimmedBlock.cs b/src/neo/Ledger/TrimmedBlock.cs
similarity index 100%
rename from neo/Ledger/TrimmedBlock.cs
rename to src/neo/Ledger/TrimmedBlock.cs
diff --git a/neo/NeoSystem.cs b/src/neo/NeoSystem.cs
similarity index 100%
rename from neo/NeoSystem.cs
rename to src/neo/NeoSystem.cs
diff --git a/neo/Network/P2P/Capabilities/FullNodeCapability.cs b/src/neo/Network/P2P/Capabilities/FullNodeCapability.cs
similarity index 100%
rename from neo/Network/P2P/Capabilities/FullNodeCapability.cs
rename to src/neo/Network/P2P/Capabilities/FullNodeCapability.cs
diff --git a/neo/Network/P2P/Capabilities/NodeCapability.cs b/src/neo/Network/P2P/Capabilities/NodeCapability.cs
similarity index 100%
rename from neo/Network/P2P/Capabilities/NodeCapability.cs
rename to src/neo/Network/P2P/Capabilities/NodeCapability.cs
diff --git a/neo/Network/P2P/Capabilities/NodeCapabilityType.cs b/src/neo/Network/P2P/Capabilities/NodeCapabilityType.cs
similarity index 100%
rename from neo/Network/P2P/Capabilities/NodeCapabilityType.cs
rename to src/neo/Network/P2P/Capabilities/NodeCapabilityType.cs
diff --git a/neo/Network/P2P/Capabilities/ServerCapability.cs b/src/neo/Network/P2P/Capabilities/ServerCapability.cs
similarity index 100%
rename from neo/Network/P2P/Capabilities/ServerCapability.cs
rename to src/neo/Network/P2P/Capabilities/ServerCapability.cs
diff --git a/neo/Network/P2P/ChannelsConfig.cs b/src/neo/Network/P2P/ChannelsConfig.cs
similarity index 100%
rename from neo/Network/P2P/ChannelsConfig.cs
rename to src/neo/Network/P2P/ChannelsConfig.cs
diff --git a/neo/Network/P2P/Connection.cs b/src/neo/Network/P2P/Connection.cs
similarity index 100%
rename from neo/Network/P2P/Connection.cs
rename to src/neo/Network/P2P/Connection.cs
diff --git a/neo/Network/P2P/Helper.cs b/src/neo/Network/P2P/Helper.cs
similarity index 100%
rename from neo/Network/P2P/Helper.cs
rename to src/neo/Network/P2P/Helper.cs
diff --git a/neo/Network/P2P/LocalNode.cs b/src/neo/Network/P2P/LocalNode.cs
similarity index 100%
rename from neo/Network/P2P/LocalNode.cs
rename to src/neo/Network/P2P/LocalNode.cs
diff --git a/neo/Network/P2P/Message.cs b/src/neo/Network/P2P/Message.cs
similarity index 100%
rename from neo/Network/P2P/Message.cs
rename to src/neo/Network/P2P/Message.cs
diff --git a/neo/Network/P2P/MessageCommand.cs b/src/neo/Network/P2P/MessageCommand.cs
similarity index 100%
rename from neo/Network/P2P/MessageCommand.cs
rename to src/neo/Network/P2P/MessageCommand.cs
diff --git a/neo/Network/P2P/MessageFlags.cs b/src/neo/Network/P2P/MessageFlags.cs
similarity index 100%
rename from neo/Network/P2P/MessageFlags.cs
rename to src/neo/Network/P2P/MessageFlags.cs
diff --git a/neo/Network/P2P/Payloads/AddrPayload.cs b/src/neo/Network/P2P/Payloads/AddrPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/AddrPayload.cs
rename to src/neo/Network/P2P/Payloads/AddrPayload.cs
diff --git a/neo/Network/P2P/Payloads/Block.cs b/src/neo/Network/P2P/Payloads/Block.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/Block.cs
rename to src/neo/Network/P2P/Payloads/Block.cs
diff --git a/neo/Network/P2P/Payloads/BlockBase.cs b/src/neo/Network/P2P/Payloads/BlockBase.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/BlockBase.cs
rename to src/neo/Network/P2P/Payloads/BlockBase.cs
diff --git a/neo/Network/P2P/Payloads/ConsensusData.cs b/src/neo/Network/P2P/Payloads/ConsensusData.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/ConsensusData.cs
rename to src/neo/Network/P2P/Payloads/ConsensusData.cs
diff --git a/neo/Network/P2P/Payloads/ConsensusPayload.cs b/src/neo/Network/P2P/Payloads/ConsensusPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/ConsensusPayload.cs
rename to src/neo/Network/P2P/Payloads/ConsensusPayload.cs
diff --git a/neo/Network/P2P/Payloads/Cosigner.cs b/src/neo/Network/P2P/Payloads/Cosigner.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/Cosigner.cs
rename to src/neo/Network/P2P/Payloads/Cosigner.cs
diff --git a/neo/Network/P2P/Payloads/FilterAddPayload.cs b/src/neo/Network/P2P/Payloads/FilterAddPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/FilterAddPayload.cs
rename to src/neo/Network/P2P/Payloads/FilterAddPayload.cs
diff --git a/neo/Network/P2P/Payloads/FilterLoadPayload.cs b/src/neo/Network/P2P/Payloads/FilterLoadPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/FilterLoadPayload.cs
rename to src/neo/Network/P2P/Payloads/FilterLoadPayload.cs
diff --git a/neo/Network/P2P/Payloads/GetBlockDataPayload.cs b/src/neo/Network/P2P/Payloads/GetBlockDataPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/GetBlockDataPayload.cs
rename to src/neo/Network/P2P/Payloads/GetBlockDataPayload.cs
diff --git a/neo/Network/P2P/Payloads/GetBlocksPayload.cs b/src/neo/Network/P2P/Payloads/GetBlocksPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/GetBlocksPayload.cs
rename to src/neo/Network/P2P/Payloads/GetBlocksPayload.cs
diff --git a/neo/Network/P2P/Payloads/Header.cs b/src/neo/Network/P2P/Payloads/Header.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/Header.cs
rename to src/neo/Network/P2P/Payloads/Header.cs
diff --git a/neo/Network/P2P/Payloads/HeadersPayload.cs b/src/neo/Network/P2P/Payloads/HeadersPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/HeadersPayload.cs
rename to src/neo/Network/P2P/Payloads/HeadersPayload.cs
diff --git a/neo/Network/P2P/Payloads/IInventory.cs b/src/neo/Network/P2P/Payloads/IInventory.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/IInventory.cs
rename to src/neo/Network/P2P/Payloads/IInventory.cs
diff --git a/neo/Network/P2P/Payloads/IVerifiable.cs b/src/neo/Network/P2P/Payloads/IVerifiable.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/IVerifiable.cs
rename to src/neo/Network/P2P/Payloads/IVerifiable.cs
diff --git a/neo/Network/P2P/Payloads/InvPayload.cs b/src/neo/Network/P2P/Payloads/InvPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/InvPayload.cs
rename to src/neo/Network/P2P/Payloads/InvPayload.cs
diff --git a/neo/Network/P2P/Payloads/InventoryType.cs b/src/neo/Network/P2P/Payloads/InventoryType.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/InventoryType.cs
rename to src/neo/Network/P2P/Payloads/InventoryType.cs
diff --git a/neo/Network/P2P/Payloads/MerkleBlockPayload.cs b/src/neo/Network/P2P/Payloads/MerkleBlockPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/MerkleBlockPayload.cs
rename to src/neo/Network/P2P/Payloads/MerkleBlockPayload.cs
diff --git a/neo/Network/P2P/Payloads/NetworkAddressWithTime.cs b/src/neo/Network/P2P/Payloads/NetworkAddressWithTime.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/NetworkAddressWithTime.cs
rename to src/neo/Network/P2P/Payloads/NetworkAddressWithTime.cs
diff --git a/neo/Network/P2P/Payloads/PingPayload.cs b/src/neo/Network/P2P/Payloads/PingPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/PingPayload.cs
rename to src/neo/Network/P2P/Payloads/PingPayload.cs
diff --git a/neo/Network/P2P/Payloads/Transaction.cs b/src/neo/Network/P2P/Payloads/Transaction.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/Transaction.cs
rename to src/neo/Network/P2P/Payloads/Transaction.cs
diff --git a/neo/Network/P2P/Payloads/TransactionAttribute.cs b/src/neo/Network/P2P/Payloads/TransactionAttribute.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/TransactionAttribute.cs
rename to src/neo/Network/P2P/Payloads/TransactionAttribute.cs
diff --git a/neo/Network/P2P/Payloads/TransactionAttributeUsage.cs b/src/neo/Network/P2P/Payloads/TransactionAttributeUsage.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/TransactionAttributeUsage.cs
rename to src/neo/Network/P2P/Payloads/TransactionAttributeUsage.cs
diff --git a/neo/Network/P2P/Payloads/VersionPayload.cs b/src/neo/Network/P2P/Payloads/VersionPayload.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/VersionPayload.cs
rename to src/neo/Network/P2P/Payloads/VersionPayload.cs
diff --git a/neo/Network/P2P/Payloads/Witness.cs b/src/neo/Network/P2P/Payloads/Witness.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/Witness.cs
rename to src/neo/Network/P2P/Payloads/Witness.cs
diff --git a/neo/Network/P2P/Payloads/WitnessScope.cs b/src/neo/Network/P2P/Payloads/WitnessScope.cs
similarity index 100%
rename from neo/Network/P2P/Payloads/WitnessScope.cs
rename to src/neo/Network/P2P/Payloads/WitnessScope.cs
diff --git a/neo/Network/P2P/Peer.cs b/src/neo/Network/P2P/Peer.cs
similarity index 100%
rename from neo/Network/P2P/Peer.cs
rename to src/neo/Network/P2P/Peer.cs
diff --git a/neo/Network/P2P/ProtocolHandler.cs b/src/neo/Network/P2P/ProtocolHandler.cs
similarity index 100%
rename from neo/Network/P2P/ProtocolHandler.cs
rename to src/neo/Network/P2P/ProtocolHandler.cs
diff --git a/neo/Network/P2P/RemoteNode.cs b/src/neo/Network/P2P/RemoteNode.cs
similarity index 100%
rename from neo/Network/P2P/RemoteNode.cs
rename to src/neo/Network/P2P/RemoteNode.cs
diff --git a/neo/Network/P2P/TaskManager.cs b/src/neo/Network/P2P/TaskManager.cs
similarity index 100%
rename from neo/Network/P2P/TaskManager.cs
rename to src/neo/Network/P2P/TaskManager.cs
diff --git a/neo/Network/P2P/TaskSession.cs b/src/neo/Network/P2P/TaskSession.cs
similarity index 100%
rename from neo/Network/P2P/TaskSession.cs
rename to src/neo/Network/P2P/TaskSession.cs
diff --git a/neo/Network/RPC/ContractClient.cs b/src/neo/Network/RPC/ContractClient.cs
similarity index 100%
rename from neo/Network/RPC/ContractClient.cs
rename to src/neo/Network/RPC/ContractClient.cs
diff --git a/neo/Network/RPC/Helper.cs b/src/neo/Network/RPC/Helper.cs
similarity index 100%
rename from neo/Network/RPC/Helper.cs
rename to src/neo/Network/RPC/Helper.cs
diff --git a/neo/Network/RPC/Models/RpcBlock.cs b/src/neo/Network/RPC/Models/RpcBlock.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcBlock.cs
rename to src/neo/Network/RPC/Models/RpcBlock.cs
diff --git a/neo/Network/RPC/Models/RpcBlockHeader.cs b/src/neo/Network/RPC/Models/RpcBlockHeader.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcBlockHeader.cs
rename to src/neo/Network/RPC/Models/RpcBlockHeader.cs
diff --git a/neo/Network/RPC/Models/RpcInvokeResult.cs b/src/neo/Network/RPC/Models/RpcInvokeResult.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcInvokeResult.cs
rename to src/neo/Network/RPC/Models/RpcInvokeResult.cs
diff --git a/neo/Network/RPC/Models/RpcNep5Balances.cs b/src/neo/Network/RPC/Models/RpcNep5Balances.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcNep5Balances.cs
rename to src/neo/Network/RPC/Models/RpcNep5Balances.cs
diff --git a/neo/Network/RPC/Models/RpcNep5TokenInfo.cs b/src/neo/Network/RPC/Models/RpcNep5TokenInfo.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcNep5TokenInfo.cs
rename to src/neo/Network/RPC/Models/RpcNep5TokenInfo.cs
diff --git a/neo/Network/RPC/Models/RpcPeers.cs b/src/neo/Network/RPC/Models/RpcPeers.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcPeers.cs
rename to src/neo/Network/RPC/Models/RpcPeers.cs
diff --git a/neo/Network/RPC/Models/RpcPlugin.cs b/src/neo/Network/RPC/Models/RpcPlugin.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcPlugin.cs
rename to src/neo/Network/RPC/Models/RpcPlugin.cs
diff --git a/neo/Network/RPC/Models/RpcRawMemPool.cs b/src/neo/Network/RPC/Models/RpcRawMemPool.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcRawMemPool.cs
rename to src/neo/Network/RPC/Models/RpcRawMemPool.cs
diff --git a/neo/Network/RPC/Models/RpcRequest.cs b/src/neo/Network/RPC/Models/RpcRequest.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcRequest.cs
rename to src/neo/Network/RPC/Models/RpcRequest.cs
diff --git a/neo/Network/RPC/Models/RpcResponse.cs b/src/neo/Network/RPC/Models/RpcResponse.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcResponse.cs
rename to src/neo/Network/RPC/Models/RpcResponse.cs
diff --git a/neo/Network/RPC/Models/RpcTransaction.cs b/src/neo/Network/RPC/Models/RpcTransaction.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcTransaction.cs
rename to src/neo/Network/RPC/Models/RpcTransaction.cs
diff --git a/neo/Network/RPC/Models/RpcValidateAddressResult.cs b/src/neo/Network/RPC/Models/RpcValidateAddressResult.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcValidateAddressResult.cs
rename to src/neo/Network/RPC/Models/RpcValidateAddressResult.cs
diff --git a/neo/Network/RPC/Models/RpcValidator.cs b/src/neo/Network/RPC/Models/RpcValidator.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcValidator.cs
rename to src/neo/Network/RPC/Models/RpcValidator.cs
diff --git a/neo/Network/RPC/Models/RpcVersion.cs b/src/neo/Network/RPC/Models/RpcVersion.cs
similarity index 100%
rename from neo/Network/RPC/Models/RpcVersion.cs
rename to src/neo/Network/RPC/Models/RpcVersion.cs
diff --git a/neo/Network/RPC/Nep5API.cs b/src/neo/Network/RPC/Nep5API.cs
similarity index 100%
rename from neo/Network/RPC/Nep5API.cs
rename to src/neo/Network/RPC/Nep5API.cs
diff --git a/neo/Network/RPC/PolicyAPI.cs b/src/neo/Network/RPC/PolicyAPI.cs
similarity index 100%
rename from neo/Network/RPC/PolicyAPI.cs
rename to src/neo/Network/RPC/PolicyAPI.cs
diff --git a/neo/Network/RPC/RpcClient.cs b/src/neo/Network/RPC/RpcClient.cs
similarity index 100%
rename from neo/Network/RPC/RpcClient.cs
rename to src/neo/Network/RPC/RpcClient.cs
diff --git a/neo/Network/RPC/RpcException.cs b/src/neo/Network/RPC/RpcException.cs
similarity index 100%
rename from neo/Network/RPC/RpcException.cs
rename to src/neo/Network/RPC/RpcException.cs
diff --git a/neo/Network/RPC/RpcServer.cs b/src/neo/Network/RPC/RpcServer.cs
similarity index 100%
rename from neo/Network/RPC/RpcServer.cs
rename to src/neo/Network/RPC/RpcServer.cs
diff --git a/neo/Network/RPC/TransactionManager.cs b/src/neo/Network/RPC/TransactionManager.cs
similarity index 100%
rename from neo/Network/RPC/TransactionManager.cs
rename to src/neo/Network/RPC/TransactionManager.cs
diff --git a/neo/Network/RPC/WalletAPI.cs b/src/neo/Network/RPC/WalletAPI.cs
similarity index 100%
rename from neo/Network/RPC/WalletAPI.cs
rename to src/neo/Network/RPC/WalletAPI.cs
diff --git a/neo/Network/UPnP.cs b/src/neo/Network/UPnP.cs
similarity index 100%
rename from neo/Network/UPnP.cs
rename to src/neo/Network/UPnP.cs
diff --git a/neo/Persistence/CloneSnapshot.cs b/src/neo/Persistence/CloneSnapshot.cs
similarity index 100%
rename from neo/Persistence/CloneSnapshot.cs
rename to src/neo/Persistence/CloneSnapshot.cs
diff --git a/neo/Persistence/Helper.cs b/src/neo/Persistence/Helper.cs
similarity index 100%
rename from neo/Persistence/Helper.cs
rename to src/neo/Persistence/Helper.cs
diff --git a/neo/Persistence/IPersistence.cs b/src/neo/Persistence/IPersistence.cs
similarity index 100%
rename from neo/Persistence/IPersistence.cs
rename to src/neo/Persistence/IPersistence.cs
diff --git a/neo/Persistence/LevelDB/DbCache.cs b/src/neo/Persistence/LevelDB/DbCache.cs
similarity index 100%
rename from neo/Persistence/LevelDB/DbCache.cs
rename to src/neo/Persistence/LevelDB/DbCache.cs
diff --git a/neo/Persistence/LevelDB/DbMetaDataCache.cs b/src/neo/Persistence/LevelDB/DbMetaDataCache.cs
similarity index 100%
rename from neo/Persistence/LevelDB/DbMetaDataCache.cs
rename to src/neo/Persistence/LevelDB/DbMetaDataCache.cs
diff --git a/neo/Persistence/LevelDB/DbSnapshot.cs b/src/neo/Persistence/LevelDB/DbSnapshot.cs
similarity index 100%
rename from neo/Persistence/LevelDB/DbSnapshot.cs
rename to src/neo/Persistence/LevelDB/DbSnapshot.cs
diff --git a/neo/Persistence/LevelDB/LevelDBStore.cs b/src/neo/Persistence/LevelDB/LevelDBStore.cs
similarity index 100%
rename from neo/Persistence/LevelDB/LevelDBStore.cs
rename to src/neo/Persistence/LevelDB/LevelDBStore.cs
diff --git a/neo/Persistence/LevelDB/Prefixes.cs b/src/neo/Persistence/LevelDB/Prefixes.cs
similarity index 100%
rename from neo/Persistence/LevelDB/Prefixes.cs
rename to src/neo/Persistence/LevelDB/Prefixes.cs
diff --git a/neo/Persistence/Snapshot.cs b/src/neo/Persistence/Snapshot.cs
similarity index 100%
rename from neo/Persistence/Snapshot.cs
rename to src/neo/Persistence/Snapshot.cs
diff --git a/neo/Persistence/Store.cs b/src/neo/Persistence/Store.cs
similarity index 100%
rename from neo/Persistence/Store.cs
rename to src/neo/Persistence/Store.cs
diff --git a/neo/Plugins/ILogPlugin.cs b/src/neo/Plugins/ILogPlugin.cs
similarity index 100%
rename from neo/Plugins/ILogPlugin.cs
rename to src/neo/Plugins/ILogPlugin.cs
diff --git a/neo/Plugins/IMemoryPoolTxObserverPlugin.cs b/src/neo/Plugins/IMemoryPoolTxObserverPlugin.cs
similarity index 100%
rename from neo/Plugins/IMemoryPoolTxObserverPlugin.cs
rename to src/neo/Plugins/IMemoryPoolTxObserverPlugin.cs
diff --git a/neo/Plugins/IP2PPlugin.cs b/src/neo/Plugins/IP2PPlugin.cs
similarity index 100%
rename from neo/Plugins/IP2PPlugin.cs
rename to src/neo/Plugins/IP2PPlugin.cs
diff --git a/neo/Plugins/IPersistencePlugin.cs b/src/neo/Plugins/IPersistencePlugin.cs
similarity index 100%
rename from neo/Plugins/IPersistencePlugin.cs
rename to src/neo/Plugins/IPersistencePlugin.cs
diff --git a/neo/Plugins/IRpcPlugin.cs b/src/neo/Plugins/IRpcPlugin.cs
similarity index 100%
rename from neo/Plugins/IRpcPlugin.cs
rename to src/neo/Plugins/IRpcPlugin.cs
diff --git a/neo/Plugins/LogLevel.cs b/src/neo/Plugins/LogLevel.cs
similarity index 100%
rename from neo/Plugins/LogLevel.cs
rename to src/neo/Plugins/LogLevel.cs
diff --git a/neo/Plugins/MemoryPoolTxRemovalReason.cs b/src/neo/Plugins/MemoryPoolTxRemovalReason.cs
similarity index 100%
rename from neo/Plugins/MemoryPoolTxRemovalReason.cs
rename to src/neo/Plugins/MemoryPoolTxRemovalReason.cs
diff --git a/neo/Plugins/Plugin.cs b/src/neo/Plugins/Plugin.cs
similarity index 100%
rename from neo/Plugins/Plugin.cs
rename to src/neo/Plugins/Plugin.cs
diff --git a/neo/Properties/AssemblyInfo.cs b/src/neo/Properties/AssemblyInfo.cs
similarity index 100%
rename from neo/Properties/AssemblyInfo.cs
rename to src/neo/Properties/AssemblyInfo.cs
diff --git a/neo/ProtocolSettings.cs b/src/neo/ProtocolSettings.cs
similarity index 100%
rename from neo/ProtocolSettings.cs
rename to src/neo/ProtocolSettings.cs
diff --git a/neo/SmartContract/ApplicationEngine.OpCodePrices.cs b/src/neo/SmartContract/ApplicationEngine.OpCodePrices.cs
similarity index 100%
rename from neo/SmartContract/ApplicationEngine.OpCodePrices.cs
rename to src/neo/SmartContract/ApplicationEngine.OpCodePrices.cs
diff --git a/neo/SmartContract/ApplicationEngine.cs b/src/neo/SmartContract/ApplicationEngine.cs
similarity index 100%
rename from neo/SmartContract/ApplicationEngine.cs
rename to src/neo/SmartContract/ApplicationEngine.cs
diff --git a/neo/SmartContract/ContainerPlaceholder.cs b/src/neo/SmartContract/ContainerPlaceholder.cs
similarity index 100%
rename from neo/SmartContract/ContainerPlaceholder.cs
rename to src/neo/SmartContract/ContainerPlaceholder.cs
diff --git a/neo/SmartContract/Contract.cs b/src/neo/SmartContract/Contract.cs
similarity index 100%
rename from neo/SmartContract/Contract.cs
rename to src/neo/SmartContract/Contract.cs
diff --git a/neo/SmartContract/ContractParameter.cs b/src/neo/SmartContract/ContractParameter.cs
similarity index 100%
rename from neo/SmartContract/ContractParameter.cs
rename to src/neo/SmartContract/ContractParameter.cs
diff --git a/neo/SmartContract/ContractParameterType.cs b/src/neo/SmartContract/ContractParameterType.cs
similarity index 100%
rename from neo/SmartContract/ContractParameterType.cs
rename to src/neo/SmartContract/ContractParameterType.cs
diff --git a/neo/SmartContract/ContractParametersContext.cs b/src/neo/SmartContract/ContractParametersContext.cs
similarity index 100%
rename from neo/SmartContract/ContractParametersContext.cs
rename to src/neo/SmartContract/ContractParametersContext.cs
diff --git a/neo/SmartContract/Enumerators/ConcatenatedEnumerator.cs b/src/neo/SmartContract/Enumerators/ConcatenatedEnumerator.cs
similarity index 100%
rename from neo/SmartContract/Enumerators/ConcatenatedEnumerator.cs
rename to src/neo/SmartContract/Enumerators/ConcatenatedEnumerator.cs
diff --git a/neo/SmartContract/Enumerators/IEnumerator.cs b/src/neo/SmartContract/Enumerators/IEnumerator.cs
similarity index 100%
rename from neo/SmartContract/Enumerators/IEnumerator.cs
rename to src/neo/SmartContract/Enumerators/IEnumerator.cs
diff --git a/neo/SmartContract/Enumerators/IteratorKeysWrapper.cs b/src/neo/SmartContract/Enumerators/IteratorKeysWrapper.cs
similarity index 100%
rename from neo/SmartContract/Enumerators/IteratorKeysWrapper.cs
rename to src/neo/SmartContract/Enumerators/IteratorKeysWrapper.cs
diff --git a/neo/SmartContract/Enumerators/IteratorValuesWrapper.cs b/src/neo/SmartContract/Enumerators/IteratorValuesWrapper.cs
similarity index 100%
rename from neo/SmartContract/Enumerators/IteratorValuesWrapper.cs
rename to src/neo/SmartContract/Enumerators/IteratorValuesWrapper.cs
diff --git a/neo/SmartContract/ExecutionContextState.cs b/src/neo/SmartContract/ExecutionContextState.cs
similarity index 100%
rename from neo/SmartContract/ExecutionContextState.cs
rename to src/neo/SmartContract/ExecutionContextState.cs
diff --git a/neo/SmartContract/Helper.cs b/src/neo/SmartContract/Helper.cs
similarity index 100%
rename from neo/SmartContract/Helper.cs
rename to src/neo/SmartContract/Helper.cs
diff --git a/neo/SmartContract/IInteroperable.cs b/src/neo/SmartContract/IInteroperable.cs
similarity index 100%
rename from neo/SmartContract/IInteroperable.cs
rename to src/neo/SmartContract/IInteroperable.cs
diff --git a/neo/SmartContract/InteropDescriptor.cs b/src/neo/SmartContract/InteropDescriptor.cs
similarity index 100%
rename from neo/SmartContract/InteropDescriptor.cs
rename to src/neo/SmartContract/InteropDescriptor.cs
diff --git a/neo/SmartContract/InteropService.NEO.cs b/src/neo/SmartContract/InteropService.NEO.cs
similarity index 100%
rename from neo/SmartContract/InteropService.NEO.cs
rename to src/neo/SmartContract/InteropService.NEO.cs
diff --git a/neo/SmartContract/InteropService.cs b/src/neo/SmartContract/InteropService.cs
similarity index 100%
rename from neo/SmartContract/InteropService.cs
rename to src/neo/SmartContract/InteropService.cs
diff --git a/neo/SmartContract/Iterators/ArrayWrapper.cs b/src/neo/SmartContract/Iterators/ArrayWrapper.cs
similarity index 100%
rename from neo/SmartContract/Iterators/ArrayWrapper.cs
rename to src/neo/SmartContract/Iterators/ArrayWrapper.cs
diff --git a/neo/SmartContract/Iterators/ConcatenatedIterator.cs b/src/neo/SmartContract/Iterators/ConcatenatedIterator.cs
similarity index 100%
rename from neo/SmartContract/Iterators/ConcatenatedIterator.cs
rename to src/neo/SmartContract/Iterators/ConcatenatedIterator.cs
diff --git a/neo/SmartContract/Iterators/IIterator.cs b/src/neo/SmartContract/Iterators/IIterator.cs
similarity index 100%
rename from neo/SmartContract/Iterators/IIterator.cs
rename to src/neo/SmartContract/Iterators/IIterator.cs
diff --git a/neo/SmartContract/Iterators/MapWrapper.cs b/src/neo/SmartContract/Iterators/MapWrapper.cs
similarity index 100%
rename from neo/SmartContract/Iterators/MapWrapper.cs
rename to src/neo/SmartContract/Iterators/MapWrapper.cs
diff --git a/neo/SmartContract/Iterators/StorageIterator.cs b/src/neo/SmartContract/Iterators/StorageIterator.cs
similarity index 100%
rename from neo/SmartContract/Iterators/StorageIterator.cs
rename to src/neo/SmartContract/Iterators/StorageIterator.cs
diff --git a/neo/SmartContract/JsonSerializer.cs b/src/neo/SmartContract/JsonSerializer.cs
similarity index 100%
rename from neo/SmartContract/JsonSerializer.cs
rename to src/neo/SmartContract/JsonSerializer.cs
diff --git a/neo/SmartContract/LogEventArgs.cs b/src/neo/SmartContract/LogEventArgs.cs
similarity index 100%
rename from neo/SmartContract/LogEventArgs.cs
rename to src/neo/SmartContract/LogEventArgs.cs
diff --git a/neo/SmartContract/Manifest/ContractAbi.cs b/src/neo/SmartContract/Manifest/ContractAbi.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractAbi.cs
rename to src/neo/SmartContract/Manifest/ContractAbi.cs
diff --git a/neo/SmartContract/Manifest/ContractEventDescriptor.cs b/src/neo/SmartContract/Manifest/ContractEventDescriptor.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractEventDescriptor.cs
rename to src/neo/SmartContract/Manifest/ContractEventDescriptor.cs
diff --git a/neo/SmartContract/Manifest/ContractFeatures.cs b/src/neo/SmartContract/Manifest/ContractFeatures.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractFeatures.cs
rename to src/neo/SmartContract/Manifest/ContractFeatures.cs
diff --git a/neo/SmartContract/Manifest/ContractGroup.cs b/src/neo/SmartContract/Manifest/ContractGroup.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractGroup.cs
rename to src/neo/SmartContract/Manifest/ContractGroup.cs
diff --git a/neo/SmartContract/Manifest/ContractManifest.cs b/src/neo/SmartContract/Manifest/ContractManifest.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractManifest.cs
rename to src/neo/SmartContract/Manifest/ContractManifest.cs
diff --git a/neo/SmartContract/Manifest/ContractMethodDescriptor.cs b/src/neo/SmartContract/Manifest/ContractMethodDescriptor.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractMethodDescriptor.cs
rename to src/neo/SmartContract/Manifest/ContractMethodDescriptor.cs
diff --git a/neo/SmartContract/Manifest/ContractParameterDefinition.cs b/src/neo/SmartContract/Manifest/ContractParameterDefinition.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractParameterDefinition.cs
rename to src/neo/SmartContract/Manifest/ContractParameterDefinition.cs
diff --git a/neo/SmartContract/Manifest/ContractPermission.cs b/src/neo/SmartContract/Manifest/ContractPermission.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractPermission.cs
rename to src/neo/SmartContract/Manifest/ContractPermission.cs
diff --git a/neo/SmartContract/Manifest/ContractPermissionDescriptor.cs b/src/neo/SmartContract/Manifest/ContractPermissionDescriptor.cs
similarity index 100%
rename from neo/SmartContract/Manifest/ContractPermissionDescriptor.cs
rename to src/neo/SmartContract/Manifest/ContractPermissionDescriptor.cs
diff --git a/neo/SmartContract/Manifest/WildCardContainer.cs b/src/neo/SmartContract/Manifest/WildCardContainer.cs
similarity index 100%
rename from neo/SmartContract/Manifest/WildCardContainer.cs
rename to src/neo/SmartContract/Manifest/WildCardContainer.cs
diff --git a/neo/SmartContract/Native/ContractMethodAttribute.cs b/src/neo/SmartContract/Native/ContractMethodAttribute.cs
similarity index 100%
rename from neo/SmartContract/Native/ContractMethodAttribute.cs
rename to src/neo/SmartContract/Native/ContractMethodAttribute.cs
diff --git a/neo/SmartContract/Native/ContractMethodMetadata.cs b/src/neo/SmartContract/Native/ContractMethodMetadata.cs
similarity index 100%
rename from neo/SmartContract/Native/ContractMethodMetadata.cs
rename to src/neo/SmartContract/Native/ContractMethodMetadata.cs
diff --git a/neo/SmartContract/Native/NativeContract.cs b/src/neo/SmartContract/Native/NativeContract.cs
similarity index 100%
rename from neo/SmartContract/Native/NativeContract.cs
rename to src/neo/SmartContract/Native/NativeContract.cs
diff --git a/neo/SmartContract/Native/PolicyContract.cs b/src/neo/SmartContract/Native/PolicyContract.cs
similarity index 100%
rename from neo/SmartContract/Native/PolicyContract.cs
rename to src/neo/SmartContract/Native/PolicyContract.cs
diff --git a/neo/SmartContract/Native/Tokens/GasToken.cs b/src/neo/SmartContract/Native/Tokens/GasToken.cs
similarity index 100%
rename from neo/SmartContract/Native/Tokens/GasToken.cs
rename to src/neo/SmartContract/Native/Tokens/GasToken.cs
diff --git a/neo/SmartContract/Native/Tokens/NeoToken.cs b/src/neo/SmartContract/Native/Tokens/NeoToken.cs
similarity index 100%
rename from neo/SmartContract/Native/Tokens/NeoToken.cs
rename to src/neo/SmartContract/Native/Tokens/NeoToken.cs
diff --git a/neo/SmartContract/Native/Tokens/Nep5AccountState.cs b/src/neo/SmartContract/Native/Tokens/Nep5AccountState.cs
similarity index 100%
rename from neo/SmartContract/Native/Tokens/Nep5AccountState.cs
rename to src/neo/SmartContract/Native/Tokens/Nep5AccountState.cs
diff --git a/neo/SmartContract/Native/Tokens/Nep5Token.cs b/src/neo/SmartContract/Native/Tokens/Nep5Token.cs
similarity index 100%
rename from neo/SmartContract/Native/Tokens/Nep5Token.cs
rename to src/neo/SmartContract/Native/Tokens/Nep5Token.cs
diff --git a/neo/SmartContract/NefFile.cs b/src/neo/SmartContract/NefFile.cs
similarity index 100%
rename from neo/SmartContract/NefFile.cs
rename to src/neo/SmartContract/NefFile.cs
diff --git a/neo/SmartContract/NotifyEventArgs.cs b/src/neo/SmartContract/NotifyEventArgs.cs
similarity index 100%
rename from neo/SmartContract/NotifyEventArgs.cs
rename to src/neo/SmartContract/NotifyEventArgs.cs
diff --git a/neo/SmartContract/StackItemType.cs b/src/neo/SmartContract/StackItemType.cs
similarity index 100%
rename from neo/SmartContract/StackItemType.cs
rename to src/neo/SmartContract/StackItemType.cs
diff --git a/neo/SmartContract/StorageContext.cs b/src/neo/SmartContract/StorageContext.cs
similarity index 100%
rename from neo/SmartContract/StorageContext.cs
rename to src/neo/SmartContract/StorageContext.cs
diff --git a/neo/SmartContract/TriggerType.cs b/src/neo/SmartContract/TriggerType.cs
similarity index 100%
rename from neo/SmartContract/TriggerType.cs
rename to src/neo/SmartContract/TriggerType.cs
diff --git a/neo/TimeProvider.cs b/src/neo/TimeProvider.cs
similarity index 100%
rename from neo/TimeProvider.cs
rename to src/neo/TimeProvider.cs
diff --git a/neo/UInt160.cs b/src/neo/UInt160.cs
similarity index 100%
rename from neo/UInt160.cs
rename to src/neo/UInt160.cs
diff --git a/neo/UInt256.cs b/src/neo/UInt256.cs
similarity index 100%
rename from neo/UInt256.cs
rename to src/neo/UInt256.cs
diff --git a/neo/UIntBase.cs b/src/neo/UIntBase.cs
similarity index 100%
rename from neo/UIntBase.cs
rename to src/neo/UIntBase.cs
diff --git a/neo/Utility.cs b/src/neo/Utility.cs
similarity index 100%
rename from neo/Utility.cs
rename to src/neo/Utility.cs
diff --git a/neo/VM/Helper.cs b/src/neo/VM/Helper.cs
similarity index 100%
rename from neo/VM/Helper.cs
rename to src/neo/VM/Helper.cs
diff --git a/neo/Wallets/AssetDescriptor.cs b/src/neo/Wallets/AssetDescriptor.cs
similarity index 100%
rename from neo/Wallets/AssetDescriptor.cs
rename to src/neo/Wallets/AssetDescriptor.cs
diff --git a/neo/Wallets/Helper.cs b/src/neo/Wallets/Helper.cs
similarity index 100%
rename from neo/Wallets/Helper.cs
rename to src/neo/Wallets/Helper.cs
diff --git a/neo/Wallets/KeyPair.cs b/src/neo/Wallets/KeyPair.cs
similarity index 100%
rename from neo/Wallets/KeyPair.cs
rename to src/neo/Wallets/KeyPair.cs
diff --git a/neo/Wallets/NEP6/NEP6Account.cs b/src/neo/Wallets/NEP6/NEP6Account.cs
similarity index 100%
rename from neo/Wallets/NEP6/NEP6Account.cs
rename to src/neo/Wallets/NEP6/NEP6Account.cs
diff --git a/neo/Wallets/NEP6/NEP6Contract.cs b/src/neo/Wallets/NEP6/NEP6Contract.cs
similarity index 100%
rename from neo/Wallets/NEP6/NEP6Contract.cs
rename to src/neo/Wallets/NEP6/NEP6Contract.cs
diff --git a/neo/Wallets/NEP6/NEP6Wallet.cs b/src/neo/Wallets/NEP6/NEP6Wallet.cs
similarity index 100%
rename from neo/Wallets/NEP6/NEP6Wallet.cs
rename to src/neo/Wallets/NEP6/NEP6Wallet.cs
diff --git a/neo/Wallets/NEP6/ScryptParameters.cs b/src/neo/Wallets/NEP6/ScryptParameters.cs
similarity index 100%
rename from neo/Wallets/NEP6/ScryptParameters.cs
rename to src/neo/Wallets/NEP6/ScryptParameters.cs
diff --git a/neo/Wallets/NEP6/WalletLocker.cs b/src/neo/Wallets/NEP6/WalletLocker.cs
similarity index 100%
rename from neo/Wallets/NEP6/WalletLocker.cs
rename to src/neo/Wallets/NEP6/WalletLocker.cs
diff --git a/neo/Wallets/SQLite/Account.cs b/src/neo/Wallets/SQLite/Account.cs
similarity index 100%
rename from neo/Wallets/SQLite/Account.cs
rename to src/neo/Wallets/SQLite/Account.cs
diff --git a/neo/Wallets/SQLite/Address.cs b/src/neo/Wallets/SQLite/Address.cs
similarity index 100%
rename from neo/Wallets/SQLite/Address.cs
rename to src/neo/Wallets/SQLite/Address.cs
diff --git a/neo/Wallets/SQLite/Contract.cs b/src/neo/Wallets/SQLite/Contract.cs
similarity index 100%
rename from neo/Wallets/SQLite/Contract.cs
rename to src/neo/Wallets/SQLite/Contract.cs
diff --git a/neo/Wallets/SQLite/Key.cs b/src/neo/Wallets/SQLite/Key.cs
similarity index 100%
rename from neo/Wallets/SQLite/Key.cs
rename to src/neo/Wallets/SQLite/Key.cs
diff --git a/neo/Wallets/SQLite/UserWallet.cs b/src/neo/Wallets/SQLite/UserWallet.cs
similarity index 100%
rename from neo/Wallets/SQLite/UserWallet.cs
rename to src/neo/Wallets/SQLite/UserWallet.cs
diff --git a/neo/Wallets/SQLite/UserWalletAccount.cs b/src/neo/Wallets/SQLite/UserWalletAccount.cs
similarity index 100%
rename from neo/Wallets/SQLite/UserWalletAccount.cs
rename to src/neo/Wallets/SQLite/UserWalletAccount.cs
diff --git a/neo/Wallets/SQLite/VerificationContract.cs b/src/neo/Wallets/SQLite/VerificationContract.cs
similarity index 100%
rename from neo/Wallets/SQLite/VerificationContract.cs
rename to src/neo/Wallets/SQLite/VerificationContract.cs
diff --git a/neo/Wallets/SQLite/WalletDataContext.cs b/src/neo/Wallets/SQLite/WalletDataContext.cs
similarity index 100%
rename from neo/Wallets/SQLite/WalletDataContext.cs
rename to src/neo/Wallets/SQLite/WalletDataContext.cs
diff --git a/neo/Wallets/TransferOutput.cs b/src/neo/Wallets/TransferOutput.cs
similarity index 100%
rename from neo/Wallets/TransferOutput.cs
rename to src/neo/Wallets/TransferOutput.cs
diff --git a/neo/Wallets/Wallet.cs b/src/neo/Wallets/Wallet.cs
similarity index 100%
rename from neo/Wallets/Wallet.cs
rename to src/neo/Wallets/Wallet.cs
diff --git a/neo/Wallets/WalletAccount.cs b/src/neo/Wallets/WalletAccount.cs
similarity index 100%
rename from neo/Wallets/WalletAccount.cs
rename to src/neo/Wallets/WalletAccount.cs
diff --git a/neo/neo.csproj b/src/neo/neo.csproj
similarity index 100%
rename from neo/neo.csproj
rename to src/neo/neo.csproj
diff --git a/neo.UnitTests/Consensus/UT_Consensus.cs b/tests/neo.UnitTests/Consensus/UT_Consensus.cs
similarity index 100%
rename from neo.UnitTests/Consensus/UT_Consensus.cs
rename to tests/neo.UnitTests/Consensus/UT_Consensus.cs
diff --git a/neo.UnitTests/Consensus/UT_ConsensusContext.cs b/tests/neo.UnitTests/Consensus/UT_ConsensusContext.cs
similarity index 100%
rename from neo.UnitTests/Consensus/UT_ConsensusContext.cs
rename to tests/neo.UnitTests/Consensus/UT_ConsensusContext.cs
diff --git a/neo.UnitTests/Consensus/UT_ConsensusServiceMailbox.cs b/tests/neo.UnitTests/Consensus/UT_ConsensusServiceMailbox.cs
similarity index 100%
rename from neo.UnitTests/Consensus/UT_ConsensusServiceMailbox.cs
rename to tests/neo.UnitTests/Consensus/UT_ConsensusServiceMailbox.cs
diff --git a/neo.UnitTests/Cryptography/ECC/UT_ECDsa.cs b/tests/neo.UnitTests/Cryptography/ECC/UT_ECDsa.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/ECC/UT_ECDsa.cs
rename to tests/neo.UnitTests/Cryptography/ECC/UT_ECDsa.cs
diff --git a/neo.UnitTests/Cryptography/ECC/UT_ECFieldElement.cs b/tests/neo.UnitTests/Cryptography/ECC/UT_ECFieldElement.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/ECC/UT_ECFieldElement.cs
rename to tests/neo.UnitTests/Cryptography/ECC/UT_ECFieldElement.cs
diff --git a/neo.UnitTests/Cryptography/ECC/UT_ECPoint.cs b/tests/neo.UnitTests/Cryptography/ECC/UT_ECPoint.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/ECC/UT_ECPoint.cs
rename to tests/neo.UnitTests/Cryptography/ECC/UT_ECPoint.cs
diff --git a/neo.UnitTests/Cryptography/UT_Base58.cs b/tests/neo.UnitTests/Cryptography/UT_Base58.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_Base58.cs
rename to tests/neo.UnitTests/Cryptography/UT_Base58.cs
diff --git a/neo.UnitTests/Cryptography/UT_BloomFilter.cs b/tests/neo.UnitTests/Cryptography/UT_BloomFilter.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_BloomFilter.cs
rename to tests/neo.UnitTests/Cryptography/UT_BloomFilter.cs
diff --git a/neo.UnitTests/Cryptography/UT_Crypto.cs b/tests/neo.UnitTests/Cryptography/UT_Crypto.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_Crypto.cs
rename to tests/neo.UnitTests/Cryptography/UT_Crypto.cs
diff --git a/neo.UnitTests/Cryptography/UT_Cryptography_Helper.cs b/tests/neo.UnitTests/Cryptography/UT_Cryptography_Helper.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_Cryptography_Helper.cs
rename to tests/neo.UnitTests/Cryptography/UT_Cryptography_Helper.cs
diff --git a/neo.UnitTests/Cryptography/UT_MerkleTree.cs b/tests/neo.UnitTests/Cryptography/UT_MerkleTree.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_MerkleTree.cs
rename to tests/neo.UnitTests/Cryptography/UT_MerkleTree.cs
diff --git a/neo.UnitTests/Cryptography/UT_MerkleTreeNode.cs b/tests/neo.UnitTests/Cryptography/UT_MerkleTreeNode.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_MerkleTreeNode.cs
rename to tests/neo.UnitTests/Cryptography/UT_MerkleTreeNode.cs
diff --git a/neo.UnitTests/Cryptography/UT_Murmur3.cs b/tests/neo.UnitTests/Cryptography/UT_Murmur3.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_Murmur3.cs
rename to tests/neo.UnitTests/Cryptography/UT_Murmur3.cs
diff --git a/neo.UnitTests/Cryptography/UT_SCrypt.cs b/tests/neo.UnitTests/Cryptography/UT_SCrypt.cs
similarity index 100%
rename from neo.UnitTests/Cryptography/UT_SCrypt.cs
rename to tests/neo.UnitTests/Cryptography/UT_SCrypt.cs
diff --git a/neo.UnitTests/Extensions/NativeContractExtensions.cs b/tests/neo.UnitTests/Extensions/NativeContractExtensions.cs
similarity index 100%
rename from neo.UnitTests/Extensions/NativeContractExtensions.cs
rename to tests/neo.UnitTests/Extensions/NativeContractExtensions.cs
diff --git a/neo.UnitTests/Extensions/Nep5NativeContractExtensions.cs b/tests/neo.UnitTests/Extensions/Nep5NativeContractExtensions.cs
similarity index 100%
rename from neo.UnitTests/Extensions/Nep5NativeContractExtensions.cs
rename to tests/neo.UnitTests/Extensions/Nep5NativeContractExtensions.cs
diff --git a/neo.UnitTests/IO/Caching/UT_Cache.cs b/tests/neo.UnitTests/IO/Caching/UT_Cache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_Cache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_Cache.cs
diff --git a/neo.UnitTests/IO/Caching/UT_CloneCache.cs b/tests/neo.UnitTests/IO/Caching/UT_CloneCache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_CloneCache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_CloneCache.cs
diff --git a/neo.UnitTests/IO/Caching/UT_CloneMetaCache.cs b/tests/neo.UnitTests/IO/Caching/UT_CloneMetaCache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_CloneMetaCache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_CloneMetaCache.cs
diff --git a/neo.UnitTests/IO/Caching/UT_DataCache.cs b/tests/neo.UnitTests/IO/Caching/UT_DataCache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_DataCache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_DataCache.cs
diff --git a/neo.UnitTests/IO/Caching/UT_FIFOSet.cs b/tests/neo.UnitTests/IO/Caching/UT_FIFOSet.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_FIFOSet.cs
rename to tests/neo.UnitTests/IO/Caching/UT_FIFOSet.cs
diff --git a/neo.UnitTests/IO/Caching/UT_MetaDataCache.cs b/tests/neo.UnitTests/IO/Caching/UT_MetaDataCache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_MetaDataCache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_MetaDataCache.cs
diff --git a/neo.UnitTests/IO/Caching/UT_OrderedDictionary.cs b/tests/neo.UnitTests/IO/Caching/UT_OrderedDictionary.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_OrderedDictionary.cs
rename to tests/neo.UnitTests/IO/Caching/UT_OrderedDictionary.cs
diff --git a/neo.UnitTests/IO/Caching/UT_ReflectionCache.cs b/tests/neo.UnitTests/IO/Caching/UT_ReflectionCache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_ReflectionCache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_ReflectionCache.cs
diff --git a/neo.UnitTests/IO/Caching/UT_RelayCache.cs b/tests/neo.UnitTests/IO/Caching/UT_RelayCache.cs
similarity index 100%
rename from neo.UnitTests/IO/Caching/UT_RelayCache.cs
rename to tests/neo.UnitTests/IO/Caching/UT_RelayCache.cs
diff --git a/neo.UnitTests/IO/Data/LevelDb/UT_Slice.cs b/tests/neo.UnitTests/IO/Data/LevelDb/UT_Slice.cs
similarity index 100%
rename from neo.UnitTests/IO/Data/LevelDb/UT_Slice.cs
rename to tests/neo.UnitTests/IO/Data/LevelDb/UT_Slice.cs
diff --git a/neo.UnitTests/IO/Json/UT_JArray.cs b/tests/neo.UnitTests/IO/Json/UT_JArray.cs
similarity index 100%
rename from neo.UnitTests/IO/Json/UT_JArray.cs
rename to tests/neo.UnitTests/IO/Json/UT_JArray.cs
diff --git a/neo.UnitTests/IO/Json/UT_JBoolean.cs b/tests/neo.UnitTests/IO/Json/UT_JBoolean.cs
similarity index 100%
rename from neo.UnitTests/IO/Json/UT_JBoolean.cs
rename to tests/neo.UnitTests/IO/Json/UT_JBoolean.cs
diff --git a/neo.UnitTests/IO/Json/UT_JNumber.cs b/tests/neo.UnitTests/IO/Json/UT_JNumber.cs
similarity index 100%
rename from neo.UnitTests/IO/Json/UT_JNumber.cs
rename to tests/neo.UnitTests/IO/Json/UT_JNumber.cs
diff --git a/neo.UnitTests/IO/Json/UT_JObject.cs b/tests/neo.UnitTests/IO/Json/UT_JObject.cs
similarity index 100%
rename from neo.UnitTests/IO/Json/UT_JObject.cs
rename to tests/neo.UnitTests/IO/Json/UT_JObject.cs
diff --git a/neo.UnitTests/IO/Json/UT_JString.cs b/tests/neo.UnitTests/IO/Json/UT_JString.cs
similarity index 100%
rename from neo.UnitTests/IO/Json/UT_JString.cs
rename to tests/neo.UnitTests/IO/Json/UT_JString.cs
diff --git a/neo.UnitTests/IO/UT_ByteArrayComparer.cs b/tests/neo.UnitTests/IO/UT_ByteArrayComparer.cs
similarity index 100%
rename from neo.UnitTests/IO/UT_ByteArrayComparer.cs
rename to tests/neo.UnitTests/IO/UT_ByteArrayComparer.cs
diff --git a/neo.UnitTests/IO/UT_IOHelper.cs b/tests/neo.UnitTests/IO/UT_IOHelper.cs
similarity index 100%
rename from neo.UnitTests/IO/UT_IOHelper.cs
rename to tests/neo.UnitTests/IO/UT_IOHelper.cs
diff --git a/neo.UnitTests/IO/Wrappers/UT_SerializableWrapper.cs b/tests/neo.UnitTests/IO/Wrappers/UT_SerializableWrapper.cs
similarity index 100%
rename from neo.UnitTests/IO/Wrappers/UT_SerializableWrapper.cs
rename to tests/neo.UnitTests/IO/Wrappers/UT_SerializableWrapper.cs
diff --git a/neo.UnitTests/IO/Wrappers/UT_UInt32Wrapper.cs b/tests/neo.UnitTests/IO/Wrappers/UT_UInt32Wrapper.cs
similarity index 100%
rename from neo.UnitTests/IO/Wrappers/UT_UInt32Wrapper.cs
rename to tests/neo.UnitTests/IO/Wrappers/UT_UInt32Wrapper.cs
diff --git a/neo.UnitTests/Ledger/UT_Blockchain.cs b/tests/neo.UnitTests/Ledger/UT_Blockchain.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_Blockchain.cs
rename to tests/neo.UnitTests/Ledger/UT_Blockchain.cs
diff --git a/neo.UnitTests/Ledger/UT_ContractState.cs b/tests/neo.UnitTests/Ledger/UT_ContractState.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_ContractState.cs
rename to tests/neo.UnitTests/Ledger/UT_ContractState.cs
diff --git a/neo.UnitTests/Ledger/UT_HashIndexState.cs b/tests/neo.UnitTests/Ledger/UT_HashIndexState.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_HashIndexState.cs
rename to tests/neo.UnitTests/Ledger/UT_HashIndexState.cs
diff --git a/neo.UnitTests/Ledger/UT_HeaderHashList.cs b/tests/neo.UnitTests/Ledger/UT_HeaderHashList.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_HeaderHashList.cs
rename to tests/neo.UnitTests/Ledger/UT_HeaderHashList.cs
diff --git a/neo.UnitTests/Ledger/UT_MemoryPool.cs b/tests/neo.UnitTests/Ledger/UT_MemoryPool.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_MemoryPool.cs
rename to tests/neo.UnitTests/Ledger/UT_MemoryPool.cs
diff --git a/neo.UnitTests/Ledger/UT_PoolItem.cs b/tests/neo.UnitTests/Ledger/UT_PoolItem.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_PoolItem.cs
rename to tests/neo.UnitTests/Ledger/UT_PoolItem.cs
diff --git a/neo.UnitTests/Ledger/UT_SendersFeeMonitor.cs b/tests/neo.UnitTests/Ledger/UT_SendersFeeMonitor.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_SendersFeeMonitor.cs
rename to tests/neo.UnitTests/Ledger/UT_SendersFeeMonitor.cs
diff --git a/neo.UnitTests/Ledger/UT_StorageItem.cs b/tests/neo.UnitTests/Ledger/UT_StorageItem.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_StorageItem.cs
rename to tests/neo.UnitTests/Ledger/UT_StorageItem.cs
diff --git a/neo.UnitTests/Ledger/UT_StorageKey.cs b/tests/neo.UnitTests/Ledger/UT_StorageKey.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_StorageKey.cs
rename to tests/neo.UnitTests/Ledger/UT_StorageKey.cs
diff --git a/neo.UnitTests/Ledger/UT_TransactionState.cs b/tests/neo.UnitTests/Ledger/UT_TransactionState.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_TransactionState.cs
rename to tests/neo.UnitTests/Ledger/UT_TransactionState.cs
diff --git a/neo.UnitTests/Ledger/UT_TrimmedBlock.cs b/tests/neo.UnitTests/Ledger/UT_TrimmedBlock.cs
similarity index 100%
rename from neo.UnitTests/Ledger/UT_TrimmedBlock.cs
rename to tests/neo.UnitTests/Ledger/UT_TrimmedBlock.cs
diff --git a/neo.UnitTests/Network/P2P/Payloads/UT_Block.cs b/tests/neo.UnitTests/Network/P2P/Payloads/UT_Block.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/Payloads/UT_Block.cs
rename to tests/neo.UnitTests/Network/P2P/Payloads/UT_Block.cs
diff --git a/neo.UnitTests/Network/P2P/Payloads/UT_Cosigner.cs b/tests/neo.UnitTests/Network/P2P/Payloads/UT_Cosigner.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/Payloads/UT_Cosigner.cs
rename to tests/neo.UnitTests/Network/P2P/Payloads/UT_Cosigner.cs
diff --git a/neo.UnitTests/Network/P2P/Payloads/UT_Header.cs b/tests/neo.UnitTests/Network/P2P/Payloads/UT_Header.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/Payloads/UT_Header.cs
rename to tests/neo.UnitTests/Network/P2P/Payloads/UT_Header.cs
diff --git a/neo.UnitTests/Network/P2P/Payloads/UT_Transaction.cs b/tests/neo.UnitTests/Network/P2P/Payloads/UT_Transaction.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/Payloads/UT_Transaction.cs
rename to tests/neo.UnitTests/Network/P2P/Payloads/UT_Transaction.cs
diff --git a/neo.UnitTests/Network/P2P/Payloads/UT_Witness.cs b/tests/neo.UnitTests/Network/P2P/Payloads/UT_Witness.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/Payloads/UT_Witness.cs
rename to tests/neo.UnitTests/Network/P2P/Payloads/UT_Witness.cs
diff --git a/neo.UnitTests/Network/P2P/UT_Message.cs b/tests/neo.UnitTests/Network/P2P/UT_Message.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/UT_Message.cs
rename to tests/neo.UnitTests/Network/P2P/UT_Message.cs
diff --git a/neo.UnitTests/Network/P2P/UT_ProtocolHandler.cs b/tests/neo.UnitTests/Network/P2P/UT_ProtocolHandler.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/UT_ProtocolHandler.cs
rename to tests/neo.UnitTests/Network/P2P/UT_ProtocolHandler.cs
diff --git a/neo.UnitTests/Network/P2P/UT_ProtocolHandlerMailbox.cs b/tests/neo.UnitTests/Network/P2P/UT_ProtocolHandlerMailbox.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/UT_ProtocolHandlerMailbox.cs
rename to tests/neo.UnitTests/Network/P2P/UT_ProtocolHandlerMailbox.cs
diff --git a/neo.UnitTests/Network/P2P/UT_RemoteNode.cs b/tests/neo.UnitTests/Network/P2P/UT_RemoteNode.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/UT_RemoteNode.cs
rename to tests/neo.UnitTests/Network/P2P/UT_RemoteNode.cs
diff --git a/neo.UnitTests/Network/P2P/UT_RemoteNodeMailbox.cs b/tests/neo.UnitTests/Network/P2P/UT_RemoteNodeMailbox.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/UT_RemoteNodeMailbox.cs
rename to tests/neo.UnitTests/Network/P2P/UT_RemoteNodeMailbox.cs
diff --git a/neo.UnitTests/Network/P2P/UT_TaskManagerMailbox.cs b/tests/neo.UnitTests/Network/P2P/UT_TaskManagerMailbox.cs
similarity index 100%
rename from neo.UnitTests/Network/P2P/UT_TaskManagerMailbox.cs
rename to tests/neo.UnitTests/Network/P2P/UT_TaskManagerMailbox.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcBlock.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcBlock.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcBlock.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcBlock.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcBlockHeader.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcBlockHeader.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcBlockHeader.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcBlockHeader.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balance.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balance.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balance.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balance.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balances.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balances.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balances.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcNep5Balances.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcPeer.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcPeer.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcPeer.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcPeer.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcPeers.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcPeers.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcPeers.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcPeers.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcRawMemPool.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcRawMemPool.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcRawMemPool.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcRawMemPool.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcRequest.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcRequest.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcRequest.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcRequest.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcResponse.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcResponse.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcResponse.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcResponse.cs
diff --git a/neo.UnitTests/Network/RPC/Models/UT_RpcVersion.cs b/tests/neo.UnitTests/Network/RPC/Models/UT_RpcVersion.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/Models/UT_RpcVersion.cs
rename to tests/neo.UnitTests/Network/RPC/Models/UT_RpcVersion.cs
diff --git a/neo.UnitTests/Network/RPC/UT_ContractClient.cs b/tests/neo.UnitTests/Network/RPC/UT_ContractClient.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_ContractClient.cs
rename to tests/neo.UnitTests/Network/RPC/UT_ContractClient.cs
diff --git a/neo.UnitTests/Network/RPC/UT_Helper.cs b/tests/neo.UnitTests/Network/RPC/UT_Helper.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_Helper.cs
rename to tests/neo.UnitTests/Network/RPC/UT_Helper.cs
diff --git a/neo.UnitTests/Network/RPC/UT_Nep5API.cs b/tests/neo.UnitTests/Network/RPC/UT_Nep5API.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_Nep5API.cs
rename to tests/neo.UnitTests/Network/RPC/UT_Nep5API.cs
diff --git a/neo.UnitTests/Network/RPC/UT_PolicyAPI.cs b/tests/neo.UnitTests/Network/RPC/UT_PolicyAPI.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_PolicyAPI.cs
rename to tests/neo.UnitTests/Network/RPC/UT_PolicyAPI.cs
diff --git a/neo.UnitTests/Network/RPC/UT_RpcClient.cs b/tests/neo.UnitTests/Network/RPC/UT_RpcClient.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_RpcClient.cs
rename to tests/neo.UnitTests/Network/RPC/UT_RpcClient.cs
diff --git a/neo.UnitTests/Network/RPC/UT_RpcServer.cs b/tests/neo.UnitTests/Network/RPC/UT_RpcServer.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_RpcServer.cs
rename to tests/neo.UnitTests/Network/RPC/UT_RpcServer.cs
diff --git a/neo.UnitTests/Network/RPC/UT_TransactionManager.cs b/tests/neo.UnitTests/Network/RPC/UT_TransactionManager.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_TransactionManager.cs
rename to tests/neo.UnitTests/Network/RPC/UT_TransactionManager.cs
diff --git a/neo.UnitTests/Network/RPC/UT_WalletAPI.cs b/tests/neo.UnitTests/Network/RPC/UT_WalletAPI.cs
similarity index 100%
rename from neo.UnitTests/Network/RPC/UT_WalletAPI.cs
rename to tests/neo.UnitTests/Network/RPC/UT_WalletAPI.cs
diff --git a/neo.UnitTests/Plugins/TestLogPlugin.cs b/tests/neo.UnitTests/Plugins/TestLogPlugin.cs
similarity index 100%
rename from neo.UnitTests/Plugins/TestLogPlugin.cs
rename to tests/neo.UnitTests/Plugins/TestLogPlugin.cs
diff --git a/neo.UnitTests/Plugins/UT_Plugin.cs b/tests/neo.UnitTests/Plugins/UT_Plugin.cs
similarity index 100%
rename from neo.UnitTests/Plugins/UT_Plugin.cs
rename to tests/neo.UnitTests/Plugins/UT_Plugin.cs
diff --git a/neo.UnitTests/README.md b/tests/neo.UnitTests/README.md
similarity index 100%
rename from neo.UnitTests/README.md
rename to tests/neo.UnitTests/README.md
diff --git a/neo.UnitTests/SmartContract/Enumerators/UT_ConcatenatedEnumerator.cs b/tests/neo.UnitTests/SmartContract/Enumerators/UT_ConcatenatedEnumerator.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Enumerators/UT_ConcatenatedEnumerator.cs
rename to tests/neo.UnitTests/SmartContract/Enumerators/UT_ConcatenatedEnumerator.cs
diff --git a/neo.UnitTests/SmartContract/Enumerators/UT_IteratorKeysWrapper.cs b/tests/neo.UnitTests/SmartContract/Enumerators/UT_IteratorKeysWrapper.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Enumerators/UT_IteratorKeysWrapper.cs
rename to tests/neo.UnitTests/SmartContract/Enumerators/UT_IteratorKeysWrapper.cs
diff --git a/neo.UnitTests/SmartContract/Enumerators/UT_IteratorValuesWrapper.cs b/tests/neo.UnitTests/SmartContract/Enumerators/UT_IteratorValuesWrapper.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Enumerators/UT_IteratorValuesWrapper.cs
rename to tests/neo.UnitTests/SmartContract/Enumerators/UT_IteratorValuesWrapper.cs
diff --git a/neo.UnitTests/SmartContract/Iterators/UT_ArrayWrapper.cs b/tests/neo.UnitTests/SmartContract/Iterators/UT_ArrayWrapper.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Iterators/UT_ArrayWrapper.cs
rename to tests/neo.UnitTests/SmartContract/Iterators/UT_ArrayWrapper.cs
diff --git a/neo.UnitTests/SmartContract/Iterators/UT_ConcatenatedIterator.cs b/tests/neo.UnitTests/SmartContract/Iterators/UT_ConcatenatedIterator.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Iterators/UT_ConcatenatedIterator.cs
rename to tests/neo.UnitTests/SmartContract/Iterators/UT_ConcatenatedIterator.cs
diff --git a/neo.UnitTests/SmartContract/Iterators/UT_MapWrapper.cs b/tests/neo.UnitTests/SmartContract/Iterators/UT_MapWrapper.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Iterators/UT_MapWrapper.cs
rename to tests/neo.UnitTests/SmartContract/Iterators/UT_MapWrapper.cs
diff --git a/neo.UnitTests/SmartContract/Iterators/UT_StorageIterator.cs b/tests/neo.UnitTests/SmartContract/Iterators/UT_StorageIterator.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Iterators/UT_StorageIterator.cs
rename to tests/neo.UnitTests/SmartContract/Iterators/UT_StorageIterator.cs
diff --git a/neo.UnitTests/SmartContract/Manifest/UT_ContractEventDescriptor.cs b/tests/neo.UnitTests/SmartContract/Manifest/UT_ContractEventDescriptor.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Manifest/UT_ContractEventDescriptor.cs
rename to tests/neo.UnitTests/SmartContract/Manifest/UT_ContractEventDescriptor.cs
diff --git a/neo.UnitTests/SmartContract/Manifest/UT_ContractGroup.cs b/tests/neo.UnitTests/SmartContract/Manifest/UT_ContractGroup.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Manifest/UT_ContractGroup.cs
rename to tests/neo.UnitTests/SmartContract/Manifest/UT_ContractGroup.cs
diff --git a/neo.UnitTests/SmartContract/Manifest/UT_ContractManifest.cs b/tests/neo.UnitTests/SmartContract/Manifest/UT_ContractManifest.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Manifest/UT_ContractManifest.cs
rename to tests/neo.UnitTests/SmartContract/Manifest/UT_ContractManifest.cs
diff --git a/neo.UnitTests/SmartContract/Manifest/UT_ContractPermission.cs b/tests/neo.UnitTests/SmartContract/Manifest/UT_ContractPermission.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Manifest/UT_ContractPermission.cs
rename to tests/neo.UnitTests/SmartContract/Manifest/UT_ContractPermission.cs
diff --git a/neo.UnitTests/SmartContract/Manifest/UT_ContractPermissionDescriptor.cs b/tests/neo.UnitTests/SmartContract/Manifest/UT_ContractPermissionDescriptor.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Manifest/UT_ContractPermissionDescriptor.cs
rename to tests/neo.UnitTests/SmartContract/Manifest/UT_ContractPermissionDescriptor.cs
diff --git a/neo.UnitTests/SmartContract/Manifest/UT_WildCardContainer.cs b/tests/neo.UnitTests/SmartContract/Manifest/UT_WildCardContainer.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Manifest/UT_WildCardContainer.cs
rename to tests/neo.UnitTests/SmartContract/Manifest/UT_WildCardContainer.cs
diff --git a/neo.UnitTests/SmartContract/Native/Tokens/UT_GasToken.cs b/tests/neo.UnitTests/SmartContract/Native/Tokens/UT_GasToken.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Native/Tokens/UT_GasToken.cs
rename to tests/neo.UnitTests/SmartContract/Native/Tokens/UT_GasToken.cs
diff --git a/neo.UnitTests/SmartContract/Native/Tokens/UT_NeoToken.cs b/tests/neo.UnitTests/SmartContract/Native/Tokens/UT_NeoToken.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Native/Tokens/UT_NeoToken.cs
rename to tests/neo.UnitTests/SmartContract/Native/Tokens/UT_NeoToken.cs
diff --git a/neo.UnitTests/SmartContract/Native/Tokens/UT_Nep5Token.cs b/tests/neo.UnitTests/SmartContract/Native/Tokens/UT_Nep5Token.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Native/Tokens/UT_Nep5Token.cs
rename to tests/neo.UnitTests/SmartContract/Native/Tokens/UT_Nep5Token.cs
diff --git a/neo.UnitTests/SmartContract/Native/UT_NativeContract.cs b/tests/neo.UnitTests/SmartContract/Native/UT_NativeContract.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Native/UT_NativeContract.cs
rename to tests/neo.UnitTests/SmartContract/Native/UT_NativeContract.cs
diff --git a/neo.UnitTests/SmartContract/Native/UT_PolicyContract.cs b/tests/neo.UnitTests/SmartContract/Native/UT_PolicyContract.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/Native/UT_PolicyContract.cs
rename to tests/neo.UnitTests/SmartContract/Native/UT_PolicyContract.cs
diff --git a/neo.UnitTests/SmartContract/UT_ApplicationEngine.cs b/tests/neo.UnitTests/SmartContract/UT_ApplicationEngine.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_ApplicationEngine.cs
rename to tests/neo.UnitTests/SmartContract/UT_ApplicationEngine.cs
diff --git a/neo.UnitTests/SmartContract/UT_ContainerPlaceholder.cs b/tests/neo.UnitTests/SmartContract/UT_ContainerPlaceholder.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_ContainerPlaceholder.cs
rename to tests/neo.UnitTests/SmartContract/UT_ContainerPlaceholder.cs
diff --git a/neo.UnitTests/SmartContract/UT_Contract.cs b/tests/neo.UnitTests/SmartContract/UT_Contract.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_Contract.cs
rename to tests/neo.UnitTests/SmartContract/UT_Contract.cs
diff --git a/neo.UnitTests/SmartContract/UT_ContractParameter.cs b/tests/neo.UnitTests/SmartContract/UT_ContractParameter.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_ContractParameter.cs
rename to tests/neo.UnitTests/SmartContract/UT_ContractParameter.cs
diff --git a/neo.UnitTests/SmartContract/UT_ContractParameterContext.cs b/tests/neo.UnitTests/SmartContract/UT_ContractParameterContext.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_ContractParameterContext.cs
rename to tests/neo.UnitTests/SmartContract/UT_ContractParameterContext.cs
diff --git a/neo.UnitTests/SmartContract/UT_InteropDescriptor.cs b/tests/neo.UnitTests/SmartContract/UT_InteropDescriptor.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_InteropDescriptor.cs
rename to tests/neo.UnitTests/SmartContract/UT_InteropDescriptor.cs
diff --git a/neo.UnitTests/SmartContract/UT_InteropPrices.cs b/tests/neo.UnitTests/SmartContract/UT_InteropPrices.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_InteropPrices.cs
rename to tests/neo.UnitTests/SmartContract/UT_InteropPrices.cs
diff --git a/neo.UnitTests/SmartContract/UT_InteropService.NEO.cs b/tests/neo.UnitTests/SmartContract/UT_InteropService.NEO.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_InteropService.NEO.cs
rename to tests/neo.UnitTests/SmartContract/UT_InteropService.NEO.cs
diff --git a/neo.UnitTests/SmartContract/UT_InteropService.cs b/tests/neo.UnitTests/SmartContract/UT_InteropService.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_InteropService.cs
rename to tests/neo.UnitTests/SmartContract/UT_InteropService.cs
diff --git a/neo.UnitTests/SmartContract/UT_JsonSerializer.cs b/tests/neo.UnitTests/SmartContract/UT_JsonSerializer.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_JsonSerializer.cs
rename to tests/neo.UnitTests/SmartContract/UT_JsonSerializer.cs
diff --git a/neo.UnitTests/SmartContract/UT_LogEventArgs.cs b/tests/neo.UnitTests/SmartContract/UT_LogEventArgs.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_LogEventArgs.cs
rename to tests/neo.UnitTests/SmartContract/UT_LogEventArgs.cs
diff --git a/neo.UnitTests/SmartContract/UT_NefFile.cs b/tests/neo.UnitTests/SmartContract/UT_NefFile.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_NefFile.cs
rename to tests/neo.UnitTests/SmartContract/UT_NefFile.cs
diff --git a/neo.UnitTests/SmartContract/UT_NotifyEventArgs.cs b/tests/neo.UnitTests/SmartContract/UT_NotifyEventArgs.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_NotifyEventArgs.cs
rename to tests/neo.UnitTests/SmartContract/UT_NotifyEventArgs.cs
diff --git a/neo.UnitTests/SmartContract/UT_OpCodePrices.cs b/tests/neo.UnitTests/SmartContract/UT_OpCodePrices.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_OpCodePrices.cs
rename to tests/neo.UnitTests/SmartContract/UT_OpCodePrices.cs
diff --git a/neo.UnitTests/SmartContract/UT_SmartContractHelper.cs b/tests/neo.UnitTests/SmartContract/UT_SmartContractHelper.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_SmartContractHelper.cs
rename to tests/neo.UnitTests/SmartContract/UT_SmartContractHelper.cs
diff --git a/neo.UnitTests/SmartContract/UT_StorageContext.cs b/tests/neo.UnitTests/SmartContract/UT_StorageContext.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_StorageContext.cs
rename to tests/neo.UnitTests/SmartContract/UT_StorageContext.cs
diff --git a/neo.UnitTests/SmartContract/UT_Syscalls.cs b/tests/neo.UnitTests/SmartContract/UT_Syscalls.cs
similarity index 100%
rename from neo.UnitTests/SmartContract/UT_Syscalls.cs
rename to tests/neo.UnitTests/SmartContract/UT_Syscalls.cs
diff --git a/neo.UnitTests/TestBlockchain.cs b/tests/neo.UnitTests/TestBlockchain.cs
similarity index 100%
rename from neo.UnitTests/TestBlockchain.cs
rename to tests/neo.UnitTests/TestBlockchain.cs
diff --git a/neo.UnitTests/TestDataCache.cs b/tests/neo.UnitTests/TestDataCache.cs
similarity index 100%
rename from neo.UnitTests/TestDataCache.cs
rename to tests/neo.UnitTests/TestDataCache.cs
diff --git a/neo.UnitTests/TestMetaDataCache.cs b/tests/neo.UnitTests/TestMetaDataCache.cs
similarity index 100%
rename from neo.UnitTests/TestMetaDataCache.cs
rename to tests/neo.UnitTests/TestMetaDataCache.cs
diff --git a/neo.UnitTests/TestUtils.cs b/tests/neo.UnitTests/TestUtils.cs
similarity index 100%
rename from neo.UnitTests/TestUtils.cs
rename to tests/neo.UnitTests/TestUtils.cs
diff --git a/neo.UnitTests/TestVerifiable.cs b/tests/neo.UnitTests/TestVerifiable.cs
similarity index 100%
rename from neo.UnitTests/TestVerifiable.cs
rename to tests/neo.UnitTests/TestVerifiable.cs
diff --git a/neo.UnitTests/TestWalletAccount.cs b/tests/neo.UnitTests/TestWalletAccount.cs
similarity index 100%
rename from neo.UnitTests/TestWalletAccount.cs
rename to tests/neo.UnitTests/TestWalletAccount.cs
diff --git a/neo.UnitTests/UT_BigDecimal.cs b/tests/neo.UnitTests/UT_BigDecimal.cs
similarity index 100%
rename from neo.UnitTests/UT_BigDecimal.cs
rename to tests/neo.UnitTests/UT_BigDecimal.cs
diff --git a/neo.UnitTests/UT_Culture.cs b/tests/neo.UnitTests/UT_Culture.cs
similarity index 100%
rename from neo.UnitTests/UT_Culture.cs
rename to tests/neo.UnitTests/UT_Culture.cs
diff --git a/neo.UnitTests/UT_DataCache.cs b/tests/neo.UnitTests/UT_DataCache.cs
similarity index 100%
rename from neo.UnitTests/UT_DataCache.cs
rename to tests/neo.UnitTests/UT_DataCache.cs
diff --git a/neo.UnitTests/UT_Helper.cs b/tests/neo.UnitTests/UT_Helper.cs
similarity index 100%
rename from neo.UnitTests/UT_Helper.cs
rename to tests/neo.UnitTests/UT_Helper.cs
diff --git a/neo.UnitTests/UT_NeoSystem.cs b/tests/neo.UnitTests/UT_NeoSystem.cs
similarity index 100%
rename from neo.UnitTests/UT_NeoSystem.cs
rename to tests/neo.UnitTests/UT_NeoSystem.cs
diff --git a/neo.UnitTests/UT_ProtocolSettings.cs b/tests/neo.UnitTests/UT_ProtocolSettings.cs
similarity index 100%
rename from neo.UnitTests/UT_ProtocolSettings.cs
rename to tests/neo.UnitTests/UT_ProtocolSettings.cs
diff --git a/neo.UnitTests/UT_UInt160.cs b/tests/neo.UnitTests/UT_UInt160.cs
similarity index 100%
rename from neo.UnitTests/UT_UInt160.cs
rename to tests/neo.UnitTests/UT_UInt160.cs
diff --git a/neo.UnitTests/UT_UInt256.cs b/tests/neo.UnitTests/UT_UInt256.cs
similarity index 100%
rename from neo.UnitTests/UT_UInt256.cs
rename to tests/neo.UnitTests/UT_UInt256.cs
diff --git a/neo.UnitTests/UT_UIntBase.cs b/tests/neo.UnitTests/UT_UIntBase.cs
similarity index 100%
rename from neo.UnitTests/UT_UIntBase.cs
rename to tests/neo.UnitTests/UT_UIntBase.cs
diff --git a/neo.UnitTests/UT_UIntBenchmarks.cs b/tests/neo.UnitTests/UT_UIntBenchmarks.cs
similarity index 100%
rename from neo.UnitTests/UT_UIntBenchmarks.cs
rename to tests/neo.UnitTests/UT_UIntBenchmarks.cs
diff --git a/neo.UnitTests/UT_Utility.cs b/tests/neo.UnitTests/UT_Utility.cs
similarity index 100%
rename from neo.UnitTests/UT_Utility.cs
rename to tests/neo.UnitTests/UT_Utility.cs
diff --git a/neo.UnitTests/VM/UT_Helper.cs b/tests/neo.UnitTests/VM/UT_Helper.cs
similarity index 100%
rename from neo.UnitTests/VM/UT_Helper.cs
rename to tests/neo.UnitTests/VM/UT_Helper.cs
diff --git a/neo.UnitTests/Wallets/NEP6/UT_NEP6Account.cs b/tests/neo.UnitTests/Wallets/NEP6/UT_NEP6Account.cs
similarity index 100%
rename from neo.UnitTests/Wallets/NEP6/UT_NEP6Account.cs
rename to tests/neo.UnitTests/Wallets/NEP6/UT_NEP6Account.cs
diff --git a/neo.UnitTests/Wallets/NEP6/UT_NEP6Contract.cs b/tests/neo.UnitTests/Wallets/NEP6/UT_NEP6Contract.cs
similarity index 100%
rename from neo.UnitTests/Wallets/NEP6/UT_NEP6Contract.cs
rename to tests/neo.UnitTests/Wallets/NEP6/UT_NEP6Contract.cs
diff --git a/neo.UnitTests/Wallets/NEP6/UT_NEP6Wallet.cs b/tests/neo.UnitTests/Wallets/NEP6/UT_NEP6Wallet.cs
similarity index 100%
rename from neo.UnitTests/Wallets/NEP6/UT_NEP6Wallet.cs
rename to tests/neo.UnitTests/Wallets/NEP6/UT_NEP6Wallet.cs
diff --git a/neo.UnitTests/Wallets/NEP6/UT_ScryptParameters.cs b/tests/neo.UnitTests/Wallets/NEP6/UT_ScryptParameters.cs
similarity index 100%
rename from neo.UnitTests/Wallets/NEP6/UT_ScryptParameters.cs
rename to tests/neo.UnitTests/Wallets/NEP6/UT_ScryptParameters.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_Account.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_Account.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_Account.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_Account.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_Address.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_Address.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_Address.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_Address.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_Contract.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_Contract.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_Contract.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_Contract.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_Key.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_Key.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_Key.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_Key.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_UserWallet.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_UserWallet.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_UserWallet.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_UserWallet.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_UserWalletAccount.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_UserWalletAccount.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_UserWalletAccount.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_UserWalletAccount.cs
diff --git a/neo.UnitTests/Wallets/SQLite/UT_VerificationContract.cs b/tests/neo.UnitTests/Wallets/SQLite/UT_VerificationContract.cs
similarity index 100%
rename from neo.UnitTests/Wallets/SQLite/UT_VerificationContract.cs
rename to tests/neo.UnitTests/Wallets/SQLite/UT_VerificationContract.cs
diff --git a/neo.UnitTests/Wallets/UT_AssetDescriptor.cs b/tests/neo.UnitTests/Wallets/UT_AssetDescriptor.cs
similarity index 100%
rename from neo.UnitTests/Wallets/UT_AssetDescriptor.cs
rename to tests/neo.UnitTests/Wallets/UT_AssetDescriptor.cs
diff --git a/neo.UnitTests/Wallets/UT_KeyPair.cs b/tests/neo.UnitTests/Wallets/UT_KeyPair.cs
similarity index 100%
rename from neo.UnitTests/Wallets/UT_KeyPair.cs
rename to tests/neo.UnitTests/Wallets/UT_KeyPair.cs
diff --git a/neo.UnitTests/Wallets/UT_Wallet.cs b/tests/neo.UnitTests/Wallets/UT_Wallet.cs
similarity index 100%
rename from neo.UnitTests/Wallets/UT_Wallet.cs
rename to tests/neo.UnitTests/Wallets/UT_Wallet.cs
diff --git a/neo.UnitTests/Wallets/UT_WalletAccount.cs b/tests/neo.UnitTests/Wallets/UT_WalletAccount.cs
similarity index 100%
rename from neo.UnitTests/Wallets/UT_WalletAccount.cs
rename to tests/neo.UnitTests/Wallets/UT_WalletAccount.cs
diff --git a/neo.UnitTests/Wallets/UT_Wallets_Helper.cs b/tests/neo.UnitTests/Wallets/UT_Wallets_Helper.cs
similarity index 100%
rename from neo.UnitTests/Wallets/UT_Wallets_Helper.cs
rename to tests/neo.UnitTests/Wallets/UT_Wallets_Helper.cs
diff --git a/neo.UnitTests/neo.UnitTests.csproj b/tests/neo.UnitTests/neo.UnitTests.csproj
similarity index 94%
rename from neo.UnitTests/neo.UnitTests.csproj
rename to tests/neo.UnitTests/neo.UnitTests.csproj
index da3694e024..5857ea504f 100644
--- a/neo.UnitTests/neo.UnitTests.csproj
+++ b/tests/neo.UnitTests/neo.UnitTests.csproj
@@ -25,7 +25,7 @@
-
+
diff --git a/neo.UnitTests/protocol.json b/tests/neo.UnitTests/protocol.json
similarity index 100%
rename from neo.UnitTests/protocol.json
rename to tests/neo.UnitTests/protocol.json