Contract con_uw_rox


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 crystal = ForeignHash(foreign_contract='con_uw_nft_crystal', foreign_name='S')
10
11 @construct
12 def seed():
13 metadata['operator'] = ctx.caller
14 metadata['counter'] = 1
15
16 @export
17 def consume_crystal(contract: str, item_contract: str, uid: str):
18 sender = ctx.caller
19 thing_master_owner = I.import_module(item_contract)
20 owner = thing_master_owner.get_owner(uid)
21
22 tipo = crystal[uid, 'meta', 'type']
23
24 thing_master_contract = I.import_module(contract)
25 thing_master_contract.transfer_from(
26 uid=uid,
27 to=ctx.this,
28 main_account=ctx.caller,
29 contract=item_contract)
30
31 balances[owner, tipo] += 1
32
33 return tipo
34
35

Byte Code

e300000000000000000000000006000000400000007384000000640064016c005a00640064016c015a0165025a03650464016402640364048d035a05650464006402640564048d035a06650464006402640664048d035a076508640764066402640864098d045a096508640a64036402640b64098d045a0a640c640d84005a0b650c64028301650d650d650d640e9c03640f6410840483015a0e640153002911e9000000004eda0a636f6e5f75775f726f78da01532903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da086d65746164617461da0862616c616e636573da14636f6e5f7577617272696f72735f6c7374303031da0277702904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d6572050000007206000000da12636f6e5f75775f6e66745f6372797374616cda076372797374616c630000000000000000000000000300000043000000731600000074006a01740264013c006402740264033c006400530029044eda086f70657261746f72e901000000da07636f756e7465722903da03637478da0663616c6c6572da0a5f5f6d65746164617461a90072150000007215000000da00da045f5f5f5f0d000000730400000000010a01721700000029037205000000da0d6974656d5f636f6e7472616374da03756964630300000000000000080000000600000043000000736000000074006a017d0374026a037c0183017d047c046a047c0283017d0574057c0264016402660319007d0674026a037c0083017d077c076a067c0274006a0774006a017c0164038d04010074087c057c066602050019006404370003003c007c06530029054eda046d657461da047479706529047219000000da02746fda0c6d61696e5f6163636f756e7472050000007210000000290972120000007213000000da0149da0d696d706f72745f6d6f64756c65da096765745f6f776e6572da095f5f6372797374616cda0d7472616e736665725f66726f6dda0474686973da0a5f5f62616c616e6365732908720500000072180000007219000000da0673656e646572da127468696e675f6d61737465725f6f776e6572da056f776e6572da047469706fda157468696e675f6d61737465725f636f6e7472616374721500000072150000007216000000da0f636f6e73756d655f6372797374616c120000007312000000000206010a010a010e010a010a010c011401722a000000290fda0863757272656e63797209000000da09696d706f72746c6962721e000000da0448617368da035f5f5372140000007224000000da0b466f726569676e48617368da045f5f777072210000007217000000da085f5f6578706f7274da03737472722a0000007215000000721500000072150000007216000000da083c6d6f64756c653e0100000073180000000801080104010e010e010e0104010c0104010c0308050601