{"functions": ["token_mint_once", "token_burn", "token_send", "token_free_mint", "token_mint", "token_accept", "token_transfer", "token_create"], "snippet": "\ndef token_mint_free(info, args):\n tick = args['a'][0]\n assert type(tick) is str\n assert len(tick) > 0 and len(tick) < 42\n assert tick[0] in string.ascii_uppercase\n assert set(tick) <= set(string.ascii_uppercase+string.digits+'_')\n\n assert args['f'] == 'token_mint_free'\n functions, _ = get('asset', 'functions', [], tick)\n assert args['f'] in functions\n\n value = int(args['a'][1])\n assert value > 0\n\n sender = info['sender']\n addr = handle_lookup(sender)\n owner, _ = get('asset', 'owner', None, tick)\n assert owner == addr\n\n balance, _ = get(tick, 'balance', 0, addr)\n balance += value\n put(addr, tick, 'balance', balance, addr)\n\n total, _ = get(tick, 'total', 0)\n total += value\n put(addr, tick, 'total', total)\n event('TokenMintedFree', [tick, value, total])\n\n"}