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

fix: ignoring NFT transaction outputs with undecoded scripts #15

Merged
merged 3 commits into from
Jul 15, 2021

Conversation

andreabadesso
Copy link
Collaborator

NFT transactions were causing the daemon to fail on sendTransaction as we are not able to decode the tx_output script

@andreabadesso andreabadesso self-assigned this Jul 13, 2021
@andreabadesso andreabadesso changed the base branch from master to dev July 13, 2021 17:46
@andreabadesso andreabadesso changed the title fix: ignoring NFT transactions fix: ignoring NFT transaction outputs Jul 13, 2021
@andreabadesso andreabadesso changed the title fix: ignoring NFT transaction outputs fix: ignoring NFT transaction outputs with undecoded script Jul 13, 2021
@andreabadesso andreabadesso changed the title fix: ignoring NFT transaction outputs with undecoded script fix: ignoring NFT transaction outputs with undecoded scripts Jul 13, 2021
@@ -11,8 +11,8 @@ export interface Block {
}

export interface DecodedScript {
Copy link
Member

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).

Copy link
Collaborator Author

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#16

@@ -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 {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

@andreabadesso andreabadesso merged commit 30d97a1 into dev Jul 15, 2021
@andreabadesso andreabadesso deleted the fix/ignoring-nft-tx branch July 15, 2021 16:26
andreabadesso added a commit that referenced this pull request Sep 30, 2021
* feat: validating tx outputs before sending transactions

* refactor: ignoring output instead of whole transaction

* chore: logging ignored tx output index
andreabadesso added a commit that referenced this pull request Sep 30, 2021
* 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]>
andreabadesso added a commit that referenced this pull request Oct 6, 2021
* feat: validating tx outputs before sending transactions

* refactor: ignoring output instead of whole transaction

* chore: logging ignored tx output index
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

Successfully merging this pull request may close these issues.

4 participants