$100k Flashstaking Competition | Bug Reporting, Feedback, Errors, Comments

In order to track feedback let’s use this thread so our Dev Team has a single source to track your experience with the Dapp during the competition.

**Please keep in mind the whole point of this competition is to stress test the Dapp, break it, find errors, have fun, and get paid to do it!!

9 Likes

Stake and Swap Dashboards are both currently not showing anything

1 Like

Hey Team XIO

It could be a very nice feature if we on the leaderboard could see both wallet balance and Dapp balance for each user.

Just a suggestion :grinning:

XID-AAA2E

3 Likes

Hi,

It is probably a problem form the android metamask app end, but I have to reload the dapp page like 10 times before it actually connect with my wallet.
During the 2500$ competition, this wouldn’t happen though

1 Like

The Leaderboard is not updating.
Actually one XID was updated sometime after the first round of staking, but nothing else.

1 Like

I get the following error when trying to unstake;

Status: Fail with error ‘Invalid Id’
To: Warning! Error encountered during contract execution [ execution reverted ]

There is no way to catch up after a failure like this, feels so so.

1 Like

Feedbacks:

  1. People starting first (or in fist hour) have an unfair advantage over others (as pools are giving huge rewards early) …maybe we should have a “lead in time” after announcing it of around 4-5 hours where people can place their bids upfront…
  2. Time of competition is a little tricky but if we go with the lead in time idea…people will have a bigger window to prepare.
  3. Need to refresh Page to approve any new token…maybe a UI issue
  4. Too many decimals cause the stake to fail. Maybe round to 3 decimals by defualt?
  5. Can we show $ values of the award?

XID-6CCb5

1 Like

I agree with this feedback, but sadly there is really no workaround for this, since the earth is round :joy::earth_americas:

My feedback:

An “in app countdown” for the end of the competition would be nice.
Also a real time ladder, or at least a link from the dapp to the competition page where one can see some statistics of the ongoing round

i got the same problem. did you resolve it man?

I cannot Unstake ALL my completed staked.

sample Hash id: 0x8902dc6895d4280b7885568dac08ed81d3cf0272f1cd8025725e01f41f10b834

status: Failed with error “Invalid ID”

in this case, how can we address the determination of winner? since if several users experience the same of not able to unstake… it affects the performance to win this competition?

i hope there’s some consideration. tia.

The main issues from my point of view:

  1. Sometimes swapping fails when there are many significant digits - I believe this has something to do with rounding since it works just fine if I drop the last number - eg 1234.5678910112 to 1234.567891011

  2. The graph API powering the Dapp is not capable of handling a large number of users at the same time. I am unsure what you can do about this since it does not seem like you can just solve this problem by throwing some more nodes into a cluster (eg load balanced) since the problem is related to how the graph API is aggregating the data rather than going down due to excessive requests.

I would suggest running a few custom nodes (not from thegraph) alongside thegraph and then implementing a type of application load balancer that distributes the load from the staking app. Using maybe something like round robin along with failure correction - ie when a node is not reachable, it moves onto the next one. This would have prevented the initial issues we had with the application.

1 Like

Hello! I’ve tested the app today with multiple staking and swaps.
E.g. Staked XIO, get AAVE, swap AAVE for XIO, stake XIO, get UNI and so on.
Every time before the button “Aproove AAVE” or "“Aproove LINK” become active I was needed to reload the page.
Windows, Chrome, Metamask

For a better UX, you should sort the swap dashboard by newest date instead of oldest. Always have to go to last page to check the last events.

My wallet balance within the dapp (under the staking tab) is showing 0 XIO when my actual balance in is 28.88 (see https://rinkeby.etherscan.io/token/0x6bdc644e0da75e59da0587e13fc806bfb61764cb?a=0x66b1ddfde750fbf68d81cedb4417e5359d3a79d8).

I’ve tried disconnecting my wallet and reconnecting, pressing ctrl+shift+R, pressing F5. Problem still remains.

After pressing Ctrl+shift+R, the dapp is allowing me to approve any amount of XIO it just won’t allow me to press staking button as it thinks I have no XIO in my wallet.

I think I caused this issue by trying to approve a 20XIO stake for 1minute using 2 different devices (pc and mobile) at the same time with the same wallet. I did this just to see the effect on the dapp under abnormal use. I tried this process a few times with approval transaction being successful (https://rinkeby.etherscan.io/tx/0xffdda639ef25db3a3ff9950584e6b7edbe301068663826aa7fd1f1fa4784c395) just the actual stakes failing as they should do.

I’m not sure how to use the XIO in the dapp again that the dapp is not seeing for the remainder of the competition?

I’ve had a go at looking through the source code to find more info on what’s preventing my balance being utilised by the dapp.

If i understand from what i’ve seen from the errors correctly, there seems to be a daily request rate limit for a ‘getBalances’ request.

If this is the case do I just wait out a specific time limit and it should reset the lockout of the ‘getBalances’ request?

Below is a shortened copy of the errors thrown up:

Failed to load resource: the server responded with a status of 429 ()
erc20TokenContractFunctions.js:139 ERROR allowance → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ erc20TokenContractFunctions.js:139
balanceContractFunctions.js:50 ERROR getBalances → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ balanceContractFunctions.js:50
erc20TokenContractFunctions.js:139 ERROR allowance → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ erc20TokenContractFunctions.js:139
rinkeby.infura.io/v3/0c68224c7a1842da956c1dd425e4be1f:1 Failed to load resource: the server responded with a status of 429 ()
balanceContractFunctions.js:50 ERROR getBalances → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ balanceContractFunctions.js:50
rinkeby.infura.io/v3/0c68224c7a1842da956c1dd425e4be1f:1 Failed to load resource: the server responded with a status of 429 ()
balanceContractFunctions.js:50 ERROR getBalances → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ balanceContractFunctions.js:50
rinkeby.infura.io/v3/0c68224c7a1842da956c1dd425e4be1f:1 Failed to load resource: the server responded with a status of 429 ()
balanceContractFunctions.js:50 ERROR getBalances → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ balanceContractFunctions.js:50
logger.ts:115 [2020-10-17T23:37:31.642Z] Performance: Tries left: 2.
logger.ts:115 [2020-10-17T23:37:41.669Z] Performance: Tries left: 1.
logger.ts:115 [2020-10-17T23:37:51.701Z] Performance: Tries left: 0.
DevTools failed to load SourceMap: Could not load content for chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/sourcemaps/contentscript.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
DevTools failed to load SourceMap: Could not load content for chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/sourcemaps/inpage.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
index.js:121 POST https://rinkeby.infura.io/v3/0c68224c7a1842da956c1dd425e4be1f 429
s.send @ index.js:121
c.send @ index.js:187
f @ index.js:763
r @ index.js:797
h._executeMethod @ index.js:945
(anonymous) @ balanceContractFunctions.js:37
c @ runtime.js:63
(anonymous) @ runtime.js:293
(anonymous) @ runtime.js:118
r @ asyncToGenerator.js:3
s @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ balanceContractFunctions.js:25
(anonymous) @ userActions.js:165
c @ runtime.js:63
(anonymous) @ runtime.js:293
(anonymous) @ runtime.js:118
r @ asyncToGenerator.js:3
s @ asyncToGenerator.js:25
Promise.then (async)
r @ asyncToGenerator.js:13
s @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ userActions.js:162
(anonymous) @ index.js:8
(anonymous) @ redux.js:477
(anonymous) @ Updater.js:57
balanceContractFunctions.js:50 ERROR getBalances → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)
(anonymous) @ balanceContractFunctions.js:50
c @ runtime.js:63
(anonymous) @ runtime.js:293
(anonymous) @ runtime.js:118
r @ asyncToGenerator.js:3
u @ asyncToGenerator.js:29
Promise.then (async)
r @ asyncToGenerator.js:13
s @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ balanceContractFunctions.js:25
(anonymous) @ userActions.js:165
c @ runtime.js:63
(anonymous) @ runtime.js:293
(anonymous) @ runtime.js:118
r @ asyncToGenerator.js:3
s @ asyncToGenerator.js:25
Promise.then (async)
r @ asyncToGenerator.js:13
s @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ userActions.js:162
(anonymous) @ index.js:8
(anonymous) @ redux.js:477
(anonymous) @ Updater.js:57
index.js:121 POST https://rinkeby.infura.io/v3/0c68224c7a1842da956c1dd425e4be1f 429
s.send @ index.js:121
c.send @ index.js:187
f @ index.js:763
r @ index.js:797
h._executeMethod @ index.js:945
(anonymous) @ balanceContractFunctions.js:37
c @ runtime.js:63
(anonymous) @ runtime.js:293
(anonymous) @ runtime.js:118
r @ asyncToGenerator.js:3
s @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ balanceContractFunctions.js:25
(anonymous) @ userActions.js:165
c @ runtime.js:63
(anonymous) @ runtime.js:293
(anonymous) @ runtime.js:118
r @ asyncToGenerator.js:3
s @ asyncToGenerator.js:25
Promise.then (async)
r @ asyncToGenerator.js:13
s @ asyncToGenerator.js:25
(anonymous) @ asyncToGenerator.js:32
(anonymous) @ asyncToGenerator.js:21
(anonymous) @ userActions.js:162
(anonymous) @ index.js:8
(anonymous) @ redux.js:477
(anonymous) @ Updater.js:57
balanceContractFunctions.js:50 ERROR getBalances → Error: Returned error: daily request count exceeded, request rate limited
at Object.ErrorResponse (errors.js:30)
at i (index.js:172)
at XMLHttpRequest.i.onreadystatechange (index.js:111)

It’s stuck on approval, it takes the gas fee, but it never approve XIO so I’m unable to stake.

Update:

It is now showing the balance of 28.88 XIO in the dapp.
It has just been over an hour since the balance stopped showing so makes me thing the lockout time is 1hour but i’m not sure as could not find a statement for the set limit.

I didn’t do anything but I think some admin went in and removed the duplicated stake so it works now 24+ hours later, still upset about the whole thing, placed 3rd in the last competition and was aiming to go higher this time. Not even gonna try as it is pointless now with such a start.

/crybaby

The GUI allow to do this
0.049216967711636545 XIO FOR 1000000000000000000 MINS TO EARN 3.7656835216374775e+57 UNI INSTANTLY

But of course the transaction fails. I think that the GUI could prevent this to avoid overloading of the smartcontract with impossible transactions.

It looks like nearly all of the issues reported here are either related to temporary issues or slight UI tweaks which is amazing to hear - this means there are no fundamental issues with the contract or UI :wink:

The “connect your wallet” problem is still present. I need to reload the page several times, before my wallet connects and I can use the dapp. I am using metamask on android.it happens on the swap page of the dapp as well