public UtilityCLIClientInferredTests() { var provider = new ServiceHelperExplicitSource(); Wallet = provider.GetService <IMultiChainCliWallet>(); Utility = provider.GetService <IMultiChainCliUtility>(); }
public RawCLIClientExplicitTests() { var provider = new ServiceHelperExplicitSource(); Raw = provider.GetService <IMultiChainCliRaw>(); Wallet = provider.GetService <IMultiChainCliWallet>(); }
public BlockchainCLIClientExplicitTests() { var provider = new ServiceHelperExplicitSource(); Wallet = provider.GetService <IMultiChainCliWallet>(); Blockchain = provider.GetService <IMultiChainCliGeneral>(); }
/// <summary> /// MultiChainCliClientFactory provides access to a collection of MultiChainCliClients /// </summary> /// <param name="multiChainCliGenerate">Provides access to Generate (native currency or coins) MultChain Core methods</param> /// <param name="multiChainCliOffChain">Provides access to OffChain MultChain Core methods</param> /// <param name="multiChainCliControl">Provides access to Control MultChain Core methods</param> /// <param name="multiChainCliGeneral">Provides access to General MultChain Core methods</param> /// <param name="multiChainCliNetwork">Provides access to Network MultChain Core methods</param> /// <param name="multiChainCliUtility">Provides access to Utility MultChain Core methods</param> /// <param name="multiChainCliMining">Provides access to Mining MultChain Core methods</param> /// <param name="multiChainCliWallet">Provides access to Wallet MultChain Core methods</param> /// <param name="multiChainCliForge">Provides access to the custom MultiChain Cli Forge client</param> /// <param name="multiChainCliRaw">Provides access to Raw MultChain Core methods</param> public MultiChainCliClientFactory(IMultiChainCliGenerate multiChainCliGenerate, IMultiChainCliOffChain multiChainCliOffChain, IMultiChainCliControl multiChainCliControl, IMultiChainCliGeneral multiChainCliGeneral, IMultiChainCliNetwork multiChainCliNetwork, IMultiChainCliUtility multiChainCliUtility, IMultiChainCliMining multiChainCliMining, IMultiChainCliWallet multiChainCliWallet, IMultiChainCliForge multiChainCliForge, IMultiChainCliRaw multiChainCliRaw) { _clients = new Dictionary <Type, object>(); _multiChainCliGenerate = multiChainCliGenerate; _clients.TryAdd(typeof(IMultiChainCliGenerate), multiChainCliGenerate); _multiChainCliOffChain = multiChainCliOffChain; _clients.TryAdd(typeof(IMultiChainCliGeneral), multiChainCliOffChain); _multiChainCliControl = multiChainCliControl; _clients.TryAdd(typeof(IMultiChainCliControl), multiChainCliControl); _multiChainCliGeneral = multiChainCliGeneral; _clients.TryAdd(typeof(IMultiChainCliGeneral), multiChainCliGeneral); _multiChainCliNetwork = multiChainCliNetwork; _clients.TryAdd(typeof(IMultiChainCliNetwork), multiChainCliNetwork); _multiChainCliUtility = multiChainCliUtility; _clients.TryAdd(typeof(IMultiChainCliUtility), multiChainCliUtility); _multiChainCliMining = multiChainCliMining; _clients.TryAdd(typeof(IMultiChainCliMining), multiChainCliMining); _multiChainCliWallet = multiChainCliWallet; _clients.TryAdd(typeof(IMultiChainCliWallet), multiChainCliWallet); _multiChainCliForge = multiChainCliForge; _clients.TryAdd(typeof(IMultiChainCliForge), multiChainCliForge); _multiChainCliRaw = multiChainCliRaw; _clients.TryAdd(typeof(IMultiChainCliRaw), multiChainCliRaw); }
/// <summary> /// Create stream item from an address; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="fromAddress"></param> /// <param name="streamItemEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > PublishStreamItemKeyFrom(this IMultiChainCliWallet client, string fromAddress, PublishEntity <DataJson> streamItemEntity) => client.PublishFromAsync(fromAddress, streamItemEntity.StreamIdentifer, streamItemEntity.Key, streamItemEntity.Data, streamItemEntity.Options);
/// <summary> /// Create upgrade from an address; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="fromAddress"></param> /// <param name="upgradeEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateUpgradeFrom(this IMultiChainCliWallet client, string blockchainName, string fromAddress, UpgradeEntity upgradeEntity) => client.CreateFromAsync(blockchainName, fromAddress, upgradeEntity.EntityType, upgradeEntity.Name, upgradeEntity.Open, upgradeEntity.CustomFields);
// *** Create Upgrade extension methods /// <summary> /// Create upgrade; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="upgradeEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateUpgrade(this IMultiChainCliWallet client, UpgradeEntity upgradeEntity) => client.CreateAsync(upgradeEntity.EntityType, upgradeEntity.Name, upgradeEntity.Open, upgradeEntity.CustomFields);
// *** PublishMultiStreamItemsFrom using an explicit blockchain name /// <summary> /// Publish multiple stream items from an address; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="fromAddress"></param> /// <param name="publishMultiEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > PublishMultiStreamItemsFrom(this IMultiChainCliWallet client, string blockchainName, string fromAddress, PublishMultiEntity publishMultiEntity) => client.PublishMultiFromAsync(blockchainName, fromAddress, publishMultiEntity.StreamIdentifier, publishMultiEntity.Items.ToArray(), publishMultiEntity.Options);
// *** PublishMultiStreamItems using an inferred blockchain name /// <summary> /// Publish multiple stream items; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="publishMultiEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > PublishMultiStreamItems(this IMultiChainCliWallet client, PublishMultiEntity publishMultiEntity) => client.PublishMultiAsync(publishMultiEntity.StreamIdentifier, publishMultiEntity.Items.ToArray(), publishMultiEntity.Options);
/// <summary> /// Create stream item from an address; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="fromAddress"></param> /// <param name="streamItemEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > PublishStreamItemKeysFrom(this IMultiChainCliWallet client, string blockchainName, string fromAddress, PublishEntity <DataText> streamItemEntity) => client.PublishFromAsync(blockchainName, fromAddress, streamItemEntity.StreamIdentifer, streamItemEntity.Keys, streamItemEntity.Data, streamItemEntity.Options);
/// <summary> /// Create stream from an address; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="fromAddress"></param> /// <param name="streamEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateStreamFrom(this IMultiChainCliWallet client, string blockchainName, string fromAddress, StreamEntity streamEntity) => client.CreateFromAsync(blockchainName, fromAddress, streamEntity.EntityType, streamEntity.Name, streamEntity.Restrictions, streamEntity.CustomFields);
/// <summary> /// Create stream item; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="streamItemEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > PublishStreamItemKey(this IMultiChainCliWallet client, PublishEntity <DataText> streamItemEntity) => client.PublishAsync(streamItemEntity.StreamIdentifer, streamItemEntity.Key, streamItemEntity.Data, streamItemEntity.Options);
/// <summary> /// Create stream item; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="streamItemEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > PublishStreamItemKeys(this IMultiChainCliWallet client, string blockchainName, PublishEntity <DataJson> streamItemEntity) => client.PublishAsync(blockchainName, streamItemEntity.StreamIdentifer, streamItemEntity.Keys, streamItemEntity.Data, streamItemEntity.Options);
// *** Create Stream extension methods /// <summary> /// Create stream; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="streamEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateStream(this IMultiChainCliWallet client, StreamEntity streamEntity) => client.CreateAsync(streamEntity.EntityType, streamEntity.Name, streamEntity.Restrictions, streamEntity.CustomFields);
/// <summary> /// Create transaction filter from an address; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="fromAddress"></param> /// <param name="txFilterEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateTxFilterFrom(this IMultiChainCliWallet client, string blockchainName, string fromAddress, TxFilterEntity txFilterEntity) => client.CreateFromAsync(blockchainName, fromAddress, txFilterEntity.EntityType, txFilterEntity.Name, txFilterEntity.Restrictions, txFilterEntity.JavaScriptCode);
// *** Create Tx Filter extension methods /// <summary> /// Create transaction filter; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="txFilterEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateTxFilter(this IMultiChainCliWallet client, TxFilterEntity txFilterEntity) => client.CreateAsync(txFilterEntity.EntityType, txFilterEntity.Name, txFilterEntity.Restrictions, txFilterEntity.JavaScriptCode);
/// <summary> /// Create stream filter from an address; Blockchain name is inferred /// </summary> /// <param name="client"></param> /// <param name="fromAddress"></param> /// <param name="streamFilterEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateStreamFilterFrom(this IMultiChainCliWallet client, string fromAddress, StreamFilterEntity streamFilterEntity) => client.CreateFromAsync(fromAddress, streamFilterEntity.EntityType, streamFilterEntity.Name, streamFilterEntity.Restrictions, streamFilterEntity.JavaScriptCode);
/// <summary> /// Create stream filter; Blockchain name is explicit /// </summary> /// <param name="client"></param> /// <param name="blockchainName"></param> /// <param name="streamFilterEntity"></param> /// <returns></returns> public static Task <CliResponse <string> > CreateStreamFilter(this IMultiChainCliWallet client, string blockchainName, StreamFilterEntity streamFilterEntity) => client.CreateAsync(blockchainName, streamFilterEntity.EntityType, streamFilterEntity.Name, streamFilterEntity.Restrictions, streamFilterEntity.JavaScriptCode);