Contract con_random_gold_farm_address


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 - GOLD farming addresses
19 deposits = ForeignHash(
20 foreign_contract='con_staking_gold_gold',
21 foreign_name='Deposits')
22
23 elif farm == "GOLD-LP":
24 # Get all GOLD LP - GOLD farming addresses
25 deposits = ForeignHash(
26 foreign_contract='con_liq_mining_gold_gold',
27 foreign_name='Deposits')
28
29 # Get deposited GOLD amount
30 deposit_amount = deposits[winner]["amount"]
31
32 # Check if deposited amount is sufficient
33 if deposit_amount >= min_amount:
34 return winner

Byte Code

e30000000000000000000000000500000040000000733800000065006a018300010065026400830165036504650564019c0364026403840483015a0665036504650564019c036404640584045a07640653002907da1c636f6e5f72616e646f6d5f676f6c645f6661726d5f616464726573732903da09616464726573736573da0a6d696e5f616d6f756e74da046661726d630300000000000000050000000400000043000000732400000074007c007c017c0283037d0364017d047c0364006b03732074017c04830182017c03530029024e7a104e6f206164647265737320666f756e642902da0f5f5f6765745f6661726d5f75736572da0e417373657274696f6e4572726f722905720200000072030000007204000000da0677696e6e6572da056572726f72a9007209000000da00da0f6765745f72616e646f6d5f7573657204000000730800000000020c0104011001720b000000630300000000000000070000000700000043000000736600000078607c0044005d587d0374006a017c0083017d047c0264016b02722e7402640264036404640564068d047d056e187c0264076b0272467402640864036404640564068d047d057c057c041900640919007d067c067c016b0572067c0453007106570064005300290a4eda04474f4c44da15636f6e5f7374616b696e675f676f6c645f676f6c64da084465706f736974737201000000da086465706f736974732904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d65da08636f6e7472616374da046e616d657a07474f4c442d4c50da18636f6e5f6c69715f6d696e696e675f676f6c645f676f6c64da06616d6f756e742903da0672616e646f6dda0663686f696365da0b466f726569676e486173682907720200000072030000007204000000da07616464726573737207000000da0a5f5f6465706f73697473da0e6465706f7369745f616d6f756e7472090000007209000000720a00000072050000000c000000731a00000000010a010a010801020104010c010801020104010a010c01080172050000004e29087216000000da0473656564da085f5f6578706f7274da046c697374da03696e74da03737472720b0000007205000000720900000072090000007209000000720a000000da083c6d6f64756c653e010000007306000000080306011407