Contract con_uw_orbs
Creator | 554bdec75c364c067e03f9d4113a2dab177f424d45122902a128d9590fba7880 |
Creation Hash | f1ada35eb286215f498f969845ab6d5440d4c15150029f9526b5cf109fa54698 |
Created On | 903 days ago - 11/9/2021, 10:28:50 PM UTC+0 |
Contract Code
1
S = Hash(default_value='')
2
metadata = Hash(default_value=0)
3
4
@construct
5
def seed():
6
metadata['operator'] = ctx.caller
7
metadata['master_contract'] = 'con_uw_master__s__1'
8
9
@export
10
def change_metadata(key: str, value: Any):
11
assert ctx.caller == metadata['operator'], 'Only operator can set metadata!'
12
metadata[key] = value
13
14
@export
15
def add_thing(thing_string: str, name: str, meta: dict, creator: str):
16
assert ctx.caller == metadata['master_contract'], 'Only operator can set metadata!'
17
uid = hashlib.sha256(thing_string)
18
assert not S[uid], thing_string + ' already exists'
19
S[uid] = ['thing', 'type', 'name', 'owner', 'creator', 'price:amount', 'meta_items']
20
S[uid, 'thing'] = thing_string
21
S[uid, 'type'] = 'text/plain'
22
S[uid, 'name'] = name
23
S[uid, 'owner'] = creator
24
S[uid, 'creator'] = creator
25
S[uid, 'price', 'amount'] = 0
26
S[uid, 'auction'] = False
27
S[uid, 'meta_items'] = ['type', 'id']
28
S[uid, 'meta', 'type'] = meta['type']
29
S[uid, 'meta', 'id'] = meta['id']
30
return uid
31
32
@export
33
def thing_exists(thing_string: str):
34
uid = hashlib.sha256(thing_string)
35
return S[uid]
36
37
@export
38
def change_auction(uid: str, auction: bool):
39
assert ctx.caller == metadata['master_contract'], 'Only operator can set metadata!'
40
S[uid, 'auction'] = auction
41
return S[uid]
42
43
@export
44
def add_meta(uid: str, meta: str, value: Any):
45
assert ctx.caller == metadata['master_contract'], 'Only operator can set metadata!'
46
S[uid, 'meta', meta] = value
47
return S[uid]
48
49
@export
50
def get_owner(uid: str):
51
return S[uid, 'owner']
52
53
@export
54
def get_type(uid: str):
55
return S[uid, 'meta', 'type']
56
57
@export
58
def get_creator(uid: str):
59
return S[uid, 'creator']
60
61
@export
62
def set_price(uid: str, amount: float):
63
assert ctx.caller == metadata['master_contract'], 'Only operator can set metadata!'
64
assert amount >= 0, 'Cannot set a negative price'
65
S[uid, 'price', 'amount'] = amount
66
67
68
@export
69
def get_price_amount(uid: str):
70
return S[uid, 'price', 'amount']
71
72
73
@export
74
def get_auction(uid: str):
75
return S[uid, 'auction']
76
77
78
@export
79
def set_owner(uid: str, owner: str):
80
assert ctx.caller == metadata['master_contract'], 'Only operator can set metadata!'
81
S[uid, 'owner'] = owner
Byte Code
e300000000000000000000000006000000400000007342010000650064006401640264038d035a01650064046401640564038d035a026406640784005a036504640183016505650664089c026409640a840483015a076504640183016505650565086505640b9c04640c640d840483015a096504640183016505640e9c01640f6410840483015a0a6504640183016505650b64119c0264126413840483015a0c65046401830165056505650664149c0364156416840483015a0d650464018301650564179c0164186419840483015a0e650464018301650564179c01641a641b840483015a0f650464018301650564179c01641c641d840483015a1065046401830165056511641e9c02641f6420840483015a12650464018301650564179c0164216422840483015a13650464018301650564179c0164236424840483015a146504640183016505650564259c0264266427840483015a15642853002929da00da0b636f6e5f75775f6f726273da01532903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65e900000000da086d65746164617461630000000000000000000000000300000043000000731600000074006a01740264013c006402740264033c006400530029044eda086f70657261746f72da13636f6e5f75775f6d61737465725f5f735f5f31da0f6d61737465725f636f6e74726163742903da03637478da0663616c6c6572da0a5f5f6d65746164617461a900720f000000720f0000007201000000da045f5f5f5f05000000730400000000010a0172100000002902da036b6579da0576616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e72090000007a1f4f6e6c79206f70657261746f722063616e20736574206d65746164617461212904720c000000720d000000720e000000da0e417373657274696f6e4572726f72290272110000007212000000720f000000720f0000007201000000da0f6368616e67655f6d657461646174610a000000730600000000021001060172140000002904da0c7468696e675f737472696e677206000000da046d657461da0763726561746f7263040000000000000005000000070000004300000073da00000074006a017402640119006b027316740364028301820174046a057c0083017d0474067c0419000c00733674037c006403170083018201640464056406640764086409640a670774067c043c007c0074067c04640466023c00640b74067c04640566023c007c0174067c04640666023c007c0374067c04640766023c007c0374067c04640866023c00640c74067c04640d640e66033c00640f74067c04641066023c0064056411670274067c04640a66023c007c026405190074067c046412640566033c007c026411190074067c046412641166033c007c04530029134e720b0000007a1f4f6e6c79206f70657261746f722063616e20736574206d65746164617461217a0f20616c726561647920657869737473da057468696e67da04747970657206000000da056f776e657272170000007a0c70726963653a616d6f756e74da0a6d6574615f6974656d737a0a746578742f706c61696e7207000000da057072696365da06616d6f756e7446da0761756374696f6eda02696472160000002907720c000000720d000000720e0000007213000000da07686173686c6962da06736861323536da035f5f5329057215000000720600000072160000007217000000da03756964720f000000720f0000007201000000da096164645f7468696e671100000073220000000002100106010a0116010c010a010c010c010c010c010c010e010c01100112011201722400000029017215000000630100000000000000020000000200000043000000731200000074006a017c0083017d0174027c011900530029014e2903722000000072210000007222000000290272150000007223000000720f000000720f0000007201000000da0c7468696e675f65786973747326000000730400000000020a01722500000029027223000000721e000000630200000000000000020000000400000043000000732a00000074006a017402640119006b02731674036402830182017c0174047c00640366023c0074047c001900530029044e720b0000007a1f4f6e6c79206f70657261746f722063616e20736574206d6574616461746121721e0000002905720c000000720d000000720e0000007213000000722200000029027223000000721e000000720f000000720f0000007201000000da0e6368616e67655f61756374696f6e2c00000073080000000002100106010c0172260000002903722300000072160000007212000000630300000000000000030000000500000043000000732c00000074006a017402640119006b02731674036402830182017c0274047c0064037c0166033c0074047c001900530029044e720b0000007a1f4f6e6c79206f70657261746f722063616e20736574206d657461646174612172160000002905720c000000720d000000720e000000721300000072220000002903722300000072160000007212000000720f000000720f0000007201000000da086164645f6d6574613400000073080000000002100106010e01722700000029017223000000630100000000000000010000000300000043000000730c00000074007c00640166021900530029024e721a0000002901722200000029017223000000720f000000720f0000007201000000da096765745f6f776e65723c000000730200000000027228000000630100000000000000010000000400000043000000730e00000074007c006401640266031900530029034e721600000072190000002901722200000029017223000000720f000000720f0000007201000000da086765745f7479706541000000730200000000027229000000630100000000000000010000000300000043000000730c00000074007c00640166021900530029024e72170000002901722200000029017223000000720f000000720f0000007201000000da0b6765745f63726561746f724600000073020000000002722a00000029027223000000721d000000630200000000000000020000000500000043000000733800000074006a017402640119006b02731674036402830182017c0164036b05732674036404830182017c0174047c006405640666033c006400530029074e720b0000007a1f4f6e6c79206f70657261746f722063616e20736574206d657461646174612172070000007a1b43616e6e6f74207365742061206e65676174697665207072696365721c000000721d0000002905720c000000720d000000720e0000007213000000722200000029027223000000721d000000720f000000720f0000007201000000da097365745f70726963654b00000073080000000002100106011001722b000000630100000000000000010000000400000043000000730e00000074007c006401640266031900530029034e721c000000721d0000002901722200000029017223000000720f000000720f0000007201000000da106765745f70726963655f616d6f756e745300000073020000000002722c000000630100000000000000010000000300000043000000730c00000074007c00640166021900530029024e721e0000002901722200000029017223000000720f000000720f0000007201000000da0b6765745f61756374696f6e5800000073020000000002722d00000029027223000000721a000000630200000000000000020000000400000043000000732600000074006a017402640119006b02731674036402830182017c0174047c00640366023c006400530029044e720b0000007a1f4f6e6c79206f70657261746f722063616e20736574206d6574616461746121721a0000002905720c000000720d000000720e0000007213000000722200000029027223000000721a000000720f000000720f0000007201000000da097365745f6f776e65725d0000007306000000000210010601722e0000004e2916da04486173687222000000720e0000007210000000da085f5f6578706f7274da03737472da03416e797214000000da046469637472240000007225000000da04626f6f6c7226000000722700000072280000007229000000722a000000da05666c6f6174722b000000722c000000722d000000722e000000720f000000720f000000720f0000007201000000da083c6d6f64756c653e0100000073340000000e010e03080506011206060116140601100506011207060114070601100406011004060110040601120706011004060110040601