Skip to content

Commit

Permalink
release after outage (#226)
Browse files Browse the repository at this point in the history
* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* update to new reducers and chain-id (#182)

* merge back (#186)

* release (#179)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* release (#183)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* update to new reducers and chain-id (#182)

* Fabo/fix rewards (#185)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* update to new reducers and chain-id (#182)

* fix rewards not being extracted correctly

* linted

* trigger deploy

* Ana/105 livepeer into production (#114)

* add livepeer first files

* first tentative. add transcoder type and queries

* progress

* progress + trying

* eslint fix

* working

* recover missing config enabletestnet

* delete livepeer from resolver and schema

* try getallvalidators in livepeerv0-source

* todos: own subscription and own reducers

* eslint fix

* refactored into graphql data source

* add livepeer to networks json

* little hack (temporary)

* fix silly eslint error

* start playing

* fetch works. add to apollo

* fix lint

* get last round id/height

* fix lint

* set all feature flags to false

* forward. add livepeer reducer. 400 bad request

* fix lint

* kind of working

* fix networkId

* colin/ make node subscription great

* use transcoders no orchestrators. getValidator

* connecting to block height and validators display

* minor lint

* add validator name

* provisory getselfstake

* improve validator reducer

* use bignumber lib. add getdelegatorsstake

* fix lint

* fix gettotal stake delegators

* fix lint

* clean up

* get self stake

* delete livepeer-queries

* handle url with node url class

* delete extra back ticks

* invisible lint fix

* better prevent than regret

* delete getlastrounid function

* fix total stake and self stake

* remove console log

* use getblockheight to find last block

* get validators from db

* get more names

* get ALL validators

* use validator query string

* use bignumber instead of parseint

* minor lint

* fix validators names

* improve condition

* get all validators for real

* fix search filter for operator address

* fix search filter

* finishing fixes (formatbech32 and bignumber)

* try implementing votingpower. no api support

* refactoring and renaming

* enable votingpower

* livepeer is mainnet

* fix voting power filter (#188)

* disable livepeer for now (#191)

* double the gas estimate for txs (#193)

* wait for txs to be included in a block (#194)

* Move expected returns to separate resolver (#172)

* Move expected returns to separate resolver

* Scale result by 1/1000000

* increase gas again (#200)

* Fabo/track failing txs (#201)

* track failing txs

* remove dead code

* linted

* trigger CI

* Fabo/track failing txs (#202)

* track failing txs

* remove dead code

* linted

* track failures in broadcasting

* better error

* Fabo/sync again (#204)

* switch back to sync mode

* use transactions in block for events

* linted

* switch to own node (#205)

* fix getexpected returns for terra (#208)

* Aleksei/redis added (#214)

* redis added

* redis added

* WIP: Fabo/use redis pubsub (#209)

* use redis pubsub

* refactor

* Fix redis import

* validator picture fixed (#217)

* Revert "validator picture fixed (#217)" (#218)

This reverts commit f9250db.

* Revert "Revert "validator picture fixed (#217)" (#218)" (#219)

This reverts commit c785b0f.

* Fabo/refactor enrich validator (#220)

* refactor enriche validator

* use validator info for name

* Fabo+Jordan/livepeer improvements (#210)

* add livepeer first files

* first tentative. add transcoder type and queries

* progress

* progress + trying

* eslint fix

* working

* recover missing config enabletestnet

* delete livepeer from resolver and schema

* try getallvalidators in livepeerv0-source

* todos: own subscription and own reducers

* eslint fix

* refactored into graphql data source

* add livepeer to networks json

* little hack (temporary)

* fix silly eslint error

* start playing

* fetch works. add to apollo

* fix lint

* get last round id/height

* fix lint

* set all feature flags to false

* forward. add livepeer reducer. 400 bad request

* fix lint

* kind of working

* fix networkId

* colin/ make node subscription great

* use transcoders no orchestrators. getValidator

* connecting to block height and validators display

* minor lint

* add validator name

* provisory getselfstake

* improve validator reducer

* use bignumber lib. add getdelegatorsstake

* fix lint

* fix gettotal stake delegators

* fix lint

* clean up

* get self stake

* delete livepeer-queries

* handle url with node url class

* delete extra back ticks

* invisible lint fix

* better prevent than regret

* delete getlastrounid function

* fix total stake and self stake

* remove console log

* use getblockheight to find last block

* get validators from db

* get more names

* get ALL validators

* use validator query string

* use bignumber instead of parseint

* minor lint

* fix validators names

* improve condition

* get all validators for real

* fix search filter for operator address

* fix search filter

* finishing fixes (formatbech32 and bignumber)

* try implementing votingpower. no api support

* refactoring and renaming

* enable votingpower

* livepeer is mainnet

* fixed values to be correct

* comments

* cleanup

* refactored

* removed file

* fix getexpectedreturns

* fix validator name logic

* add todos

* lint

* Fabo/refactor enrich validator (#222)

* refactor enriche validator

* use validator info for name

* use same logic for single and multiple validator queries

* filter improper picutre values

* return picture from db

* fix asynchrony for enrichvalidator

* Fabo/async check for tx failure (#221)

* refactor

* Update lib/controller/transaction/index.js

Co-Authored-By: Jordan Bibla <[email protected]>

* fix subscription for failing txs

* fix polling

* bunch of fixes

* comments

* linted

* avoid double body read error

* linted

* Fabo/fix enrich validator (#225)

* release (#223)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* update to new reducers and chain-id (#182)

* merge back (#186)

* release (#179)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* release (#183)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* update to new reducers and chain-id (#182)

* Fabo/fix rewards (#185)

* fixed a bug where a single proposal would not load (#125)

* trigger ci

* fixed missing terra data source (#128)

* Fabo/fix missing terra db query (#130)

* fixed missing terra data source

* fixed missing query

* Fabo/fix failing staking query for terra (#132)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* Fabo/hide proposals on terra (#134)

* fixed missing terra data source

* fixed missing query

* fix bech32 prefix in selfStake resolver

* linted

* don't show proposals on terra

* Fabo/switch to yarn (#122)

* switch to yarn

* Update Readme

* Ana/111 regen testnet production (#118)

* regen is home

* fix websocket link

* eslint fix

* delete console logs

* fixed regen source (using cosmosV0)

* add feature flags for regen

* fix txs in regen

* fix transactions per address

* fix eslint errors

* disable sign in

* colw/Transaction Service (#120)

* Obtain transaction payload, mirror back to client

* Respond with request, or error if none present

* Load node friendly versions of cosmos-api for dev

* Send response as JSON

* Successfully retrieve a gas estimate

- Use node-fetch for cosmosAPIs
-

* Add two sub routes: /estimate and /broadcast

* Add account number and sequence to overview query

* Disable cors options

* Add support to broadcast messages

* Ignore fetch undefined

* Delete package-lock.json

* Fabo/simplify queries (#108)

* simplified db queries

Conflicts:
	lib/luniedb-source.js
	lib/queries.js

* switched to yarn

* clean up

* clean up

* Copy cosmos libraries into container (#143)

* Aleksei/terra url change (#144)

* terra url changed

* change soju-0010 to soju-0012

* fixed db queries (#147)

* Update networks.json (#149)

* Fabo/events (#123)

* first steps

* working notification endpoint

* remove push mentions

* linted

* fixes

* updated schema

* use enum for eventtype

* working subscription

* linted

* added push to express routes

* remove newer code

* linted

* Update lib/routes/push.js

Co-Authored-By: Col <[email protected]>

* disable session for regen (#155)

* Aleksei/terra url change (#146)

* terra url changed

* change soju-0010 to soju-0012

* cors added to caddyfiles

* cors added to caddyfiles

* fix missing path

* Fabo/fix vote count (#157)

* fixed vote count calculation

* linted

* Ana/handle with message proposal id error (#159)

* handle undefined proposal error

* fix lint errors

* Ana/add endtime to undelegation tx (#150)

* add liquiddate as field for tx

* fix eslint errors

* change name liquidDate to undelegationEndTime

* fix enddelegationtime for gaia

* improve reducer my way

* fix lint error

* move undelegationendtime to reducer

* fix lint errors

* no abbreviations

* implement undelegation endtime reducer in both

* reenable session for gaia 13006 (#165)

* Ana/fix terra undelegationendtime reducer (#162)

* change reducers to cosmosV2

* prevent result undefined error

* add own gettransaction and txreducer for terra

* fix terra undelegationendtime reducer

* fix lint errors

* avoid hardcoded indexes

* small fix to prevent total server error

* no redundancy: add reducers to transactionreducer

* fix lint

* trigger CI

* Don't return delegations with dust amounts (#171)

* Add filter to delegations

* Fix filter

* Simplify

* add undelegations to total stake (#174)

* Terra chain_id switched to soju-0013 (#176)

* terra chaind_id switched to soju-0013

* changed terra node

* fix issues with undelegatio end time (#175)

* Fabo/fix undelegationendtime (#177)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* Fabo/fix undelegationendtime for regen (#178)

* fix issues with undelegatio end time

* catch undelegation attribute not found

* fix regen transaction reducers

* Display Deposit Period End Date correctly for proposals in deposit period (#181)

* Return proposal.voting_end_time in deposit period

* Return deposit_end_time instead

* update to new reducers and chain-id (#182)

* fix rewards not being extracted correctly

* linted

* trigger deploy

* Ana/105 livepeer into production (#114)

* add livepeer first files

* first tentative. add transcoder type and queries

* progress

* progress + trying

* eslint fix

* working

* recover missing config enabletestnet

* delete livepeer from resolver and schema

* try getallvalidators in livepeerv0-source

* todos: own subscription and own reducers

* eslint fix

* refactored into graphql data source

* add livepeer to networks json

* little hack (temporary)

* fix silly eslint error

* start playing

* fetch works. add to apollo

* fix lint

* get last round id/height

* fix lint

* set all feature flags to false

* forward. add livepeer reducer. 400 bad request

* fix lint

* kind of working

* fix networkId

* colin/ make node subscription great

* use transcoders no orchestrators. getValidator

* connecting to block height and validators display

* minor lint

* add validator name

* provisory getselfstake

* improve validator reducer

* use bignumber lib. add getdelegatorsstake

* fix lint

* fix gettotal stake delegators

* fix lint

* clean up

* get self stake

* delete livepeer-queries

* handle url with node url class

* delete extra back ticks

* invisible lint fix

* better prevent than regret

* delete getlastrounid function

* fix total stake and self stake

* remove console log

* use getblockheight to find last block

* get validators from db

* get more names

* get ALL validators

* use validator query string

* use bignumber instead of parseint

* minor lint

* fix validators names

* improve condition

* get all validators for real

* fix search filter for operator address

* fix search filter

* finishing fixes (formatbech32 and bignumber)

* try implementing votingpower. no api support

* refactoring and renaming

* enable votingpower

* livepeer is mainnet

* fix voting power filter (#188)

* disable livepeer for now (#191)

* double the gas estimate for txs (#193)

* wait for txs to be included in a block (#194)

* Move expected returns to separate resolver (#172)

* Move expected returns to separate resolver

* Scale result by 1/1000000

* increase gas again (#200)

* Fabo/track failing txs (#201)

* track failing txs

* remove dead code

* linted

* trigger CI

* Fabo/track failing txs (#202)

* track failing txs

* remove dead code

* linted

* track failures in broadcasting

* better error

* Fabo/sync again (#204)

* switch back to sync mode

* use transactions in block for events

* linted

* switch to own node (#205)

* fix getexpected returns for terra (#208)

* Aleksei/redis added (#214)

* redis added

* redis added

* WIP: Fabo/use redis pubsub (#209)

* use redis pubsub

* refactor

* Fix redis import

* validator picture fixed (#217)

* Revert "validator picture fixed (#217)" (#218)

This reverts commit f9250db.

* Revert "Revert "validator picture fixed (#217)" (#218)" (#219)

This reverts commit c785b0f.

* Fabo/refactor enrich validator (#220)

* refactor enriche validator

* use validator info for name

* Fabo+Jordan/livepeer improvements (#210)

* add livepeer first files

* first tentative. add transcoder type and queries

* progress

* progress + trying

* eslint fix

* working

* recover missing config enabletestnet

* delete livepeer from resolver and schema

* try getallvalidators in livepeerv0-source

* todos: own subscription and own reducers

* eslint fix

* refactored into graphql data source

* add livepeer to networks json

* little hack (temporary)

* fix silly eslint error

* start playing

* fetch works. add to apollo

* fix lint

* get last round id/height

* fix lint

* set all feature flags to false

* forward. add livepeer reducer. 400 bad request

* fix lint

* kind of working

* fix networkId

* colin/ make node subscription great

* use transcoders no orchestrators. getValidator

* connecting to block height and validators display

* minor lint

* add validator name

* provisory getselfstake

* improve validator reducer

* use bignumber lib. add getdelegatorsstake

* fix lint

* fix gettotal stake delegators

* fix lint

* clean up

* get self stake

* delete livepeer-queries

* handle url with node url class

* delete extra back ticks

* invisible lint fix

* better prevent than regret

* delete getlastrounid function

* fix total stake and self stake

* remove console log

* use getblockheight to find last block

* get validators from db

* get more names

* get ALL validators

* use validator query string

* use bignumber instead of parseint

* minor lint

* fix validators names

* improve condition

* get all validators for real

* fix search filter for operator address

* fix search filter

* finishing fixes (formatbech32 and bignumber)

* try implementing votingpower. no api support

* refactoring and renaming

* enable votingpower

* livepeer is mainnet

* fixed values to be correct

* comments

* cleanup

* refactored

* removed file

* fix getexpectedreturns

* fix validator name logic

* add todos

* lint

* Fabo/refactor enrich validator (#222)

* refactor enriche validator

* use validator info for name

* use same logic for single and multiple validator queries

* filter improper picutre values

* return picture from db

* fix asynchrony for enrichvalidator

* Fabo/async check for tx failure (#221)

* refactor

* Update lib/controller/transaction/index.js

Co-Authored-By: Jordan Bibla <[email protected]>

* fix subscription for failing txs

* fix polling

* bunch of fixes

* comments

* linted

* avoid double body read error

* linted

* fix wrong usage of validator enriching

* comment

* Fabo/handle no self delegation (#229)

* handle the case where a validator has no self delegation

* linted

* allow explore mode for some networks (#227)

* Update issue templates

* Ana/livepeer integrate new api (#224)

* integrate new api

* delete selfstake. add warning for active field

* speed up. query getglobal only once

* rename back to lpt conversion

* delete second globals

Co-authored-by: Ana G. <[email protected]>
Co-authored-by: Col <[email protected]>
Co-authored-by: iambeone <[email protected]>
Co-authored-by: Mario Pino <[email protected]>
Co-authored-by: Jordan Bibla <[email protected]>
  • Loading branch information
6 people authored Dec 20, 2019
1 parent 2f51b2e commit 3baca9c
Show file tree
Hide file tree
Showing 10 changed files with 307 additions and 162 deletions.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
9 changes: 7 additions & 2 deletions data/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"bech32_prefix": "cosmos",
"testnet": true,
"feature_session": true,
"feature_explore": true,
"feature_portfolio": true,
"feature_validators": true,
"feature_proposals": true,
Expand All @@ -33,6 +34,7 @@
"bech32_prefix": "cosmos",
"testnet": false,
"feature_session": true,
"feature_explore": true,
"feature_portfolio": true,
"feature_validators": true,
"feature_proposals": true,
Expand All @@ -58,6 +60,7 @@
"bech32_prefix": "xrn:",
"testnet": true,
"feature_session": false,
"feature_explore": true,
"feature_portfolio": true,
"feature_validators": true,
"feature_proposals": true,
Expand All @@ -83,6 +86,7 @@
"bech32_prefix": "terra",
"testnet": true,
"feature_session": false,
"feature_explore": true,
"feature_portfolio": true,
"feature_validators": true,
"feature_proposals": false,
Expand All @@ -103,11 +107,12 @@
"id": "livepeer-mainnet",
"title": "Livepeer",
"chain_id": "ethereum-1",
"api_url": "https://api.thegraph.com/subgraphs/name/livepeer/livepeer",
"rpc_url": "wss://api.thegraph.com/subgraphs/name/livepeer/livepeer",
"api_url": "https://livepeer-mainnet.lunie.io/",
"rpc_url": "wss://livepeer-mainnet.lunie.io/websocket",
"bech32_prefix": "0x",
"testnet": false,
"feature_session": false,
"feature_explore": true,
"feature_portfolio": false,
"feature_validators": true,
"feature_proposals": false,
Expand Down
72 changes: 70 additions & 2 deletions lib/controller/transaction/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
const { getMessage } = require('./messageConstructor')
const { networks } = require('../../networks')
const Sentry = require('@sentry/node')
const { publishUserTransactionAdded } = require('../../subscriptions')
const reducers = require('../../reducers/cosmosV0-reducers') // TODO the whole transaction service only works for cosmos rn

global.fetch = require('node-fetch')

Expand Down Expand Up @@ -32,6 +34,8 @@ async function broadcast(tx) {
console.log(`Received broadcast: ${JSON.stringify(tx)}`)
try {
const hash = await broadcastTransaction(
tx.networkId,
tx.senderAddress,
networks[tx.networkId].api_url,
tx.signedMessage
)
Expand All @@ -40,7 +44,7 @@ async function broadcast(tx) {
success: true
}
} catch (e) {
Sentry.withScope(function(scope) {
Sentry.withScope(scope => {
scope.setExtra('api_url', networks[tx.networkId].api_url)
scope.setExtra('transaction', tx.signedMessage)
Sentry.captureException(e)
Expand All @@ -57,7 +61,7 @@ module.exports = {
broadcast
}

async function broadcastTransaction(url, signedTx) {
async function broadcastTransaction(networkId, senderAddress, url, signedTx) {
// broadcast transaction with signatures included
// `block` means we wait for the tx to be included into a block before returning. this helps with figuring out "out of gas" issues which only appear when the block is created
const body = createBroadcastBody(signedTx, `sync`)
Expand All @@ -80,6 +84,9 @@ async function broadcastTransaction(url, signedTx) {
.then(res => res.json())
.then(assertOk)

// check if tx is successful when executed vs when broadcasted
pollTransactionSuccess(networkId, senderAddress, url, res.txhash)

return res.txhash
}

Expand Down Expand Up @@ -114,3 +121,64 @@ function assertOk(res) {

return res
}

// TODO replace with a tx tracking system + respond to transactions included in a block and compare them against the ones done in Lunie
// as we broadcast transactions asynchronously we need to react to them failing once executed in a block
// the simplest way to do this in Cosmos is to poll for the tx until it either succeeds or fails
const MAX_POLL_ITERATIONS = 150 // 5mins
async function pollTransactionSuccess(
networkId,
senderAddress,
url,
hash,
iteration = 0
) {
let res
console.error('Polling tx ', hash)
try {
try {
res = await global.fetch(`${url}/txs/${hash}`).then(async res => {
if (res.status !== 200) {
throw new Error(await res.text())
} else {
return res.json()
}
})
} catch (error) {
// retry for 60s
if (iteration < MAX_POLL_ITERATIONS) {
await new Promise(resolve => setTimeout(resolve, 2000))
pollTransactionSuccess(
networkId,
senderAddress,
url,
hash,
iteration + 1
)
return
}

res = {
hash,
success: false,
height: null
}
throw new Error(
'Timed out waiting for the transaction to be included in a block'
)
}

assertOk(res)
} catch (error) {
console.error('TX failed:', hash, error)
const transaction = reducers.transactionReducer(res, reducers)
publishUserTransactionAdded(networkId, senderAddress, transaction)
Sentry.withScope(scope => {
scope.setExtra('api_url', url)
scope.setExtra('hash', hash)
scope.setExtra('address', senderAddress)
scope.setExtra('transaction', res)
Sentry.captureException(error)
})
}
}
3 changes: 2 additions & 1 deletion lib/cosmos-node-subscription.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class CosmosNodeSubscription {
this.store.update({ height, block, validators: validatorMap })
publishBlockAdded(this.network.id, block)
// TODO remove, only for demo purposes
publishEvent(this.network.id, 'block', '', block)
// publishEvent(this.network.id, 'block', '', block)

// in the case of height being undefined to query for latest
// eslint-disable-next-line require-atomic-updates
Expand All @@ -58,6 +58,7 @@ class CosmosNodeSubscription {
// For each transaction listed in a block we extract the relevant addresses. This is published to the network.
// A GraphQL resolver is listening for these messages and sends the
// transaction to each subscribed user.
// TODO doesn't handle failing txs as it doesn't extract addresses from those txs (they are not tagged)
block.transactions.forEach(tx => {
let addresses = []
try {
Expand Down
20 changes: 17 additions & 3 deletions lib/cosmosV0-source.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,23 @@ class CosmosV0API extends PerBlockCacheDataSource {
this.delegatorBech32Prefix
)

const selfDelegation = await this.query(
`staking/delegators/${delegatorAddressFromOperator}/delegations/${wantedOperatorAddress}`
)
let selfDelegation
try {
selfDelegation = await this.query(
`staking/delegators/${delegatorAddressFromOperator}/delegations/${wantedOperatorAddress}`
)
} catch (error) {
// in some rare cases the validator has no self delegation so this query fails
if (error.extensions.response.status === 500) {
const parsedErrorLog = JSON.parse(error.extensions.response.body.error)
if (parsedErrorLog.message.startsWith('no delegation for this')) {
return 0
}
}

// still throw in every other unknown case
throw error
}

return this.reducers.delegationReducer(selfDelegation, validator).amount
}
Expand Down
Loading

0 comments on commit 3baca9c

Please sign in to comment.