Skip to content

fix: non-standard scripts#185

Merged
andreabadesso merged 4 commits into
masterfrom
fix/invalid-scripts
Oct 9, 2024
Merged

fix: non-standard scripts#185
andreabadesso merged 4 commits into
masterfrom
fix/invalid-scripts

Conversation

@andreabadesso
Copy link
Copy Markdown
Collaborator

@andreabadesso andreabadesso commented Oct 3, 2024

Motivation

Wallet Service will crash if a utxo with an non standard script (which is unable to be decoded) is spent in the network.

This currently never happens because there is a bug in the fullnode preventing those events from being broadcasted

Acceptance Criteria

  • We should skip balance calculation for undecoded scripts
  • We should add a helper to reuse code in the tests

Checklist

  • If you are requesting a merge into master, confirm this code is production-ready and can be included in future releases as soon as it gets merged
  • Make sure either the unit tests and/or the QA tests are capable of testing the new features
  • Make sure you do not include new dependencies in the project unless strictly necessary and do not include dev-dependencies as production ones. More dependencies increase the possibility of one of them being hijacked and affecting us.

@andreabadesso andreabadesso requested review from glevco and r4mmer October 3, 2024 14:09
@andreabadesso andreabadesso added the bug Something isn't working label Oct 3, 2024
@andreabadesso andreabadesso self-assigned this Oct 3, 2024
glevco
glevco previously approved these changes Oct 7, 2024
Copy link
Copy Markdown

@glevco glevco left a comment

Choose a reason for hiding this comment

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

LGTM, just a comment, they're not "invalid scripts". They're completely valid, just non-standard

@andreabadesso andreabadesso changed the title fix: invalid scripts fix: non-standard scripts Oct 7, 2024
Base automatically changed from feat/vertex-removed to master October 7, 2024 17:54
@andreabadesso andreabadesso dismissed glevco’s stale review October 7, 2024 17:54

The base branch was changed.

Comment on lines +299 to -301
decoded: output.decoded ? {
type: output.decoded.type,
address: output.decoded.address,
timelock: output.decoded.timelock,
},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this decoded from the fullnode or local?
A data output has a valid decoded with type and data but it does not have an address.

Copy link
Copy Markdown
Collaborator Author

@andreabadesso andreabadesso Oct 8, 2024

Choose a reason for hiding this comment

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

The fullnode sends it already decoded, exactly with this structure (including the address). This comes from the event queue

@andreabadesso andreabadesso merged commit 2544fa1 into master Oct 9, 2024
@andreabadesso andreabadesso deleted the fix/invalid-scripts branch October 9, 2024 16:29
@andreabadesso andreabadesso mentioned this pull request Dec 9, 2024
2 tasks
andreabadesso added a commit that referenced this pull request Dec 9, 2024
* chore: deploy Nano Testnet (#168)

* fix: fetchMinRewardBlocks fails when reward_min_blocks is 0 (#177)

* fix: handle tx with no inputs and outputs (#178)

* chore: added NODE_ENV to integration tests

* fix: stop failing when there are no address balance on a transaction

* tests: added tests for the voidTransaction method

* chore: re-add test_images_down

* feat: allow sending alerts to another account (#179)

* fix: handle tx with no inputs (#181)

* tests: added tests for the voidTransaction method

* chore: re-add test_images_down

* fix: markUtxosAsVoided should not throw when inputs are empty

* fix: returning empty object on db utils and added test for services including db

* tests: fix invalid order of calls

* tests: missing tests [part 1/2] (#183)

* tests: added missing tests

* tests: added missing tests for nft push

* chore: added docker-compose to flake

* tests: ts-ignore -> ts-expect-error

* feat: handling the vertex_removed event (#182)

* feat: handling the vertex_removed event

* fix: handling empty arrays on IN conditions

* feat: handling VERTEX_REMOVED event

* tests: fix last event

* feat: voiding and removing transaction on vertex_removed event

* tests: added tests for empty array errors

* chore: using port 8085

* chore: actually using 8085

* refactor: removed misleading comment

* ci: support sub-accounts (#184)

* fix: non-standard scripts (#185)

* fix: handling utxos with empty scripts being spent

* refactor: helper to roll until an event

* chore: using latest :stable on custom and empty script docker compose

* refactor: removed unused logs

* chore: using fixed dependencies for all projects (#186)

* fix: updated balances and network name (#196)

* fix: updated throttling lib causing deploy to fail (#195)

* fix: updated firebase-admin lib version and deprecated sendMulticast (#194)

* fix: updated firebase-admin lib version and deprecated sendMulticast

* fix: tests mocking sendMulticast instead of the correct method

* fix: slow address generation (#199)

* chore: bumped to v1.6.3 (#200)

---------

Co-authored-by: Luis Helder <luislhl@gmail.com>
@andreabadesso andreabadesso mentioned this pull request Dec 11, 2024
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants