vegaprotocol / data-node

A rich API server for Vega Protocol
https://vega.xyz
Other
3 stars 1 forks source link

Party currentStakeAvailable not updated after stake linking #647

Closed mattrussell36 closed 2 years ago

mattrussell36 commented 2 years ago

Problem encountered

The following occurred on Testnet. After I staked via the staking bridge contract (0xF5A3830F002BE78dd801214F5316b677E0355c60), I can see the stake linking appear in the API. However the field party.stake.currentStakeAvailable doesn't update to reflect what is available to delegate to a node

Observed behaviour

The field doesn't change

Expected behaviour

party.stake.currentStakeAvailable should show the total amount associated via the staking bridge.

Steps to reproduce

Manual

Steps to reproduce the behaviour manually:

  1. execute the stake function on the staking bridge contract and wait for the transaction to complete
  2. after the ethereum event has been picked up observe that there is a new stake linking in the api under party.stake.linkings
  3. after the linking has been Accepted observe that the currentStakeAvailable field doesn't update
gordsport commented 2 years ago

Adding to current sprint to triage and check if fixed in new data-node

pscott31 commented 2 years ago

So I this query on devnet, which is using datanode v2

{
  parties {
    stake {
      currentStakeAvailable
      linkings {
        id
        amount
        timestamp
      }
    }
  }
}

And got back a bunch of stuff like

{
  "data": {
    "parties": [
      {
        "stake": {
          "currentStakeAvailable": "0",
          "linkings": null
        }
      },
      {
        "stake": {
          "currentStakeAvailable": "866000000000000000000",
          "linkings": [
            {
              "id": "00ccc694576b3f009da54cac636e9f05f84204b7faec71b9229a853e731f7c0f",
              "amount": "1000000000000000000",
              "timestamp": "2022-02-11T14:10:52Z"
            },
            {
              "id": "00fdfdd0de24e74c2fb8204af0f4ac9da749e5f157a7528a1b0f2d9951092097",
              "amount": "1000000000000000000",
              "timestamp": "2022-05-21T16:51:08Z"
            },

  (etc...)

Is that sufficient to demonstrate that this isn't a problem in v2? I'm not exactly sure how to 'execute the stake function on the staking bridge contract and wait for the transaction to complete' to reproduce your steps exactly; would you mind having a go on devnet or showing me what I need to do?

If the above is sufficient can we close this ticket?