private IAbpApplication CreateApplication <T>(ChainInitializationDto dto) where T : AbpModule
        {
            var application =
                AbpApplicationFactory.Create <T>(options =>
            {
                options.UseAutofac();
                options.Services.Configure <ChainOptions>(o => { o.ChainId = dto.ChainId; });

                options.Services.Configure <ChainInitializationOptions>(o =>
                {
                    o.Symbol        = dto.Symbol;
                    o.ChainId       = dto.ChainId;
                    o.ParentChainId = dto.ParentChainId;
                    o.CreationHeightOnParentChain             = dto.CreationHeightOnParentChain;
                    o.ParentChainTokenContractAddress         = dto.ParentChainTokenContractAddress;
                    o.RegisterParentChainTokenContractAddress = dto.RegisterParentChainTokenContractAddress;
                });
            });

            application.Initialize();
            return(application);
        }
        protected ContractTestKit <T> CreateContractTestKit <T>(ChainInitializationDto dto) where T : AbpModule
        {
            var application = CreateApplication <T>(dto);

            return(_contractTestKitFactory.Create <T>(application));
        }