public async Task <TransactionAssetCreatorDescription> CreateAsset(string issuer, string symbol, uint precision, AssetOptionCreateOrUpdate common, BitassetOptionCreateOrUpdate bitassetOpts, bool broadcast = false) { _logger.LogInformation($"[BlockchainApi] CreateAsset: issuer {issuer}, symbol {symbol}, broadcast {broadcast}"); var cli = new GrapheneWallet(_webSocketClientFactory); await cli.StartAndConnect(_lstCreds); var c1 = _mapper.Map <AssetOptionCreateOrUpdate, GrapheneAssetOptions>(common); var bc1 = _mapper.Map <BitassetOptionCreateOrUpdate, GrapheneBitAssetOptions>(bitassetOpts); var cAsset = cli.CreateAsset(issuer, symbol, precision, c1, bc1, broadcast); return(_mapper.Map <GrapheneTransactionRecord <GrapheneAssetCreator>, TransactionAssetCreatorDescription>(cAsset)); }
public async Task <TransactionAssetCreatorDescription> CreateUiAsset(string issuer, string symbol, uint precision, ulong maxSupply, decimal marketFeePercent, ulong maxMarketFee, ulong amountBase, ulong amountQuote, string description) { _logger.LogInformation($"[BlockchainApi] CreateUiAsset: issuer {issuer}, symbol {symbol}"); var cli = new GrapheneWallet(_webSocketClientFactory); await cli.StartAndConnect(_lstCreds); var h1 = new AssetOptionHelper(); var common = new GrapheneAssetOptions(); common.Max_supply = maxSupply; common.Market_fee_percent = marketFeePercent; common.Max_market_fee = maxMarketFee; common.Issuer_permissions = h1.GetPermissions(false); common.Flags = h1.GetFlag(); common.Whitelist_authorities = new List <string>(); common.Blacklist_authorities = new List <string>(); common.Whitelist_markets = new List <string>(); common.Blacklist_markets = new List <string>(); common.Core_exchange_rate = new GrapheneExchangeRate() { Base = new GrapheneAmount() { Amount = amountBase, Asset_id = "1.3.0" }, Quote = new GrapheneAmount() { Amount = amountQuote, Asset_id = "1.3.1" } }; common.Description = description; common.IsPredictionMarket = false; //var optBitAsset = new GrapheneBitAssetOptions(); ///* //"feed_lifetime_sec" : 60 * 60 * 24, //"minimum_feeds" : 7, //"force_settlement_delay_sec" : 60 * 60 * 24, //"force_settlement_offset_percent" : 1 * assetConstants.GRAPHENE_1_PERCENT, //"maximum_force_settlement_volume" : 20 * assetConstants.GRAPHENE_1_PERCENT, //"short_backing_asset" : "1.3.0" //*/ //optBitAsset.Feed_lifetime_sec = 60 * 60 * 24; //optBitAsset.Minimum_feeds = 7; //optBitAsset.Force_settlement_delay_sec = 60 * 60 * 24; //optBitAsset.Force_settlement_offset_percent = 1 * h1.GRAPHENE_1_PERCENT; //optBitAsset.Maximum_force_settlement_volume = 20 * h1.GRAPHENE_1_PERCENT; //optBitAsset.Short_backing_asset = "1.3.0"; var cAsset = cli.CreateAsset(issuer, symbol, precision, common, null, true); return(_mapper.Map <GrapheneTransactionRecord <GrapheneAssetCreator>, TransactionAssetCreatorDescription>(cAsset)); }