Contract con_testipfs1


Contract Code


  
1 random.seed()
2 ipfs = Hash()
3 metadata = Hash()
4
5
6 @construct
7 def seed():
8 metadata['operator'] = ctx.caller
9 metadata['contract'] = 'con_bbf_001'
10
11 ipfs['list'] = ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40']
12
13 ipfs['1'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
14 ipfs['2'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
15 ipfs['3'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
16 ipfs['4'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
17 ipfs['5'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
18 ipfs['6'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
19 ipfs['7'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
20 ipfs['8'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
21 ipfs['9'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
22 ipfs['10'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
23 ipfs['11'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
24 ipfs['12'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
25 ipfs['13'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
26 ipfs['14'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
27 ipfs['15'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
28 ipfs['16'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
29 ipfs['17'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
30 ipfs['18'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
31 ipfs['19'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
32 ipfs['20'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
33 ipfs['21'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
34 ipfs['22'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
35 ipfs['23'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
36 ipfs['24'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
37 ipfs['25'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
38 ipfs['26'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
39 ipfs['27'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
40 ipfs['28'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
41 ipfs['29'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
42 ipfs['30'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
43 ipfs['31'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
44 ipfs['32'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
45 ipfs['33'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
46 ipfs['34'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
47 ipfs['35'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
48 ipfs['36'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
49 ipfs['37'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
50 ipfs['38'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
51 ipfs['39'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
52 ipfs['40'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
53 ipfs['generic'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
54
55
56 @export
57 def change_metadata(key: str, new_value: str):
58 assert ctx.caller == metadata['operator'], "only operator can set metadata"
59 metadata[key] = new_value
60
61 @export
62 def pick_random():
63 assert ctx.caller == metadata['contract'], 'You are not allowed.'
64 pics = ipfs['list']
65 if pics:
66 r_choice = random.choice(pics)
67 pics.remove(r_choice)
68 pic_choice = ipfs[r_choice]
69 ipfs['list'] = (pics)
70 else:
71 pic_choice = (ipfs['generic'])
72
73 return pic_choice

Byte Code

e30000000000000000000000000400000040000000735400000065006a018300010065026400640164028d025a0365026400640364028d025a046404640584005a056506640083016507650764069c0264076408840483015a086506640083016409640a840083015a09640b5300290cda0d636f6e5f746573746970667331da04697066732902da08636f6e7472616374da046e616d65da086d6574616461746163000000000000000000000000280000004300000073b601000074006a01740264013c006402740264033c00640464056406640764086409640a640b640c640d640e640f6410641164126413641464156416641764186419641a641b641c641d641e641f6420642164226423642464256426642764286429642a642b67287403642c3c00642d740364043c00642d740364053c00642d740364063c00642d740364073c00642d740364083c00642d740364093c00642d7403640a3c00642d7403640b3c00642d7403640c3c00642d7403640d3c00642d7403640e3c00642d7403640f3c00642d740364103c00642d740364113c00642d740364123c00642d740364133c00642d740364143c00642d740364153c00642d740364163c00642d740364173c00642d740364183c00642d740364193c00642d7403641a3c00642d7403641b3c00642d7403641c3c00642d7403641d3c00642d7403641e3c00642d7403641f3c00642d740364203c00642d740364213c00642d740364223c00642d740364233c00642d740364243c00642d740364253c00642d740364263c00642d740364273c00642d740364283c00642d740364293c00642d7403642a3c00642d7403642b3c00642d7403642e3c0064005300292f4eda086f70657261746f72da0b636f6e5f6262665f3030317203000000da0131da0132da0133da0134da0135da0136da0137da0138da0139da023130da023131da023132da023133da023134da023135da023136da023137da023138da023139da023230da023231da023232da023233da023234da023235da023236da023237da023238da023239da023330da023331da023332da023333da023334da023335da023336da023337da023338da023339da023430da046c6973747a5868747470733a2f2f697066732e696f2f697066732f516d525344504a384638356a517039564336584155707663317466516f3361706a5047596f4a713967714c566b513f66696c656e616d653d47656e657269632e706e67da0767656e657269632904da03637478da0663616c6c6572da0a5f5f6d65746164617461da065f5f69706673a90072360000007236000000da00da045f5f5f5f06000000735e00000000010a0108011401160116011802080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080372380000002902da036b6579da096e65775f76616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e72060000007a1e6f6e6c79206f70657261746f722063616e20736574206d657461646174612904723200000072330000007234000000da0e417373657274696f6e4572726f7229027239000000723a000000723600000072360000007237000000da0f6368616e67655f6d657461646174618a0000007306000000000210010601723c000000630000000000000000030000000300000043000000735400000074006a017402640119006b02731674036402830182017404640319007d007c00724874056a067c0083017d017c006a077c018301010074047c0119007d027c00740464033c006e087404640419007d027c02530029054e72030000007a14596f7520617265206e6f7420616c6c6f7765642e723000000072310000002908723200000072330000007234000000723b0000007235000000da0672616e646f6dda0663686f696365da0672656d6f76652903da0470696373da08725f63686f696365da0a7069635f63686f696365723600000072360000007237000000da0b7069636b5f72616e646f6d91000000731200000000021601080104010a010a0108010a02080172430000004e290a723d000000da0473656564da0448617368723500000072340000007238000000da085f5f6578706f7274da03737472723c00000072430000007236000000723600000072360000007237000000da083c6d6f64756c653e01000000730e00000008010c010c03087f000506011206