Contract con_harvest_gen1_ipfs


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_harvest_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/Qmf4PyfeVA5Vg6TAoQMB4gXPwiexVW8vZzdjF5i2GpakAP?filename=01.png'
14 ipfs['2'] = 'https://ipfs.io/ipfs/Qmf2dcCJEM6Wub7c44mdNVzXWm6rozBwXRH85pqsYsYzmg?filename=02.png'
15 ipfs['3'] = 'https://ipfs.io/ipfs/QmdQabFxHnYCNCuwhaun15s1T4VyaMZ6JU9H8bo7xc8noF?filename=03.png'
16 ipfs['4'] = 'https://ipfs.io/ipfs/QmQzw83Kf6g7YiWarTYzv4oYP6NJk7TBawE46uKNrryPYi?filename=04.png'
17 ipfs['5'] = 'https://ipfs.io/ipfs/QmP7GMEXDMbrLGvBWmGDNBZYgejKhNTe6dgKKxbayysVRb?filename=05.png'
18 ipfs['6'] = 'https://ipfs.io/ipfs/QmUa2iy7ueoZhqmZ227bs5vjffeTRRjW5xubvuMUN8Vs51?filename=06.png'
19 ipfs['7'] = 'https://ipfs.io/ipfs/QmYc2KnaZFnTWp1zhjKsQACR5EwSSGn3pgA7xBvXJbnE9v?filename=07.png'
20 ipfs['8'] = 'https://ipfs.io/ipfs/QmddmaFb5uzpEYXicxxcYV7yqPhqADSDee2MD9JQ91WuMX?filename=08.png'
21 ipfs['9'] = 'https://ipfs.io/ipfs/QmYmaHk87mLAGMCTTyUDrBV7ews9od4KAmBGruBtgmPhnD?filename=09.png'
22 ipfs['10'] = 'https://ipfs.io/ipfs/QmTvYECXqXxUbbWHsKZTPdK2gR4Zg5FQvzFDUcXVLmLc2J?filename=10.png'
23 ipfs['11'] = 'https://ipfs.io/ipfs/QmZKhZ7My9yZ4uPm8J42Trp1WfMZjTBFgUJ76ZiLdrwh2z?filename=11.png'
24 ipfs['12'] = 'https://ipfs.io/ipfs/QmVWNqEbaCXBaDzhewS3c3Xf1ABWTHmFpyexNk9HKDUcZM?filename=12.png'
25 ipfs['13'] = 'https://ipfs.io/ipfs/QmVWZ4vGQfMpehhA8xUUBqMSXGgC1M63g7EFy8VERCQjGG?filename=13.png'
26 ipfs['14'] = 'https://ipfs.io/ipfs/QmWANtyyRcZ6Dd4Txe5LpkgN77FDsps4YDC2XhZVJUsZ5R?filename=14.png'
27 ipfs['15'] = 'https://ipfs.io/ipfs/QmbeLYfzzfMchUnysGZgTvwL1QUpAKnCJHxA7VUCYu8HR7?filename=15.png'
28 ipfs['16'] = 'https://ipfs.io/ipfs/QmdPejekudMwKbru9kUFf8zBfBDVknFdG5rc1gAdU15xFx?filename=16.png'
29 ipfs['17'] = 'https://ipfs.io/ipfs/QmTfxmWrusMSwvdqCJiHiwJVjUkFtCNaEU3QS3JVgdzgo5?filename=17.png'
30 ipfs['18'] = 'https://ipfs.io/ipfs/QmbB7wjqf9hv4RFDsPbjGYkGZDFipKN5wohHQpFrxBBkrm?filename=18.png'
31 ipfs['19'] = 'https://ipfs.io/ipfs/QmXD5ExD4aBNYZpn3ts4pZ9EJ1nApiVypJBpJa7SEzMgPR?filename=19.png'
32 ipfs['20'] = 'https://ipfs.io/ipfs/QmW8S5JddRvxoajw6Tg8vRLazPezeLqUjJ3QrVpLvsT9KW?filename=20.png'
33 ipfs['21'] = 'https://ipfs.io/ipfs/Qmc7jsom4jph9ovmW9DMsQWDFTK66CyjtvoRnkZv99EQ5R?filename=21.png'
34 ipfs['22'] = 'https://ipfs.io/ipfs/Qmb2hzmURTshe4azQdVnAX5zP8ZbejnYWdsqUe7u3Fm8gL?filename=22.png'
35 ipfs['23'] = 'https://ipfs.io/ipfs/Qmbh5HdUpiG5cu3Ffm2tVisFc35Xhx7tiJA9dWve7yXTHL?filename=23.png'
36 ipfs['24'] = 'https://ipfs.io/ipfs/QmdHjdwMZG5AMCqsFnzzBMi9KRjLCsEtpAVFUXGU2EiniZ?filename=24.png'
37 ipfs['25'] = 'https://ipfs.io/ipfs/Qmc616fGM8mRNzK6HHUwXLwsXUh6hQghzW6gZnQWPHam9U?filename=25.png'
38 ipfs['26'] = 'https://ipfs.io/ipfs/QmYSUMo7ngU6Rg2bm3Xc1Bb3QwoXNyUKk35qAdXUew9wGK?filename=26.png'
39 ipfs['27'] = 'https://ipfs.io/ipfs/QmUUR27765ThJ7Gd9w1MvV95XQLrxehwxmxkSz3LwS6QCX?filename=27.png'
40 ipfs['28'] = 'https://ipfs.io/ipfs/QmT2Aef9jqjdXHSMafLccXvNgvk4dX9qB78qYpyk2dsuJx?filename=28.png'
41 ipfs['29'] = 'https://ipfs.io/ipfs/QmPxLdCP9TBqoiaVnqTPwwfUXLse3Uta3Uvc5WXAueLsLJ?filename=29.png'
42 ipfs['30'] = 'https://ipfs.io/ipfs/QmXEAwignZjES9GUN1skFRS7txPXMgezSPUuP2B2mLyvZF?filename=30.png'
43 ipfs['31'] = 'https://ipfs.io/ipfs/QmW8Kea6MeSog2TjXer3EGScvQuViZXhpy4mYWqN9TNhDf?filename=31.png'
44 ipfs['32'] = 'https://ipfs.io/ipfs/QmZ4Ns7VzL5wV82ZuWHLfZsE92woWU6c7JrVdvh4mpZ9ko?filename=32.png'
45 ipfs['33'] = 'https://ipfs.io/ipfs/QmP9KgYEZtC3FRDzH3WuEKzZJMRBBm1ZHfFagnJLL4SCov?filename=33.png'
46 ipfs['34'] = 'https://ipfs.io/ipfs/QmZUdhvW6UCAjvb4W6R56k7U46DMuHKrga3krbc6Xuuna1?filename=34.png'
47 ipfs['35'] = 'https://ipfs.io/ipfs/QmTXXJELaoeJNmiPxyeubb9PB865WSrv6bwDUQzZLU6XvH?filename=35.png'
48 ipfs['36'] = 'https://ipfs.io/ipfs/QmWKvLiL5c5kUPZbwHBzJLGNr7SS4YyNQjQHfrMYSM3C7V?filename=36.png'
49 ipfs['37'] = 'https://ipfs.io/ipfs/QmTNLLGZZ1XFxErSQLma3dk1RheyuKad8SpFWAcoJ3YDi1?filename=37.png'
50 ipfs['38'] = 'https://ipfs.io/ipfs/QmfS1rHGvpMYTYh3hrPEfduWpjwCkwY13FY3zFj1xtV9Q8?filename=38.png'
51 ipfs['39'] = 'https://ipfs.io/ipfs/QmTr6cDQAJW5f8AymgEERCuHCvmV9D9Y5nuwdBimkWgLPL?filename=39.png'
52 ipfs['40'] = 'https://ipfs.io/ipfs/QmZuKo9FUg6AmBHJTCnHM8gCJj1F3WfQbURes7ofGTuX7U?filename=40.png'
53 ipfs['generic'] = 'https://ipfs.io/ipfs/QmRSDPJ8F85jQp9VC6XAUpvc1tfQo3apjPGYoJq9gqLVkQ?filename=Generic.png'
54
55 @export
56 def change_metadata(key: str, new_value: str):
57 assert ctx.caller == metadata['operator'], "only operator can set metadata"
58 metadata[key] = new_value
59
60 @export
61 def pick_random():
62 assert ctx.caller == metadata['contract'], 'You are not allowed.'
63 pics = ipfs['list']
64 if pics:
65 r_choice = random.choice(pics)
66 pics.remove(r_choice)
67 pic_choice = ipfs[r_choice]
68 ipfs['list'] = (pics)
69 else:
70 pic_choice = (ipfs['generic'])
71
72 return pic_choice
73

Byte Code

e30000000000000000000000000400000040000000735400000065006a018300010065026400640164028d025a0365026400640364028d025a046404640584005a056506640083016507650764069c0264076408840483015a086506640083016409640a840083015a09640b5300290cda15636f6e5f686172766573745f67656e315f69706673da04697066732902da08636f6e7472616374da046e616d65da086d6574616461746163000000000000000000000000280000004300000073b601000074006a01740264013c006402740264033c00640464056406640764086409640a640b640c640d640e640f6410641164126413641464156416641764186419641a641b641c641d641e641f6420642164226423642464256426642764286429642a642b67287403642c3c00642d740364043c00642e740364053c00642f740364063c006430740364073c006431740364083c006432740364093c0064337403640a3c0064347403640b3c0064357403640c3c0064367403640d3c0064377403640e3c0064387403640f3c006439740364103c00643a740364113c00643b740364123c00643c740364133c00643d740364143c00643e740364153c00643f740364163c006440740364173c006441740364183c006442740364193c0064437403641a3c0064447403641b3c0064457403641c3c0064467403641d3c0064477403641e3c0064487403641f3c006449740364203c00644a740364213c00644b740364223c00644c740364233c00644d740364243c00644e740364253c00644f740364263c006450740364273c006451740364283c006452740364293c0064537403642a3c0064547403642b3c006455740364563c006400530029574eda086f70657261746f72da0f636f6e5f686172766573745f3030317203000000da0131da0132da0133da0134da0135da0136da0137da0138da0139da023130da023131da023132da023133da023134da023135da023136da023137da023138da023139da023230da023231da023232da023233da023234da023235da023236da023237da023238da023239da023330da023331da023332da023333da023334da023335da023336da023337da023338da023339da023430da046c6973747a5368747470733a2f2f697066732e696f2f697066732f516d66345079666556413556673654416f514d423467585077696578565738765a7a646a463569324770616b41503f66696c656e616d653d30312e706e677a5368747470733a2f2f697066732e696f2f697066732f516d66326463434a454d36577562376334346d644e567a58576d36726f7a427758524838357071735973597a6d673f66696c656e616d653d30322e706e677a5368747470733a2f2f697066732e696f2f697066732f516d645161624678486e59434e4375776861756e3135733154345679614d5a364a55394838626f377863386e6f463f66696c656e616d653d30332e706e677a5368747470733a2f2f697066732e696f2f697066732f516d517a7738334b66366737596957617254597a76346f5950364e4a6b3754426177453436754b4e7272795059693f66696c656e616d653d30342e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5037474d4558444d62724c477642576d47444e425a5967656a4b684e54653664674b4b7862617979735652623f66696c656e616d653d30352e706e677a5368747470733a2f2f697066732e696f2f697066732f516d55613269793775656f5a68716d5a323237627335766a6666655452526a573578756276754d554e38567335313f66696c656e616d653d30362e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5963324b6e615a466e545770317a686a4b73514143523545775353476e3370674137784276584a626e4539763f66696c656e616d653d30372e706e677a5368747470733a2f2f697066732e696f2f697066732f516d64646d61466235757a7045595869637878635956377971506871414453446565324d44394a51393157754d583f66696c656e616d653d30382e706e677a5368747470733a2f2f697066732e696f2f697066732f516d596d61486b38376d4c41474d43545479554472425637657773396f64344b416d424772754274676d50686e443f66696c656e616d653d30392e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5476594543587158785562625748734b5a5450644b326752345a67354651767a4644556358564c6d4c63324a3f66696c656e616d653d31302e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5a4b685a374d7939795a3475506d384a34325472703157664d5a6a54424667554a37365a694c64727768327a3f66696c656e616d653d31312e706e677a5368747470733a2f2f697066732e696f2f697066732f516d56574e7145626143584261447a6865775333633358663141425754486d46707965784e6b39484b4455635a4d3f66696c656e616d653d31322e706e677a5368747470733a2f2f697066732e696f2f697066732f516d56575a34764751664d70656868413878555542714d5358476743314d363367374546793856455243516a47473f66696c656e616d653d31332e706e677a5368747470733a2f2f697066732e696f2f697066732f516d57414e74797952635a36446434547865354c706b674e37374644737073345944433258685a564a55735a35523f66696c656e616d653d31342e706e677a5368747470733a2f2f697066732e696f2f697066732f516d62654c59667a7a664d6368556e7973475a675476774c31515570414b6e434a487841375655435975384852373f66696c656e616d653d31352e706e677a5368747470733a2f2f697066732e696f2f697066732f516d6450656a656b75644d774b627275396b554666387a42664244566b6e466447357263316741645531357846783f66696c656e616d653d31362e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5466786d577275734d5377766471434a694869774a566a556b4674434e614555335153334a5667647a676f353f66696c656e616d653d31372e706e677a5368747470733a2f2f697066732e696f2f697066732f516d624237776a7166396876345246447350626a47596b475a444669704b4e35776f6848517046727842426b726d3f66696c656e616d653d31382e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5844354578443461424e595a706e33747334705a39454a316e4170695679704a42704a613753457a4d6750523f66696c656e616d653d31392e706e677a5368747470733a2f2f697066732e696f2f697066732f516d573853354a64645276786f616a773654673876524c617a50657a654c71556a4a33517256704c767354394b573f66696c656e616d653d32302e706e677a5368747470733a2f2f697066732e696f2f697066732f516d63376a736f6d346a7068396f766d5739444d7351574446544b363643796a74766f526e6b5a763939455135523f66696c656e616d653d32312e706e677a5368747470733a2f2f697066732e696f2f697066732f516d6232687a6d55525473686534617a5164566e4158357a50385a62656a6e59576473715565377533466d38674c3f66696c656e616d653d32322e706e677a5368747470733a2f2f697066732e696f2f697066732f516d6268354864557069473563753346666d3274566973466333355868783774694a41396457766537795854484c3f66696c656e616d653d32332e706e677a5368747470733a2f2f697066732e696f2f697066732f516d64486a64774d5a4735414d437173466e7a7a424d69394b526a4c4373457470415646555847553245696e695a3f66696c656e616d653d32342e706e677a5368747470733a2f2f697066732e696f2f697066732f516d6336313666474d386d524e7a4b3648485577584c777358556836685167687a5736675a6e51575048616d39553f66696c656e616d653d32352e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5953554d6f376e675536526732626d3358633142623351776f584e79554b6b3335714164585565773977474b3f66696c656e616d653d32362e706e677a5368747470733a2f2f697066732e696f2f697066732f516d555552323737363554684a3747643977314d7656393558514c7278656877786d786b537a334c7753365143583f66696c656e616d653d32372e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5432416566396a716a645848534d61664c636358764e67766b3464583971423738715970796b326473754a783f66696c656e616d653d32382e706e677a5368747470733a2f2f697066732e696f2f697066732f516d50784c644350395442716f6961566e71545077776655584c736533557461335576633557584175654c734c4a3f66696c656e616d653d32392e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5845417769676e5a6a45533947554e31736b46525337747850584d67657a53505575503242326d4c79765a463f66696c656e616d653d33302e706e677a5368747470733a2f2f697066732e696f2f697066732f516d57384b6561364d65536f6732546a586572334547536376517556695a58687079346d5957714e39544e6844663f66696c656e616d653d33312e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5a344e7337567a4c35775638325a7557484c665a73453932776f57553663374a7256647668346d705a396b6f3f66696c656e616d653d33322e706e677a5368747470733a2f2f697066732e696f2f697066732f516d50394b6759455a7443334652447a48335775454b7a5a4a4d5242426d315a48664661676e4a4c4c3453436f763f66696c656e616d653d33332e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5a5564687657365543416a76623457365235366b37553436444d75484b726761336b726263365875756e61313f66696c656e616d653d33342e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5458584a454c616f654a4e6d6950787965756262395042383635575372763662774455517a5a4c55365876483f66696c656e616d653d33352e706e677a5368747470733a2f2f697066732e696f2f697066732f516d574b764c694c3563356b55505a627748427a4a4c474e723753533459794e516a514866724d59534d334337563f66696c656e616d653d33362e706e677a5368747470733a2f2f697066732e696f2f697066732f516d544e4c4c475a5a31584678457253514c6d6133646b3152686579754b6164385370465741636f4a33594469313f66696c656e616d653d33372e706e677a5368747470733a2f2f697066732e696f2f697066732f516d66533172484776704d59545968336872504566647557706a77436b775931334659337a466a317874563951383f66696c656e616d653d33382e706e677a5368747470733a2f2f697066732e696f2f697066732f516d547236634451414a5735663841796d6745455243754843766d5639443959356e75776442696d6b57674c504c3f66696c656e616d653d33392e706e677a5368747470733a2f2f697066732e696f2f697066732f516d5a754b6f3946556736416d42484a54436e484d3867434a6a3146335766516255526573376f664754755837553f66696c656e616d653d34302e706e677a5868747470733a2f2f697066732e696f2f697066732f516d525344504a384638356a517039564336584155707663317466516f3361706a5047596f4a713967714c566b513f66696c656e616d653d47656e657269632e706e67da0767656e657269632904da03637478da0663616c6c6572da0a5f5f6d65746164617461da065f5f69706673a90072360000007236000000da00da045f5f5f5f06000000735e00000000010a0108011401160116011802080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080308030803080372380000002902da036b6579da096e65775f76616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e72060000007a1e6f6e6c79206f70657261746f722063616e20736574206d657461646174612904723200000072330000007234000000da0e417373657274696f6e4572726f7229027239000000723a000000723600000072360000007237000000da0f6368616e67655f6d657461646174618a0000007306000000000210010601723c000000630000000000000000030000000300000043000000735400000074006a017402640119006b02731674036402830182017404640319007d007c00724874056a067c0083017d017c006a077c018301010074047c0119007d027c00740464033c006e087404640419007d027c02530029054e72030000007a14596f7520617265206e6f7420616c6c6f7765642e723000000072310000002908723200000072330000007234000000723b0000007235000000da0672616e646f6dda0663686f696365da0672656d6f76652903da0470696373da08725f63686f696365da0a7069635f63686f696365723600000072360000007237000000da0b7069636b5f72616e646f6d91000000731200000000021601080104010a010a0108010a02080172430000004e290a723d000000da0473656564da0448617368723500000072340000007238000000da085f5f6578706f7274da03737472723c00000072430000007236000000723600000072360000007237000000da083c6d6f64756c653e01000000730e00000008010c010c03087f000506011206