Contract con_test_time_lock6
Creator | ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d |
Creation Hash | 12d605bd7346c46e65d0cd97560700d1edbceea94f7b8fb8787275daa97769e5 |
Created On | 495 days ago - 11/19/2022, 8:43:29 PM UTC+0 |
Contract Code
1
import currency as tau
2
3
multisig = Hash(default_value=False)
4
5
withdrawn_amount = Variable()
6
total_amount = Variable()
7
start_date = Variable()
8
end_date = Variable()
9
10
ENDO = '4489524c8d7a36a488d1be063af1d89ccc57d6aabb58e75badf0f020621dd0cc'
11
LAMDEN = 'ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d'
12
BENJI = '6351a80d32cbb3c173e490b093a95b15bcf4f6190251863669202d7fe2257af3'
13
CS = 'c913e1c146f1426a8c0dc042e92ccc18a54dd612d878c84e433ecc9705d91ee5'
14
15
@construct
16
def init():
17
start_date.set(now)
18
end_date.set(start_date.get() + datetime.timedelta(minutes=10))
19
withdrawn_amount.set(0)
20
total_amount.set(0)
21
22
@export
23
def withdraw_tau():
24
assert ctx.caller == ENDO, 'Nope'
25
26
if total_amount.get() == 0:
27
total_amount.set(tau.balance_of(ctx.this))
28
29
passed_time = (now - start_date.get()).seconds
30
six_months = (end_date.get() - start_date.get()).seconds
31
32
if passed_time >= six_months:
33
tau.transfer(to=ENDO, amount=tau.balance_of(ctx.this))
34
else:
35
can_claim = total_amount.get() * (passed_time / six_months)
36
claim_now = can_claim - withdrawn_amount.get()
37
tau.transfer(to=ENDO, amount=claim_now)
38
withdrawn_amount.set(withdrawn_amount.get() + claim_now)
39
40
@export
41
def agree_to_return_tau_to_lamden(agree: bool):
42
multisig[ctx.caller] = agree
43
44
@export
45
def emergency_withdraw_tau():
46
assert ctx.caller == LAMDEN, 'Nope'
47
48
counter = 0
49
50
if multisig[BENJI]:
51
counter += 1
52
if multisig[CS]:
53
counter += 1
54
55
assert counter > 0, 'Nope'
56
tau.transfer(to=LAMDEN, amount=tau.balance_of(ctx.this))
57
Byte Code
e300000000000000000000000005000000400000007398000000640064016c005a01650264026403640464058d035a0365046403640664078d025a0565046403640864078d025a0665046403640964078d025a0765046403640a64078d025a08640b5a09640c5a0a640d5a0b640e5a0c640f641084005a0d650e6403830164116412840083015a0f650e64038301651064139c0164146415840483015a11650e6403830164166417840083015a12640153002918e9000000004e46da13636f6e5f746573745f74696d655f6c6f636b36da086d756c74697369672903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da1077697468647261776e5f616d6f756e74290272050000007206000000da0c746f74616c5f616d6f756e74da0a73746172745f64617465da08656e645f64617465da4034343839353234633864376133366134383864316265303633616631643839636363353764366161626235386537356261646630663032303632316464306363da4061653764313464366439623834343366383831626136323434373237623639623638313031306537383264346665343832646266623062366163613032643564da4036333531613830643332636262336331373365343930623039336139356231356263663466363139303235313836333636393230326437666532323537616633da4063393133653163313436663134323661386330646330343265393263636331386135346464363132643837386338346534333365636339373035643931656535630000000000000000000000000500000043000000733c00000074006a0174028301010074036a0174006a04830074056a06640164028d0117008301010074076a0164038301010074086a016403830101006400530029044ee90a0000002901da076d696e7574657372010000002909da0c5f5f73746172745f64617465da03736574da036e6f77da0a5f5f656e645f64617465da03676574da086461746574696d65da0974696d6564656c7461da125f5f77697468647261776e5f616d6f756e74da0e5f5f746f74616c5f616d6f756e74a900721a000000721a000000da00da045f5f5f5f0f000000730800000000010a011a010a01721c00000063000000000000000004000000040000004300000073b000000074006a0174026b027312740364018301820174046a05830064026b02723074046a0674076a0874006a09830183010100740a740b6a05830018006a0c7d00740d6a058300740b6a05830018006a0c7d017c007c016b05727074076a0e740274076a0874006a09830164038d0201006e3c74046a0583007c007c011b0014007d027c02740f6a05830018007d0374076a0e74027c0364038d020100740f6a06740f6a0583007c031700830101006400530029044eda044e6f706572010000002902da02746fda06616d6f756e742910da03637478da0663616c6c6572da04454e444fda0e417373657274696f6e4572726f72721900000072150000007212000000da03746175da0a62616c616e63655f6f66da047468697372130000007211000000da077365636f6e64737214000000da087472616e7366657272180000002904da0b7061737365645f74696d65da0a7369785f6d6f6e746873da0963616e5f636c61696dda09636c61696d5f6e6f77721a000000721a000000721b000000da0c77697468647261775f746175160000007316000000000212010c0112010e0112010801180210010c010e01722d0000002901da056167726565630100000000000000010000000300000043000000730e0000007c00740074016a023c006400530029014e2903da0a5f5f6d756c7469736967722000000072210000002901722e000000721a000000721a000000721b000000da1d61677265655f746f5f72657475726e5f7461755f746f5f6c616d64656e26000000730200000000027230000000630000000000000000010000000400000043000000736000000074006a0174026b027312740364018301820164027d0074047405190072267c00640337007d0074047406190072367c00640337007d007c0064026b047346740364018301820174076a08740274076a0974006a0a830164048d0201006400530029054e721d0000007201000000e9010000002902721e000000721f000000290b72200000007221000000da064c414d44454e7223000000722f000000da0542454e4a49da02435372240000007228000000722500000072260000002901da07636f756e746572721a000000721a000000721b000000da16656d657267656e63795f77697468647261775f7461752b00000073100000000002120104010801080108010801100172360000002913da0863757272656e63797224000000da0448617368722f000000da085661726961626c6572180000007219000000721100000072140000007222000000723200000072330000007234000000721c000000da085f5f6578706f7274722d000000da04626f6f6c72300000007236000000721a000000721a000000721a000000721b000000da083c6d6f64756c653e010000007320000000080106010801040108010c010c010c0104010401040104030807101006011004