Skip to content

Commit

Permalink
change ITransaction
Browse files Browse the repository at this point in the history
  • Loading branch information
loning committed Jan 29, 2018
1 parent b956cb1 commit 65b8258
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 4 deletions.
7 changes: 7 additions & 0 deletions AElf.Kernel/IAccountManager.cs
Expand Up @@ -12,5 +12,12 @@ public interface IAccountManager
/// <param name="tx"></param>
/// <returns></returns>
Task ExecuteTransactionAsync(IAccount fromAccount,IAccount toAccount, ITransaction tx);

/// <summary>
/// Create a account from smrat contract code
/// </summary>
/// <param name="smartContract"></param>
/// <returns></returns>
Task<IAccount> CreateAccount(byte[] smartContract);
}
}
22 changes: 22 additions & 0 deletions AElf.Kernel/ITransaction.cs
Expand Up @@ -19,5 +19,27 @@ public interface ITransaction
/// </summary>
/// <returns></returns>
ITransactionParallelMetaData GetParallelMetaData();

/// <summary>
/// Method name
/// </summary>
string MethodName { get; set; }

/// <summary>
/// Params
/// </summary>
object[] Params { get; set; }

/// <summary>
/// The caller
/// </summary>
IAccount From { get; set; }

/// <summary>
/// The instrance of a smart contract
/// </summary>
IAccount To { get; set; }

ulong IncrementId { get; set; }
}
}
10 changes: 9 additions & 1 deletion AElf.Kernel/IWorldState.cs
@@ -1,4 +1,6 @@
namespace AElf.Kernel
using System.Threading.Tasks;

namespace AElf.Kernel
{
/// <summary>
/// World State presents the state of a chain, changed by block.
Expand All @@ -11,5 +13,11 @@ public interface IWorldState
/// <param name="account"></param>
/// <returns></returns>
IAccountDataProvider GetAccountDataProviderByAccount(IAccount account);

/// <summary>
/// The merkle tree root presents the world state of a chain
/// </summary>
/// <returns></returns>
Task<IHash<IMerkleTree<IHash>>> GetWordStateMerkleTreeRootAsync();
}
}
2 changes: 2 additions & 0 deletions AElf.Kernel/LiteDBDataProvider.cs
Expand Up @@ -29,6 +29,8 @@ public LiteDBDataProvider(string path)
async Task<ISerializable> IAccountDataProvider.GetAsync(IHash key)
{
var c = this.db.GetCollection<Record>("data");


Task<ISerializable> task = new Task<ISerializable>(() => c.FindOne(x => x.Key.Equals(key)));
task.Start();
return await task;
Expand Down
6 changes: 6 additions & 0 deletions AElf.Kernel/Transaction.cs
Expand Up @@ -23,6 +23,12 @@ public ITransactionParallelMetaData GetParallelMetaData()
throw new NotImplementedException();
}

public string MethodName { get; set; }
public object[] Params { get; set; }
public IAccount From { get; set; }
public IAccount To { get; set; }
public ulong IncrementId { get; set; }

public IHash<IBlockHeader> LastBlockHashWhenCreating()
{
throw new NotImplementedException();
Expand Down
3 changes: 0 additions & 3 deletions AElf.OS/AElf.OS.csproj
Expand Up @@ -2,7 +2,4 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="Storage" />
</ItemGroup>
</Project>
10 changes: 10 additions & 0 deletions AElf.OS/Storage/IKeyValueStorage.cs
@@ -0,0 +1,10 @@
namespace AElf.OS.Storage
{
/// <summary>
/// An interface to do key value storage
/// </summary>
public interface IKeyValueStorage
{

}
}

0 comments on commit 65b8258

Please sign in to comment.