Contract con_uw_master_energy_2


Contract Code


  
1 import currency
2 import con_uwarriors_lst001
3 I = importlib
4
5 S = Hash(default_value=None)
6 metadata = Hash(default_value=0)
7 balances = Hash(default_value=0)
8 wp = ForeignHash(foreign_contract='con_uwarriors_lst001', foreign_name='balances')
9
10 @construct
11 def seed():
12 metadata['operator'] = ctx.caller
13 metadata['cost_1'] = 30
14 metadata['time'] = 24
15
16
17 @export
18 def buy_drink_full():
19 sender = ctx.caller
20 amount = metadata['cost_1']
21 operator = metadata['operator']
22 assert wp[sender] >= amount , 'Not enough coins to send!'
23
24 if balances[sender, 'full', 'time_drink'] is None:
25 con_uwarriors_lst001.transfer_from(amount, metadata['operator'], sender)
26 balances[sender, 'full', 'time_drink'] = now
27 return True
28 else:
29 assert (now - balances[sender, 'full', 'time_drink']).hours >= metadata['time'] , 'Cant Use drink!'
30 con_uwarriors_lst001.transfer_from(amount, metadata['operator'], sender)
31 balances[sender, 'full', 'time_drink'] = now
32 return True
33
34 @export
35 def change_meta(meta:str, value: Any):
36 assert ctx.caller == metadata['operator'], 'Only operator can set metadata!'
37 metadata[meta] = value
38
39

Byte Code

e300000000000000000000000006000000400000007382000000640064016c005a00640064016c015a0165025a03650464016402640364048d035a05650464006402640564048d035a06650464006402640664048d035a076508640764066402640864098d045a09640a640b84005a0a650b64028301640c640d840083015a0c650b64028301650d650e640e9c02640f6410840483015a0f640153002911e9000000004eda16636f6e5f75775f6d61737465725f656e657267795f32da01532903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da086d65746164617461da0862616c616e636573da14636f6e5f7577617272696f72735f6c7374303031da0277702904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d6572050000007206000000630000000000000000000000000300000043000000731e00000074006a01740264013c006402740264033c006404740264053c006400530029064eda086f70657261746f72e91e000000da06636f73745f31e918000000da0474696d652903da03637478da0663616c6c6572da0a5f5f6d65746164617461a90072150000007215000000da00da045f5f5f5f0d000000730600000000010a010801721700000063000000000000000003000000050000004300000073ac00000074006a017d007402640119007d017402640219007d0274037c0019007c016b05732a740464038301820174057c00640464056603190064006b08726074066a077c017402640219007c0083030100740874057c006404640566033c0064065300740874057c00640464056603190018006a097402640719006b057384740464088301820174066a077c017402640219007c0083030100740874057c006404640566033c00640653006400530029094e720f000000720d0000007a194e6f7420656e6f75676820636f696e7320746f2073656e6421da0466756c6cda0a74696d655f6472696e6b5472110000007a0f43616e7420557365206472696e6b21290a721200000072130000007214000000da045f5f7770da0e417373657274696f6e4572726f72da0a5f5f62616c616e6365737209000000da0d7472616e736665725f66726f6dda036e6f77da05686f7572732903da0673656e646572da06616d6f756e74720d000000721500000072150000007216000000da0e6275795f6472696e6b5f66756c6c13000000731e0000000002060108010801140112010c0106010e010402120112010c0106010e0172220000002902da046d657461da0576616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e720d0000007a1f4f6e6c79206f70657261746f722063616e20736574206d65746164617461212904721200000072130000007214000000721b000000290272230000007224000000721500000072150000007216000000da0b6368616e67655f6d65746127000000730600000000021001060172250000002910da0863757272656e63797209000000da09696d706f72746c6962da0149da0448617368da035f5f537214000000721c000000da0b466f726569676e48617368721a0000007217000000da085f5f6578706f72747222000000da03737472da03416e7972250000007215000000721500000072150000007216000000da083c6d6f64756c653e01000000731a0000000801080104010e01060108010601080104010c03080610140601