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

🚸 Produce readable AtomicalsValidationError #158

Merged
merged 4 commits into from
Apr 25, 2024

Conversation

AlexV525
Copy link
Contributor

Before

JSON:
{
    "success": false,
    "code": 800422,
    "message": "the transaction was rejected by atomicals rules.\n\ndetected invalid ft token inputs and outputs for tx_hash=16b599f30d01200c9ef4ffec369228f1acd792c91fcd7b527acecdad94297f23, operations_found_at_inputs=None, atomicals_spent_at_inputs={0: [{'atomical_id': '553938581a2245774c983647df2dce811229a37ca5489a5d606348bb78f60a23i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '5380036df841b472109174391bca9ce46a3238217fdb7111fdf2f5127356c98ci0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}], 1: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '904ec3ffb9d55986a611ba0616f010a36cd6bde064d01c55815667fb371ffc32i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533aa9f12049766bc30c157b043e280a9b3b861d78e803000000000000000023e0750400', 'data_ex': {'value': 1000, 'exponent': 0}}], 2: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '03c328c1ad0e35b6ddc8af87b70d3ab569b40c3478079c450e052a013d630cbbi1', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766ac30c157b043e280a9b3b861d788502000000000000000033cf690400', 'data_ex': {'value': 645, 'exponent': 0}}], 3: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '828a49ff604bc105d85d395e7f4995357de119307b8e92488e5e4316d4654776i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc30a157b043e280a9b3b861d78220200000000000000006d9f520400', 'data_ex': {'value': 546, 'exponent': 0}}], 4: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'ff2e0ac6f83e1a0eb49057926774d7a274eca6f6746c2250eceae7c75c73ef85i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc31c157b043e280a9b3b861d782202000000000000000052854e0400', 'data_ex': {'value': 546, 'exponent': 0}}]}, ft_output_blueprint.outputs={0: {'atomicals': {b\"\\xb4'{\\x12Z\\x90z\\xed\\xd4\\xd6\\xaf\\x87\\xb3\\xe43\\x93\\xd0\\xbd?v\\xfc\\x17Y\\x8fmcb2\\xa4\\xef'\\x95\\x00\\x00\\x00\\x00\": <electrumx.lib.atomicals_blueprint_builder.AtomicalColoredOutputFt object at 0x1105ac9e0>}}} ft_output_blueprint.fts_burned={b'#\\n\\xf6x\\xbbHc`]\\x9aH\\xa5|\\xa3)\\x12\\x81\\xce-\\xdfH6\\x98LwE\"\\x1aX89U\\x00\\x00\\x00\\x00': 1000.0, b'\\x8c\\xc9Vs\\x12\\xf5\\xf2\\xfd\\x01q\\xdb\\x7f!82j\\xe4\\x9c\\xce\\x1b9t\\x91\\x10r\\xb4A\\xf8m\\x03\\x80S\\x00\\x00\\x00\\x00': 1000.0}\n[hidden]"
}
Console:
INFO:ElectrumX:[0] error validating atomicals transaction: detected invalid ft token inputs and outputs for tx_hash=16b599f30d01200c9ef4ffec369228f1acd792c91fcd7b527acecdad94297f23, operations_found_at_inputs=None, atomicals_spent_at_inputs={0: [{'atomical_id': '553938581a2245774c983647df2dce811229a37ca5489a5d606348bb78f60a23i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '5380036df841b472109174391bca9ce46a3238217fdb7111fdf2f5127356c98ci0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}], 1: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '904ec3ffb9d55986a611ba0616f010a36cd6bde064d01c55815667fb371ffc32i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533aa9f12049766bc30c157b043e280a9b3b861d78e803000000000000000023e0750400', 'data_ex': {'value': 1000, 'exponent': 0}}], 2: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '03c328c1ad0e35b6ddc8af87b70d3ab569b40c3478079c450e052a013d630cbbi1', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766ac30c157b043e280a9b3b861d788502000000000000000033cf690400', 'data_ex': {'value': 645, 'exponent': 0}}], 3: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '828a49ff604bc105d85d395e7f4995357de119307b8e92488e5e4316d4654776i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc30a157b043e280a9b3b861d78220200000000000000006d9f520400', 'data_ex': {'value': 546, 'exponent': 0}}], 4: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'ff2e0ac6f83e1a0eb49057926774d7a274eca6f6746c2250eceae7c75c73ef85i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc31c157b043e280a9b3b861d782202000000000000000052854e0400', 'data_ex': {'value': 546, 'exponent': 0}}]}, ft_output_blueprint.outputs={0: {'atomicals': {b"\xb4'{\x12Z\x90z\xed\xd4\xd6\xaf\x87\xb3\xe43\x93\xd0\xbd?v\xfc\x17Y\x8fmcb2\xa4\xef'\x95\x00\x00\x00\x00": <electrumx.lib.atomicals_blueprint_builder.AtomicalColoredOutputFt object at 0x1105ac9e0>}}} ft_output_blueprint.fts_burned={b'#\n\xf6x\xbbHc`]\x9aH\xa5|\xa3)\x12\x81\xce-\xdfH6\x98LwE"\x1aX89U\x00\x00\x00\x00': 1000.0, b'\x8c\xc9Vs\x12\xf5\xf2\xfd\x01q\xdb\x7f!82j\xe4\x9c\xce\x1b9t\x91\x10r\xb4A\xf8m\x03\x80S\x00\x00\x00\x00': 1000.0}

After

JSON:
{
    "success": false,
    "code": 800422,
    "message": "the transaction was rejected by atomicals rules.\n\nInvalid FT token inputs/outputs:\ntx_hash=16b599f30d01200c9ef4ffec369228f1acd792c91fcd7b527acecdad94297f23\noperations_found_at_inputs=None\natomicals_spent_at_inputs={0: [{'atomical_id': '553938581a2245774c983647df2dce811229a37ca5489a5d606348bb78f60a23i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '5380036df841b472109174391bca9ce46a3238217fdb7111fdf2f5127356c98ci0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}], 1: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '904ec3ffb9d55986a611ba0616f010a36cd6bde064d01c55815667fb371ffc32i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533aa9f12049766bc30c157b043e280a9b3b861d78e803000000000000000023e0750400', 'data_ex': {'value': 1000, 'exponent': 0}}], 2: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '03c328c1ad0e35b6ddc8af87b70d3ab569b40c3478079c450e052a013d630cbbi1', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766ac30c157b043e280a9b3b861d788502000000000000000033cf690400', 'data_ex': {'value': 645, 'exponent': 0}}], 3: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '828a49ff604bc105d85d395e7f4995357de119307b8e92488e5e4316d4654776i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc30a157b043e280a9b3b861d78220200000000000000006d9f520400', 'data_ex': {'value': 546, 'exponent': 0}}], 4: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'ff2e0ac6f83e1a0eb49057926774d7a274eca6f6746c2250eceae7c75c73ef85i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc31c157b043e280a9b3b861d782202000000000000000052854e0400', 'data_ex': {'value': 546, 'exponent': 0}}]}\nft_output_blueprint.outputs={0: {'atomicals': {'b4277b125a907aedd4d6af87b3e43393d1bd3f76fc17598f6d636232a4ef279500000000': {'exponent': 0, 'satvalue': 3737, 'tokenvalue': 3737.0, 'input_summary_info': {'expected_outputs': [0], 'exponent': 0}}}}}\nft_output_blueprint.fts_burned={'230af678bb4863605d9a48a57ca3291281ce2adf4836984c7745221a5838395500000000': 1000.0, '8cc9567312f5f2fd0171db7f2138326aa49cce1b3974911072b441f86d03805300000000': 1000.0}\n[hidden]"
}
Console:
INFO:ElectrumX:[0] error validating atomicals transaction: Invalid FT token inputs/outputs:
tx_hash=16b599f30d01200c9ef4ffec369228f1acd792c91fcd7b527acecdad94297f23
operations_found_at_inputs=None
atomicals_spent_at_inputs={0: [{'atomical_id': '553938581a2245774c983647df2dce811229a37ca5489a5d606348bb78f60a23i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '5380036df841b472109174391bca9ce46a3238217fdb7111fdf2f5127356c98ci0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}, {'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'd0346994464fd8f52c29ae516a3a853fbe7f9313055d64d3952caa375ef4f490i0', 'data': '0375ae7496f0c9d79341fd66f6348a32308a28ef821b533ba9f12049766bc30c157b043e280a9b3a821d78e80300000000000000009c68210400', 'data_ex': {'value': 1000, 'exponent': 0}}], 1: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '904ec3ffb9d55986a611ba0616f010a36cd6bde064d01c55815667fb371ffc32i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533aa9f12049766bc30c157b043e280a9b3b861d78e803000000000000000023e0750400', 'data_ex': {'value': 1000, 'exponent': 0}}], 2: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '03c328c1ad0e35b6ddc8af87b70d3ab569b40c3478079c450e052a013d630cbbi1', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766ac30c157b043e280a9b3b861d788502000000000000000033cf690400', 'data_ex': {'value': 645, 'exponent': 0}}], 3: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': '828a49ff604bc105d85d395e7f4995357de119307b8e92488e5e4316d4654776i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc30a157b043e280a9b3b861d78220200000000000000006d9f520400', 'data_ex': {'value': 546, 'exponent': 0}}], 4: [{'atomical_id': '9527efa43262636d8f5917ec763fbad09433e4b487afd6d4ed7a905a127b28b4i0', 'location_id': 'ff2e0ac6f83e1a0eb49057926774d7a274eca6f6746c2250eceae7c75c73ef85i0', 'data': '0375ae7496f0c9e79341fd66f6348a32308a28ef821b533ba9f12049766bc31c157b043e280a9b3b861d782202000000000000000052854e0400', 'data_ex': {'value': 546, 'exponent': 0}}]}
ft_output_blueprint.outputs={0: {'atomicals': {'b4277b125a907aedd4d6af87b3e43393d1bd3f76fc17598f6d636232a4ef279500000000': {'exponent': 0, 'satvalue': 3737, 'tokenvalue': 3737.0, 'input_summary_info': {'expected_outputs': [0], 'exponent': 0}}}}}
ft_output_blueprint.fts_burned={'230af678bb4863605d9a48a57ca3291281ce2adf4836984c7745221a5838395500000000': 1000.0, '8cc9567312f5f2fd0171db7f2138326aa49cce1b3974911072b441f86d03805300000000': 1000.0}

@AlexV525 AlexV525 marked this pull request as draft March 27, 2024 08:52
@AlexV525 AlexV525 changed the base branch from master to develop April 17, 2024 14:09
@AlexV525 AlexV525 force-pushed the chore/readable-validate-message branch from f6f29c0 to c4cbba6 Compare April 17, 2024 15:05
@AlexV525 AlexV525 marked this pull request as ready for review April 17, 2024 15:13
@atomicals
Copy link
Owner

Is this ready to merge?

@atomicals atomicals merged commit 3b7212a into atomicals:develop Apr 25, 2024
1 check passed
@AlexV525 AlexV525 deleted the chore/readable-validate-message branch April 25, 2024 23:32
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.

2 participants