-
Notifications
You must be signed in to change notification settings - Fork 2
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
fix: ignoring NFT transaction outputs with undecoded scripts #15
Conversation
@@ -11,8 +11,8 @@ export interface Block { | |||
} | |||
|
|||
export interface DecodedScript { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If every member of this type is optional, why not use Partial
? We could also use DecodedScript | {}
but then we would need to make type assertions where needed (from typescript issues).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this will need a refactor everywhere that uses DecodedScript
, I will create an issue to refactor this and merge this PR as we discussed in Slack
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -222,12 +222,15 @@ export interface RawDecodedInput { | |||
token_data: number; | |||
} | |||
|
|||
/* Everything is optional because scripts that were not able to | |||
* be decoded will be returned as {} | |||
*/ | |||
export interface RawDecodedOutput { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above
* feat: validating tx outputs before sending transactions * refactor: ignoring output instead of whole transaction * chore: logging ignored tx output index
* feat: initial commit * chore: removed .env from git * chore: removed size.yml github action (came from tsdx template) * fix: added missing attributes to PreparedTx type * feat: typed yield result from generator * fix: token creation tx was not sending token_name and token_symbol * fix: send transactions in topological order (#9) * fix: send transactions in topological order (using the timestamp to order) * tests: removed extra spentBy on block api response * feat: handle reorg on the daemon (#7) * chore: empty commit * chore: empty commit * feat: invoking onHandleReorgRequest on reorg state * fix: possible infinite loop on circular parents on transactions * feat: handling reorg on generator yield * chore: logging errors properly * chore: passing eslint * refactor: logging reorg fail as error * docs: added comment explaining the seen list on the recursivelyDownloadTxs method * tests: fixed tests * refactor: setting state as reorg when our best block is not found on the wallet-service * refactor: returning the lambda invoke on invokeReorg and sendTx methods * chore: added more details to error log on lambda call * refactor: sending transactions before blocks (#12) * feat: sync mempool (#11) feat: sync mempool * fix: using decoded to get token uid (#14) * chore: pre-deploy adjustments (#13) * fix: broken Dockerfile chore: create Makefile and script to build and push Docker image refactor: change name of some env vars * refactor: Make sure the script fails if a command fails * fix: ignoring NFT transaction outputs with undecoded scripts (#15) * feat: validating tx outputs before sending transactions * refactor: ignoring output instead of whole transaction * chore: logging ignored tx output index * feat: websocket conn error log (#17) * chore: upgraded hathor-wallet-lib to 0.20.3 * feat: logging error messages on websocket connection * refactor: logging connection attempts as INFO instead of ERROR * fix: send height on transactions (#18) * chore: updated lodash * chore: improved logs * fix: sending height on every block transaction * refactor: send NFT outputs to wallet-service (#20) * refactor: invalid nft output is now being validated on the wallet-service * fix: lint passing (#21) * chore: passing lint * chore: added eslintrc to automatically detect carriage returns * chore: passing NODE_OPTIONS as env variable globally on workflow * chore: using generated eslintrc.js * fix: validating decoded data before trying to get the token data (#22) * fix: validating decoded data before trying to get the token data * chore: lint * ci: configure automated deployment (#19) * ci: configure automated deploy * send message to Slack * send message only in case of deploy * feat: added ALERT string to critical failure logs (#23) * fix: deploy of docker images (#24) * chore: added log on connection error (to fullnode) (#25) * chore: bumped to v1.0.0-alpha (#28) Co-authored-by: André Carneiro <[email protected]> Co-authored-by: Luis Helder <[email protected]>
* feat: validating tx outputs before sending transactions * refactor: ignoring output instead of whole transaction * chore: logging ignored tx output index
NFT transactions were causing the daemon to fail on
sendTransaction
as we are not able to decode the tx_output script