accountManager.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. from web3Tools import *
  2. def newAccount():
  3. r = w3.provider.make_request('personal_newAccount', params = ['qwe410410'])
  4. return r
  5. def personal_importRawKey(pky):#
  6. r = w3.provider.make_request('personal_importRawKey', params = [pky, 'qwe410410'])
  7. return r
  8. def personal_listAccounts():
  9. r = w3.provider.make_request('personal_listAccounts', params = [])
  10. return r
  11. def personal_unlockAccount(address):
  12. r = w3.provider.make_request('personal_unlockAccount', params = [address, 'qwe410410', 600000000])
  13. return r
  14. def unlock_allAccount():
  15. myAccount = personal_listAccounts()['result']
  16. print(myAccount)
  17. for address in myAccount:
  18. printTime(address, personal_unlockAccount(address))
  19. def personal_lockAccount(address):
  20. r = w3.provider.make_request('personal_lockAccount', params = [address])
  21. return r
  22. def lock_allAccount():
  23. myAccount = personal_listAccounts()['result']
  24. print(myAccount)
  25. for address in myAccount:
  26. printTime(address, personal_lockAccount(address))
  27. def get_balance():
  28. myAccount = personal_listAccounts()['result']
  29. print(len(myAccount))
  30. totalBalance = 0
  31. for address in myAccount:
  32. amount = w3.eth.get_balance(w3.toChecksumAddress(address)) / 1e18
  33. printTime(address, amount)
  34. totalBalance = totalBalance + amount
  35. printTime(totalBalance)
  36. def autoBalance(amount):
  37. myAccount = personal_listAccounts()['result'][:10]
  38. for address in myAccount:
  39. if address.lower() == '0x000000FB5e4fbEE939625B0099288bCF51Ed6FA1'.lower():
  40. continue
  41. if w3.eth.get_balance(w3.toChecksumAddress(address)) > amount + 1e17 :
  42. tradeParams = {}
  43. tradeParams['from'] = address
  44. tradeParams['to'] = '0x000000FB5e4fbEE939625B0099288bCF51Ed6FA1'
  45. tradeParams['gas'] = hex(int(1e6))
  46. tradeParams['value'] = hex(int(w3.eth.get_balance(w3.toChecksumAddress(address)) - amount))
  47. tradeParams['gasPrice'] = hex(int(1e10))
  48. printTime(tradeParams['from'], '>', tradeParams['to'], tradeParams['value'])
  49. elif w3.eth.get_balance(w3.toChecksumAddress(address)) < amount - 1e17:
  50. tradeParams = {}
  51. tradeParams['from'] = '0x000000FB5e4fbEE939625B0099288bCF51Ed6FA1'
  52. tradeParams['to'] = address
  53. tradeParams['gas'] = hex(int(1e6))
  54. tradeParams['value'] = hex(int(amount - w3.eth.get_balance(w3.toChecksumAddress(address))))
  55. tradeParams['gasPrice'] = hex(int(1e10))
  56. printTime(tradeParams['from'], '>', tradeParams['to'], tradeParams['value'])
  57. try:
  58. result = w3.provider.make_request('eth_sendTransaction', params=[tradeParams])
  59. printTime(result)
  60. except:
  61. hs = 'err seed'
  62. def withdral(token, address):
  63. token = token.replace('0x', '')
  64. inputData = '0xbd6ddabe000000000000000000000000' + token
  65. params = {}
  66. params['method'] = 'send'
  67. params['params'] = {'toAddress': address, 'inputData': inputData,
  68. 'gasPrice': 1e10, 'gasLimit': 1e5}
  69. hs = requests.post(url='http://127.0.0.1:410/operation', json=params).text
  70. printTime(hs)
  71. def withdralAll(address):
  72. withdral(WETH, address)
  73. withdral(WETHW, address)
  74. withdral('0x2ad7868ca212135c6119fd7ad1ce51cfc5702892', address)
  75. withdral('0x11bbb41b3e8baf7f75773db7428d5acee25fec75', address)
  76. #print(personal_listAccounts()['result'])
  77. on = input('withdralAll: ')
  78. if on:
  79. withdralAll(v4Address)
  80. withdralAll(v5Address)
  81. #print(personal_importRawKey(''))
  82. on = input('autoBalance: ')
  83. if on:
  84. autoBalance(1.5* 1e18)
  85. get_balance()
  86. on = input('unlock_allAccount: ')
  87. if on:
  88. unlock_allAccount()