Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. const getOfficialConverters = async (web3) => {
  2. let tokenAddress
  3. let tokenContract
  4. let symbol
  5. let converterCount
  6. let converterAddressLatest
  7. let converterContract
  8. let smartTokenAddress
  9. let smartTokenContract
  10. let smartTokenSymbol
  11. let obj
  12. const bancorRegistry = web3.eth.Contract(BancorConverterRegistryABI, BancorConverterRegistry)
  13. let totalTokens = await bancorRegistry.methods.tokenCount().call()
  14. totalTokens = web3.utils.hexToNumberString(totalTokens._hex)
  15.  
  16. let tokenInfo = []
  17. let symbolArray = []
  18.  
  19. for(let i =0; i<totalTokens; i++){
  20. try{
  21. tokenAddress = await bancorRegistry.methods.tokens(i).call()
  22. tokenContract = web3.eth.Contract(ABISmartToken, tokenAddress)
  23. // parse connector symbol
  24. try{
  25. symbol = await tokenContract.methods.symbol().call()
  26. }catch(err){
  27. // No Standard (return bytes32)
  28. tokenContract = web3.eth.Contract(ERC20noStandard, tokenAddress)
  29. symbol = web3.utils.toUtf8(await tokenContract.methods.symbol().call())
  30. }
  31. // parse latest converter
  32. converterCount = await bancorRegistry.methods.converterCount(tokenAddress).call()
  33. converterCount = web3.utils.hexToNumberString(converterCount._hex)
  34. converterAddressLatest = await bancorRegistry.methods.converterAddress(tokenAddress, converterCount - 1).call()
  35.  
  36. // get smart token and smarttoken symbol
  37. converterContract = web3.eth.Contract(ABIConverter, converterAddressLatest )
  38. smartTokenAddress = await converterContract.methods.token().call()
  39. smartTokenContract = web3.eth.Contract(ABISmartToken, smartTokenAddress)
  40.  
  41. // get real converter (smart token owner)
  42. converterAddress = await smartTokenContract.methods.owner().call()
  43. smartTokenSymbol = await smartTokenContract.methods.symbol().call()
  44.  
  45. console.log(tokenAddress, symbol, converterAddress, smartTokenAddress, smartTokenSymbol)
  46.  
  47. obj = { tokenAddress, symbol, converterAddress, smartTokenAddress, smartTokenSymbol}
  48. tokenInfo.push(obj)
  49. symbolArray.push(symbol)
  50. }catch(err){
  51. console.log("NO STANDARD_____", tokenAddress)
  52. }
  53. }
  54. saveToJson(tokenInfo)
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement