Contract con_random_gold_address
Creator | ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d |
Creation Hash | 5fc9a640e7f2185194360a3c9943c814f46fff48cded4fa9b1497bcf0c8f068f |
Created On | 1043 days ago - 6/12/2021, 12:48:08 AM UTC+0 |
Contract Code
1
random.seed()
2
3
@export
4
def get_random_user(addresses: list, min_amount: int, farm: str):
5
winner = get_farm_user(addresses, min_amount, farm)
6
7
error = "No address found"
8
assert winner != None, error
9
10
return winner
11
12
def get_farm_user(addresses: list, min_amount: int, farm: str):
13
for address in addresses:
14
# Determine winning address
15
winner = random.choice(addresses)
16
17
if farm == "GOLD":
18
# Get all GOLD addresses
19
deposits = ForeignHash(
20
foreign_contract='con_gold_contract',
21
foreign_name='balances')
22
23
# Get GOLD balance
24
amount = deposits[winner]
25
26
elif farm == "GOLD-FARM":
27
# Get all GOLD - GOLD farming addresses
28
deposits = ForeignHash(
29
foreign_contract='con_staking_gold_gold',
30
foreign_name='Deposits')
31
32
# Get deposited GOLD amount
33
amount = deposits[winner]["amount"]
34
35
elif farm == "GOLD-LP-FARM":
36
# Get all GOLD LP - GOLD farming addresses
37
deposits = ForeignHash(
38
foreign_contract='con_liq_mining_gold_gold',
39
foreign_name='Deposits')
40
41
# Get deposited GOLD-LP amount
42
amount = deposits[winner]["amount"]
43
44
# Check if deposited amount is sufficient
45
if amount >= min_amount:
46
return winner
Byte Code
e30000000000000000000000000500000040000000733800000065006a018300010065026400830165036504650564019c0364026403840483015a0665036504650564019c036404640584045a07640653002907da17636f6e5f72616e646f6d5f676f6c645f616464726573732903da09616464726573736573da0a6d696e5f616d6f756e74da046661726d630300000000000000050000000400000043000000732400000074007c007c017c0283037d0364017d047c0364006b03732074017c04830182017c03530029024e7a104e6f206164647265737320666f756e642902da0f5f5f6765745f6661726d5f75736572da0e417373657274696f6e4572726f722905720200000072030000007204000000da0677696e6e6572da056572726f72a9007209000000da00da0f6765745f72616e646f6d5f7573657204000000730800000000020c0104011001720b0000006303000000000000000700000007000000430000007394000000788e7c0044005d867d0374006a017c0083017d047c0264016b0272367402640264036404640564068d047d057c057c0419007d066e4a7c0264076b02725c7402640864096404640564068d047d057c057c041900640a19007d066e247c02640b6b0272807402640c64096404640564068d047d057c057c041900640a19007d067c067c016b0572067c0453007106570064005300290d4eda04474f4c44da11636f6e5f676f6c645f636f6e7472616374da0862616c616e6365737201000000da086465706f736974732904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d65da08636f6e7472616374da046e616d657a09474f4c442d4641524dda15636f6e5f7374616b696e675f676f6c645f676f6c64da084465706f73697473da06616d6f756e747a0c474f4c442d4c502d4641524dda18636f6e5f6c69715f6d696e696e675f676f6c645f676f6c642903da0672616e646f6dda0663686f696365da0b466f726569676e486173682907720200000072030000007204000000da07616464726573737207000000da0a5f5f6465706f73697473721600000072090000007209000000720a00000072050000000c000000732600000000010a010a0108010401040108010a010801020104010a010e010801020104010a010c01080172050000004e29087218000000da0473656564da085f5f6578706f7274da046c697374da03696e74da03737472720b0000007205000000720900000072090000007209000000720a000000da083c6d6f64756c653e010000007306000000080306011407