Files
zeekayandHanzo Dev 1a0b7f8835 Merge the four runtime ports, and put the Go generator beside its output
port/xvm-cpp, port/xvm-rust, port/platformvm-rust and port/platformvm-cpp
land on main; the only overlaps were documents, taken from the ports.

The xvm C++ port kept its Go golden-vector generator in the directory with the
C++ tests it feeds, which Go refuses to build as a package. It lives in
test/golden/ now; the comments and the recipe that name it follow it. The
sums the ports' Go test helpers need were never tidied in; they are.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-04 11:05:35 -07:00

80 lines
19 KiB
C++

// Copyright (C) 2026, Lux Industries Inc. All rights reserved.
// SPDX-License-Identifier: BSD-3-Clause-Eco
//
// GENERATED by chains/cpp/xvm/test/golden/golden_gen.go — do not edit.
//
// Every constant is the hex of a canonical wire buffer produced by the GO
// X-Chain (github.com/luxfi/node/vms/xvm). They are the port's contract: the
// C++ implementation must emit these bytes, or the two are different chains.
#pragma once
namespace lux::xvm::golden {
inline constexpr const char* kOutputOwners =
"00095a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff01000000";
inline constexpr const char* kOutputOwnersTwo =
"00095a41500002000000380000004c0000000102030405060708090a0b0c0d0e0f101112131428292a2b2c2d2e2f303132333435363738393a3b000000000000000002000000ccffffff02000000";
inline constexpr const char* kTransferOutput =
"01015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff01000000";
inline constexpr const char* kTransferInput =
"01025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000";
inline constexpr const char* kMintOutput =
"01035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff01000000";
inline constexpr const char* kMintOperation =
"01055a4150000200000018000000b40000000000000000000000f8ffffff01000000100000003e000000460000004600000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff0100000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff01000000";
inline constexpr const char* kCredential =
"01065a4150000200000098000000ac0000000708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748490000000000000000000074ffffff820000000000000000000000";
inline constexpr const char* kNFTMintOutput =
"08105a4150000200000028000000400000000102030405060708090a0b0c0d0e0f10111213140000000007000000393000000000000001000000d8ffffff01000000";
inline constexpr const char* kNFTTransferOutput =
"08115a4150000200000028000000510000000102030405060708090a0b0c0d0e0f10111213140000000007000000393000000000000001000000d8ffffff01000000080000000900000068656c6c6f206e6674";
inline constexpr const char* kNFTMintOperation =
"08135a4150000200000018000000d10000000000000000000000f8ffffff0100000007000000180000000900000002000000150000008c0000000000000068656c6c6f206e667400095a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff0100000000095a41500002000000380000004c0000000102030405060708090a0b0c0d0e0f101112131428292a2b2c2d2e2f303132333435363738393a3b000000000000000002000000ccffffff02000000";
inline constexpr const char* kNFTTransferOperation =
"08145a41500002000000180000007b0000000000000001000000f8ffffff02000000080000005300000008115a4150000200000028000000510000000102030405060708090a0b0c0d0e0f10111213140000000007000000393000000000000001000000d8ffffff01000000080000000900000068656c6c6f206e6674";
inline constexpr const char* kNFTCredential =
"08065a41500002000000580000006c000000030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142430000000000000000000000b4ffffff410000000000000000000000";
inline constexpr const char* kPropertyMintOutput =
"09035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff01000000";
inline constexpr const char* kPropertyOwnedOutput =
"09155a41500002000000380000004c0000000102030405060708090a0b0c0d0e0f101112131428292a2b2c2d2e2f303132333435363738393a3b000000000000000002000000ccffffff02000000";
inline constexpr const char* kPropertyMintOperation =
"09055a4150000200000018000000bc0000000100000000000000f8ffffff01000000100000003e000000460000004e00000009035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff0100000009155a41500002000000380000004c0000000102030405060708090a0b0c0d0e0f101112131428292a2b2c2d2e2f303132333435363738393a3b000000000000000002000000ccffffff02000000";
inline constexpr const char* kPropertyBurnOperation =
"09165a4150000200000018000000200000000000000000000000f8ffffff01000000";
inline constexpr const char* kPropertyCredential =
"09065a41500002000000580000006c0000000b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b0000000000000000000000b4ffffff410000000000000000000000";
inline constexpr const char* kUTXO =
"000a5a4150000200000010000000a20000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff01000000";
inline constexpr const char* kUTXOInputID =
"a4189a7ca10a62108b6deea7c88af675e795ef6c6f8d7291c4f9f40bd97c1b27";
inline constexpr const char* kBaseTxUnsigned =
"5a4150000200000010000000740100000100000000000000080000005401000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f206279746573";
inline constexpr const char* kBaseTxSigned =
"000e5a4150000200000010000000460200001400000074010000010000007c010000ae0000005a4150000200000010000000740100000100000000000000080000005401000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f20627974657301065a4150000200000098000000ac0000000708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748490000000000000000000074ffffff820000000000000000000000";
inline constexpr const char* kBaseTxID =
"4e79e725509f2a6fe4485beaaa589ab2908fc802b01dfc3cdc57a177f1408dc2";
inline constexpr const char* kCreateAssetTxUnsigned =
"5a415000020000001800000061020000b00000000000000002000000000000002c00000054010000780100000e0000007e0100000300000009000000d4ffffff010000006d010000b000000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f2062797465734c757820546573742041737365744c54415a4150000200000018000000b0000000460000003e00000000000000f4ffffff02000000080000008400000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff01000000";
inline constexpr const char* kInitialState =
"5a4150000200000018000000b0000000460000003e00000000000000f4ffffff02000000080000008400000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff01000000";
inline constexpr const char* kOperation =
"5a41500002000000580000003e0100006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283010000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830400000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505198ffffff0200000008000000b600000001055a4150000200000018000000b40000000000000000000000f8ffffff01000000100000003e000000460000004600000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff0100000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff01000000";
inline constexpr const char* kOperationTxUnsigned =
"5a4150000200000018000000ca0200003e0100000000000003000000000000001800000054010000e8ffffff010000005c0100003e01000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f2062797465735a41500002000000580000003e0100006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283010000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830400000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505198ffffff0200000008000000b600000001055a4150000200000018000000b40000000000000000000000f8ffffff01000000100000003e000000460000004600000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff0100000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff01000000";
inline constexpr const char* kImportTxUnsigned =
"5a41500002000000900000001c020000969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b50000000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000088ffffff00000000040000000000000030000000540100004d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6cc8ffffff0100000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f206279746573";
inline constexpr const char* kExportTxUnsigned =
"5a41500002000000880000001402000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff01000000000090ffffff000000000500000000000000300000005401000058595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374757677c8ffffff0100000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f206279746573";
inline constexpr const char* kStandardBlock =
"5a4150000200000018000000c00200004802000000000000d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1070000000000000080b41d67000000000000000000000000000000000000000000000000000000000000000000000000a8ffffff010000000800000048020000000e5a4150000200000010000000460200001400000074010000010000007c010000ae0000005a4150000200000010000000740100000100000000000000080000005401000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f20627974657301065a4150000200000098000000ac0000000708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748490000000000000000000074ffffff820000000000000000000000";
inline constexpr const char* kStandardBlockID =
"79ab6039a98bda2f160d289f4def69da715e137fe16484f02bb922f043b0f730";
inline constexpr const char* kStandardBlockWithRoot =
"5a4150000200000018000000c00200004802000000000000d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1070000000000000080b41d6700000000dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafba8ffffff010000000800000048020000000e5a4150000200000010000000460200001400000074010000010000007c010000ae0000005a4150000200000010000000740100000100000000000000080000005401000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f20627974657301065a4150000200000098000000ac0000000708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748490000000000000000000074ffffff820000000000000000000000";
inline constexpr const char* kXVMBaseTxEnvelope =
"00125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f206279746573";
inline constexpr const char* kGenesis =
"5a4150000200000020000000c20300000300000003000000610200001701000002000000ecffffff020000001800000006000000e4ffffff020000000e000000780300004c54415345435a415000020000001800000061020000b00000000000000002000000000000002c00000054010000780100000e0000007e0100000300000009000000d4ffffff010000006d010000b000000000125a41500002000000080100005201000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000004600000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000000006465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182830300000032333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051080000002a00000001025a415000020000001800000028000000000000000300000031d4000000000000f0ffffff02000000000018ffffff0000000080ffffff000000000a00000000000000c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7c8ffffff01000000c8ffffff01000000080000000a0000006d656d6f2062797465734c757820546573742041737365744c54415a4150000200000018000000b0000000460000003e00000000000000f4ffffff02000000080000008400000001015a4150000200000028000000440000000102030405060708090a0b0c0d0e0f10111213140000000031d4000000000000393000000000000001000000d4ffffff0100000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff010000005a4150000200000018000000170100006a0000000000000002000000000000002c00000052000000760000000c0000007a0000000300000000000000d4ffffff01000000690000006a00000000125a4150000200000010000000500000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005365636f6e642041737365745345435a41500002000000180000006a0000003e0000000000000000000000f4ffffff01000000080000003e00000001035a41500002000000280000003c0000000102030405060708090a0b0c0d0e0f101112131400000000393000000000000001000000dcffffff01000000";
inline constexpr const char* kGenesisFeeAssetID =
"7da09851bc48de61c375dcf1b4dacb48f993b89353a1500f0346fdb0f1f25fdb";
} // namespace lux::xvm::golden