Add full V2 transaction verification pipeline: parse SignaturesRaw variant vector into structured ZC signature data, verify CLSAG GGX ring signatures per ZC input, verify BPP range proofs, and verify BGE asset surjection proofs with correct ring construction (mul8 point arithmetic). Fix three wire format bugs that caused V2 parsing failures: - RefTypeGlobalIndex (tag 0x1A) uses 8-byte LE, not varint - Raw uint64_t variant (tagUint64) uses 8-byte LE, not varint - zarcanum_tx_data_v1 fee uses FIELD() → 8-byte LE, not VARINT_FIELD() Add cn_point_sub to C++ bridge and Go wrapper for BGE ring construction. Add GetZCRingOutputs to chain for fetching ZC ring member data. Co-Authored-By: Charon <charon@lethean.io>
1 line
No EOL
6.2 KiB
Text
1 line
No EOL
6.2 KiB
Text
030125101a01000000000000001acf090000000000001ac3020000000000001a44010000000000001a20020000000000001ae2000000000000001a74000000000000001a02000000000000001a48000000000000001a24000000000000001ab3000000000000001a2d000000000000001ae0000000000000001ab2000000000000001a6c000000000000001a8200000000000000aa39d0ede3e4721f05a54ce47919ef6ae1cf37a84aecd9b773feedb23b9a0422000516f9d8895614117e61b4a4f6366e058d6fa920c50390d31f7c5c9f4a4550e38e641700000b0222880b029eda2700e40b5402000000022660808c0edc6cf11fb51df6861b02b72ed708fe386adb83a5b7b656cd7a70e74aaebc0715019d359ba9cb58b60be4d2e18884c91af2dbdb63c55864e9253610c74b0d1a47697c2efb614f36dd1b224f782fbb428585f3829f139e336fe71f55c274c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b626838e2ae4b0661e9660026d7094ba2c926c23c9c9cf98947c7d2c711b4ad811dea0c86a2cadbc32eab366c634a42449604dba96520470239fcf0492b6d471f136b691b7e88d3326f054e09489412048894af3b8d3efc74660b6dfb509781dc960e6865da1e62223a67fe4574c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b62684d999a3b2a4e8d5f000500012b231c7700001cbbe9b248734d3c9e8f4af220bf2250e1a0a68e677a793fe708fe886da8bfaed1631797600d31d29d18826d0f44b7e5b37f7fc918cb423915db5da13a60777d43adce8ce32aa4c94708863b9af8ae2019bf177af1136097286c001037adf4b70d05b11e4bf38ad16e94ac1a1677e46807492a846895d09fca35dd0f7f83e651c5ccf9646eb733155c4b50979615b68a4b3e52da99df40c766059806ba7399c1aab2ef0c9ea0fd230976f5a98f7eec4bf1c9a1c971d59a82af19a30c59df8e56f18a075dbb8255004f443aac72738d6b8f0930646c4b16edf76976027363c9fea96b8e5ae9e1508657dbdfcb4bb9417e492893ff2124edea2dd18c0311ef730ed33ae54dd821d8634f84789f0bd27060cd1af7573930328f2382c70a0a9aa4d43e42a0404f80f99576bcdcce0a5742cab74544630b2ac6b30e1eac0e41ba49ced25b1d5f5b62e06e5394f517a2264ec783bc199ceab3cd5c98911108f92a0890a408c43db14d51f5d0e89272b8856d4d17542ba2a17d81f3a418f90d175d567c91f2d2fcab13a799bcdd0bf0ff69e2134a8311c7e7a8d90b8b57950d7be94c67659fb61eeabb1acd870480a41931875ffad43299cc5f567c5d7ae6062fd484052fe1c9f956917e0c5dfaab3c5c02942fb303e36c9f4e9b47659a130224cdcf4ad12f1910ef3c053104a438d33ad92be90aa77bb1900c3e6e50a2e30ce39df4befed03c84500bfa53847700bbfdec4adcc4d160655502a00a79dfd80f54e0928657cc147d3647082fc0e2234a33546887d79744b43be23ac218b7400445bc26f8cbdef83f5b51dee7250b5e7fdbacf7ff94c6e528ec9e2075fbbab50410279ece0a3583a6ec895809faf8b524c042b1c2f64ac2c9337b26155579348e0081981b5770263dae59143afb9209d45bebf3b6ce191c3e0aebed4f3e9cc0ac02868757a233af23e4ef5c62e4fb9cc2996b2552ab776ae0c37909851509128700d460b52e262c456d912e7fc7cd11a7551f4f7f8ee61ae8a9cddc3b814c2d5e0cd1dd2781f318c71e6424f80c8f9570ce41258ff3ffe8f7e3cb03491ce438c20adbc7473da33bd5a927f595c97ee943522899275fa8a964034e69e0e7c5b3f00c84ac680c7a81b886b1205c16f69d12a552d7282c79efd4b97091dc22295f2502497f4ea18135bda07a1df6f53b527809efeba2da7a4d8bebb4d85f26adc82b05cda1b13451c1b5ef3404493f92c29a6a7584f2520161362e037b06e938cadc0b46b164a741abd133d368ce0ab6a84332252acb2c1d291f29b0bc48b83553450837e20f063fcad2a6ccdc0cb913e0e5bbe77c231bdc53e61d501bc64a4044150da8aab857c4aaad16156002e8c482369833a3b409f22afeb7b636303c0e77a60bb615fd88374bbfa8bdc75aed0dfadc74d7217580eb8bc51c8ca58245d59a39016cea66bb5f27f7ae66e7b5f5a95053a61e72ff77bce56cc57fca99bb12f5870a0d220d684dfa07e8c920a266206f06260dc3ed54d8195b75ac573085e9638d0a45f6992d818a2deddfdc0641415f1852d70ada567034fa61adbe632ab2aaba0c971f9f7066b84c0e2f4f985f2f5f9bbf64199e0f647e4570ea60d6a8680fc0818a04a087f119ee895e8b2643b3f625ab983ac2eded89d3b808fcfff8868da0f4032e02b17be8ea0c1b33e109de1efbf1e3f77e600309f7eb9a5e0fc8c15d94dc62cd31a1849b0ea916696b69e05ffec4cb7165092ccccb043d6eb18ca7ece2fff5a5fb01b9fb37f360bde541ac167112f7b3ce23a91df5702ca75cd4c924c507305976140319b34ee0a92205e9507a3d797a9454ff2a1d4867afb7122a6695fa8de4284b0027f35eaaece35b2ac9064e7e2f3f392c05951ff455952e0c512f35cd456d2b08e2600d0471096a37d15ed923a0de5ae92e4de75887b85ef6ff395efbcb92b206ef13bb1a9e73f355be6281161f785da9855d4433723f88727fabfe1c3aece20b304bdf44f17450176e6fc57dc166cf1c6d2d6e517e6bc9580da2c3b87b725b02116c901de4ba968a4142b11bfc6f21889caafb71b08a76981e7a846010e25dfb214e0517be75a4c8407fe1d498c0d6d7a1d5e2659c060d1075d3755943d40bd9014edbc30dede4471c8078471fe6c36699396c2d507d3518ed6c2e84211cd4b7be03876b74936e5bd4d16279fd50c1d52ee57f75796651cced5dfe6fc23d0bdccd087498878a0a1069f8224d93e67fee6e1fa90ac59ef384e821eb357a7b887eac08e162c5396c54a159c84fa3a6948ad72a828ab8ed9ea2d44a26de129f5dda44074630fa57d6d0137d85ebf71cf62633204c2e35b99372b82098816596c20dab0d30a5799ba6834e6dce2fcf256bb9608e8a0a43a1a4815e11f581f276a1f11e012f075a1de906a6c92d1060f230d37ec4cfcc126527d79bde551d4aa5f7730ed903dbcf4b72ad899510c3af2a1f8ef1272b3005004c83d1a78d1490331c1003def477dfe000a1e3db05a2423e4088f908c8cd67cc4c0902ca3f72057a8684ec533bff2c53b9b52a3c0f8feabea02a2f312677b76c9bc089d51628f0a8a67580f8773122af7d76701eca0590878995051da5ecf418b67bafe1da3788b3f686eacaf1e9947a3f064e5c2bdc7768615f7f6a0ae8ecd695ab7214de82579317b2cc8a660af381928344e87372d978889cab8753ca9bd21c6ac64c518f2ab21d1887e43a2307c180bb91cbab0eca9d8915f5d24ec1171d2ec760c5979d4523810382c645192694530158f103f29b09d4ea2c2e2402a9762e09c4087b2ef7154763f1de629f2d36100693123ae53e570201e39216190d542e107d92d8b4072d8d0473b18699c91847ddb7209b398f5031ff4633ebcdee7d742202e7788e765021c96f749038d22661a305f3cc62388193657d938b2d5f3579a62d18b21d946d357a2ab2ef0922c156083bfcc9640faa2ea2e15a94139f0bf93aae0d8fe2e0aefca69bcfc3dd6e655ab8c1332c32bcdb51c615f085915845156a6ded42e6931b4546d83f098f83eb5dec408c695ca67b19b67d8f35d44e075118beb6c593b2d9b82e709a22264b7b281d2801484dc0241a0c8c4369a71b5026f06e8bca7feabfb9a60da8e094a29bdc83e2f69c596d1979312e8e93337b7cec5e849ebbe86b26568f8dee3147b2b54c48a11adcb0c3f2653c70e48ad963a1dd8210b78a43ab661afeec3ddd0500a16f77be21ad812bf180f4945026b415da02b14c57654e595188c7ecf1ba580c2ce729db2eac4e36163d897c37dae278dee23e0fc3ee0f2a0bf8a9fb2368b50902cea77b4ba6398dd27990012351dbdf56656b1c2de5dc11375037b8fa048216c88f78f4d889d96e32fa26280e0f35bbe7f64ff81d2b5e5aa676961b4bf705bd450234a0c02bc9645913f1daa4c67a3381e078d33ce29ad6c4f31c388fe9ada47106d3057b6a79bc8c1f0342aa0622135230c5f39a25e0e74495e9fe9a12e581d502023d898dbe0f3cf773b07bac7f8925779ff7141cc59ead54de95c9866f3aa3580d1b6d123170af993c9ff4f13bd40d0ace9601f75bc55c7e01f738e5515e7f2706c6636898187fe96a8960e8d9779d5c2492f0e5bfe34634a2ca74fbfb3616ac0530200816d188f9710d5bb58e4c5fdd215bc4532bea60b81e4d84906fd60e286601b6c503b4f858c76329aba30e33c35842aa39a828d672b4c22dacea3b5b8d96038aa237122b1f4cbde2c9c2da0768fc5ece932748ce9b06e39493a20e4cdc0704 |