Contract con_testingstuff2


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'] = 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_till: datetime.datetime):
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, lock_till, 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
44

Byte Code

e30000000000000000000000000500000040000000739e000000640064016c005a01650264006402640364048d035a0365026402640564068d025a046407640884005a056506640283016507650865096a0964099c03640a640b840483015a0a6506640283016507640c9c01640d640e840483015a0b650664028301640f6410840083015a0c6506640283016507640c9c0164116412840483015a0d6506640283016507650e64139c0264146415840483015a0f640153002916e9000000004eda11636f6e5f74657374696e67737475666632da076c6f636b6572732903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da086d65746164617461290272050000007206000000630000000000000000000000000300000043000000731e0000006401740064023c006403740064043c0074016a02740064053c006400530029064ee902000000da0e4645455f50455243454e54414745da4066663631353434656139346561616562356466303865643836336334613933386539313239616261366365656535663331623636383162646564653131623839da0a4645455f57414c4c4554da054f574e45522903da0a5f5f6d65746164617461da03637478da0663616c6c6572a90072100000007210000000da00da045f5f5f5f06000000730600000000010802080172120000002903da0e746f6b656e5f636f6e7472616374da096c705f616d6f756e74da096c6f636b5f74696c6c63030000000000000003000000070000004300000073860000007c0164016b04731074006402830182017c0064006b03732074006403830182017c0264006b037330740064048301820174016a027c0074036a0474036a057c0164058d04010074016a067c007407640619007c0164071b00740764081900140064098d03010074087c000500190074097c017c0274036a0567038301370003003c0064005300290a4e72010000007a1e4d7573742070726f76696465206c7020706f696e747320616d6f756e74217a1c4d7573742070726f7669646520746f6b656e20636f6e7472616374217a1e4d7573742070726f7669646520656e642064617465206f66206c6f636b2129047205000000da02746fda0c6d61696e5f6163636f756e74da06616d6f756e74720b000000e96400000072090000002903720500000072160000007218000000290ada0e417373657274696f6e4572726f72da0a726f636b657473776170da177472616e736665725f6c69717569646974795f66726f6d720e000000da0474686973720f000000da127472616e736665725f6c6971756964697479720d000000da095f5f6c6f636b657273da04486173682903721300000072140000007215000000721000000072100000007211000000da0d6372656174655f6c6f636b65720d000000731000000000031001100110010a010c010801180172210000002901721300000063010000000000000001000000060000004300000073600000007c0064006b037310740064018301820174017c0064026602190074026b007328740064038301820174017c0064046602190074036a046b027342740064058301820174056a067c0074036a0474017c0064066602190064078d0301006400530029084e7a1c4d7573742070726f7669646520746f6b656e20636f6e74726163742172080000007a2d54686520656e64206f66206c6971756964697479206c6f636b206973206e6f7420726561636865642079657421e9030000007a284f6e6c79207468652063726561746f72206f6620746865206c6f636b2063616e20656e6420697421e90100000029037205000000721600000072180000002907721a000000721f000000da036e6f77720e000000720f000000721b000000721e00000029017213000000721000000072100000007211000000da0a656e645f6c6f636b65721a000000730e000000000210010a010e010a0110010a01722500000063000000000000000000000000010000004300000073040000007400530029014e2901721f0000007210000000721000000072100000007211000000da0f6765745f616c6c5f6c6f636b6572732500000073020000000002722600000063010000000000000001000000020000004300000073180000007c0064006b037310740064018301820174017c001900530029024e7a1c4d7573742070726f7669646520746f6b656e20636f6e7472616374212902721a000000721f00000029017213000000721000000072100000007211000000da0d6765745f6c6f636b65645f6c702a00000073040000000002100172270000002902da036b6579da0576616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e720c0000007a1c4f6e6c79206f776e65722063616e20736574206d65746164617461212904720e000000720f000000720d000000721a000000290272280000007229000000721000000072100000007211000000da0f6368616e67655f6d6574616461746130000000730400000000021601722a0000002910da1c636f6e5f726f636b6574737761705f6f6666696369616c5f76315f31721b0000007220000000721f000000720d0000007212000000da085f5f6578706f7274da03737472da05666c6f6174da086461746574696d657221000000722500000072260000007227000000da03416e79722a0000007210000000721000000072100000007211000000da083c6d6f64756c653e01000000731a00000008010e010c03080706010401120b0601100a1005060110050601