Contract con_testingstuff3


Contract Code


  
1 # SURPRISE! SIMPLE SECURE Liquidity Lockers by mintorburn.com
2 import con_rocketswap_official_v1_1 as rocketswap
3
4 lockers = Hash(default_value=0)
5 metadata = Hash()
6
7 @construct
8 def seed():
9 metadata['FEE_PERCENTAGE'] = decimal('2')
10 metadata['FEE_WALLET'] = "ff61544ea94eaaeb5df08ed863c4a938e9129aba6ceee5f31b6681bdede11b89"
11 metadata['OWNER'] = ctx.caller
12
13 @export
14 def create_locker(token_contract: str, lp_amount: float, lock_end_day: int, lock_end_month: int, lock_end_year: int):
15 assert lp_amount > 0, 'Must provide lp points amount!'
16 assert token_contract != None, 'Must provide token contract!'
17 assert lock_till != None, 'Must provide end date of lock!'
18 rocketswap.transfer_liquidity_from(contract=token_contract, to=ctx.this, main_account=ctx.caller, amount=lp_amount)
19 rocketswap.transfer_liquidity(contract=token_contract, to=metadata['FEE_WALLET'], amount=lp_amount/100*metadata['FEE_PERCENTAGE'])
20 lockers[token_contract] += Hash([lp_amount, datetime.datetime(year=lock_end_year, month=lock_end_month, day=lock_end_day), ctx.caller])
21
22 @export
23 def end_locker(token_contract: str):
24 assert token_contract != None, 'Must provide token contract!'
25 assert lockers[token_contract, 2] <= now, 'The end of liquidity lock is not reached yet!'
26 assert lockers[token_contract, 3] == ctx.caller, 'Only the creator of the lock can end it!'
27 rocketswap.transfer_liquidity(contract=token_contract, to=ctx.caller, amount=lockers[token_contract, 1])
28
29 @export
30 def get_all_lockers():
31 return lockers
32
33 @export
34 def get_locked_lp(token_contract: str):
35 assert token_contract != None, 'Must provide token contract!'
36 return lockers[token_contract]
37
38 @export
39 def change_metadata(key: str, value: Any):
40 assert ctx.caller == metadata['OWNER'
41 ], 'Only owner can set metadata!'
42 metadata[key] = value
43

Byte Code

e3000000000000000000000000070000004000000073a0000000640064016c005a01650264006402640364048d035a0365026402640564068d025a046407640884005a056506640283016507650865096509650964099c05640a640b840483015a0a6506640283016507640c9c01640d640e840483015a0b650664028301640f6410840083015a0c6506640283016507640c9c0164116412840483015a0d6506640283016507650e64139c0264146415840483015a0f640153002916e9000000004eda11636f6e5f74657374696e67737475666633da076c6f636b6572732903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da086d657461646174612902720500000072060000006300000000000000000000000003000000430000007322000000740064018301740164023c006403740164043c0074026a03740164053c006400530029064eda0132da0e4645455f50455243454e54414745da4066663631353434656139346561616562356466303865643836336334613933386539313239616261366365656535663331623636383162646564653131623839da0a4645455f57414c4c4554da054f574e45522904da07646563696d616cda0a5f5f6d65746164617461da03637478da0663616c6c6572a90072110000007211000000da00da045f5f5f5f06000000730600000000010c02080172130000002905da0e746f6b656e5f636f6e7472616374da096c705f616d6f756e74da0c6c6f636b5f656e645f646179da0e6c6f636b5f656e645f6d6f6e7468da0d6c6f636b5f656e645f79656172630500000000000000050000000a0000004300000073920000007c0164016b04731074006402830182017c0064006b0373207400640383018201740164006b037330740064048301820174026a037c0074046a0574046a067c0164058d04010074026a077c007408640619007c0164071b00740864081900140064098d03010074097c0005001900740a7c01740b6a0b7c047c037c02640a8d0374046a0667038301370003003c0064005300290b4e72010000007a1e4d7573742070726f76696465206c7020706f696e747320616d6f756e74217a1c4d7573742070726f7669646520746f6b656e20636f6e7472616374217a1e4d7573742070726f7669646520656e642064617465206f66206c6f636b2129047205000000da02746fda0c6d61696e5f6163636f756e74da06616d6f756e74720b000000e9640000007209000000290372050000007219000000721b0000002903da0479656172da056d6f6e7468da03646179290cda0e417373657274696f6e4572726f72da096c6f636b5f74696c6cda0a726f636b657473776170da177472616e736665725f6c69717569646974795f66726f6d720f000000da04746869737210000000da127472616e736665725f6c6971756964697479720e000000da095f5f6c6f636b657273da0448617368da086461746574696d65290572140000007215000000721600000072170000007218000000721100000072110000007212000000da0d6372656174655f6c6f636b65720d000000731200000000031001100110010a010c0108011801100172290000002901721400000063010000000000000001000000060000004300000073600000007c0064006b037310740064018301820174017c0064026602190074026b017328740064038301820174017c0064046602190074036a046b027342740064058301820174056a067c0074036a0474017c0064066602190064078d0301006400530029084e7a1c4d7573742070726f7669646520746f6b656e20636f6e747261637421e9020000007a2d54686520656e64206f66206c6971756964697479206c6f636b206973206e6f7420726561636865642079657421e9030000007a284f6e6c79207468652063726561746f72206f6620746865206c6f636b2063616e20656e6420697421e901000000290372050000007219000000721b000000290772200000007226000000da036e6f77720f00000072100000007222000000722500000029017214000000721100000072110000007212000000da0a656e645f6c6f636b65721b000000730e000000000210010a010e010a0110010a01722e00000063000000000000000000000000010000004300000073040000007400530029014e290172260000007211000000721100000072110000007212000000da0f6765745f616c6c5f6c6f636b6572732600000073020000000002722f00000063010000000000000001000000020000004300000073180000007c0064006b037310740064018301820174017c001900530029024e7a1c4d7573742070726f7669646520746f6b656e20636f6e74726163742129027220000000722600000029017214000000721100000072110000007212000000da0d6765745f6c6f636b65645f6c702b00000073040000000002100172300000002902da036b6579da0576616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e720c0000007a1c4f6e6c79206f776e65722063616e20736574206d65746164617461212904720f0000007210000000720e0000007220000000290272310000007232000000721100000072110000007212000000da0f6368616e67655f6d657461646174613100000073040000000002160172330000002910da1c636f6e5f726f636b6574737761705f6f6666696369616c5f76315f31722200000072270000007226000000720e0000007213000000da085f5f6578706f7274da03737472da05666c6f6174da03696e747229000000722e000000722f0000007230000000da03416e7972330000007211000000721100000072110000007212000000da083c6d6f64756c653e01000000731a00000008010e010c03080706010601120c0601100a1005060110050601