Reidmcc / rockfish

Rockfish is an arbitrage bot for the Stellar Decentralized Exchange (SDEX)
MIT License
71 stars 23 forks source link

PathFinder Failing on Log Statement? #34

Closed alexgandy closed 5 years ago

alexgandy commented 5 years ago

Describe the bug Any time that rockfish finds a profitable route, it dies.

To Reproduce

  1. Clone repo, follow install instructions.
  2. Duplicate and modify example configurations.

I've tried a variety of configurations: XLM -> USD -> BTC -> XLM XLM -> USD -> SLT -> XLM

Expected behavior I'm not sure, still just poking around with Rockfish.

Screenshots Output:

2019/07/03 12:24:38 configs:
2019/07/03 12:24:38      TRADING_SECRET_SEED: [secret key to account REMOVED]
2019/07/03 12:24:38      SOURCE_SECRET_SEED:
2019/07/03 12:24:38      HORIZON_URL: https://horizon.stellar.org
2019/07/03 12:24:38      RATE_LIMITER_MS: 20
2019/07/03 12:24:38 Starting Rockfish in Arbitrage Cycle mode: master:v1.0.0-rc-2-g67ead284 [67ead284dda48845c2cf99a9dc9337d89dac45da]
2019/07/03 12:24:38 configs:
2019/07/03 12:24:38      TRADING_SECRET_SEED: [secret key to account REMOVED]
2019/07/03 12:24:38      SOURCE_SECRET_SEED:
2019/07/03 12:24:38      HORIZON_URL: https://horizon.stellar.org
2019/07/03 12:24:38      RATE_LIMITER_MS: 20
2019/07/03 12:24:38 configs:
2019/07/03 12:24:38      MIN_RATIO: 1.0001
2019/07/03 12:24:38      GROUPS: [{HoldAssetCode:XLM HoldAssetIssuer: UseBalance:true StaticAmount:100 MinAmount:1 Assets:[{CODE:USD ISSUER:GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX} {CODE:LTC ISSUER:GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5} {CODE:SLT ISSUER:GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP}]}]
2019/07/03 12:24:38 No Source Account Set
2019/07/03 12:24:38 added path: XLM -> USD | GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX -> LTC | GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 -> XLM
2019/07/03 12:24:38 added path: XLM -> USD | GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX -> SLT | GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP -> XLM
2019/07/03 12:24:38 added path: XLM -> LTC | GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 -> USD | GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX -> XLM
2019/07/03 12:24:38 added path: XLM -> LTC | GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 -> SLT | GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP -> XLM
2019/07/03 12:24:38 added path: XLM -> SLT | GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP -> USD | GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX -> XLM
2019/07/03 12:24:38 added path: XLM -> SLT | GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP -> LTC | GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 -> XLM
2019/07/03 12:24:38 Starting arbitrage...
2019/07/03 12:24:38 (re)starting stream for USD|GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX vs LTC|GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5
2019/07/03 12:24:38 (re)starting stream for USD|GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX vs SLT|GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP
2019/07/03 12:24:38 (re)starting stream for LTC|GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 vs SLT|GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP
2019/07/03 12:24:38 (re)starting stream for USD|GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX vs XLM|
2019/07/03 12:24:38 (re)starting stream for LTC|GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 vs XLM|
2019/07/03 12:24:38 (re)starting stream for SLT|GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP vs XLM|
2019/07/03 12:24:38 orderbook for USD|GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX vs SLT|GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP updated
2019/07/03 12:24:38 orderbook for LTC|GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 vs SLT|GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP updated
2019/07/03 12:24:38 orderbook for USD|GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX vs LTC|GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 updated
2019/07/03 12:24:38 orderbook for USD|GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX vs XLM| updated
2019/07/03 12:24:38 orderbook for SLT|GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP vs XLM| updated
2019/07/03 12:24:38 orderbook for LTC|GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5 vs XLM| updated
2019/07/03 12:24:39 Return ratio | Cycle amount for path XLM -> USD -> LTC -> XLM was route empty | 0
2019/07/03 12:24:39 Return ratio | Cycle amount for path XLM -> USD -> SLT -> XLM was 0.0007266 | 0.1491054
2019/07/03 12:24:39 Return ratio | Cycle amount for path XLM -> LTC -> USD -> XLM was route empty | 0
2019/07/03 12:24:39 Return ratio | Cycle amount for path XLM -> LTC -> SLT -> XLM was route empty | 0
2019/07/03 12:24:39 Return ratio | Cycle amount for path XLM -> SLT -> USD -> XLM was route empty | 0
2019/07/03 12:24:39 Return ratio | Cycle amount for path XLM -> SLT -> LTC -> XLM was route empty | 0
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2ee920]

goroutine 21 [running]:
github.com/Reidmcc/rockfish/modules.(*PathFinder).FindBestPathConcurrent(0x20e6420)
    /home/pi/go/src/github.com/Reidmcc/rockfish/modules/pathFinder.go:375 +0x4b8
created by github.com/Reidmcc/rockfish/arbitrageur.(*Arbitrageur).StartLedgerSynced
    /home/pi/go/src/github.com/Reidmcc/rockfish/arbitrageur/arbitrageur.go:90 +0x2ec

Version Please run ./rockfish version and paste the output here, it will look something like:

version: master:v1.0.0-rc-2-g67ead284
  git branch: master
  git hash: 67ead284dda48845c2cf99a9dc9337d89dac45da
  build date: 20190703T152253Z
  GOOS: linux
  GOARCH: arm

Additional context This is running on a raspberry pi...though it built fine after following the instructions, so I'm not sure if it matters.