Example #1
0
        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>();
        }
Example #3
0
        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);
        }
Example #5
0
 /// <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);
Example #6
0
 /// <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);
Example #7
0
        // *** 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);
Example #8
0
        // *** 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);
Example #9
0
        // *** 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);
Example #10
0
 /// <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);
Example #11
0
 /// <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);
Example #12
0
 /// <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);
Example #13
0
 /// <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);
Example #14
0
        // *** 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);
Example #15
0
 /// <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);
Example #16
0
        // *** 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);
Example #17
0
 /// <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);
Example #18
0
 /// <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);