Contract con_lhc_buy_test001


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 owner = Variable()
6 pay_tau = Variable()
7
8 @construct
9 def init():
10 owner.set(ctx.caller)
11 pay_tau.set(5)
12
13 @export
14 def pay():
15 tau.transfer_from(
16 amount=pay_tau.get(),
17 to=ctx.this,
18 main_account=ctx.caller)
19
20 rswp_prices = ForeignHash(
21 foreign_contract='con_rocketswap_official_v1_1',
22 foreign_name='prices')
23
24 lhc_price = rswp_prices["con_collider_contract"]
25 lhc_amount = pay_tau.get() / lhc_price
26
27 tau.approve(
28 amount=pay_tau.get(),
29 to="con_rocketswap_official_v1_1")
30
31 rswp.buy(
32 contract="con_collider_contract",
33 currency_amount=pay_tau.get(),
34 minimum_received=lhc_amount * 0.51,
35 token_fees=False)
36
37 @export
38 def set_tau_amount(amount: float):
39 error = "Only owner can adjust amount of TAU to pay"
40 assert owner.get() == ctx.caller, error
41
42 pay_tau.set(amount)
43
44 @export
45 def withdraw_lhc(amount: float):
46 error = "Only MLLR can withdraw LHC"
47 assert ctx.caller == "ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d", error
48
49 lhc.transfer(amount=amount, to=ctx.caller)

Byte Code

e300000000000000000000000004000000400000007378000000640064016c005a01640064016c025a03640064016c045a0565066402640364048d025a0765066402640564048d025a086406640784005a09650a6402830164086409840083015a0b650a64028301650c640a9c01640b640c840483015a0d650a64028301650c640a9c01640d640e840483015a0e64015300290fe9000000004eda13636f6e5f6c68635f6275795f74657374303031da056f776e65722902da08636f6e7472616374da046e616d65da077061795f746175630000000000000000000000000200000043000000731a00000074006a0174026a038301010074046a016401830101006400530029024ee9050000002905da075f5f6f776e6572da03736574da03637478da0663616c6c6572da095f5f7061795f746175a900720d000000720d000000da00da045f5f5f5f08000000730400000000010c01720f000000630000000000000000030000000600000043000000737000000074006a0174026a03830074046a0574046a0664018d0301007407640264036404640564068d047d007c00640719007d0174026a0383007c011b007d0274006a0874026a038300640264088d02010074096a0a640774026a0383007c02740b640983011400640a640b8d04010064005300290c4e2903da06616d6f756e74da02746fda0c6d61696e5f6163636f756e74da1c636f6e5f726f636b6574737761705f6f6666696369616c5f76315f31da067072696365737202000000da0b727377705f7072696365732904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d6572040000007205000000da15636f6e5f636f6c6c696465725f636f6e74726163742902721000000072110000007a04302e35314629047204000000da0f63757272656e63795f616d6f756e74da106d696e696d756d5f7265636569766564da0a746f6b656e5f66656573290cda03746175da0d7472616e736665725f66726f6d720c000000da03676574720a000000da0474686973720b000000da0b466f726569676e48617368da07617070726f7665da0472737770da03627579da07646563696d616c2903da0d5f5f727377705f707269636573da096c68635f7072696365da0a6c68635f616d6f756e74720d000000720d000000720e000000da037061790d000000731200000000021802020104010a0108010c0112010c01722800000029017210000000630100000000000000020000000200000043000000732800000064017d0174006a01830074026a036b02731a74047c018301820174056a067c00830101006400530029024e7a2a4f6e6c79206f776e65722063616e2061646a75737420616d6f756e74206f662054415520746f2070617929077208000000721e000000720a000000720b000000da0e417373657274696f6e4572726f72720c000000720900000029027210000000da056572726f72720d000000720d000000720e000000da0e7365745f7461755f616d6f756e741b0000007306000000000204011601722b000000630100000000000000020000000400000043000000732a00000064017d0174006a0164026b02731674027c018301820174036a047c0074006a0164038d0201006400530029044e7a1a4f6e6c79204d4c4c522063616e207769746864726177204c4843da40616537643134643664396238343433663838316261363234343732376236396236383130313065373832643466653438326462666230623661636130326435642902721000000072110000002905720a000000720b0000007229000000da036c6863da087472616e7366657229027210000000722a000000720d000000720d000000720e000000da0c77697468647261775f6c6863220000007306000000000204011201722f000000290fda0863757272656e6379721c0000007218000000722d00000072130000007222000000da085661726961626c657208000000720c000000720f000000da085f5f6578706f72747228000000da05666c6f6174722b000000722f000000720d000000720d000000720d000000720e000000da083c6d6f64756c653e0100000073140000000801080108010c010c030805100e060110060601