Transaction Details
Transaction Hash
ceeff2b22c3a09b84772b786c1d4e0be0c2e7b39a0c50fd6b0907fec2a701453
↗ Base Sepolia
From
0xe1288759446298f250c3bce5616706d25525ba7f
Transaction Data
{'p': 'zentest3', 'f': 'function_snippet', 'a': ["def asset_create(info, args):\n assert args['f'] == 'asset_create'\n sender = info['sender']\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 addr = handle_lookup(sender)\n owner, _ = get('asset', 'owner', None, tick)\n assert not owner\n\n put(addr, 'asset', 'owner', addr, tick)\n put(addr, 'asset', 'functions', ['asset_update_ownership', 'asset_update_functions'], tick)\n\ndef asset_update_ownership(info, args):\n assert args['f'] == 'asset_update_ownership'\n sender = info['sender']\n tick = args['a'][0]\n receiver = args['a'][1]\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 addr = handle_lookup(sender)\n owner, _ = get('asset', 'owner', None, tick)\n assert owner == addr\n\n # DO THIS to change the owner using receiver's Zentra token\n functions, _ = get('asset', 'functions', None, tick)\n assert type(functions) is list\n assert functions\n put(receiver, 'asset', 'owner', receiver, tick)\n put(receiver, 'asset', 'functions', functions, tick)\n\n\ndef asset_update_functions(info, args):\n assert args['f'] == 'asset_update_functions'\n sender = info['sender']\n addr = handle_lookup(sender)\n\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 owner, _ = get('asset', 'owner', None, tick)\n assert owner == addr\n\n functions = args['a'][1]\n assert type(functions) is list\n assert functions\n put(addr, 'asset', 'functions', functions, tick)\n\ndef asset_batch_create(info, args):\n assert args['f'] == 'asset_batch_create'\n sender = info['sender']\n addr = handle_lookup(sender)\n committee_members, _ = get('committee', 'members', [])\n committee_members = set(committee_members)\n assert addr in committee_members\n\n ticks = args['a'][0]\n assert type(ticks) is list\n for tick in ticks:\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 addr = handle_lookup(sender)\n owner, _ = get('asset', 'owner', None, tick)\n assert not owner\n\n if not owner:\n put(addr, 'asset', 'owner', addr, tick)\n put(addr, 'asset', 'functions', ['asset_update_ownership', 'asset_update_functions'], tick)\n"]}
Events
[['function_snippet', 'NewFunctionSnippet', '36779d7edd2940ecc0828d6251fb92fba429919fea7a6dcaa042ebd9e84be429']]