Contract con_collider_003
Creator | ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d |
Creation Hash | ebc8cd8f7a0081c62a6254024cb5a25bb8b316b8ee1c911022653583107b1cba |
Created On | 1027 days ago - 6/27/2021, 9:46:10 PM UTC+0 |
Contract Code
1
import currency as tau
2
import con_collider_contract as lhc
3
import con_rocketswap_official_v1_1 as rswp
4
5
random.seed()
6
7
owner = Variable()
8
min_amount = Variable()
9
max_amount = Variable()
10
11
12
@construct
13
def init():
14
owner.set(ctx.caller)
15
min_amount.set(15)
16
max_amount.set(50)
17
18
@export
19
def collide(amount: float):
20
error = "Min amount is " + str(min_amount.get())
21
assert amount >= min_amount.get(), error
22
23
error = "Max amount is " + str(max_amount.get())
24
assert amount <= max_amount.get(), error
25
26
tau.transfer_from(
27
amount=amount,
28
to=ctx.this,
29
main_account=ctx.caller)
30
31
rswp_prices = ForeignHash(
32
foreign_contract='con_rocketswap_official_v1_1',
33
foreign_name='prices')
34
35
lhc_price = rswp_prices["con_collider_contract"]
36
lhc_amount = amount / lhc_price
37
38
if random.choice([True, False]):
39
lhc.transfer(
40
amount=lhc_amount,
41
to=ctx.caller)
42
43
return "You won " + str(lhc_amount) + " LHC"
44
45
else:
46
rswp.buy(
47
contract="con_collider_contract",
48
currency_amount=amount,
49
minimum_received=lhc_amount * 0.51,
50
token_fees=False)
51
52
return "You lost " + str(amount) + " TAU"
53
54
@export
55
def deposit_tau(amount: float):
56
tau.transfer_from(
57
amount=amount,
58
to=ctx.this,
59
main_account=ctx.caller)
60
61
@export
62
def withdraw_tau(amount: float):
63
error = "Only the owner can withdraw TAU"
64
assert owner.get() == ctx.caller, error
65
66
tau.transfer(
67
amount=amount,
68
to=ctx.caller)
69
70
@export
71
def deposit_lhc(amount: float):
72
lhc.transfer_from(
73
amount=amount,
74
to=ctx.this,
75
main_account=ctx.caller)
76
77
@export
78
def withdraw_lhc(amount: float):
79
error = "Only the owner can withdraw LHC"
80
assert owner.get() == ctx.caller, error
81
82
lhc.transfer(
83
amount=amount,
84
to=ctx.caller)
85
86
@export
87
def set_min(amount: float):
88
error = "Only the owner can adjust MIN value"
89
assert owner.get() == ctx.caller, error
90
91
min_amount.set(amount)
92
93
@export
94
def set_max(amount: float):
95
error = "Only the owner can adjust MAX value"
96
assert owner.get() == ctx.caller, error
97
98
max_amount.set(amount)
99
Byte Code
e3000000000000000000000000040000004000000073ea000000640064016c005a01640064016c025a03640064016c045a0565066a078300010065086402640364048d025a0965086402640564048d025a0a65086402640664048d025a0b6407640884005a0c650d64028301650e64099c01640a640b840483015a0f650d64028301650e64099c01640c640d840483015a10650d64028301650e64099c01640e640f840483015a11650d64028301650e64099c0164106411840483015a12650d64028301650e64099c0164126413840483015a13650d64028301650e64099c0164146415840483015a14650d64028301650e64099c0164166417840483015a15640153002918e9000000004eda10636f6e5f636f6c6c696465725f303033da056f776e65722902da08636f6e7472616374da046e616d65da0a6d696e5f616d6f756e74da0a6d61785f616d6f756e74630000000000000000000000000200000043000000732400000074006a0174026a038301010074046a0164018301010074056a016402830101006400530029034ee90f000000e9320000002906da075f5f6f776e6572da03736574da03637478da0663616c6c6572da0c5f5f6d696e5f616d6f756e74da0c5f5f6d61785f616d6f756e74a90072100000007210000000da00da045f5f5f5f0a000000730600000000010c010a0172120000002901da06616d6f756e7463010000000000000005000000060000004300000073d80000006401740074016a028300830117007d017c0074016a0283006b05732474037c01830182016402740074046a028300830117007d017c0074046a0283006b01734874037c018301820174056a067c0074076a0874076a0964038d030100740a640464056406640764088d047d027c02640919007d037c007c031b007d04740b6a0c640a640b6702830172aa740d6a0e7c0474076a09640c8d020100640d74007c0483011700640e17005300740f6a1064097c007c047411640f83011400640b64108d040100641174007c00830117006412170053006400530029134e7a0e4d696e20616d6f756e74206973207a0e4d617820616d6f756e742069732029037213000000da02746fda0c6d61696e5f6163636f756e74da1c636f6e5f726f636b6574737761705f6f6666696369616c5f76315f31da067072696365737202000000da0b727377705f7072696365732904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d6572040000007205000000da15636f6e5f636f6c6c696465725f636f6e747261637454462902721300000072140000007a08596f7520776f6e207a04204c48437a04302e353129047204000000da0f63757272656e63795f616d6f756e74da106d696e696d756d5f7265636569766564da0a746f6b656e5f666565737a09596f75206c6f7374207a04205441552912da03737472720e000000da03676574da0e417373657274696f6e4572726f72720f000000da03746175da0d7472616e736665725f66726f6d720c000000da0474686973720d000000da0b466f726569676e48617368da0672616e646f6dda0663686f696365da036c6863da087472616e73666572da0472737770da03627579da07646563696d616c29057213000000da056572726f72da0d5f5f727377705f707269636573da096c68635f7072696365da0a6c68635f616d6f756e74721000000072100000007211000000da07636f6c6c696465100000007320000000000210011401100114011401020104010a01080108010e0110011002080112017231000000630100000000000000010000000500000043000000731800000074006a017c0074026a0374026a0464018d0301006400530029024e2903721300000072140000007215000000290572220000007223000000720c0000007224000000720d00000029017213000000721000000072100000007211000000da0b6465706f7369745f74617525000000730200000000027232000000630100000000000000020000000400000043000000732e00000064017d0174006a01830074026a036b02731a74047c018301820174056a067c0074026a0364028d0201006400530029034e7a1f4f6e6c7920746865206f776e65722063616e207769746864726177205441552902721300000072140000002907720a0000007220000000720c000000720d00000072210000007222000000722900000029027213000000722d000000721000000072100000007211000000da0c77697468647261775f7461752a00000073060000000002040116017233000000630100000000000000010000000500000043000000731800000074006a017c0074026a0374026a0464018d0301006400530029024e2903721300000072140000007215000000290572280000007223000000720c0000007224000000720d00000029017213000000721000000072100000007211000000da0b6465706f7369745f6c686331000000730200000000027234000000630100000000000000020000000400000043000000732e00000064017d0174006a01830074026a036b02731a74047c018301820174056a067c0074026a0364028d0201006400530029034e7a1f4f6e6c7920746865206f776e65722063616e207769746864726177204c48432902721300000072140000002907720a0000007220000000720c000000720d00000072210000007228000000722900000029027213000000722d000000721000000072100000007211000000da0c77697468647261775f6c68633600000073060000000002040116017235000000630100000000000000020000000200000043000000732800000064017d0174006a01830074026a036b02731a74047c018301820174056a067c00830101006400530029024e7a234f6e6c7920746865206f776e65722063616e2061646a757374204d494e2076616c75652907720a0000007220000000720c000000720d0000007221000000720e000000720b00000029027213000000722d000000721000000072100000007211000000da077365745f6d696e3d00000073060000000002040116017236000000630100000000000000020000000200000043000000732800000064017d0174006a01830074026a036b02731a74047c018301820174056a067c00830101006400530029024e7a234f6e6c7920746865206f776e65722063616e2061646a757374204d41582076616c75652907720a0000007220000000720c000000720d0000007221000000720f000000720b00000029027213000000722d000000721000000072100000007211000000da077365745f6d617844000000730600000000020401160172370000002916da0863757272656e63797222000000721b00000072280000007216000000722a0000007226000000da0473656564da085661726961626c65720a000000720e000000720f0000007212000000da085f5f6578706f7274da05666c6f617472310000007232000000723300000072340000007235000000723600000072370000007210000000721000000072100000007211000000da083c6d6f64756c653e01000000732a00000008010801080108010c010c010c0308060601101406011004060110060601100406011006060110060601