Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

addOrdersAsync Validation OrderUnfunded on Geth Node #367

Closed
amaurer opened this issue Aug 20, 2019 · 3 comments
Closed

addOrdersAsync Validation OrderUnfunded on Geth Node #367

amaurer opened this issue Aug 20, 2019 · 3 comments

Comments

@amaurer
Copy link
Contributor

amaurer commented Aug 20, 2019

I have been unable to add orders to a running Mesh node via the TS Client

  • Node.js 10.16.2 & 10.15.3
  • Using node client package @0x/mesh-rpc-client 3.0.1-beta
  • Mesh container 3.0.0-beta
  • Geth v1.9.1 fast sync mode
  • Checked allowances for erc20 asset proxy 0x95e6f48254609a6ee006f7d493c8e5fb97094cef against ZRX, set to MAX,
  • Balance for wallet 0xf4020576f95d2A63D5084496EC37FfcAa980253d is 7.226 ZRX
  • Verified application is able to talk to the mesh node by calling stats order:info GetStatsAsync - { peers: 24, orders: 510 }
{
  "feeRecipientAddress": "0x2a5f5f36c20d7e56358db78bbfac0bace25c1198",
  "makerFee": "100000000000000",
  "takerFee": "359787108219988",
  "senderAddress": "0x0000000000000000000000000000000000000000",
  "makerAddress": "0xf4020576f95d2a63d5084496ec37ffcaa980253d",
  "takerAddress": "0x0000000000000000000000000000000000000000",
  "makerAssetAmount": "100000000000000000",
  "takerAssetAmount": "20000000000000000",
  "makerAssetData": "0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498",
  "takerAssetData": "0xf47261b000000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359",
  "exchangeAddress": "0x080bf510fcbf18b91105470639e9561022937712",
  "expirationTimeSeconds": "1566314680",
  "salt": "1566314379633",
  "signature": "0x1b50141f10c0ad4919e32844a17e274523b9762350d172a3247b2d49dfeaf638166e9032b11d4fe23a4f3297b9963e08d62815ec44504a811e53f41a162ea60cae03"
}

Error

  order:info addOrdersAsync.results - { accepted: [],
  order:info   rejected:
  order:info    [ { orderHash:
  order:info         '0x3480218682e444c0e42b0dd40366bef7d252f8ebfa4957aefa4f1ec396dcb255',
  order:info        signedOrder: [Object],
  order:info        kind: 'ZEROEX_VALIDATION',
  order:info        status: [Object] } ] } +2m
  order:error addOrdersAsync.orderHash - '0x3480218682e444c0e42b0dd40366bef7d252f8ebfa4957aefa4f1ec396dcb255' +2m
  order:error addOrdersAsync.order - { makerAddress: '0xf4020576f95d2a63d5084496ec37ffcaa980253d',
  order:error   makerAssetData:
  order:error    '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498',
  order:error   makerAssetAmount: 100000000000000000,
  order:error   makerFee: 100000000000000,
  order:error   takerAddress: '0x0000000000000000000000000000000000000000',
  order:error   takerAssetData:
  order:error    '0xf47261b000000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359',
  order:error   takerAssetAmount: 20000000000000000,
  order:error   takerFee: 359787108219988,
  order:error   senderAddress: '0x0000000000000000000000000000000000000000',
  order:error   exchangeAddress: '0x080bf510fcbf18b91105470639e9561022937712',
  order:error   feeRecipientAddress: '0x2a5f5f36c20d7e56358db78bbfac0bace25c1198',
  order:error   expirationTimeSeconds: 1566314680,
  order:error   salt: 1566314379633,
  order:error   signature:
  order:error    '0x1b50141f10c0ad4919e32844a17e274523b9762350d172a3247b2d49dfeaf638166e9032b11d4fe23a4f3297b9963e08d62815ec44504a811e53f41a162ea60cae03' } +0ms
  order:error addOrdersAsync.status - { code: 'OrderUnfunded',
  order:error   message:
  order:error    'maker has insufficient balance or allowance for this order to be filled' }
@fabioberger
Copy link
Contributor

Thanks for submitting this. I just tried to repro and unfortunately the order is already expired. Any chance you could generate another order with a longer expiration?

Also, could you try with v3.0.1-beta?

Lastly, have you also made sure it also fails when using Infura as opposed to your own Geth node? That could rule out any syncing issues.

@amaurer
Copy link
Contributor Author

amaurer commented Aug 25, 2019

Upgraded to the latest version, no change.
Switched to Infura, and the issue went away.
Switched to our Parity node and the issue went away.
Seems using our Geth fast sync node, it fails balance/allowance validation.

I did notice I'm getting errors roughly seven times and hour that say...

{"error_url_Error":"Post http://parity-archive:8545: context deadline exceeded","level":"error","msg":"blockwatch.Watcher error encountered","myPeerID":"16Uiu2HAm2ew5yxdSBzgRNCVJEv7gz5dXKMtDmgtVuegVEdkLZg3H","time":"2019-08-25T18:42:36Z"}

Our Parity nodes are pretty busy. Can you give me an idea of what "context deadline exceeded" means? Thanks!

@amaurer amaurer changed the title addOrdersAsync Validation OrderUnfunded addOrdersAsync Validation OrderUnfunded on Geth Node Aug 25, 2019
@fabioberger
Copy link
Contributor

@amaurer seems like an issue with your Geth node in that case. Is it possible it hasn't finished syncing?

Re: Context deadline succeeded, that simply means that the JSON-RPC request took longer then the timeout set on the request (set to 30 seconds).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants