コード例 #1
0
        public async Task <MResellerController> init()
        {
            user = await user.init();

            nanoFinAddr = await MUtilityClass.getAddress(client, 1);

            burnAddress = await MUtilityClass.getBurnAddress(client);

            return(this);
        }
コード例 #2
0
        //burn reseller bulk voucher. issue consumer voucher
        public async Task <int> sendBulk(int recipientUserID, int amount)
        {
            string recipientAddr = await MUtilityClass.getAddress(client, recipientUserID);

            //await user.grantPermissions(BlockchainPermissions.Send);
            //spend reseller BulkVoucher inputs
            string metadata             = "Reseller \'" + user.propertyUserID() + "\' spent " + amount.ToString() + " BulkVoucher. " + amount.ToString() + " Voucher of same amount to be issued to user \'" + recipientUserID.ToString() + "\'.";
            var    sendWithMetaDataFrom = await client.SendWithMetadataFromAsync(user.propertyUserAddress(), burnAddress, "BulkVoucher", amount, MUtilityClass.strToHex(metadata)); //metadata has to be converted to hex. convert back to string online or with MUtilityClasss

            sendWithMetaDataFrom.AssertOk();

            //check if recipient has the correct permissions, if not grant permissions
            MUserController recipientUser = new MUserController(recipientUserID);

            recipientUser = await recipientUser.init();

            //await recipientUser.grantPermissions(BlockchainPermissions.Receive);
            //issue recipient voucher
            var issueMore = await client.IssueMoreFromWithMetadataAsync(nanoFinAddr, recipientAddr, "Voucher", amount, "Issue consumer \'" + recipientUserID.ToString() + "\' " + amount.ToString() + " Voucher");

            issueMore.AssertOk();

            return(0);
        }