Contract con_ignore_me


Contract Code


  
1 import currency
2 sig = Hash(default_value=False)
3 proposal_details = Hash()
4 number_of_sig = Variable()
5 proposal_id = Variable()
6 minimum_proposal_duration = Variable()
7 required_approval_percentage = Variable()
8 finished_proposals = Variable()
9 @construct
10 def seed():
11 number = 0
12 msa = ["wallet1","wallet2","wallet3"]
13 for x in msa:
14 sig[x] = True
15 number += 1
16 number_of_sig.set(number)
17 proposal_id.set(0)
18 minimum_proposal_duration.set(0)
19 required_approval_percentage.set(0.5)
20 finished_proposals.set([-1])
21 return msa
22 @export
23 def create_transfer_proposal(amount: float, to: str, description: str, voting_time_in_days: int):
24 assert voting_time_in_days >= minimum_proposal_duration.get()
25 assert sig[ctx.caller] is True
26 p_id = proposal_id.get()
27 proposal_id.set(p_id + 1)
28 proposal_details[p_id, "amount"] = amount
29 proposal_details[p_id, "reciever"] = to
30 proposal_details[p_id, "proposal_creator"] = ctx.caller
31 proposal_details[p_id, "description"] = description
32 proposal_details[p_id, "time"] = now
33 proposal_details[p_id, "type"] = "transfer"
34 proposal_details[p_id, "duration"] = voting_time_in_days
35 return p_id
36

Byte Code

e300000000000000000000000006000000400000007386000000640064016c005a00650164026403640464058d035a0265016403640664078d025a0365046403640864078d025a0565046403640964078d025a0665046403640a64078d025a0765046403640b64078d025a0865046403640c64078d025a09640d640e84005a0a650b64038301650c650d650d650e640f9c0464106411840483015a0f640153002912e9000000004e46da0d636f6e5f69676e6f72655f6d65da037369672903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da1070726f706f73616c5f64657461696c73290272050000007206000000da0d6e756d6265725f6f665f736967da0b70726f706f73616c5f6964da196d696e696d756d5f70726f706f73616c5f6475726174696f6eda1c72657175697265645f617070726f76616c5f70657263656e74616765da1266696e69736865645f70726f706f73616c73630000000000000000030000000400000043000000736800000064017d0064026403640467037d01781c7c0144005d147d02640574007c023c007c00640637007d007114570074016a027c008301010074036a0264018301010074046a0264018301010074056a027406640783018301010074076a0264086701830101007c01530029094e7201000000da0777616c6c657431da0777616c6c657432da0777616c6c65743354e9010000007a03302e35e9ffffffff2908da055f5f736967da0f5f5f6e756d6265725f6f665f736967da03736574da0d5f5f70726f706f73616c5f6964da1b5f5f6d696e696d756d5f70726f706f73616c5f6475726174696f6eda1e5f5f72657175697265645f617070726f76616c5f70657263656e74616765da07646563696d616cda145f5f66696e69736865645f70726f706f73616c732903da066e756d626572da036d7361da0178a900721d000000da00da045f5f5f5f0e0000007316000000000104010a010a0108010c010a010a010a010e010c01721f0000002904da06616d6f756e74da02746fda0b6465736372697074696f6eda13766f74696e675f74696d655f696e5f6461797363040000000000000005000000040000004300000073920000007c0374006a0183006b05731074028201740374046a05190064016b0873227402820174066a0183007d0474066a077c0464021700830101007c0074087c04640366023c007c0174087c04640466023c0074046a0574087c04640566023c007c0274087c04640666023c00740974087c04640766023c00640874087c04640966023c007c0374087c04640a66023c007c045300290b4e5472100000007220000000da087265636965766572da1070726f706f73616c5f63726561746f727222000000da0474696d65da087472616e73666572da0474797065da086475726174696f6e290a7216000000da03676574da0e417373657274696f6e4572726f727212000000da03637478da0663616c6c657272150000007214000000da125f5f70726f706f73616c5f64657461696c73da036e6f7729057220000000722100000072220000007223000000da04705f6964721d000000721d000000721e000000da186372656174655f7472616e736665725f70726f706f73616c1c000000731800000000031001120108010e010c010c010e010c010c010c010c0172310000002910da0863757272656e6379da04486173687212000000722e000000da085661726961626c6572130000007215000000721600000072170000007219000000721f000000da085f5f6578706f7274da05666c6f6174da03737472da03696e747231000000721d000000721d000000721d000000721e000000da083c6d6f64756c653e01000000731c00000008010e010c010c010c01040108010401080104010803080e06010601