diff --git a/asset/group_key_test.go b/asset/group_key_test.go index 671078bad3..9977df1d4d 100644 --- a/asset/group_key_test.go +++ b/asset/group_key_test.go @@ -333,7 +333,7 @@ func TestNonSpendableLeafScript(t *testing.T) { // Finally, we'll make the dummy spend transaction, and // the output script that we'll attempt to spend. - spendTx := wire.NewMsgTx(1) + spendTx := wire.NewMsgTx(3) spendTx.AddTxIn(&wire.TxIn{}) leafScript, err := txscript.PayToTaprootScript( diff --git a/asset/mock.go b/asset/mock.go index 6f1a199ea7..e31a0baf21 100644 --- a/asset/mock.go +++ b/asset/mock.go @@ -313,6 +313,11 @@ func virtualGenesisTx(newAsset *Asset) (*wire.MsgTx, error) { // With our single input and output mapped, we're ready to construct our // virtual transaction. + // + // IMPORTANT: The virtual transaction version must remain at v2 for + // backwards compatibility. Changing the version would invalidate all + // existing asset witness signatures. Only the anchor (real Bitcoin) + // transactions use v3. virtualTx := wire.NewMsgTx(2) virtualTx.AddTxIn(txIn) virtualTx.AddTxOut(txOut) diff --git a/itest/round_trip_send_test.go b/itest/round_trip_send_test.go index 53bad39dde..94bb66f73d 100644 --- a/itest/round_trip_send_test.go +++ b/itest/round_trip_send_test.go @@ -163,7 +163,7 @@ func testRoundTripSend(t *harnessTest) { estimatedWeight := estimator.Weight() requiredFee := feeRate.FeeForWeight(estimatedWeight) - tx := wire.NewMsgTx(2) + tx := wire.NewMsgTx(3) tx.TxIn = []*wire.TxIn{{ PreviousOutPoint: *outpoint, }} diff --git a/itest/utils.go b/itest/utils.go index 9b09e75601..fa19bb1967 100644 --- a/itest/utils.go +++ b/itest/utils.go @@ -632,7 +632,7 @@ func ManualMintSimpleAsset(t *harnessTest, lndNode *node.HarnessNode, []byte{txscript.OP_1, txscript.OP_DATA_32}, bytes.Repeat([]byte{0x00}, 32)..., ) - txTemplate := wire.NewMsgTx(2) + txTemplate := wire.NewMsgTx(3) txTemplate.AddTxOut(&wire.TxOut{ Value: int64(btcutil.Amount(1000)), PkScript: bytes.Clone(genesisDummyScript), diff --git a/proof/verifier_test.go b/proof/verifier_test.go index 51ff2e1772..eece9a13f4 100644 --- a/proof/verifier_test.go +++ b/proof/verifier_test.go @@ -1,7 +1,11 @@ package proof import ( + "bytes" + "encoding/hex" + "os" "slices" + "strings" "testing" "github.com/btcsuite/btcd/btcec/v2" @@ -155,7 +159,7 @@ func makeV0InclusionProof(t *testing.T, opts ...createProofOpt) ([]*Proof, internalKey := test.RandPubKey(t) - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) anchorTx.TxOut = make([]*wire.TxOut, len(tapCommitments)) indexes := maps.Keys(tapCommitments) @@ -1157,3 +1161,53 @@ func TestVerifyV1ExclusionProof(t *testing.T) { }) } } + +// TestTransactionVersionInProofSystem verifies that the current codebase +// creates v3 transactions. +func TestTransactionVersionInProofSystem(t *testing.T) { + t.Parallel() + + proofs, _ := makeV0InclusionProof(t) + require.Len(t, proofs, 1) + proof := proofs[0] + + require.Equal(t, int32(3), proof.AnchorTx.Version, + "Post-commit b3562461: all new transactions should be v3") +} + +// TestBackwardsCompatibilityWithExistingProofs tests that existing proof files +// (which contain v2 transactions) can still be loaded and verified by the +// current v3-enabled codebase. +func TestBackwardsCompatibilityWithExistingProofs(t *testing.T) { + t.Parallel() + + const fileName = "testdata/proof-file.hex" + + // Load the existing proof file (created pre-v3). + proofHex, err := os.ReadFile(fileName) + require.NoError(t, err, "Failed to load %s", fileName) + + proofBytes, err := hex.DecodeString( + strings.TrimSpace(string(proofHex)), + ) + require.NoError(t, err) + + // Decode the proof file. + var proofFile File + err = proofFile.Decode(bytes.NewReader(proofBytes)) + require.NoError(t, err, "v3-enabled code must decode existing proofs") + + // Get the last proof from the file. + lastProof, err := proofFile.LastProof() + require.NoError(t, err) + + t.Logf("Proof file %s uses tx version: %d", + fileName, lastProof.AnchorTx.Version) + + require.Equal(t, int32(2), lastProof.AnchorTx.Version) + + _, err = lastProof.verifyExclusionProofs() + require.NoError( + t, err, "v3-enabled code must verify existing v2 proofs", + ) +} diff --git a/tapchannel/commitment.go b/tapchannel/commitment.go index e96bccd0ca..d3889ff31c 100644 --- a/tapchannel/commitment.go +++ b/tapchannel/commitment.go @@ -1492,7 +1492,7 @@ func CreateSecondLevelHtlcTx(chanState lnwallet.AuxChanState, func FakeCommitTx(fundingOutpoint wire.OutPoint, allocations []*tapsend.Allocation) (*wire.MsgTx, error) { - fakeCommitTx := wire.NewMsgTx(2) + fakeCommitTx := wire.NewMsgTx(3) fakeCommitTx.TxIn = []*wire.TxIn{ { PreviousOutPoint: fundingOutpoint, diff --git a/tapdb/addrs_test.go b/tapdb/addrs_test.go index 7ddf562f80..1649723837 100644 --- a/tapdb/addrs_test.go +++ b/tapdb/addrs_test.go @@ -47,7 +47,7 @@ func confirmTx(tx *lndclient.Transaction) { func randWalletTx() *lndclient.Transaction { tx := &lndclient.Transaction{ - Tx: wire.NewMsgTx(2), + Tx: wire.NewMsgTx(3), Timestamp: time.Now(), BlockHeight: rand.Int31n(700_000), BlockHash: test.RandHash().String(), diff --git a/tapdb/asset_minting_test.go b/tapdb/asset_minting_test.go index 4d6e3acbe4..c5fb3b966c 100644 --- a/tapdb/asset_minting_test.go +++ b/tapdb/asset_minting_test.go @@ -200,7 +200,7 @@ func addRandomManagedUTXO(t *testing.T, ctx context.Context, _, err = rand.Read(blockHash[:]) require.NoError(t, err) - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) anchorTx.AddTxIn(&wire.TxIn{}) anchorTx.AddTxOut(&wire.TxOut{ PkScript: bytes.Repeat([]byte{0x01}, 34), diff --git a/tapdb/assets_store.go b/tapdb/assets_store.go index 8c480cb8cd..04c1e5c828 100644 --- a/tapdb/assets_store.go +++ b/tapdb/assets_store.go @@ -772,7 +772,7 @@ func dbAssetsToChainAssets(dbAssets []ConfirmedAsset, witnesses assetWitnesses, } } - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) err = anchorTx.Deserialize(bytes.NewBuffer(sprout.AnchorTx)) if err != nil { return nil, fmt.Errorf("unable to decode tx: %w", err) @@ -3592,7 +3592,7 @@ func (a *AssetStore) queryParcelsWithFilters(ctx context.Context, "%w", err) } - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) err = anchorTx.Deserialize(bytes.NewReader( dbAnchorTx.RawTx, )) diff --git a/tapdb/assets_store_test.go b/tapdb/assets_store_test.go index 6e3da1421e..99b15e2b6a 100644 --- a/tapdb/assets_store_test.go +++ b/tapdb/assets_store_test.go @@ -375,7 +375,7 @@ func TestImportAssetProof(t *testing.T) { // We now add a second proof for the same script key but a different // outpoint and expect that to be stored and retrieved correctly. oldOutpoint := testProof.AssetSnapshot.OutPoint - newChainTx := wire.NewMsgTx(2) + newChainTx := wire.NewMsgTx(3) newChainTx.TxIn = []*wire.TxIn{{ PreviousOutPoint: test.RandOp(t), }} @@ -1577,7 +1577,7 @@ func TestAssetExportLog(t *testing.T) { require.Len(t, utxos, 1) require.Equal(t, assetGen.anchorPoints[0], utxos[0].OutPoint) - newAnchorTx := wire.NewMsgTx(2) + newAnchorTx := wire.NewMsgTx(3) newAnchorTx.AddTxIn(&wire.TxIn{}) newAnchorTx.TxIn[0].SignatureScript = []byte{} newAnchorTx.AddTxOut(&wire.TxOut{ @@ -2377,7 +2377,7 @@ func TestTransferOutputProofDeliveryStatus(t *testing.T) { // of the first transfer output. // // First, we'll generate a new anchor transaction for use in the parcel. - newAnchorTx := wire.NewMsgTx(2) + newAnchorTx := wire.NewMsgTx(3) newAnchorTx.AddTxIn(&wire.TxIn{}) newAnchorTx.TxIn[0].SignatureScript = []byte{} newAnchorTx.AddTxOut(&wire.TxOut{ @@ -2670,7 +2670,7 @@ func TestQueryAssetBurns(t *testing.T) { // of the first transfer output. // // First, we'll generate a new anchor transaction for use in the parcel. - newAnchorTx := wire.NewMsgTx(2) + newAnchorTx := wire.NewMsgTx(3) newAnchorTx.AddTxIn(&wire.TxIn{}) newAnchorTx.TxIn[0].SignatureScript = []byte{} newAnchorTx.AddTxOut(&wire.TxOut{ @@ -3257,7 +3257,7 @@ func createTestProofWithAnchor(t *testing.T, testAsset *asset.Asset, _, err := rand.Read(blockHash[:]) require.NoError(t, err) - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) anchorTx.AddTxIn(&wire.TxIn{}) // Add enough outputs to cover the requested index diff --git a/tapdb/sqlutils_test.go b/tapdb/sqlutils_test.go index 5d8c5c7d54..b962dce285 100644 --- a/tapdb/sqlutils_test.go +++ b/tapdb/sqlutils_test.go @@ -76,7 +76,7 @@ func (d *DbHandler) AddRandomAssetProof(t *testing.T) (*asset.Asset, _, err = rand.Read(blockHash[:]) require.NoError(t, err) - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) anchorTx.AddTxIn(&wire.TxIn{}) anchorTx.AddTxOut(&wire.TxOut{ PkScript: bytes.Repeat([]byte{0x01}, 34), diff --git a/tapdb/supply_commit_test.go b/tapdb/supply_commit_test.go index 11bae6264e..fa056dfe18 100644 --- a/tapdb/supply_commit_test.go +++ b/tapdb/supply_commit_test.go @@ -114,7 +114,7 @@ func (h *supplyCommitTestHarness) addTestMintingBatch() ([]byte, int64, genesisPointID, err := upsertGenesisPoint(ctx, db, genesisPoint) require.NoError(h.t, err) - mintingTx := wire.NewMsgTx(2) + mintingTx := wire.NewMsgTx(3) mintingTx.AddTxIn(&wire.TxIn{ PreviousOutPoint: genesisPoint, }) @@ -2238,7 +2238,7 @@ func TestSupplyCommitFetchLatestCommitment(t *testing.T) { func randTx(t *testing.T, numOutputs int) *wire.MsgTx { t.Helper() - tx := wire.NewMsgTx(2) + tx := wire.NewMsgTx(3) tx.AddTxIn(&wire.TxIn{ PreviousOutPoint: test.RandOp(t), }) @@ -2265,7 +2265,7 @@ func TestSupplyCommitMultipleSupplyCommitments(t *testing.T) { // Helper to generate unique transaction data for each commitment genTxData := func() (int64, []byte, []byte) { genesisPoint := test.RandOp(h.t) - tx := wire.NewMsgTx(2) + tx := wire.NewMsgTx(3) tx.AddTxIn(&wire.TxIn{ PreviousOutPoint: genesisPoint, }) @@ -2323,7 +2323,7 @@ func TestSupplySyncerPushLog(t *testing.T) { // TestSupplyCommitMultipleSupplyCommitments. genTxData := func() (int64, []byte, []byte) { genesisPoint := test.RandOp(h.t) - tx := wire.NewMsgTx(2) + tx := wire.NewMsgTx(3) tx.AddTxIn(&wire.TxIn{ PreviousOutPoint: genesisPoint, }) diff --git a/tapdb/universe_test.go b/tapdb/universe_test.go index 87b26b03b0..f3abd3f387 100644 --- a/tapdb/universe_test.go +++ b/tapdb/universe_test.go @@ -1232,7 +1232,7 @@ func TestUpsertSupplyPreCommit(t *testing.T) { // Create test data. groupKey := test.RandPubKey(t) internalKey, _ := test.RandKeyDesc(t) - mintingTx := wire.NewMsgTx(2) + mintingTx := wire.NewMsgTx(3) mintingTx.AddTxOut(&wire.TxOut{Value: 1000}) blockHeight := uint32(100) diff --git a/tapgarden/custodian_test.go b/tapgarden/custodian_test.go index 5f77fa03e5..7b5586fd11 100644 --- a/tapgarden/custodian_test.go +++ b/tapgarden/custodian_test.go @@ -449,7 +449,7 @@ func randAddrV2(h *custodianHarness, proofCourier url.URL, func randWalletTx(addr *address.AddrWithKeyInfo) (int, *lndclient.Transaction) { tx := &lndclient.Transaction{ - Tx: wire.NewMsgTx(2), + Tx: wire.NewMsgTx(3), Timestamp: time.Now(), } numInputs := rand.Intn(10) + 1 diff --git a/tapgarden/mock.go b/tapgarden/mock.go index 1b228dae1c..905b0293dd 100644 --- a/tapgarden/mock.go +++ b/tapgarden/mock.go @@ -336,7 +336,7 @@ func NewMockWalletAnchor() *MockWalletAnchor { // NewGenesisTx creates a funded genesis PSBT with the given fee rate. func NewGenesisTx(t testing.TB, feeRate chainfee.SatPerKWeight) psbt.Packet { - txTemplate := wire.NewMsgTx(2) + txTemplate := wire.NewMsgTx(3) txTemplate.AddTxOut(tapsend.CreateDummyOutput()) genesisPkt, err := psbt.NewFromUnsignedTx(txTemplate) require.NoError(t, err) diff --git a/tapgarden/planter.go b/tapgarden/planter.go index 6a5a414daf..a79f4d22df 100644 --- a/tapgarden/planter.go +++ b/tapgarden/planter.go @@ -709,7 +709,7 @@ func unfundedAnchorPsbt(preCommitmentTxOut fn.Option[wire.TxOut]) (psbt.Packet, var zero psbt.Packet // Construct a template transaction for our minting anchor transaction. - txTemplate := wire.NewMsgTx(2) + txTemplate := wire.NewMsgTx(3) // Add one output to anchor all assets which are being minted. txTemplate.AddTxOut(tapsend.CreateDummyOutput()) diff --git a/tapgarden/re-org_watcher_test.go b/tapgarden/re-org_watcher_test.go index 29150acbd7..189d1aeae7 100644 --- a/tapgarden/re-org_watcher_test.go +++ b/tapgarden/re-org_watcher_test.go @@ -69,7 +69,7 @@ func newReOrgWatcherHarness(t *testing.T) *reOrgWatcherHarness { } func makeTx() *wire.MsgTx { - anchorTx := wire.NewMsgTx(2) + anchorTx := wire.NewMsgTx(3) anchorTx.TxOut = []*wire.TxOut{{ PkScript: test.RandBytes(32), Value: 100, diff --git a/tappsbt/encode.go b/tappsbt/encode.go index 739477ce14..5a6210b023 100644 --- a/tappsbt/encode.go +++ b/tappsbt/encode.go @@ -48,7 +48,7 @@ type encoderMapping struct { // error if the encoding fails. func (p *VPacket) EncodeAsPsbt() (*psbt.Packet, error) { unsignedTx := &wire.MsgTx{ - Version: 2, + Version: 3, TxIn: make([]*wire.TxIn, len(p.Inputs)), TxOut: make([]*wire.TxOut, len(p.Outputs)), } diff --git a/tappsbt/testdata/psbt_encoding_generated.json b/tappsbt/testdata/psbt_encoding_generated.json index f795cea41c..23d05631d0 100644 --- a/tappsbt/testdata/psbt_encoding_generated.json +++ b/tappsbt/testdata/psbt_encoding_generated.json @@ -10,7 +10,7 @@ "tr_merkle_root": "", "prev_id": { "out_point": "0000000000000000000000000000000000000000000000000000000000000000:0", - "asset_id": "0000000000000000000000000000000000000000000000000000000000000000", + "asset_id": "95bf8d6f977179b66584ab7e10daa1c6e0f9c1e8b232bb9e25141c4f7da252eb", "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "anchor": { @@ -28,19 +28,43 @@ } ], "outputs": [ + { + "amount": 0, + "type": 1, + "asset_version": 0, + "interactive": false, + "anchor_output_index": 0, + "anchor_output_internal_key": "", + "anchor_output_bip32_derivation": null, + "anchor_output_tr_bip32_derivation": null, + "anchor_output_tapscript_sibling": "", + "asset": null, + "split_asset": null, + "pk_script": "51207c79b9b26e463895eef5679d8558942c86c4ad2233adef01bc3e6d540b3653fe", + "bip32_derivation": null, + "tr_bip32_derivation": null, + "tr_internal_key": "", + "tr_merkle_root": "", + "proof_delivery_address": "", + "proof_suffix": null, + "relative_lock_time": 0, + "lock_time": 0, + "alt_leaves": null, + "address": null + }, { "amount": 1, "type": 0, - "asset_version": 1, - "interactive": true, - "anchor_output_index": 0, - "anchor_output_internal_key": "02daf785f20dcb5bb06bef717296c3894ed2564d5e3f8325d2f6bad1315aaad16c", + "asset_version": 0, + "interactive": false, + "anchor_output_index": 1, + "anchor_output_internal_key": "02ab01eeca3bc7d9e8e32e7d7fe2ec0cf81cc2aaddce6a24d68ba18e70c55c8f1c", "anchor_output_bip32_derivation": null, "anchor_output_tr_bip32_derivation": null, "anchor_output_tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", "asset": null, "split_asset": null, - "pk_script": "5120681804f878909a77ff81339141d1b55d36b76a2cd7f09c838a1eb67fea983700", + "pk_script": "512006f5bd68c91168345321e5108368438941ff2edfab025f939127c000f0c8c193", "bip32_derivation": null, "tr_bip32_derivation": null, "tr_internal_key": "", @@ -51,13 +75,13 @@ "lock_time": 0, "alt_leaves": null, "address": { - "version": 2, + "version": 0, "chain_params_hrp": "tapbc", - "asset_version": 1, - "asset_id": "", - "group_key": "022f8037568677d1220c08e3525e8a2258da346da11df38b167b762ff08e6de0a1", - "script_key": "02681804f878909a77ff81339141d1b55d36b76a2cd7f09c838a1eb67fea983700", - "internal_key": "02daf785f20dcb5bb06bef717296c3894ed2564d5e3f8325d2f6bad1315aaad16c", + "asset_version": 0, + "asset_id": "95bf8d6f977179b66584ab7e10daa1c6e0f9c1e8b232bb9e25141c4f7da252eb", + "group_key": "02189cd58cc1efbb4ad914d999da12606dc4a0ad5c7fee68fdc6066e4317818173", + "script_key": "0206f5bd68c91168345321e5108368438941ff2edfab025f939127c000f0c8c193", + "internal_key": "02ab01eeca3bc7d9e8e32e7d7fe2ec0cf81cc2aaddce6a24d68ba18e70c55c8f1c", "tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", "amount": 1, "proof_courier_addr": "authmailbox+universerpc://foo.bar:10029", @@ -76,7 +100,7 @@ "anchor_output_tapscript_sibling": "", "asset": null, "split_asset": null, - "pk_script": "512063154e9e45e62a27c43f2b3342b0c49b8a2f49d0263dcc18f34172b66acfef09", + "pk_script": "51201646bbcc2163b6e1eb99a83b0f149f7bd809ddee5ceaf1f9cf18f58055635861", "bip32_derivation": null, "tr_bip32_derivation": null, "tr_internal_key": "", @@ -89,10 +113,10 @@ "address": null } ], - "version": 1, + "version": 0, "chain_params_hrp": "tapbc" }, - "expected": "cHNidP8BAIkCAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEAAAAAAAAAIlEgaBgE+HiQmnf/gTORQdG1XTa3aizX8JyDih62f+qYNwAAAAAAAAAAACJRIGMVTp5F5ionxD8rM0KwxJuKL0nQJj3MGPNBcrZqz+8JAAAAAAFwAQEBcQV0YXBiYwFyAQEAAXBlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcQgAAAAAAAAAAAFyAAFzCAAAAAAAAAAAAXUAAXgAAAFwAQABcQEBAXIIAAAAAAAAAAABcyEC2veF8g3LW7Br73FylsOJTtJWTV4/gyXS9rrRMVqq0WwBeBUAwBJub3QgYSB2YWxpZCBzY3JpcHQBeQEBAXonYXV0aG1haWxib3grdW5pdmVyc2VycGM6Ly9mb28uYmFyOjEwMDI5AXwIAAAAAAAAAAABfQgAAAAAAAAAAAF/sgABAgIBAQUhAi+AN1aGd9EiDAjjUl6KIljaNG2hHfOLFnt2L/CObeChBiECaBgE+HiQmnf/gTORQdG1XTa3aizX8JyDih62f+qYNwAIIQLa94XyDctbsGvvcXKWw4lO0lZNXj+DJdL2utExWqrRbAkVAMASbm90IGEgdmFsaWQgc2NyaXB0CgEBDCdhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkAAXABAAFxAQABcggAAAAAAAAAAAF5AQABfAgAAAAAAAAAAAF9CAAAAAAAAAAAAA==", + "expected": "cHNidP8BALQDAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAIlEgfHm5sm5GOJXu9WedhViULIbErSIzre8BvD5tVAs2U/4BAAAAAAAAACJRIAb1vWjJEWg0UyHlEINoQ4lB/y7fqwJfk5EnwADwyMGTAAAAAAAAAAAiUSAWRrvMIWO24euZqDsPFJ972And7lzq8fnPGPWAVWNYYQAAAAABcAEBAXEFdGFwYmMBcgEAAAFwZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJW/jW+XcXm2ZYSrfhDaocbg+cHosjK7niUUHE99olLrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXEIAAAAAAAAAAABcgABcwgAAAAAAAAAAAF1AAF4AAABcAEBAXEBAAFyCAAAAAAAAAAAAXkBAAF8CAAAAAAAAAAAAX0IAAAAAAAAAAAAAXABAAFxAQABcggAAAAAAAAAAQFzIQKrAe7KO8fZ6OMufX/i7Az4HMKq3c5qJNaLoY5wxVyPHAF4FQDAEm5vdCBhIHZhbGlkIHNjcmlwdAF5AQABeidhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkBfAgAAAAAAAAAAAF9CAAAAAAAAAAAAX/UAAEAAgEABCCVv41vl3F5tmWEq34Q2qHG4PnB6LIyu54lFBxPfaJS6wUhAhic1YzB77tK2RTZmdoSYG3EoK1cf+5o/cYGbkMXgYFzBiECBvW9aMkRaDRTIeUQg2hDiUH/Lt+rAl+TkSfAAPDIwZMIIQKrAe7KO8fZ6OMufX/i7Az4HMKq3c5qJNaLoY5wxVyPHAkVAMASbm90IGEgdmFsaWQgc2NyaXB0CgEBDCdhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkAAXABAAFxAQABcggAAAAAAAAAAAF5AQABfAgAAAAAAAAAAAF9CAAAAAAAAAAAAA==", "comment": "minimal packet" }, { @@ -101,7 +125,7 @@ { "bip32_derivation": [ { - "pub_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -114,7 +138,7 @@ ], "tr_bip32_derivation": [ { - "pub_key": "69792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -126,23 +150,23 @@ ] } ], - "tr_internal_key": "69792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "tr_internal_key": "a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "tr_merkle_root": "6d65726b6c6520726f6f74", "prev_id": { - "out_point": "bc897d061b3ae419476c367403def63a5b6fea3b9393f93f3329d9f17d9e8fbc:2978395423", - "asset_id": "0454b68312d5027ce15a4f0a58250d8fb50e77f2bf4f0152e5d49435807f9d4b", - "script_key": "029551c11cee58492ae9052e59f8197dffcd32cc9b648822e8e2ee8cc145edc2b0" + "out_point": "2bd743cfb52e3298237e62a7eb16922dd0f175c897a14c5136fd600756ff8065:1409503501", + "asset_id": "2513a2510be92843487a4eb8111c79a6f0195fc38ad6aee93c1df2b5897eaa38", + "script_key": "03577b77bec9565ceb071abed487b2d646abe54aa986a9eb000e646d230738148c" }, "anchor": { "value": 777, "pk_script": "616e63686f7220706b736372697074", "sig_hash_type": 3, - "internal_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "internal_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "merkle_root": "6d65726b6c6520726f6f74", "tapscript_sibling": "7369626c696e67", "bip32_derivation": [ { - "pub_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -155,7 +179,7 @@ ], "tr_bip32_derivation": [ { - "pub_key": "69792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -170,12 +194,12 @@ }, "asset": { "version": 0, - "genesis_first_prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", - "genesis_tag": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "genesis_meta_hash": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "genesis_output_index": 609209654, + "genesis_first_prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", + "genesis_tag": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "genesis_meta_hash": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "genesis_output_index": 1288558511, "genesis_type": 0, - "amount": 2942559630, + "amount": 3537477306, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -186,22 +210,22 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "978e2e839a83618e7544a917512a4a6fdbe2a2db7f704528783fa7c1ed24728cf19c2d727a786a4b68584f835a7c659f3486c9fa0fc0706708acd1adc36a5773" + "a8e8de8277d467be8a6a1b3581134b17ba5bf88d5deff5c36025c2cec7ecdbaad2b8ae57fd5f7f444c8bdeb51d6fc1ffad1715f5cf697cc7bf5a358e068e0086" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "03375bdcf30b7292c4e2ce7f8511c68cfd58bbcf5c8461282825be23dea0675204", + "script_key": "029c886eeaf9db0e4f45663d90910e0e15ba1d23df6e93502e1bafe7d2bd14cdbb", "group_key": { - "group_key": "0268b8cecf0c531d4ae596d7d73418dff440f500d420d66cfdb40e7c31a79baf4b" + "group_key": "03a4601556ac88daf8dc315f192e8f67e323be7c381102d3f7da404f1638d773c5" }, "unknown_odd_types": null }, "proof": { "version": 0, - "prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", + "prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", "block_header": { "version": 1, "prev_block": "00000000000080b66c911bd5ba14a74260057311eaeb1982802f7010f1a9f090", @@ -228,10 +252,10 @@ }, "asset": { "version": 0, - "genesis_first_prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", - "genesis_tag": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "genesis_meta_hash": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "genesis_output_index": 609209654, + "genesis_first_prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", + "genesis_tag": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "genesis_meta_hash": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "genesis_output_index": 1288558511, "genesis_type": 0, "amount": 1, "lock_time": 1337, @@ -244,28 +268,28 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "8923cbb4736886772f456c281d093f9fb6bc3142d60096ff184510cf6695535f792a676484ab919ed7a9e66f9632ea420dce3988d8f068272162f2bbf8870e43" + "10a1c5e3ee5ec1b12384d980fe9138574ee30ebd1f67159f5909d3483e42cc9610fa3f83b8115366d74e59f6b0d985f89c30feb4e03020415b0f53cc42401c9a" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "025fcf8cf7ba2cb957395d178efa6d80213dc00478963adada45bedb91b848748f", + "script_key": "02e17f618e78457ab0900bb3c7f7149d93dbeab4ed13dc73a32eb9c074d18d06bd", "group_key": { - "group_key": "036513025e8a6e9714c1f7fd4b886e3d09895840b53f1dfff7f275d3aaedfd32e8" + "group_key": "02e5414ad04edae5b4e091ebf4ab980f0a9810907bcf29fb2c04881ada1067fb70" }, "unknown_odd_types": null }, "inclusion_proof": { "output_index": 0, - "internal_key": "02372bf9b9bbc07db30df7cbbfabaf259253c7cc1deda5382b8b955b0f8f7af7a6", + "internal_key": "02ace130616d22bbf2178e1f37bbadfd26cbcf202cf7745847af4c39ed1ced11ce", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "bfafa94eb8e114b75095d0ace686339d3eb50be00f814a9e26125d4d3eb8f01a", + "tap_key": "37d3402472502621eee5e1de9a4f0b346611600be2b1f94153bdc83dc90362ae", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -285,13 +309,13 @@ "exclusion_proofs": [ { "output_index": 2, - "internal_key": "029d76e24eebcc23f2ae2dd04977512dabdc9bfc45a08f29e806c9b1fe768b67d8", + "internal_key": "0248dd6e0d4d6d25d5f08dde6755110423ad69f1f985df6d3aac0e5dd3916f2510", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "bfafa94eb8e114b75095d0ace686339d3eb50be00f814a9e26125d4d3eb8f01a", + "tap_key": "37d3402472502621eee5e1de9a4f0b346611600be2b1f94153bdc83dc90362ae", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -310,7 +334,7 @@ }, { "output_index": 3, - "internal_key": "02ae55f86870f109840e905eba733fa25bc31b763f249482b7ce93762a9b0b8d1e", + "internal_key": "0281214e2708cfe48ac561c524f0bb900075f11baa28ec5aaa713f57654935d362", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "011aac25408a4d28233cd325faefade9ef0fae76fcb1e35d08140045bbaa381b30eef46e46303556602ef13cef5d2fff3dc6a2ece6657fc91e4b0a5bba2ded4eff", @@ -322,7 +346,7 @@ }, { "output_index": 4, - "internal_key": "0234c45db41df59b37c4edb9ba4243fbf9d5b4493c3fb507568ba769b40ff416b4", + "internal_key": "02b4b806b7f7d9ff5b61ecd6656615cfa731fd8aa72a45787dd13af114b1b88e26", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "", @@ -335,13 +359,13 @@ ], "split_root_proof": { "output_index": 4, - "internal_key": "02dc349448dcb06326996806edb69063e72258f9c11cb792d64fc728ded0fcf93c", + "internal_key": "020a293c25d92b60de39fe733c7e838a50f72944c33bb399cdd5cd44384cd37f2a", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "bfafa94eb8e114b75095d0ace686339d3eb50be00f814a9e26125d4d3eb8f01a", + "tap_key": "37d3402472502621eee5e1de9a4f0b346611600be2b1f94153bdc83dc90362ae", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -373,15 +397,15 @@ "626172" ], "genesis_reveal": { - "first_prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", - "tag": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "meta_hash": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "output_index": 609209654, + "first_prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", + "tag": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "meta_hash": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "output_index": 1288558511, "type": 0 }, "group_key_reveal": { - "raw_key": "036513025e8a6e9714c1f7fd4b886e3d09895840b53f1dfff7f275d3aaedfd32e8", - "tapscript_root": "703934bf50a28da102975deda77e758579ea3dfe4136abf752b3b8271d03e944" + "raw_key": "02e5414ad04edae5b4e091ebf4ab980f0a9810907bcf29fb2c04881ada1067fb70", + "tapscript_root": "eebe8cb8fa7dc5483fb70c2c896334cb1f9cb5dfe044fa086197ff5dfd02f2ba" }, "alt_leaves": null, "unknown_odd_types": null @@ -415,13 +439,13 @@ { "amount": 123, "type": 1, - "asset_version": 0, + "asset_version": 1, "interactive": true, "anchor_output_index": 0, - "anchor_output_internal_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "anchor_output_internal_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "anchor_output_bip32_derivation": [ { - "pub_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -434,7 +458,7 @@ ], "anchor_output_tr_bip32_derivation": [ { - "pub_key": "69792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -449,12 +473,12 @@ "anchor_output_tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", "asset": { "version": 0, - "genesis_first_prev_out": "bed31f1cb9e6c6a03cb44af864ba22787c2bf3394b29ee0716de4c356d68260f:654045851", - "genesis_tag": "a0f3ca9936e8461f10d77c96ea80a7a665f606f6a63b7f3dfd2567c18979e4d6", - "genesis_meta_hash": "a0f3ca9936e8461f10d77c96ea80a7a665f606f6a63b7f3dfd2567c18979e4d6", - "genesis_output_index": 1094946953, + "genesis_first_prev_out": "50358b44e12d3329ab7af6400eb06a9d03e5dc69d1ae9142ca2cc08a9de163e5:3551151408", + "genesis_tag": "e52a5f8f46627eb5d3a4fe16fafce23623e196c9dfff7fbaff4ffe94f4589733", + "genesis_meta_hash": "e52a5f8f46627eb5d3a4fe16fafce23623e196c9dfff7fbaff4ffe94f4589733", + "genesis_output_index": 160070780, "genesis_type": 0, - "amount": 1822188728, + "amount": 3554031666, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -465,27 +489,27 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "65dc27c01ab4e030a5c495b0bc7050f449d8fb79c3d4c5c7418a8b583a368232693595ac759f6fa02101172ef07d7d671dc191b5a68468322e704165f997bcd2" + "e8b85179eac1c10c05b523a280897cb61b39aca5dd5be1bab2f9804ddf0a2a97bce961b30f6eed69dbba09bc1c25518c828a1446ba365a344c6f9fea8a4ecf8c" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "023d2f56b1fc4937c426b5b655e10ea7bcf703186f7ce953e6b39d554268e5ecbd", + "script_key": "02c5e7ded4fca3b4ba8c5d25b685c09c5012ee7eece23ef7b2af985e8af66b8d99", "group_key": { - "group_key": "0213e1766ebbbc1c18c86a024a1cee0895c5b6349c4365946c128b2468570c7723" + "group_key": "02683d0fa80f7903117a4b702b9d1e4fd0c077ef0a378f1eff4b3e12dc31b73940" }, "unknown_odd_types": null }, "split_asset": { "version": 0, - "genesis_first_prev_out": "bed31f1cb9e6c6a03cb44af864ba22787c2bf3394b29ee0716de4c356d68260f:654045851", - "genesis_tag": "a0f3ca9936e8461f10d77c96ea80a7a665f606f6a63b7f3dfd2567c18979e4d6", - "genesis_meta_hash": "a0f3ca9936e8461f10d77c96ea80a7a665f606f6a63b7f3dfd2567c18979e4d6", - "genesis_output_index": 1094946953, + "genesis_first_prev_out": "50358b44e12d3329ab7af6400eb06a9d03e5dc69d1ae9142ca2cc08a9de163e5:3551151408", + "genesis_tag": "e52a5f8f46627eb5d3a4fe16fafce23623e196c9dfff7fbaff4ffe94f4589733", + "genesis_meta_hash": "e52a5f8f46627eb5d3a4fe16fafce23623e196c9dfff7fbaff4ffe94f4589733", + "genesis_output_index": 160070780, "genesis_type": 0, - "amount": 1822188728, + "amount": 3554031666, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -496,20 +520,20 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "65dc27c01ab4e030a5c495b0bc7050f449d8fb79c3d4c5c7418a8b583a368232693595ac759f6fa02101172ef07d7d671dc191b5a68468322e704165f997bcd2" + "e8b85179eac1c10c05b523a280897cb61b39aca5dd5be1bab2f9804ddf0a2a97bce961b30f6eed69dbba09bc1c25518c828a1446ba365a344c6f9fea8a4ecf8c" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "023d2f56b1fc4937c426b5b655e10ea7bcf703186f7ce953e6b39d554268e5ecbd", + "script_key": "02c5e7ded4fca3b4ba8c5d25b685c09c5012ee7eece23ef7b2af985e8af66b8d99", "group_key": { - "group_key": "0213e1766ebbbc1c18c86a024a1cee0895c5b6349c4365946c128b2468570c7723" + "group_key": "02683d0fa80f7903117a4b702b9d1e4fd0c077ef0a378f1eff4b3e12dc31b73940" }, "unknown_odd_types": null }, - "pk_script": "51203d2f56b1fc4937c426b5b655e10ea7bcf703186f7ce953e6b39d554268e5ecbd", + "pk_script": "5120c5e7ded4fca3b4ba8c5d25b685c09c5012ee7eece23ef7b2af985e8af66b8d99", "bip32_derivation": null, "tr_bip32_derivation": null, "tr_internal_key": "", @@ -517,7 +541,7 @@ "proof_delivery_address": "https://example.com", "proof_suffix": { "version": 0, - "prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", + "prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", "block_header": { "version": 1, "prev_block": "00000000000080b66c911bd5ba14a74260057311eaeb1982802f7010f1a9f090", @@ -544,10 +568,10 @@ }, "asset": { "version": 0, - "genesis_first_prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", - "genesis_tag": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "genesis_meta_hash": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "genesis_output_index": 609209654, + "genesis_first_prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", + "genesis_tag": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "genesis_meta_hash": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "genesis_output_index": 1288558511, "genesis_type": 0, "amount": 1, "lock_time": 1337, @@ -560,28 +584,28 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "8923cbb4736886772f456c281d093f9fb6bc3142d60096ff184510cf6695535f792a676484ab919ed7a9e66f9632ea420dce3988d8f068272162f2bbf8870e43" + "10a1c5e3ee5ec1b12384d980fe9138574ee30ebd1f67159f5909d3483e42cc9610fa3f83b8115366d74e59f6b0d985f89c30feb4e03020415b0f53cc42401c9a" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "025fcf8cf7ba2cb957395d178efa6d80213dc00478963adada45bedb91b848748f", + "script_key": "02e17f618e78457ab0900bb3c7f7149d93dbeab4ed13dc73a32eb9c074d18d06bd", "group_key": { - "group_key": "036513025e8a6e9714c1f7fd4b886e3d09895840b53f1dfff7f275d3aaedfd32e8" + "group_key": "02e5414ad04edae5b4e091ebf4ab980f0a9810907bcf29fb2c04881ada1067fb70" }, "unknown_odd_types": null }, "inclusion_proof": { "output_index": 0, - "internal_key": "02372bf9b9bbc07db30df7cbbfabaf259253c7cc1deda5382b8b955b0f8f7af7a6", + "internal_key": "02ace130616d22bbf2178e1f37bbadfd26cbcf202cf7745847af4c39ed1ced11ce", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "bfafa94eb8e114b75095d0ace686339d3eb50be00f814a9e26125d4d3eb8f01a", + "tap_key": "37d3402472502621eee5e1de9a4f0b346611600be2b1f94153bdc83dc90362ae", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -601,13 +625,13 @@ "exclusion_proofs": [ { "output_index": 2, - "internal_key": "029d76e24eebcc23f2ae2dd04977512dabdc9bfc45a08f29e806c9b1fe768b67d8", + "internal_key": "0248dd6e0d4d6d25d5f08dde6755110423ad69f1f985df6d3aac0e5dd3916f2510", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "bfafa94eb8e114b75095d0ace686339d3eb50be00f814a9e26125d4d3eb8f01a", + "tap_key": "37d3402472502621eee5e1de9a4f0b346611600be2b1f94153bdc83dc90362ae", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -626,7 +650,7 @@ }, { "output_index": 3, - "internal_key": "02ae55f86870f109840e905eba733fa25bc31b763f249482b7ce93762a9b0b8d1e", + "internal_key": "0281214e2708cfe48ac561c524f0bb900075f11baa28ec5aaa713f57654935d362", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "011aac25408a4d28233cd325faefade9ef0fae76fcb1e35d08140045bbaa381b30eef46e46303556602ef13cef5d2fff3dc6a2ece6657fc91e4b0a5bba2ded4eff", @@ -638,7 +662,7 @@ }, { "output_index": 4, - "internal_key": "0234c45db41df59b37c4edb9ba4243fbf9d5b4493c3fb507568ba769b40ff416b4", + "internal_key": "02b4b806b7f7d9ff5b61ecd6656615cfa731fd8aa72a45787dd13af114b1b88e26", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "", @@ -651,13 +675,13 @@ ], "split_root_proof": { "output_index": 4, - "internal_key": "02dc349448dcb06326996806edb69063e72258f9c11cb792d64fc728ded0fcf93c", + "internal_key": "020a293c25d92b60de39fe733c7e838a50f72944c33bb399cdd5cd44384cd37f2a", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "bfafa94eb8e114b75095d0ace686339d3eb50be00f814a9e26125d4d3eb8f01a", + "tap_key": "37d3402472502621eee5e1de9a4f0b346611600be2b1f94153bdc83dc90362ae", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -689,15 +713,15 @@ "626172" ], "genesis_reveal": { - "first_prev_out": "676678e7aa2d92faded7e41173fac825416fed825e117039374b7964976f269a:3197016449", - "tag": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "meta_hash": "7f01f1f573981659a44ff17a4c7215a3b539eb1e5849c6077dbb5722f5717a28", - "output_index": 609209654, + "first_prev_out": "a09f7b29df8f55221649656e33e37685784deb24ce99aa99fff5411c4623917c:616525876", + "tag": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "meta_hash": "d2e5b887d4630fb8d4747ead6eb82acd1c5b078143ee26a586ad23139d504172", + "output_index": 1288558511, "type": 0 }, "group_key_reveal": { - "raw_key": "036513025e8a6e9714c1f7fd4b886e3d09895840b53f1dfff7f275d3aaedfd32e8", - "tapscript_root": "703934bf50a28da102975deda77e758579ea3dfe4136abf752b3b8271d03e944" + "raw_key": "02e5414ad04edae5b4e091ebf4ab980f0a9810907bcf29fb2c04881ada1067fb70", + "tapscript_root": "eebe8cb8fa7dc5483fb70c2c896334cb1f9cb5dfe044fa086197ff5dfd02f2ba" }, "alt_leaves": null, "unknown_odd_types": null @@ -717,39 +741,22 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 2384, - "script_key": "0243d1129c376cd7be08cd11afc07dea9e5f9bd7b59f98d361cd8d4521fcf45243", - "group_key": null, - "unknown_odd_types": null - }, - { - "version": 0, - "genesis_first_prev_out": "0000000000000000000000000000000000000000000000000000000000000000:0", - "genesis_tag": "", - "genesis_meta_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "genesis_output_index": 0, - "genesis_type": 0, - "amount": 0, - "lock_time": 0, - "relative_lock_time": 0, - "prev_witnesses": null, - "split_commitment_root": null, - "script_version": 23105, - "script_key": "02759989d69c3245db66ea1ed45eac1f4ea6ceacc695a39582706d36c23fa3275c", + "script_version": 9826, + "script_key": "021e8063008afeb0c7e003035bb9108a1d95999c2aa095fd752ea5e5338c5df7b1", "group_key": null, "unknown_odd_types": null } ], "address": { - "version": 2, + "version": 1, "chain_params_hrp": "tapbc", - "asset_version": 0, - "asset_id": "ba39b8af2bc742f8026696affc0ffe13427b459f5ae7493d877bf4657cb060b7", - "group_key": "", - "script_key": "021e75735bdbb3d21d70f64a5185faa9d4d8576c54221977ca374f2b163e2161b3", - "internal_key": "0275e5082b172fc2bc56530189dfce1ea4481b81732e94d2eb6149be31a82420bb", - "tapscript_sibling": "", - "amount": 3797840465501570741, + "asset_version": 1, + "asset_id": "236d12a5c695dfb2e3985d2e3836d1aa3b7997dbab6c46a7d31512f8976da962", + "group_key": "0216d22f611fedfcb12de503c4ba038b3315389b3ca5818d57378005826b7315fc", + "script_key": "024fe30c7b3e589d934f3bedc61dbaeb0b05bc8f32bd0a37e9465dd1cc4e6e4ddd", + "internal_key": "027aafbcf9d1d7bf1421d9ceee05ce296e936e44d19ca5028642548bca46ea90f6", + "tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", + "amount": 1, "proof_courier_addr": "authmailbox+universerpc://foo.bar:10029", "unknown_odd_types": null } @@ -757,13 +764,13 @@ { "amount": 345, "type": 1, - "asset_version": 0, + "asset_version": 1, "interactive": false, "anchor_output_index": 1, - "anchor_output_internal_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "anchor_output_internal_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "anchor_output_bip32_derivation": [ { - "pub_key": "0269792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "02a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -776,7 +783,7 @@ ], "anchor_output_tr_bip32_derivation": [ { - "pub_key": "69792dd5313d26dfe944e01d6ad8a0e0c38db5af47deaf15981cf9ddbddeac1b", + "pub_key": "a724edf4531d5552e6fc42a65604599109675c2cc50d7580a70cb1fbe5b97ad7", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -791,12 +798,12 @@ "anchor_output_tapscript_sibling": "01197ce22d12bc5a99587533af41169fa1dc9ff866c0d4d3021158d62933672d11197ce22d12bc5a99587533af41169fa1dc9ff866c0d4d3021158d62933672d11", "asset": { "version": 0, - "genesis_first_prev_out": "bed31f1cb9e6c6a03cb44af864ba22787c2bf3394b29ee0716de4c356d68260f:654045851", - "genesis_tag": "a0f3ca9936e8461f10d77c96ea80a7a665f606f6a63b7f3dfd2567c18979e4d6", - "genesis_meta_hash": "a0f3ca9936e8461f10d77c96ea80a7a665f606f6a63b7f3dfd2567c18979e4d6", - "genesis_output_index": 1094946953, + "genesis_first_prev_out": "50358b44e12d3329ab7af6400eb06a9d03e5dc69d1ae9142ca2cc08a9de163e5:3551151408", + "genesis_tag": "e52a5f8f46627eb5d3a4fe16fafce23623e196c9dfff7fbaff4ffe94f4589733", + "genesis_meta_hash": "e52a5f8f46627eb5d3a4fe16fafce23623e196c9dfff7fbaff4ffe94f4589733", + "genesis_output_index": 160070780, "genesis_type": 0, - "amount": 1822188728, + "amount": 3554031666, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -807,21 +814,21 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "65dc27c01ab4e030a5c495b0bc7050f449d8fb79c3d4c5c7418a8b583a368232693595ac759f6fa02101172ef07d7d671dc191b5a68468322e704165f997bcd2" + "e8b85179eac1c10c05b523a280897cb61b39aca5dd5be1bab2f9804ddf0a2a97bce961b30f6eed69dbba09bc1c25518c828a1446ba365a344c6f9fea8a4ecf8c" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "023d2f56b1fc4937c426b5b655e10ea7bcf703186f7ce953e6b39d554268e5ecbd", + "script_key": "02c5e7ded4fca3b4ba8c5d25b685c09c5012ee7eece23ef7b2af985e8af66b8d99", "group_key": { - "group_key": "0213e1766ebbbc1c18c86a024a1cee0895c5b6349c4365946c128b2468570c7723" + "group_key": "02683d0fa80f7903117a4b702b9d1e4fd0c077ef0a378f1eff4b3e12dc31b73940" }, "unknown_odd_types": null }, "split_asset": null, - "pk_script": "51203d2f56b1fc4937c426b5b655e10ea7bcf703186f7ce953e6b39d554268e5ecbd", + "pk_script": "5120c5e7ded4fca3b4ba8c5d25b685c09c5012ee7eece23ef7b2af985e8af66b8d99", "bip32_derivation": null, "tr_bip32_derivation": null, "tr_internal_key": "", @@ -843,8 +850,8 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 16844, - "script_key": "02939293bf91bf9a844ad17c247c1e0d7dc6baad539813658bc2ecb87ba5b16e34", + "script_version": 13584, + "script_key": "021233e5de76b07c7d4f6df13f751113661677347df10ce65386891d91af8bd34a", "group_key": null, "unknown_odd_types": null }, @@ -860,56 +867,22 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 53986, - "script_key": "025a6d8581fcca9864804ed7767d489c81d23302d2d6dada7846ca750313d97cd5", - "group_key": null, - "unknown_odd_types": null - }, - { - "version": 0, - "genesis_first_prev_out": "0000000000000000000000000000000000000000000000000000000000000000:0", - "genesis_tag": "", - "genesis_meta_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "genesis_output_index": 0, - "genesis_type": 0, - "amount": 0, - "lock_time": 0, - "relative_lock_time": 0, - "prev_witnesses": null, - "split_commitment_root": null, - "script_version": 47237, - "script_key": "02f56d92b2e69c4336f7f3cb296f498dbe1bedfd1bc2f50547d2c539f2d32458bc", - "group_key": null, - "unknown_odd_types": null - }, - { - "version": 0, - "genesis_first_prev_out": "0000000000000000000000000000000000000000000000000000000000000000:0", - "genesis_tag": "", - "genesis_meta_hash": "0000000000000000000000000000000000000000000000000000000000000000", - "genesis_output_index": 0, - "genesis_type": 0, - "amount": 0, - "lock_time": 0, - "relative_lock_time": 0, - "prev_witnesses": null, - "split_commitment_root": null, - "script_version": 12559, - "script_key": "0290ad26294f05ff0f392bf82acb82521e5048a8a651b35ef386dbff68c923c37a", + "script_version": 32065, + "script_key": "022e34b005c066a8d1087fe5893f380aeb02cd60977d2b22b912fea9447da83c65", "group_key": null, "unknown_odd_types": null } ], "address": { - "version": 1, + "version": 0, "chain_params_hrp": "tapbc", - "asset_version": 1, - "asset_id": "73f3e53abc31d63216fc53a98d55e15f833fd8f1c68ea29bda26519b71919a94", - "group_key": "036a2387e6a57d441dd879b32792e3dc0b4167d98d8beb701a4c40400bc4262458", - "script_key": "0274440806bd31111c581b6c0a91f51e06f556df41a34f300aac1a4a2f04d60b13", - "internal_key": "02e3e8caa7c8c999e39b147f8af31aafd5fd97db3fd2072fa17f75c7011e55d5ec", + "asset_version": 0, + "asset_id": "1e2cd5351ec3e402fed6e2c580798c86f20aca6a8c242f2e53dbdb3b6b9b6aca", + "group_key": "0235338150bcb7cb61c2612fd565e2c6ab2dda0a6749cbac03fc25733f5ffcdcd1", + "script_key": "0294ef77bff50c0be7328aa3ee5f5c79830263cd89713969f05b8ea55f9de46849", + "internal_key": "02a24717c0fd84194531bcf8af653a9f7b126e36d70bc68920781d572e9dc211e9", "tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", - "amount": 5872006441185134428, + "amount": 7267104140862379789, "proof_courier_addr": "authmailbox+universerpc://foo.bar:10029", "unknown_odd_types": null } @@ -918,7 +891,7 @@ "version": 0, "chain_params_hrp": "tapbc" }, - "expected": "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QgFAiSPLtHNohncvRWwoHQk/n7a8MULWAJb/GEUQz2aVU195KmdkhKuRntep5m+WMupCDc45iNjwaCchYvK7+IcOQw4CAAAQIQJfz4z3uiy5VzldF476bYAhPcAEeJY62tpFvtuRuEh0jxEhA2UTAl6KbpcUwff9S4huPQmJWEC1Px3/9/J106rt/TLoDKUABAAAAAACIQI3K/m5u8B9sw33y7+rryWSU8fMHe2lOCuLlVsPj3r3pgN6AUkAAQACIL+vqU644RS3UJXQrOaGM50+tQvgD4FKniYSXU0+uPAaBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQEN/QFOA6UABAAAAAICIQKdduJO68wj8q4t0El3US2r3Jv8RaCPKegGybH+dotn2AN6AUkAAQACIL+vqU644RS3UJXQrOaGM50+tQvgD4FKniYSXU0+uPAaBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQF3AAQAAAADAiECrlX4aHDxCYQOkF66cz+iW8Mbdj8klIK3zpN2KpsLjR4FTAFBARqsJUCKTSgjPNMl+u+t6e8Prnb8seNdCBQARbuqOBsw7vRuRjA1VmAu8TzvXS//Pcai7OZlf8keSwpbui3tTv8DBADAAQIEAQEuAAQAAAAEAiECNMRdtB31mzfE7bm6QkP7+dW0STw/tQdWi6dptA/0FrQFAwQBAQ+fAAQAAAAEAiEC3DSUSNywYyaZaAbttpBj5yJY+cEct5LWT8co3tD8+TwDdAFJAAEAAiC/r6lOuOEUt1CV0KzmhjOdPrUL4A+BSp4mEl1NPrjwGgQiAAD//////////////////////////////////////////wInAAEAAiIAAP//////////////////////////////////////////ER4AAQACGXF1b3RoIHRoZSByYXZlbiBuZXZlcm1vcmUVCQIDZm9vA2JhchYEAAAAKheKmiZvl2R5Szc5cBFegu1vQSXI+nMR5Nfe+pItqud4Zme+jpmBQDdmMDFm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+pItqud4Zme+jpmBQDdmMDFmMWY1NzM5ODE2NTlhNDRmZjE3YTRjNzIxNWEzYjUzOWViMWU1ODQ5YzYwNzdkYmI1NzIyZjU3MTdhMjh/AfH1c5gWWaRP8XpMchWjtTnrHlhJxgd9u1ci9XF6KCRPzTYABAEABgEBBwP9BTkJAQYLrQGrAWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCAUCJI8u0c2iGdy9FbCgdCT+ftrwxQtYAlv8YRRDPZpVTX3kqZ2SEq5Ge16nmb5Yy6kINzjmI2PBoJyFi8rv4hw5DDgIAABAhAl/PjPe6LLlXOV0XjvptgCE9wAR4ljra2kW+25G4SHSPESEDZRMCXopulxTB9/1LiG49CYlYQLU/Hf/38nXTqu39MugMpQAEAAAAAAIhAjcr+bm7wH2zDffLv6uvJZJTx8wd7aU4K4uVWw+PevemA3oBSQABAAIgv6+pTrjhFLdQldCs5oYznT61C+APgUqeJhJdTT648BoEIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAQ39AU4DpQAEAAAAAgIhAp124k7rzCPyri3QSXdRLavcm/xFoI8p6AbJsf52i2fYA3oBSQABAAIgv6+pTrjhFLdQldCs5oYznT61C+APgUqeJhJdTT648BoEIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAXcABAAAAAMCIQKuVfhocPEJhA6QXrpzP6Jbwxt2PySUgrfOk3YqmwuNHgVMAUEBGqwlQIpNKCM80yX6763p7w+udvyx410IFABFu6o4GzDu9G5GMDVWYC7xPO9dL/89xqLs5mV/yR5LClu6Le1O/wMEAMABAgQBAS4ABAAAAAQCIQI0xF20HfWbN8TtubpCQ/v51bRJPD+1B1aLp2m0D/QWtAUDBAEBD58ABAAAAAQCIQLcNJRI3LBjJploBu22kGPnIlj5wRy3ktZPxyje0Pz5PAN0AUkAAQACIL+vqU644RS3UJXQrOaGM50+tQvgD4FKniYSXU0+uPAaBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8RHgABAAIZcXVvdGggdGhlIHJhdmVuIG5ldmVybW9yZRUJAgNmb28DYmFyFgQAAAAqF4qaJm+XZHlLNzlwEV6C7W9BJcj6cxHk1976ki2q53hmZ76OmYFAN2YwMWYxZjU3Mzk4MTY1OWE0NGZmMTdhNGM3MjE1YTNiNTM5ZWIxZTU4NDljNjA3N2RiYjU3MjJmNTcxN2EyOH8B8fVzmBZZpE/xekxyFaO1OeseWEnGB327VyL1cXooJE/NNgAZQQNlEwJeim6XFMH3/UuIbj0JiVhAtT8d//fyddOq7f0y6HA5NL9Qoo2hApdd7ad+dYV56j3+QTar91KzuCcdA+lEAXwIAAAAAAAAAcgBfQgAAAAAAAABWQF+UQInDgIJUBAhAkPREpw3bNe+CM0Rr8B96p5fm9e1n5jTYc2NRSH89FJDJw4CWkEQIQJ1mYnWnDJF22bqHtRerB9Ops6sxpWjlYJwbTbCP6MnXAF/ogABAgIBAAQgujm4ryvHQvgCZpav/A/+E0J7RZ9a50k9h3v0ZXywYLcGIQIedXNb27PSHXD2SlGF+qnU2FdsVCIZd8o3TysWPiFhswghAnXlCCsXL8K8VlMBid/OHqRIG4FzLpTS62FJvjGoJCC7Cgn/NLSjyBPTRrUMJ2F1dGhtYWlsYm94K3VuaXZlcnNlcnBjOi8vZm9vLmJhcjoxMDAyOQABcAEBAXEBAAFyCAAAAAAAAAABAXMhAml5LdUxPSbf6UTgHWrYoODDjbWvR96vFZgc+d293qwbInQCaXkt1TE9Jt/pROAdatig4MONta9H3q8VmBz53b3erBsYAAAAAPkDAIAAAACAewAAgAAAAADIAQAAIXVpeS3VMT0m3+lE4B1q2KDgw421r0ferxWYHPndvd6sGxkAAAAAAPkDAIAAAACAewAAgAAAAADIAQAAAXb9kgEAAQACig8maG01TN4WB+4pSznzK3x4Irpk+Eq0PKDG5rkcH9O+Jvvym0BhMGYzY2E5OTM2ZTg0NjFmMTBkNzdjOTZlYTgwYTdhNjY1ZjYwNmY2YTYzYjdmM2RmZDI1NjdjMTg5NzllNGQ2oPPKmTboRh8Q13yW6oCnpmX2BvamO389/SVnwYl55NZBQ5CJAAQBAAYF/mycZLgLrQGrAWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCAUBl3CfAGrTgMKXElbC8cFD0Sdj7ecPUxcdBiotYOjaCMmk1lax1n2+gIQEXLvB9fWcdwZG1poRoMi5wQWX5l7zSDgIAABAhAj0vVrH8STfEJrW2VeEOp7z3AxhvfOlT5rOdVUJo5ey9ESECE+F2bru8HBjIagJKHO4IlcW2NJxDZZRsEoskaFcMdyMBeEEBGXziLRK8WplYdTOvQRafodyf+GbA1NMCEVjWKTNnLREZfOItErxamVh1M69BFp+h3J/4ZsDU0wIRWNYpM2ctEQF5AQABfAgAAAAAAAAAAAF9CAAAAAAAAAAAAX6hBCcOAkHMECECk5KTv5G/moRK0XwkfB4Nfca6rVOYE2WLwuy4e6WxbjQnDgLS4hAhAlpthYH8yphkgE7Xdn1InIHSMwLS1traeEbKdQMT2XzVJw4CuIUQIQL1bZKy5pxDNvfzyylvSY2+G+39G8L1BUfSxTny0yRYvCcOAjEPECECkK0mKU8F/w85K/gqy4JSHlBIqKZRs17zhtv/aMkjw3oBf9wAAQECAQEEIHPz5Tq8MdYyFvxTqY1V4V+DP9jxxo6im9omUZtxkZqUBSEDaiOH5qV9RB3YebMnkuPcC0Fn2Y2L63AaTEBAC8QmJFgGIQJ0RAgGvTERHFgbbAqR9R4G9VbfQaNPMAqsGkovBNYLEwghAuPoyqfIyZnjmxR/ivMar9X9l9s/0gcvoX91xwEeVdXsCRUAwBJub3QgYSB2YWxpZCBzY3JpcHQKCf9RfY6/PaVHXAwnYXV0aG1haWxib3grdW5pdmVyc2VycGM6Ly9mb28uYmFyOjEwMDI5AA==", + "expected": "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QgFAEKHF4+5ewbEjhNmA/pE4V07jDr0fZxWfWQnTSD5CzJYQ+j+DuBFTZtdOWfaw2YX4nDD+tOAwIEFbD1PMQkAcmg4CAAAQIQLhf2GOeEV6sJALs8f3FJ2T2+q07RPcc6MuucB00Y0GvREhAuVBStBO2uW04JHr9KuYDwqYEJB7zyn7LASIGtoQZ/twDKUABAAAAAACIQKs4TBhbSK78heOHze7rf0my88gLPd0WEevTDntHO0RzgN6AUkAAQACIDfTQCRyUCYh7uXh3ppPCzRmEWAL4rH5QVO9yD3JA2KuBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQEN/QFOA6UABAAAAAICIQJI3W4NTW0l1fCN3mdVEQQjrWnx+YXfbTqsDl3TkW8lEAN6AUkAAQACIDfTQCRyUCYh7uXh3ppPCzRmEWAL4rH5QVO9yD3JA2KuBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQF3AAQAAAADAiECgSFOJwjP5IrFYcUk8LuQAHXxG6oo7FqqcT9XZUk102IFTAFBARqsJUCKTSgjPNMl+u+t6e8Prnb8seNdCBQARbuqOBsw7vRuRjA1VmAu8TzvXS//Pcai7OZlf8keSwpbui3tTv8DBADAAQIEAQEuAAQAAAAEAiECtLgGt/fZ/1th7NZlZhXPpzH9iqcqRXh90TrxFLG4jiYFAwQBAQ+fAAQAAAAEAiECCik8JdkrYN45/nM8foOKUPcpRMM7s5nN1c1EOEzTfyoDdAFJAAEAAiA300AkclAmIe7l4d6aTws0ZhFgC+Kx+UFTvcg9yQNirgQiAAD//////////////////////////////////////////wInAAEAAiIAAP//////////////////////////////////////////ER4AAQACGXF1b3RoIHRoZSByYXZlbiBuZXZlcm1vcmUVCQIDZm9vA2JhchYEAAAAKheKfJEjRhxB9f+ZqpnOJOtNeIV24zNuZUkWIlWP3yl7n6Akv3A0QGQyZTVi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IlWP3yl7n6Akv3A0QGQyZTViODg3ZDQ2MzBmYjhkNDc0N2VhZDZlYjgyYWNkMWM1YjA3ODE0M2VlMjZhNTg2YWQyMzEzOWQ1MDQxNzLS5biH1GMPuNR0fq1uuCrNHFsHgUPuJqWGrSMTnVBBckzN168ABAEABgEBBwP9BTkJAQYLrQGrAWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCAUAQocXj7l7BsSOE2YD+kThXTuMOvR9nFZ9ZCdNIPkLMlhD6P4O4EVNm105Z9rDZhficMP604DAgQVsPU8xCQByaDgIAABAhAuF/YY54RXqwkAuzx/cUnZPb6rTtE9xzoy65wHTRjQa9ESEC5UFK0E7a5bTgkev0q5gPCpgQkHvPKfssBIga2hBn+3AMpQAEAAAAAAIhAqzhMGFtIrvyF44fN7ut/SbLzyAs93RYR69MOe0c7RHOA3oBSQABAAIgN9NAJHJQJiHu5eHemk8LNGYRYAvisflBU73IPckDYq4EIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAQ39AU4DpQAEAAAAAgIhAkjdbg1NbSXV8I3eZ1URBCOtafH5hd9tOqwOXdORbyUQA3oBSQABAAIgN9NAJHJQJiHu5eHemk8LNGYRYAvisflBU73IPckDYq4EIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAXcABAAAAAMCIQKBIU4nCM/kisVhxSTwu5AAdfEbqijsWqpxP1dlSTXTYgVMAUEBGqwlQIpNKCM80yX6763p7w+udvyx410IFABFu6o4GzDu9G5GMDVWYC7xPO9dL/89xqLs5mV/yR5LClu6Le1O/wMEAMABAgQBAS4ABAAAAAQCIQK0uAa399n/W2Hs1mVmFc+nMf2KpypFeH3ROvEUsbiOJgUDBAEBD58ABAAAAAQCIQIKKTwl2Stg3jn+czx+g4pQ9ylEwzuzmc3VzUQ4TNN/KgN0AUkAAQACIDfTQCRyUCYh7uXh3ppPCzRmEWAL4rH5QVO9yD3JA2KuBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8RHgABAAIZcXVvdGggdGhlIHJhdmVuIG5ldmVybW9yZRUJAgNmb28DYmFyFgQAAAAqF4p8kSNGHEH1/5mqmc4k6014hXbjM25lSRYiVY/fKXufoCS/cDRAZDJlNWI4ODdkNDYzMGZiOGQ0NzQ3ZWFkNmViODJhY2QxYzViMDc4MTQzZWUyNmE1ODZhZDIzMTM5ZDUwNDE3MtLluIfUYw+41HR+rW64Ks0cWweBQ+4mpYatIxOdUEFyTM3XrwAZQQLlQUrQTtrltOCR6/SrmA8KmBCQe88p+ywEiBraEGf7cO6+jLj6fcVIP7cMLIljNMsfnLXf4ET6CGGX/139AvK6AXwIAAAAAAAAAcgBfQgAAAAAAAABWQF+KQEnDgImYhAhAh6AYwCK/rDH4AMDW7kQih2VmZwqoJX9dS6l5TOMXfexAX/UAAEBAgEBBCAjbRKlxpXfsuOYXS44NtGqO3mX26tsRqfTFRL4l22pYgUhAhbSL2Ef7fyxLeUDxLoDizMVOJs8pYGNVzeABYJrcxX8BiECT+MMez5YnZNPO+3GHbrrCwW8jzK9CjfpRl3RzE5uTd0IIQJ6r7z50de/FCHZzu4Fziluk25E0ZylAoZCVIvKRuqQ9gkVAMASbm90IGEgdmFsaWQgc2NyaXB0CgEBDCdhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkAAXABAQFxAQABcggAAAAAAAAAAQFzIQKnJO30Ux1VUub8QqZWBFmRCWdcLMUNdYCnDLH75bl61yJ0Aqck7fRTHVVS5vxCplYEWZEJZ1wsxQ11gKcMsfvluXrXGAAAAAD5AwCAAAAAgHsAAIAAAAAAyAEAACF1pyTt9FMdVVLm/EKmVgRZkQlnXCzFDXWApwyx++W5etcZAAAAAAD5AwCAAAAAgHsAAIAAAAAAyAEAAAF2/ZIBAAEAAorlY+GdisAsykKRrtFp3OUDnWqwDkD2eqspMy3hRIs1UNOqRTBAZTUyYTVmOGY0NjYyN2ViNWQzYTRmZTE2ZmFmY2UyMzYyM2UxOTZjOWRmZmY3ZmJhZmY0ZmZlOTRmNDU4OTczM+UqX49GYn6106T+Fvr84jYj4ZbJ3/9/uv9P/pT0WJczCYp8fAAEAQAGBf7T1jgyC60BqwFlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQgFA6LhReerBwQwFtSOigIl8ths5rKXdW+G6svmATd8KKpe86WGzD27tadu6CbwcJVGMgooURro2WjRMb5/qik7PjA4CAAAQIQLF597U/KO0uoxdJbaFwJxQEu5+7OI+97KvmF6K9muNmREhAmg9D6gPeQMRektwK50eT9DAd+8KN48e/0s+EtwxtzlAAXhBARl84i0SvFqZWHUzr0EWn6Hcn/hmwNTTAhFY1ikzZy0RGXziLRK8WplYdTOvQRafodyf+GbA1NMCEVjWKTNnLREBeQEBAXwIAAAAAAAAAAABfQgAAAAAAAAAAAF+UQInDgI1EBAhAhIz5d52sHx9T23xP3URE2YWdzR98QzmU4aJHZGvi9NKJw4CfUEQIQIuNLAFwGao0Qh/5Yk/OArrAs1gl30rIrkS/qlEfag8ZQF/3AABAAIBAAQgHizVNR7D5AL+1uLFgHmMhvIKymqMJC8uU9vbO2ubasoFIQI1M4FQvLfLYcJhL9Vl4sarLdoKZ0nLrAP8JXM/X/zc0QYhApTvd7/1DAvnMoqj7l9ceYMCY82JcTlp8FuOpV+d5GhJCCECokcXwP2EGUUxvPivZTqfexJuNtcLxokgeB1XLp3CEekJFQDAEm5vdCBhIHZhbGlkIHNjcmlwdAoJ/2TZ8Lad31cNDCdhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkA", "comment": "random packet" }, { @@ -927,7 +900,7 @@ { "bip32_derivation": [ { - "pub_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -940,7 +913,7 @@ ], "tr_bip32_derivation": [ { - "pub_key": "2f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -952,23 +925,23 @@ ] } ], - "tr_internal_key": "2f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "tr_internal_key": "bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "tr_merkle_root": "6d65726b6c6520726f6f74", "prev_id": { - "out_point": "390908b802bdfc8df0dcf9f95edee4ae6d5c92e2b89ad1bdc176163db95e8cca:3240957262", - "asset_id": "2025a60c7dd3899d920e95f1c46d432f9b08e64d7f9b38965d5a77a7ac183c38", - "script_key": "02618217b26462653db545658335e95ebaf77511d00453f75633ab95690ad5c703" + "out_point": "ae5daeb77e2e8be488fdb3cd10a4712432534ef8204bfd4847fd025c041fc1fd:441879900", + "asset_id": "46f33691f5db2dea41e1e608af3ff39f3a6988dba204ce1b09214475ae0ea864", + "script_key": "02bc90a3522bf2ea0b7662787e39cc2e045d198ee65b7e4f1e1c5a530e8642d238" }, "anchor": { "value": 777, "pk_script": "616e63686f7220706b736372697074", "sig_hash_type": 3, - "internal_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "internal_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "merkle_root": "6d65726b6c6520726f6f74", "tapscript_sibling": "7369626c696e67", "bip32_derivation": [ { - "pub_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -981,7 +954,7 @@ ], "tr_bip32_derivation": [ { - "pub_key": "2f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -995,13 +968,13 @@ ] }, "asset": { - "version": 0, - "genesis_first_prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", - "genesis_tag": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "genesis_meta_hash": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "genesis_output_index": 3293953285, + "version": 1, + "genesis_first_prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", + "genesis_tag": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "genesis_meta_hash": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "genesis_output_index": 3012325233, "genesis_type": 0, - "amount": 3312167364, + "amount": 1210349860, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -1012,22 +985,22 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "18fa7e2dfdf79dfa7b81da4baf9a88009ff5a1fbc8ca0f725a99e2b49270a30baab2ae4aaca5dc780e605bc21cd82f47a4eb3c2d69bfcbf52a016bd578cfa748" + "dff1dc11508f8bfdb88461f78f0bddaa89e5cb286bf10c0542c36e898bf87e449183b064255e61d62e715e548dade9104d6beb5c04bf31611366a09c1940be86" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "03fbeac426a7a9b4cf33df9ecb157be2938c5d82bd0039493a28d777b57bafc94b", + "script_key": "0338d9da2b3fafd8d1b8257317c65098ea56fe1d47d8b7e20442f058eb72d7784f", "group_key": { - "group_key": "02df17c8e7f1f6abab082af737b36fc425015ad30cf9b57d61089dd7618d3a268d" + "group_key": "033da6d7742d14c40c642e9b1b95dc990e79a1e2b95d96705cb63b34e8b2ad2d47" }, "unknown_odd_types": null }, "proof": { "version": 0, - "prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", + "prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", "block_header": { "version": 1, "prev_block": "00000000000080b66c911bd5ba14a74260057311eaeb1982802f7010f1a9f090", @@ -1054,10 +1027,10 @@ }, "asset": { "version": 0, - "genesis_first_prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", - "genesis_tag": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "genesis_meta_hash": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "genesis_output_index": 3293953285, + "genesis_first_prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", + "genesis_tag": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "genesis_meta_hash": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "genesis_output_index": 3012325233, "genesis_type": 0, "amount": 1, "lock_time": 1337, @@ -1070,28 +1043,28 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "d6504fc1e6b7c03d7f25f00aff13a62ea5ac17d9bbcdd5747aca52cf16fbf5e6fb30b55054e594baefdb39ca4c8c1271da72b2ca15ee7edd17a4c6ac33afa48d" + "a2496eb83f9ad57b4d6604ad51b58a3575aa352ad4f03ace40a9629dbde1e61474d5a3ad81bc6d812080d544092083b0a63364573cc2f27aaa8aa5128d86e1d9" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "023ce2aab9a7c88afdbd44dcae1407991f8e1054dd0a1e03c354ec149d9196c330", + "script_key": "024c9e3a1b47f84257252897cdf07f18c0bedf1f1db0bfaedc2a6aa861e9354288", "group_key": { - "group_key": "034d4d01c1faa3fbb3300865697516d5bf23c363cec7f7b957448cf2daee003174" + "group_key": "031352191aeaa08be5ed0256f6ee7b04bfc643437a3dfcc4f8aac5f96e1c7e8a45" }, "unknown_odd_types": null }, "inclusion_proof": { "output_index": 0, - "internal_key": "02d0d3685b807ba9640c28380a45535b57e46c0fa213e94bbf344ca5fc79606451", + "internal_key": "02e7577b2762f242914fbf777251adfdb8814a956462be704623f0e97af57630b4", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "25120f513a59c0a52b48d48dc7d45e7586e3c068dc2fd0be0b108d01814caa72", + "tap_key": "7ddf92a4e51b38f03204060bc1be8d6fe751001812e9c226ef0f53fd917a8174", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -1111,13 +1084,13 @@ "exclusion_proofs": [ { "output_index": 2, - "internal_key": "0293bb3e5c187474e59ab2a893a8dcc0c0451b2513c62cefb24153c4c8b68131cd", + "internal_key": "028d78883cd371594ceeb810077e685b0d5273ab8267f4b935070b7b32a147549f", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "25120f513a59c0a52b48d48dc7d45e7586e3c068dc2fd0be0b108d01814caa72", + "tap_key": "7ddf92a4e51b38f03204060bc1be8d6fe751001812e9c226ef0f53fd917a8174", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -1136,7 +1109,7 @@ }, { "output_index": 3, - "internal_key": "0221bf569861add9bb9747bf2d576e89c958a69e2dde2440acf75b082839a65470", + "internal_key": "02e2dd15881fbf88ada97b9dedf431a4f1798f3e78ede21a19a41f0efe4ecb3159", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "011aac25408a4d28233cd325faefade9ef0fae76fcb1e35d08140045bbaa381b30eef46e46303556602ef13cef5d2fff3dc6a2ece6657fc91e4b0a5bba2ded4eff", @@ -1148,7 +1121,7 @@ }, { "output_index": 4, - "internal_key": "027f8867d291453be43a581058c8c671eded569bf9a49f2db52a66ff2b11a19e2d", + "internal_key": "02c3d5eea3d76be4d4b73116cf06bf64aa0c0ee61ce4b44b33c303a3fc0a01b9c9", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "", @@ -1161,13 +1134,13 @@ ], "split_root_proof": { "output_index": 4, - "internal_key": "0229ca563abb1c5b4f08c94c84d89ab3403d1d8c3fa0a42ae9f5ff2f3dd805132b", + "internal_key": "02298c0ead3239e1f37aad2f6f385d163af01dec1a8b2414cef0626f1b6f9b4ce1", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "25120f513a59c0a52b48d48dc7d45e7586e3c068dc2fd0be0b108d01814caa72", + "tap_key": "7ddf92a4e51b38f03204060bc1be8d6fe751001812e9c226ef0f53fd917a8174", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -1199,15 +1172,15 @@ "626172" ], "genesis_reveal": { - "first_prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", - "tag": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "meta_hash": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "output_index": 3293953285, + "first_prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", + "tag": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "meta_hash": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "output_index": 3012325233, "type": 0 }, "group_key_reveal": { - "raw_key": "034d4d01c1faa3fbb3300865697516d5bf23c363cec7f7b957448cf2daee003174", - "tapscript_root": "3022c1dfc579b99ed9d20d573ad53171c8fef7f1f4e4613bb365b2ebb44f0ffb" + "raw_key": "031352191aeaa08be5ed0256f6ee7b04bfc643437a3dfcc4f8aac5f96e1c7e8a45", + "tapscript_root": "5f3ffc898b3cbec26f104255761aee1b8a232d703585dd276ee1f43c8cd7e92a" }, "alt_leaves": null, "unknown_odd_types": null @@ -1241,13 +1214,13 @@ { "amount": 123, "type": 1, - "asset_version": 0, + "asset_version": 1, "interactive": true, "anchor_output_index": 0, - "anchor_output_internal_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "anchor_output_internal_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "anchor_output_bip32_derivation": [ { - "pub_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -1260,7 +1233,7 @@ ], "anchor_output_tr_bip32_derivation": [ { - "pub_key": "2f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -1274,13 +1247,13 @@ ], "anchor_output_tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", "asset": { - "version": 0, - "genesis_first_prev_out": "4381075b1ccd2ab86ead7e74d4b80f63d487b8e5d22bd743cfb52e3298237ef1:378678736", - "genesis_tag": "d596e685a591121966e031650d510354aa845580ff560760fd36514ca197c875", - "genesis_meta_hash": "d596e685a591121966e031650d510354aa845580ff560760fd36514ca197c875", - "genesis_output_index": 2635277229, + "version": 1, + "genesis_first_prev_out": "57d3606f128386df6d109024279992270c8e8aebcdde777402de630ae124d921:926974335", + "genesis_tag": "006b7deb4e5de87db21989d13c3ab0462d5d2a52ef4ca0d366ae06a314f50e3a", + "genesis_meta_hash": "006b7deb4e5de87db21989d13c3ab0462d5d2a52ef4ca0d366ae06a314f50e3a", + "genesis_output_index": 3704995757, "genesis_type": 0, - "amount": 571885926, + "amount": 138935175, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -1291,27 +1264,27 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "4ca1c890aec103c3aab03acf94689ba02e810c61a789b8193e829b0ef1a05dae904719a85ce82ebc4ef60f32af3d8eb08f7275c544f0cf7dc37530f3d5e7e5a9" + "e59cd9ab9c783d0fade875bf068783bcec7f6424a15a5eed61e808a660779256402768984edaec79e1cde24ee52b72976ecbcaf2ecd198194994976defa54b1c" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "02c5cd3c536e102742945f3ec6ba3d28a46754f58c93a5cd63abf35749e852dea1", + "script_key": "02ce0714f3946c6892df5b5ec945ad11b8ef68e3a06ab3c33ce7e4d3e6750e625f", "group_key": { - "group_key": "02e37fa9e3b1d3e722448a08969d7e7469f95d0820d67e3de737ce6c92c252a5f5" + "group_key": "039914318440de61f0d3fc7af6289e51f3177eec019bddcf093701d4f1569c31c0" }, "unknown_odd_types": null }, "split_asset": { - "version": 0, - "genesis_first_prev_out": "4381075b1ccd2ab86ead7e74d4b80f63d487b8e5d22bd743cfb52e3298237ef1:378678736", - "genesis_tag": "d596e685a591121966e031650d510354aa845580ff560760fd36514ca197c875", - "genesis_meta_hash": "d596e685a591121966e031650d510354aa845580ff560760fd36514ca197c875", - "genesis_output_index": 2635277229, + "version": 1, + "genesis_first_prev_out": "57d3606f128386df6d109024279992270c8e8aebcdde777402de630ae124d921:926974335", + "genesis_tag": "006b7deb4e5de87db21989d13c3ab0462d5d2a52ef4ca0d366ae06a314f50e3a", + "genesis_meta_hash": "006b7deb4e5de87db21989d13c3ab0462d5d2a52ef4ca0d366ae06a314f50e3a", + "genesis_output_index": 3704995757, "genesis_type": 0, - "amount": 571885926, + "amount": 138935175, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -1322,20 +1295,20 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "4ca1c890aec103c3aab03acf94689ba02e810c61a789b8193e829b0ef1a05dae904719a85ce82ebc4ef60f32af3d8eb08f7275c544f0cf7dc37530f3d5e7e5a9" + "e59cd9ab9c783d0fade875bf068783bcec7f6424a15a5eed61e808a660779256402768984edaec79e1cde24ee52b72976ecbcaf2ecd198194994976defa54b1c" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "02c5cd3c536e102742945f3ec6ba3d28a46754f58c93a5cd63abf35749e852dea1", + "script_key": "02ce0714f3946c6892df5b5ec945ad11b8ef68e3a06ab3c33ce7e4d3e6750e625f", "group_key": { - "group_key": "02e37fa9e3b1d3e722448a08969d7e7469f95d0820d67e3de737ce6c92c252a5f5" + "group_key": "039914318440de61f0d3fc7af6289e51f3177eec019bddcf093701d4f1569c31c0" }, "unknown_odd_types": null }, - "pk_script": "5120c5cd3c536e102742945f3ec6ba3d28a46754f58c93a5cd63abf35749e852dea1", + "pk_script": "5120ce0714f3946c6892df5b5ec945ad11b8ef68e3a06ab3c33ce7e4d3e6750e625f", "bip32_derivation": null, "tr_bip32_derivation": null, "tr_internal_key": "", @@ -1343,7 +1316,7 @@ "proof_delivery_address": "https://example.com", "proof_suffix": { "version": 0, - "prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", + "prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", "block_header": { "version": 1, "prev_block": "00000000000080b66c911bd5ba14a74260057311eaeb1982802f7010f1a9f090", @@ -1370,10 +1343,10 @@ }, "asset": { "version": 0, - "genesis_first_prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", - "genesis_tag": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "genesis_meta_hash": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "genesis_output_index": 3293953285, + "genesis_first_prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", + "genesis_tag": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "genesis_meta_hash": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "genesis_output_index": 3012325233, "genesis_type": 0, "amount": 1, "lock_time": 1337, @@ -1386,28 +1359,28 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "d6504fc1e6b7c03d7f25f00aff13a62ea5ac17d9bbcdd5747aca52cf16fbf5e6fb30b55054e594baefdb39ca4c8c1271da72b2ca15ee7edd17a4c6ac33afa48d" + "a2496eb83f9ad57b4d6604ad51b58a3575aa352ad4f03ace40a9629dbde1e61474d5a3ad81bc6d812080d544092083b0a63364573cc2f27aaa8aa5128d86e1d9" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "023ce2aab9a7c88afdbd44dcae1407991f8e1054dd0a1e03c354ec149d9196c330", + "script_key": "024c9e3a1b47f84257252897cdf07f18c0bedf1f1db0bfaedc2a6aa861e9354288", "group_key": { - "group_key": "034d4d01c1faa3fbb3300865697516d5bf23c363cec7f7b957448cf2daee003174" + "group_key": "031352191aeaa08be5ed0256f6ee7b04bfc643437a3dfcc4f8aac5f96e1c7e8a45" }, "unknown_odd_types": null }, "inclusion_proof": { "output_index": 0, - "internal_key": "02d0d3685b807ba9640c28380a45535b57e46c0fa213e94bbf344ca5fc79606451", + "internal_key": "02e7577b2762f242914fbf777251adfdb8814a956462be704623f0e97af57630b4", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "25120f513a59c0a52b48d48dc7d45e7586e3c068dc2fd0be0b108d01814caa72", + "tap_key": "7ddf92a4e51b38f03204060bc1be8d6fe751001812e9c226ef0f53fd917a8174", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -1427,13 +1400,13 @@ "exclusion_proofs": [ { "output_index": 2, - "internal_key": "0293bb3e5c187474e59ab2a893a8dcc0c0451b2513c62cefb24153c4c8b68131cd", + "internal_key": "028d78883cd371594ceeb810077e685b0d5273ab8267f4b935070b7b32a147549f", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "25120f513a59c0a52b48d48dc7d45e7586e3c068dc2fd0be0b108d01814caa72", + "tap_key": "7ddf92a4e51b38f03204060bc1be8d6fe751001812e9c226ef0f53fd917a8174", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -1452,7 +1425,7 @@ }, { "output_index": 3, - "internal_key": "0221bf569861add9bb9747bf2d576e89c958a69e2dde2440acf75b082839a65470", + "internal_key": "02e2dd15881fbf88ada97b9dedf431a4f1798f3e78ede21a19a41f0efe4ecb3159", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "011aac25408a4d28233cd325faefade9ef0fae76fcb1e35d08140045bbaa381b30eef46e46303556602ef13cef5d2fff3dc6a2ece6657fc91e4b0a5bba2ded4eff", @@ -1464,7 +1437,7 @@ }, { "output_index": 4, - "internal_key": "027f8867d291453be43a581058c8c671eded569bf9a49f2db52a66ff2b11a19e2d", + "internal_key": "02c3d5eea3d76be4d4b73116cf06bf64aa0c0ee61ce4b44b33c303a3fc0a01b9c9", "commitment_proof": null, "tapscript_proof": { "tap_preimage_1": "", @@ -1477,13 +1450,13 @@ ], "split_root_proof": { "output_index": 4, - "internal_key": "0229ca563abb1c5b4f08c94c84d89ab3403d1d8c3fa0a42ae9f5ff2f3dd805132b", + "internal_key": "02298c0ead3239e1f37aad2f6f385d163af01dec1a8b2414cef0626f1b6f9b4ce1", "commitment_proof": { "proof": { "asset_proof": { "proof": "0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "version": 0, - "tap_key": "25120f513a59c0a52b48d48dc7d45e7586e3c068dc2fd0be0b108d01814caa72", + "tap_key": "7ddf92a4e51b38f03204060bc1be8d6fe751001812e9c226ef0f53fd917a8174", "unknown_odd_types": null }, "taproot_asset_proof": { @@ -1515,15 +1488,15 @@ "626172" ], "genesis_reveal": { - "first_prev_out": "0a80d0564cf20a65daea4753b428d723bc6fc8214b8a189b251dba77aecd00c4:1577903845", - "tag": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "meta_hash": "8585928a0f7de50be1a6dc1d5768e8537988fddce562e9b948c918bba3e933e5", - "output_index": 3293953285, + "first_prev_out": "f5a68cb220761799fc54d56eb7b4be0cc66fd23305a79ef039168576f61693de:2625458941", + "tag": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "meta_hash": "994cb5eae3eaf21cf9005db560d6d22e4d9b97d7e9e488751afcd72aa176c0fc", + "output_index": 3012325233, "type": 0 }, "group_key_reveal": { - "raw_key": "034d4d01c1faa3fbb3300865697516d5bf23c363cec7f7b957448cf2daee003174", - "tapscript_root": "3022c1dfc579b99ed9d20d573ad53171c8fef7f1f4e4613bb365b2ebb44f0ffb" + "raw_key": "031352191aeaa08be5ed0256f6ee7b04bfc643437a3dfcc4f8aac5f96e1c7e8a45", + "tapscript_root": "5f3ffc898b3cbec26f104255761aee1b8a232d703585dd276ee1f43c8cd7e92a" }, "alt_leaves": null, "unknown_odd_types": null @@ -1543,8 +1516,8 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 54179, - "script_key": "02c26cec6f98aa274613c71c82ba7587ece74021ee5a19fb89887d11cec0dabd6b", + "script_version": 32491, + "script_key": "0212872a05f721d445dfe688df34c8268069df4a72a32813180edb6a564a5494b4", "group_key": null, "unknown_odd_types": null }, @@ -1560,8 +1533,8 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 11, - "script_key": "0295ada4bfb469dd9941b5ca7b0eff9001c6ce5628b17119b17cfe8be5fdd206b8", + "script_version": 5091, + "script_key": "022dce040b65d44aed29f89a0134ca9dca01cfa6a9a156eaa1dfcca47d710573a7", "group_key": null, "unknown_odd_types": null }, @@ -1577,22 +1550,39 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 20993, - "script_key": "02aeeed1abb72bc7244e4e67c3cd89aca846eca0e3fd7e17173225685822e279cc", + "script_version": 20055, + "script_key": "02f8fd153f37dbba5e527d736e13c0d68a546f59daabf59bcf2e839cfb3726d948", + "group_key": null, + "unknown_odd_types": null + }, + { + "version": 0, + "genesis_first_prev_out": "0000000000000000000000000000000000000000000000000000000000000000:0", + "genesis_tag": "", + "genesis_meta_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "genesis_output_index": 0, + "genesis_type": 0, + "amount": 0, + "lock_time": 0, + "relative_lock_time": 0, + "prev_witnesses": null, + "split_commitment_root": null, + "script_version": 38422, + "script_key": "026762039af4642c6bcb40f32b55bbad0c372871b229f41dd7cf6e5ee3891f9c0c", "group_key": null, "unknown_odd_types": null } ], "address": { - "version": 2, + "version": 0, "chain_params_hrp": "tapbc", "asset_version": 0, - "asset_id": "", - "group_key": "037611a80c011704386dd3ffc063f01b6a531718a928e3ab432c082fdffd7736d3", - "script_key": "029d189748b1efb83b8244141e2d82fe6caf056edfe3106936fe16790c002e3bcf", - "internal_key": "0387d8b454acbddaa773bc216518a430990ee8a57dbc928f732d010c1889f578c9", - "tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", - "amount": 6848489594515705305, + "asset_id": "f6e701028f7dac0ae07d2492ac5828d0e968c187088c5264908827316917ba93", + "group_key": "", + "script_key": "02d0c2fce5445a204dea2b0a0c6db674e879edb8c758eb004792ce4dd034fc34aa", + "internal_key": "0342e22435694fb2a6afa5d223c11c69c60e67a8be992e432f049aa1cdb43428a8", + "tapscript_sibling": "", + "amount": 955471505702974996, "proof_courier_addr": "authmailbox+universerpc://foo.bar:10029", "unknown_odd_types": null } @@ -1603,10 +1593,10 @@ "asset_version": 1, "interactive": false, "anchor_output_index": 1, - "anchor_output_internal_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "anchor_output_internal_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "anchor_output_bip32_derivation": [ { - "pub_key": "022f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "02bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "fingerprint": 0, "bip32_path": [ 2147484665, @@ -1619,7 +1609,7 @@ ], "anchor_output_tr_bip32_derivation": [ { - "pub_key": "2f0cf11d2fd0d88576d795a60e2953d6ac63f3b041c3ec44d6998711075c1cf6", + "pub_key": "bdfa64263841631aa1570962221b0663e062a588ee2217cff6ab223ca2e1c830", "leaf_hashes": [], "fingerprint": 0, "bip32_path": [ @@ -1633,13 +1623,13 @@ ], "anchor_output_tapscript_sibling": "01197ce22d12bc5a99587533af41169fa1dc9ff866c0d4d3021158d62933672d11197ce22d12bc5a99587533af41169fa1dc9ff866c0d4d3021158d62933672d11", "asset": { - "version": 0, - "genesis_first_prev_out": "4381075b1ccd2ab86ead7e74d4b80f63d487b8e5d22bd743cfb52e3298237ef1:378678736", - "genesis_tag": "d596e685a591121966e031650d510354aa845580ff560760fd36514ca197c875", - "genesis_meta_hash": "d596e685a591121966e031650d510354aa845580ff560760fd36514ca197c875", - "genesis_output_index": 2635277229, + "version": 1, + "genesis_first_prev_out": "57d3606f128386df6d109024279992270c8e8aebcdde777402de630ae124d921:926974335", + "genesis_tag": "006b7deb4e5de87db21989d13c3ab0462d5d2a52ef4ca0d366ae06a314f50e3a", + "genesis_meta_hash": "006b7deb4e5de87db21989d13c3ab0462d5d2a52ef4ca0d366ae06a314f50e3a", + "genesis_output_index": 3704995757, "genesis_type": 0, - "amount": 571885926, + "amount": 138935175, "lock_time": 0, "relative_lock_time": 0, "prev_witnesses": [ @@ -1650,21 +1640,21 @@ "script_key": "000000000000000000000000000000000000000000000000000000000000000000" }, "tx_witness": [ - "4ca1c890aec103c3aab03acf94689ba02e810c61a789b8193e829b0ef1a05dae904719a85ce82ebc4ef60f32af3d8eb08f7275c544f0cf7dc37530f3d5e7e5a9" + "e59cd9ab9c783d0fade875bf068783bcec7f6424a15a5eed61e808a660779256402768984edaec79e1cde24ee52b72976ecbcaf2ecd198194994976defa54b1c" ], "split_commitment": null } ], "split_commitment_root": null, "script_version": 0, - "script_key": "02c5cd3c536e102742945f3ec6ba3d28a46754f58c93a5cd63abf35749e852dea1", + "script_key": "02ce0714f3946c6892df5b5ec945ad11b8ef68e3a06ab3c33ce7e4d3e6750e625f", "group_key": { - "group_key": "02e37fa9e3b1d3e722448a08969d7e7469f95d0820d67e3de737ce6c92c252a5f5" + "group_key": "039914318440de61f0d3fc7af6289e51f3177eec019bddcf093701d4f1569c31c0" }, "unknown_odd_types": null }, "split_asset": null, - "pk_script": "5120c5cd3c536e102742945f3ec6ba3d28a46754f58c93a5cd63abf35749e852dea1", + "pk_script": "5120ce0714f3946c6892df5b5ec945ad11b8ef68e3a06ab3c33ce7e4d3e6750e625f", "bip32_derivation": null, "tr_bip32_derivation": null, "tr_internal_key": "", @@ -1686,8 +1676,25 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 32954, - "script_key": "02ee2afa1c5726cde276e5b9929212ac288a82daf78af86a362f31f9916165f404", + "script_version": 39384, + "script_key": "0245b7e9c015b39278830720f830ebfca5a49487c3f9b5dabdc16c68af1c05e0af", + "group_key": null, + "unknown_odd_types": null + }, + { + "version": 0, + "genesis_first_prev_out": "0000000000000000000000000000000000000000000000000000000000000000:0", + "genesis_tag": "", + "genesis_meta_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "genesis_output_index": 0, + "genesis_type": 0, + "amount": 0, + "lock_time": 0, + "relative_lock_time": 0, + "prev_witnesses": null, + "split_commitment_root": null, + "script_version": 44503, + "script_key": "02729d230c3d649ea9d6a02c9b8d8b2f770ae45d4f39e380ad1bacf3a8d0672435", "group_key": null, "unknown_odd_types": null }, @@ -1703,22 +1710,22 @@ "relative_lock_time": 0, "prev_witnesses": null, "split_commitment_root": null, - "script_version": 7386, - "script_key": "0225025c1701d27f2855a36a2a45c088e44d6739dc6452e2f8cb7e816d9cf36cf1", + "script_version": 15869, + "script_key": "02bb6785644ca0ff1e47f638be3a99b12ad14c004a12e0524184207fe5171d6141", "group_key": null, "unknown_odd_types": null } ], "address": { - "version": 1, + "version": 2, "chain_params_hrp": "tapbc", "asset_version": 0, - "asset_id": "cc6fc2f8b425f1b3c402fa41df82b484088df33cdf41087cab7fea57c2b1c55b", - "group_key": "03f8cc5d06497f237cab245a524c8c63c35254ea24870b6ed45f104b687571f12c", - "script_key": "02efb7e5438142d2b71466927d03a2a53f75202bd1a7cc4555cc31eff7f5c87fe1", - "internal_key": "0257849e169f0f7383d756a38917f37b0635ca4d84fc257c8ed66a5fe79c4dc41e", - "tapscript_sibling": "00c0126e6f7420612076616c696420736372697074", - "amount": 396608336029707725, + "asset_id": "d4e20d8133e5c56f44cdd109dc13d28e236fab3ac379ef4b76ab5ae75e9f880f", + "group_key": "", + "script_key": "02831c11cd88431b1c81c9b72da25338e7071d97ec5fdef7aa6dbd6e8b82173c37", + "internal_key": "02b9e41be47a23a17bba8d3efc4a65e776f5f0b19eda73b46d744ba80f8199052b", + "tapscript_sibling": "", + "amount": 1, "proof_courier_addr": "authmailbox+universerpc://foo.bar:10029", "unknown_odd_types": null } @@ -1727,7 +1734,7 @@ "version": 0, "chain_params_hrp": "tapbc" }, - "expected": "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QgFA1lBPwea3wD1/JfAK/xOmLqWsF9m7zdV0espSzxb79eb7MLVQVOWUuu/bOcpMjBJx2nKyyhXuft0XpMasM6+kjQ4CAAAQIQI84qq5p8iK/b1E3K4UB5kfjhBU3QoeA8NU7BSdkZbDMBEhA01NAcH6o/uzMAhlaXUW1b8jw2POx/e5V0SM8truADF0DKUABAAAAAACIQLQ02hbgHupZAwoOApFU1tX5GwPohPpS780TKX8eWBkUQN6AUkAAQACICUSD1E6WcClK0jUjcfUXnWG48Bo3C/QvgsQjQGBTKpyBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQEN/QFOA6UABAAAAAICIQKTuz5cGHR05ZqyqJOo3MDARRslE8Ys77JBU8TItoExzQN6AUkAAQACICUSD1E6WcClK0jUjcfUXnWG48Bo3C/QvgsQjQGBTKpyBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQF3AAQAAAADAiECIb9WmGGt2buXR78tV26JyVimni3eJECs91sIKDmmVHAFTAFBARqsJUCKTSgjPNMl+u+t6e8Prnb8seNdCBQARbuqOBsw7vRuRjA1VmAu8TzvXS//Pcai7OZlf8keSwpbui3tTv8DBADAAQIEAQEuAAQAAAAEAiECf4hn0pFFO+Q6WBBYyMZx7e1Wm/mkny21Kmb/KxGhni0FAwQBAQ+fAAQAAAAEAiECKcpWOrscW08IyUyE2JqzQD0djD+gpCrp9f8vPdgFEysDdAFJAAEAAiAlEg9ROlnApStI1I3H1F51huPAaNwv0L4LEI0BgUyqcgQiAAD//////////////////////////////////////////wInAAEAAiIAAP//////////////////////////////////////////ER4AAQACGXF1b3RoIHRoZSByYXZlbiBuZXZlcm1vcmUVCQIDZm9vA2JhchYEAAAAKheKxADNrne6HSWbGIpLIchvvCPXKLRTR+raZQryTFbQgApeDOblQDg1ODU5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ZQryTFbQgApeDOblQDg1ODU5MjhhMGY3ZGU1MGJlMWE2ZGMxZDU3NjhlODUzNzk4OGZkZGNlNTYyZTliOTQ4YzkxOGJiYTNlOTMzZTWFhZKKD33lC+Gm3B1XaOhTeYj93OVi6blIyRi7o+kz5cRVvQUABAEABgEBBwP9BTkJAQYLrQGrAWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCAUDWUE/B5rfAPX8l8Ar/E6YupawX2bvN1XR6ylLPFvv15vswtVBU5ZS679s5ykyMEnHacrLKFe5+3Rekxqwzr6SNDgIAABAhAjziqrmnyIr9vUTcrhQHmR+OEFTdCh4Dw1TsFJ2RlsMwESEDTU0Bwfqj+7MwCGVpdRbVvyPDY87H97lXRIzy2u4AMXQMpQAEAAAAAAIhAtDTaFuAe6lkDCg4CkVTW1fkbA+iE+lLvzRMpfx5YGRRA3oBSQABAAIgJRIPUTpZwKUrSNSNx9RedYbjwGjcL9C+CxCNAYFMqnIEIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAQ39AU4DpQAEAAAAAgIhApO7PlwYdHTlmrKok6jcwMBFGyUTxizvskFTxMi2gTHNA3oBSQABAAIgJRIPUTpZwKUrSNSNx9RedYbjwGjcL9C+CxCNAYFMqnIEIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAXcABAAAAAMCIQIhv1aYYa3Zu5dHvy1XbonJWKaeLd4kQKz3WwgoOaZUcAVMAUEBGqwlQIpNKCM80yX6763p7w+udvyx410IFABFu6o4GzDu9G5GMDVWYC7xPO9dL/89xqLs5mV/yR5LClu6Le1O/wMEAMABAgQBAS4ABAAAAAQCIQJ/iGfSkUU75DpYEFjIxnHt7Vab+aSfLbUqZv8rEaGeLQUDBAEBD58ABAAAAAQCIQIpylY6uxxbTwjJTITYmrNAPR2MP6CkKun1/y892AUTKwN0AUkAAQACICUSD1E6WcClK0jUjcfUXnWG48Bo3C/QvgsQjQGBTKpyBCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8RHgABAAIZcXVvdGggdGhlIHJhdmVuIG5ldmVybW9yZRUJAgNmb28DYmFyFgQAAAAqF4rEAM2ud7odJZsYikshyG+8I9cotFNH6tplCvJMVtCACl4M5uVAODU4NTkyOGEwZjdkZTUwYmUxYTZkYzFkNTc2OGU4NTM3OTg4ZmRkY2U1NjJlOWI5NDhjOTE4YmJhM2U5MzNlNYWFkooPfeUL4abcHVdo6FN5iP3c5WLpuUjJGLuj6TPlxFW9BQAZQQNNTQHB+qP7szAIZWl1FtW/I8Njzsf3uVdEjPLa7gAxdDAiwd/Febme2dINVzrVMXHI/vfx9ORhO7Nlsuu0Tw/7AXwIAAAAAAAAAcgBfQgAAAAAAAABWQF+eQMnDgLToxAhAsJs7G+YqidGE8ccgrp1h+znQCHuWhn7iYh9Ec7A2r1rJw4CAAsQIQKVraS/tGndmUG1ynsO/5ABxs5WKLFxGbF8/ovl/dIGuCcOAlIBECECru7Rq7crxyROTmfDzYmsqEbsoOP9fhcXMiVoWCLiecwBf7oAAQICAQAFIQN2EagMARcEOG3T/8Bj8BtqUxcYqSjjq0MsCC/f/Xc20wYhAp0Yl0ix77g7gkQUHi2C/myvBW7f4xBpNv4WeQwALjvPCCEDh9i0VKy92qdzvCFlGKQwmQ7opX28ko9zLQEMGIn1eMkJFQDAEm5vdCBhIHZhbGlkIHNjcmlwdAoJ/18KuQBZEU3ZDCdhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkAAXABAQFxAQABcggAAAAAAAAAAQFzIQIvDPEdL9DYhXbXlaYOKVPWrGPzsEHD7ETWmYcRB1wc9iJ0Ai8M8R0v0NiFdteVpg4pU9asY/OwQcPsRNaZhxEHXBz2GAAAAAD5AwCAAAAAgHsAAIAAAAAAyAEAACF1LwzxHS/Q2IV215WmDilT1qxj87BBw+xE1pmHEQdcHPYZAAAAAAD5AwCAAAAAgHsAAIAAAAAAyAEAAAF2/ZIBAAEAAorxfiOYMi61z0PXK9LluIfUYw+41HR+rW64Ks0cWweBQxaSLdBAZDU5NmU2ODVhNTkxMTIxOTY2ZTAzMTY1MGQ1MTAzNTRhYTg0NTU4MGZmNTYwNzYwZmQzNjUxNGNhMTk3Yzg3NdWW5oWlkRIZZuAxZQ1RA1SqhFWA/1YHYP02UUyhl8h1nRMjrQAEAQAGBf4iFklmC60BqwFlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQgFATKHIkK7BA8OqsDrPlGiboC6BDGGnibgZPoKbDvGgXa6QRxmoXOguvE72DzKvPY6wj3J1xUTwz33DdTDz1eflqQ4CAAAQIQLFzTxTbhAnQpRfPsa6PSikZ1T1jJOlzWOr81dJ6FLeoREhAuN/qeOx0+ciRIoIlp1+dGn5XQgg1n495zfObJLCUqX1AXhBARl84i0SvFqZWHUzr0EWn6Hcn/hmwNTTAhFY1ikzZy0RGXziLRK8WplYdTOvQRafodyf+GbA1NMCEVjWKTNnLREBeQEBAXwIAAAAAAAAAAABfQgAAAAAAAAAAAF+UQInDgKAuhAhAu4q+hxXJs3iduW5kpISrCiKgtr3ivhqNi8x+ZFhZfQEJw4CHNoQIQIlAlwXAdJ/KFWjaipFwIjkTWc53GRS4vjLfoFtnPNs8QF/3AABAQIBAAQgzG/C+LQl8bPEAvpB34K0hAiN8zzfQQh8q3/qV8KxxVsFIQP4zF0GSX8jfKskWlJMjGPDUlTqJIcLbtRfEEtodXHxLAYhAu+35UOBQtK3FGaSfQOipT91ICvRp8xFVcwx7/f1yH/hCCECV4SeFp8Pc4PXVqOJF/N7BjXKTYT8JXyO1mpf55xNxB4JFQDAEm5vdCBhIHZhbGlkIHNjcmlwdAoJ/wWBCS4oAm3NDCdhdXRobWFpbGJveCt1bml2ZXJzZXJwYzovL2Zvby5iYXI6MTAwMjkA", + "expected": "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QgFAokluuD+a1XtNZgStUbWKNXWqNSrU8DrOQKlinb3h5hR01aOtgbxtgSCA1UQJIIOwpjNkVzzC8nqqiqUSjYbh2Q4CAAAQIQJMnjobR/hCVyUol83wfxjAvt8fHbC/rtwqaqhh6TVCiBEhAxNSGRrqoIvl7QJW9u57BL/GQ0N6PfzE+KrF+W4cfopFDKUABAAAAAACIQLnV3snYvJCkU+/d3JRrf24gUqVZGK+cEYj8Ol69XYwtAN6AUkAAQACIH3fkqTlGzjwMgQGC8G+jW/nUQAYEunCJu8PU/2ReoF0BCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQEN/QFOA6UABAAAAAICIQKNeIg803FZTO64EAd+aFsNUnOrgmf0uTUHC3syoUdUnwN6AUkAAQACIH3fkqTlGzjwMgQGC8G+jW/nUQAYEunCJu8PU/2ReoF0BCIAAP//////////////////////////////////////////AicAAQACIgAA//////////////////////////////////////////8FBADAAQF3AAQAAAADAiEC4t0ViB+/iK2pe53t9DGk8XmPPnjt4hoZpB8O/k7LMVkFTAFBARqsJUCKTSgjPNMl+u+t6e8Prnb8seNdCBQARbuqOBsw7vRuRjA1VmAu8TzvXS//Pcai7OZlf8keSwpbui3tTv8DBADAAQIEAQEuAAQAAAAEAiECw9Xuo9dr5NS3MRbPBr9kqgwO5hzktEszwwOj/AoBuckFAwQBAQ+fAAQAAAAEAiECKYwOrTI54fN6rS9vOF0WOvAd7BqLJBTO8GJvG2+bTOEDdAFJAAEAAiB935Kk5Rs48DIEBgvBvo1v51EAGBLpwibvD1P9kXqBdAQiAAD//////////////////////////////////////////wInAAEAAiIAAP//////////////////////////////////////////ER4AAQACGXF1b3RoIHRoZSByYXZlbiBuZXZlcm1vcmUVCQIDZm9vA2JhchYEAAAAKheK3pMW9naFFjnwnqcFM9Jvxgy+tLdu1VT8mRd2ILKMpvWcfVL9QDk5NGNi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mRd2ILKMpvWcfVL9QDk5NGNiNWVhZTNlYWYyMWNmOTAwNWRiNTYwZDZkMjJlNGQ5Yjk3ZDdlOWU0ODg3NTFhZmNkNzJhYTE3NmMwZmOZTLXq4+ryHPkAXbVg1tIuTZuX1+nkiHUa/NcqoXbA/LOMb3EABAEABgEBBwP9BTkJAQYLrQGrAWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCAUCiSW64P5rVe01mBK1RtYo1dao1KtTwOs5AqWKdveHmFHTVo62BvG2BIIDVRAkgg7CmM2RXPMLyeqqKpRKNhuHZDgIAABAhAkyeOhtH+EJXJSiXzfB/GMC+3x8dsL+u3CpqqGHpNUKIESEDE1IZGuqgi+XtAlb27nsEv8ZDQ3o9/MT4qsX5bhx+ikUMpQAEAAAAAAIhAudXeydi8kKRT793clGt/biBSpVkYr5wRiPw6Xr1djC0A3oBSQABAAIgfd+SpOUbOPAyBAYLwb6Nb+dRABgS6cIm7w9T/ZF6gXQEIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAQ39AU4DpQAEAAAAAgIhAo14iDzTcVlM7rgQB35oWw1Sc6uCZ/S5NQcLezKhR1SfA3oBSQABAAIgfd+SpOUbOPAyBAYLwb6Nb+dRABgS6cIm7w9T/ZF6gXQEIgAA//////////////////////////////////////////8CJwABAAIiAAD//////////////////////////////////////////wUEAMABAXcABAAAAAMCIQLi3RWIH7+Iral7ne30MaTxeY8+eO3iGhmkHw7+TssxWQVMAUEBGqwlQIpNKCM80yX6763p7w+udvyx410IFABFu6o4GzDu9G5GMDVWYC7xPO9dL/89xqLs5mV/yR5LClu6Le1O/wMEAMABAgQBAS4ABAAAAAQCIQLD1e6j12vk1LcxFs8Gv2SqDA7mHOS0SzPDA6P8CgG5yQUDBAEBD58ABAAAAAQCIQIpjA6tMjnh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", "comment": "random packet with no explicit version" } ], diff --git a/tapscript/tx.go b/tapscript/tx.go index 9155385005..d6e35f96c0 100644 --- a/tapscript/tx.go +++ b/tapscript/tx.go @@ -210,6 +210,11 @@ func VirtualTx(newAsset *asset.Asset, prevAssets commitment.InputSet) ( // With our single input and output mapped, we're ready to construct our // virtual transaction. + // + // IMPORTANT: The virtual transaction version must remain at v2 for + // backwards compatibility. Changing the version would invalidate all + // existing asset witness signatures. Only the anchor (real Bitcoin) + // transactions use v3. virtualTx := wire.NewMsgTx(2) virtualTx.AddTxIn(txIn) virtualTx.AddTxOut(txOut) diff --git a/tapsend/proof_test.go b/tapsend/proof_test.go index 72707d7a1a..5d2cc29905 100644 --- a/tapsend/proof_test.go +++ b/tapsend/proof_test.go @@ -86,7 +86,7 @@ func createProofSuffix(t *testing.T, stxoProof bool, expectedErr string) { createPacket(t, testAssets[3], false, internalKey2, 2), } - wireTx := wire.NewMsgTx(2) + wireTx := wire.NewMsgTx(3) wireTx.TxIn = []*wire.TxIn{{ PreviousOutPoint: wire.OutPoint{}, }} diff --git a/tapsend/send.go b/tapsend/send.go index 1247c8b0de..265ec27cd2 100644 --- a/tapsend/send.go +++ b/tapsend/send.go @@ -1115,7 +1115,8 @@ func CreateAnchorTx(vPackets []*tappsbt.VPacket) (*psbt.Packet, error) { } } - txTemplate := wire.NewMsgTx(2) + // TODO(bhandras) + txTemplate := wire.NewMsgTx(3) // Zero is a valid anchor output index, so we need to do <= here. for i := uint32(0); i <= maxOutputIndex; i++ { diff --git a/universe/supplycommit/state_machine_test.go b/universe/supplycommit/state_machine_test.go index f027df3015..9452671cc7 100644 --- a/universe/supplycommit/state_machine_test.go +++ b/universe/supplycommit/state_machine_test.go @@ -440,7 +440,7 @@ func (h *supplyCommitTestHarness) expectPsbtFunding() { changeIdx int32, ) (*tapsend.FundedPsbt, error) { - fundedTx := wire.NewMsgTx(2) + fundedTx := wire.NewMsgTx(3) fundedTx.AddTxIn( &wire.TxIn{PreviousOutPoint: randOutPoint(h.t)}, ) @@ -969,7 +969,7 @@ func TestSupplyCommitTxSignStateTransitions(t *testing.T) { testAssetID, randGroupKey, ) - dummyTx := wire.NewMsgTx(2) + dummyTx := wire.NewMsgTx(3) dummyTx.AddTxOut(&wire.TxOut{PkScript: []byte("test"), Value: 1}) internalKey, _ := test.RandKeyDesc(t) @@ -1064,7 +1064,7 @@ func TestSupplyCommitBroadcastStateTransitions(t *testing.T) { randGroupKey := test.RandPubKey(t) defaultAssetSpec := asset.NewSpecifierFromGroupKey(*randGroupKey) - dummyTx := wire.NewMsgTx(2) + dummyTx := wire.NewMsgTx(3) dummyTx.AddTxOut(&wire.TxOut{PkScript: []byte("testscript"), Value: 1}) initialTransition := SupplyStateTransition{ NewCommitment: RootCommitment{ @@ -1407,7 +1407,7 @@ func TestSupplyUpdateEventTypes(t *testing.T) { // A random block containing a transaction is generated to serve // as part of the proof. - dummyTx := wire.NewMsgTx(2) + dummyTx := wire.NewMsgTx(3) dummyTx.AddTxOut( &wire.TxOut{Value: 1000, PkScript: []byte("dummy")}, ) @@ -1506,7 +1506,7 @@ func TestSupplyUpdateEventTypes(t *testing.T) { scriptKey := test.RandPubKey(t) outpoint := randOutPoint(t) - dummyTx := wire.NewMsgTx(2) + dummyTx := wire.NewMsgTx(3) dummyTx.AddTxIn( &wire.TxIn{PreviousOutPoint: outpoint}, ) @@ -1598,7 +1598,7 @@ func TestTxInMethods(t *testing.T) { t.Parallel() t.Run("pre_commitment_tx_in", func(t *testing.T) { - mintingTx := wire.NewMsgTx(2) + mintingTx := wire.NewMsgTx(3) mintingTx.AddTxOut( &wire.TxOut{Value: 1000, PkScript: []byte("test")}, ) @@ -1616,7 +1616,7 @@ func TestTxInMethods(t *testing.T) { t.Run("root_commitment_tx_in", func(t *testing.T) { rootCommit := RootCommitment{ - Txn: wire.NewMsgTx(2), + Txn: wire.NewMsgTx(3), TxOutIdx: 1, } @@ -1794,7 +1794,7 @@ func TestSupplySubTreeUniverseKey(t *testing.T) { func TestSpendEventMethods(t *testing.T) { t.Parallel() - tx := wire.NewMsgTx(2) + tx := wire.NewMsgTx(3) spendDetail := &chainntnfs.SpendDetail{ SpendingTx: tx, @@ -1886,7 +1886,7 @@ func TestDanglingUpdatesFullCycle(t *testing.T) { h.expectFullCommitmentCycleMocks(true) // We'll now make a dummy block to send the confirmation event. - dummyTx := wire.NewMsgTx(2) + dummyTx := wire.NewMsgTx(3) dummyTx.AddTxOut(&wire.TxOut{PkScript: []byte("test"), Value: 1}) block := &wire.MsgBlock{ Header: wire.BlockHeader{Timestamp: time.Now()}, @@ -1989,7 +1989,7 @@ func TestDanglingUpdatesAcrossStates(t *testing.T) { // Now, we'll set up again for the next cycle. h.expectFullCommitmentCycleMocks(true) - dummyTx := wire.NewMsgTx(2) + dummyTx := wire.NewMsgTx(3) dummyTx.AddTxOut( &wire.TxOut{PkScript: []byte("test"), Value: 1}, ) diff --git a/universe/supplycommit/transitions.go b/universe/supplycommit/transitions.go index b70fb66b2b..953d195410 100644 --- a/universe/supplycommit/transitions.go +++ b/universe/supplycommit/transitions.go @@ -456,7 +456,7 @@ func newRootCommitment(ctx context.Context, "pre-commits", len(unspentPreCommits)) }) - newCommitTx := wire.NewMsgTx(2) + newCommitTx := wire.NewMsgTx(3) // With the set of pre-commits, we'll add them to as inputs into the new // transaction.