taproot-assets icon indicating copy to clipboard operation
taproot-assets copied to clipboard

[bug]: issues with address-based transfer

Open jharveyb opened this issue 1 year ago • 0 comments

Background

Describe your issue here.

Your environment

Bug observed on a testnet node upgraded from v0.3.0 to v0.3.2-rc2.

Steps to reproduce

Not totally clear, but the first error message revealing the issue is here:

assets send --addr taptb1qqqsqqspqqzzpa5lltvur8m0r4600yw3rgv7rvudatrgmfg4nl9kvkynzgs5h6gjqcssymk0qkkftmhg4q8z9jqammuhqvkszte64rulaj3476q9kxpuz4yspqss8g7x6rt4yux2czjmee9gx00epnpeg0gahhpvq6n3nax34w8ge7f9pgpl6yugpsm82mnfwejhyum9wfcxxw309a6x2um5dejhgtn4de5hvetjwdjjumrfva58gmnfdenjuenfdeskucm98gcnqvpj8yq5sgte
[tapcli] unable to send assets: rpc error: code = Unknown desc = unable to anchor virtual transactions: error updating taproot output keys: nil pubkey byte string

Trace-level logs were gathered:

2023-11-29 22:49:06.059 [INF] FRTR: Received to send request to 1 addrs: [TapAddr{id=f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912, amount=5000, script_key=026ecf05ac95eee8a80e22c81ddef97032d012f3aa8f9feca35f6805b183c15490}]
2023-11-29 22:49:06.059 [INF] FRTR: ChainPorter executing state: SendStateVirtualCommitmentSelect
2023-11-29 22:49:06.073 [INF] FRTR: Identified 2 eligible asset inputs for send of 5000 to f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912
2023-11-29 22:49:06.074 [INF] FRTR: Selected 1 asset inputs for send of 5000 to f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912
2023-11-29 22:49:06.077 [TRC] SEND: Input commitment #0 v0, taproot_asset_root=d684f5b6cec4dc8cb9578db8a8567be6fd556c909de10a4ba10587875795f5b4, internal_key=03e0a3e8dc90243361d6a525cdf3a2c397a7539b5acba0791a668fbb0628ed5630, pk_script=512062c7f3c19f371f7eb25151ea706e15f7272d4d0ccfcb8602c26ad8ad75d4d462, trimmed_merkle_root=d684f5b6cec4dc8cb9578db8a8567be6fd556c909de10a4ba10587875795f5b4
2023-11-29 22:49:06.077 [TRC] SEND: Input commitment asset_id=f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912, script_key=028aa857e9a00b62b911d16a798d2215fbb6245e3c11aa7c1321f0c79918158966, group_key=<nil>, amount=999000, version=0, split_commitment=true
2023-11-29 22:49:06.079 [DBG] TAPD: Deriving new key for fam_family=212
2023-11-29 22:49:06.086 [DBG] TAPD: Deriving new key for fam_family=212
2023-11-29 22:49:06.093 [INF] FRTR: ChainPorter executing state: SendStateVirtualSign
2023-11-29 22:49:06.093 [INF] FRTR: Generating Taproot Asset witnesses for send to: 026ecf05ac95eee8a80e22c81ddef97032d012f3aa8f9feca35f6805b183c15490
2023-11-29 22:49:06.094 [TRC] CMMT: Derived asset inclusion proof for asset_id=f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912, asset_commitment_key=c83ad50b5cc2083afa156ed40d09b184dc2fc09e907de2c19092a124f701fdff, asset_commitment_leaf=766c6257393ec0bb485b6431e504fc3a76a8988d31163b4a4230af4a078675fd
2023-11-29 22:49:06.094 [TRC] PROF: Derived Taproot Asset commitment taproot_asset_root=d684f5b6cec4dc8cb9578db8a8567be6fd556c909de10a4ba10587875795f5b4, internal_key=03e0a3e8dc90243361d6a525cdf3a2c397a7539b5acba0791a668fbb0628ed5630, taproot_key=62c7f3c19f371f7eb25151ea706e15f7272d4d0ccfcb8602c26ad8ad75d4d462
2023-11-29 22:49:06.097 [INF] FRTR: ChainPorter executing state: SendStateAnchorSign
2023-11-29 22:49:06.098 [INF] FRTR: sending with fee rate: 1012 sat/kb
2023-11-29 22:49:06.098 [INF] FRTR: Constructing new Taproot Asset commitments for send to: 026ecf05ac95eee8a80e22c81ddef97032d012f3aa8f9feca35f6805b183c15490
2023-11-29 22:49:06.098 [TRC] SEND: Adding 0 passive assets to output with 1 current assets
2023-11-29 22:49:06.098 [TRC] SEND: Output commitment #0 v0, taproot_asset_root=c6997bd866dbd459dbe035d865615692cbf6d692c9f7eb67658eb7c476d4a6a2, internal_key=02baccb4270945afb69fff8f2ce848a3f21067556a812fe3c403457b7fa5db4203, pk_script=, trimmed_merkle_root=
2023-11-29 22:49:06.098 [TRC] SEND: Output commitment asset_id=f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912, script_key=02112efec2cbbc008657a66987027fe6bc5df291fdb73475e40aeef9e4b28d18ce, group_key=<nil>, amount=994000, version=0, split_commitment=true
2023-11-29 22:49:06.099 [TRC] SEND: Output commitment #1 v0, taproot_asset_root=3d94fd8324a021c0be7e7d07ee1a02ff783ef2e65f7404e70c12df6d375f2c66, internal_key=03a3c6d0d75270cac0a5bce4a833df90cc3943d1dbdc2c06a719f4d1ab8e8cf925, pk_script=, trimmed_merkle_root=
2023-11-29 22:49:06.099 [TRC] SEND: Output commitment asset_id=f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912, script_key=026ecf05ac95eee8a80e22c81ddef97032d012f3aa8f9feca35f6805b183c15490, group_key=<nil>, amount=5000, version=0, split_commitment=false
2023-11-29 22:49:06.246 [INF] FRTR: Received funded PSBT packet
2023-11-29 22:49:06.247 [TRC] FRTR: Packet: (*psbt.Packet)(0xc00178cff0)({
 UnsignedTx: (*wire.MsgTx)(0xc000cbbcc0)({
  Version: (int32) 2,
  TxIn: ([]*wire.TxIn) (len=3 cap=3) {
   (*wire.TxIn)(0xc0011ba7e0)({
    PreviousOutPoint: (wire.OutPoint) 34dee67be57816d5b061367edaf9ac6f2912c84df0604bec8fe2585cb8895df2:1,
    SignatureScript: ([]uint8) {
    },
    Witness: (wire.TxWitness) <nil>,
    Sequence: (uint32) 4294967295
   }),
   (*wire.TxIn)(0xc0011ba840)({
    PreviousOutPoint: (wire.OutPoint) 3979c1326262665e2f76f3d460849ebda7dea924cc1cc02e824380a83f02e547:1,
    SignatureScript: ([]uint8) {
    },
    Witness: (wire.TxWitness) <nil>,
    Sequence: (uint32) 4294967295
   }),
   (*wire.TxIn)(0xc0011ba8a0)({
    PreviousOutPoint: (wire.OutPoint) 900c00201ec293bba4d144947a3a338a00682848de5311a91efb34b577b06a51:1,
    SignatureScript: ([]uint8) {
    },
    Witness: (wire.TxWitness) <nil>,
    Sequence: (uint32) 4294967295
   })
  },
  TxOut: ([]*wire.TxOut) (len=3 cap=3) {
   (*wire.TxOut)(0xc001a94340)({
    Value: (int64) 1000,
    PkScript: ([]uint8) (len=34 cap=34) {
     00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
     00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
     00000020  00 00                                             |..|
    }
   }),
   (*wire.TxOut)(0xc0009cf6a0)({
    Value: (int64) 1000,
    PkScript: ([]uint8) (len=34 cap=34) {
     00000000  51 20 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |Q ..............|
     00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
     00000020  00 00                                             |..|
    }
   }),
   (*wire.TxOut)(0xc0009cf6c0)({
    Value: (int64) 1687,
    PkScript: ([]uint8) (len=34 cap=34) {
     00000000  51 20 a4 aa b0 74 57 96  2b f7 5c 50 ea 8e 2a 57  |Q ...tW.+.\P..*W|
     00000010  83 d2 e2 62 13 5b 58 9b  0b 32 76 bd d2 d7 ca a1  |...b.[X..2v.....|
     00000020  1b 59                                             |.Y|
    }
   })
  },
  LockTime: (uint32) 0
 }),
 Inputs: ([]psbt.PInput) (len=3 cap=3) {
  (psbt.PInput) {
   NonWitnessUtxo: (*wire.MsgTx)(<nil>),
   WitnessUtxo: (*wire.TxOut)(0xc001a942c0)({
    Value: (int64) 1000,
    PkScript: ([]uint8) (len=34 cap=34) {
     00000000  51 20 3c 81 0e 00 51 5f  b9 68 9d 80 a7 97 61 a8  |Q <...Q_.h....a.|
     00000010  d1 27 03 66 a4 9b 71 be  25 7a b7 ba 81 8b d1 5f  |.'.f..q.%z....._|
     00000020  60 62                                             |`b|
    }
   }),
   PartialSigs: ([]*psbt.PartialSig) <nil>,
   SighashType: (txscript.SigHashType) 0,
   RedeemScript: ([]uint8) <nil>,
   WitnessScript: ([]uint8) <nil>,
   Bip32Derivation: ([]*psbt.Bip32Derivation) (len=1 cap=1) {
    (*psbt.Bip32Derivation)(0xc000cbbd40)({
     PubKey: ([]uint8) (len=33 cap=33) {
      00000000  02 1c d2 e8 f2 3a ea 0e  1c c2 ec cd be ce 58 2e  |.....:........X.|
      00000010  68 a0 da d7 10 b3 84 01  2e 6d c1 a4 ed 8c 41 9d  |h........m....A.|
      00000020  fa                                                |.|
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 0,
      (uint32) 1
     }
    })
   },
   FinalScriptSig: ([]uint8) <nil>,
   FinalScriptWitness: ([]uint8) <nil>,
   TaprootKeySpendSig: ([]uint8) <nil>,
   TaprootScriptSpendSig: ([]*psbt.TaprootScriptSpendSig) <nil>,
   TaprootLeafScript: ([]*psbt.TaprootTapLeafScript) <nil>,
   TaprootBip32Derivation: ([]*psbt.TaprootBip32Derivation) (len=1 cap=1) {
    (*psbt.TaprootBip32Derivation)(0xc00178ce60)({
     XOnlyPubKey: ([]uint8) (len=32 cap=32) {
      00000000  1c d2 e8 f2 3a ea 0e 1c  c2 ec cd be ce 58 2e 68  |....:........X.h|
      00000010  a0 da d7 10 b3 84 01 2e  6d c1 a4 ed 8c 41 9d fa  |........m....A..|
     },
     LeafHashes: ([][]uint8) {
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 0,
      (uint32) 1
     }
    })
   },
   TaprootInternalKey: ([]uint8) <nil>,
   TaprootMerkleRoot: ([]uint8) <nil>,
   Unknowns: ([]*psbt.Unknown) <nil>
  },
  (psbt.PInput) {
   NonWitnessUtxo: (*wire.MsgTx)(<nil>),
   WitnessUtxo: (*wire.TxOut)(0xc001a942e0)({
    Value: (int64) 1000,
    PkScript: ([]uint8) (len=34 cap=34) {
     00000000  51 20 3c 81 0e 00 51 5f  b9 68 9d 80 a7 97 61 a8  |Q <...Q_.h....a.|
     00000010  d1 27 03 66 a4 9b 71 be  25 7a b7 ba 81 8b d1 5f  |.'.f..q.%z....._|
     00000020  60 62                                             |`b|
    }
   }),
   PartialSigs: ([]*psbt.PartialSig) <nil>,
   SighashType: (txscript.SigHashType) 0,
   RedeemScript: ([]uint8) <nil>,
   WitnessScript: ([]uint8) <nil>,
   Bip32Derivation: ([]*psbt.Bip32Derivation) (len=1 cap=1) {
    (*psbt.Bip32Derivation)(0xc000cbbdc0)({
     PubKey: ([]uint8) (len=33 cap=33) {
      00000000  02 1c d2 e8 f2 3a ea 0e  1c c2 ec cd be ce 58 2e  |.....:........X.|
      00000010  68 a0 da d7 10 b3 84 01  2e 6d c1 a4 ed 8c 41 9d  |h........m....A.|
      00000020  fa                                                |.|
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 0,
      (uint32) 1
     }
    })
   },
   FinalScriptSig: ([]uint8) <nil>,
   FinalScriptWitness: ([]uint8) <nil>,
   TaprootKeySpendSig: ([]uint8) <nil>,
   TaprootScriptSpendSig: ([]*psbt.TaprootScriptSpendSig) <nil>,
   TaprootLeafScript: ([]*psbt.TaprootTapLeafScript) <nil>,
   TaprootBip32Derivation: ([]*psbt.TaprootBip32Derivation) (len=1 cap=1) {
    (*psbt.TaprootBip32Derivation)(0xc00178ceb0)({
     XOnlyPubKey: ([]uint8) (len=32 cap=32) {
      00000000  1c d2 e8 f2 3a ea 0e 1c  c2 ec cd be ce 58 2e 68  |....:........X.h|
      00000010  a0 da d7 10 b3 84 01 2e  6d c1 a4 ed 8c 41 9d fa  |........m....A..|
     },
     LeafHashes: ([][]uint8) {
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 0,
      (uint32) 1
     }
    })
   },
   TaprootInternalKey: ([]uint8) <nil>,
   TaprootMerkleRoot: ([]uint8) <nil>,
   Unknowns: ([]*psbt.Unknown) <nil>
  },
  (psbt.PInput) {
   NonWitnessUtxo: (*wire.MsgTx)(<nil>),
   WitnessUtxo: (*wire.TxOut)(0xc001a94300)({
    Value: (int64) 1000,
    PkScript: ([]uint8) (len=34 cap=34) {
     00000000  51 20 3c 81 0e 00 51 5f  b9 68 9d 80 a7 97 61 a8  |Q <...Q_.h....a.|
     00000010  d1 27 03 66 a4 9b 71 be  25 7a b7 ba 81 8b d1 5f  |.'.f..q.%z....._|
     00000020  60 62                                             |`b|
    }
   }),
   PartialSigs: ([]*psbt.PartialSig) <nil>,
   SighashType: (txscript.SigHashType) 0,
   RedeemScript: ([]uint8) <nil>,
   WitnessScript: ([]uint8) <nil>,
   Bip32Derivation: ([]*psbt.Bip32Derivation) (len=1 cap=1) {
    (*psbt.Bip32Derivation)(0xc000cbbe40)({
     PubKey: ([]uint8) (len=33 cap=33) {
      00000000  02 1c d2 e8 f2 3a ea 0e  1c c2 ec cd be ce 58 2e  |.....:........X.|
      00000010  68 a0 da d7 10 b3 84 01  2e 6d c1 a4 ed 8c 41 9d  |h........m....A.|
      00000020  fa                                                |.|
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 0,
      (uint32) 1
     }
    })
   },
   FinalScriptSig: ([]uint8) <nil>,
   FinalScriptWitness: ([]uint8) <nil>,
   TaprootKeySpendSig: ([]uint8) <nil>,
   TaprootScriptSpendSig: ([]*psbt.TaprootScriptSpendSig) <nil>,
   TaprootLeafScript: ([]*psbt.TaprootTapLeafScript) <nil>,
   TaprootBip32Derivation: ([]*psbt.TaprootBip32Derivation) (len=1 cap=1) {
    (*psbt.TaprootBip32Derivation)(0xc00178cf00)({
     XOnlyPubKey: ([]uint8) (len=32 cap=32) {
      00000000  1c d2 e8 f2 3a ea 0e 1c  c2 ec cd be ce 58 2e 68  |....:........X.h|
      00000010  a0 da d7 10 b3 84 01 2e  6d c1 a4 ed 8c 41 9d fa  |........m....A..|
     },
     LeafHashes: ([][]uint8) {
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 0,
      (uint32) 1
     }
    })
   },
   TaprootInternalKey: ([]uint8) <nil>,
   TaprootMerkleRoot: ([]uint8) <nil>,
   Unknowns: ([]*psbt.Unknown) <nil>
  }
 },
 Outputs: ([]psbt.POutput) (len=3 cap=3) {
  (psbt.POutput) {
   RedeemScript: ([]uint8) <nil>,
   WitnessScript: ([]uint8) <nil>,
   Bip32Derivation: ([]*psbt.Bip32Derivation) <nil>,
   TaprootInternalKey: ([]uint8) <nil>,
   TaprootTapTree: ([]uint8) <nil>,
   TaprootBip32Derivation: ([]*psbt.TaprootBip32Derivation) <nil>,
   Unknowns: ([]*psbt.Unknown) <nil>
  },
  (psbt.POutput) {
   RedeemScript: ([]uint8) <nil>,
   WitnessScript: ([]uint8) <nil>,
   Bip32Derivation: ([]*psbt.Bip32Derivation) (len=1 cap=1) {
    (*psbt.Bip32Derivation)(0xc000cbbf40)({
     PubKey: ([]uint8) (len=33 cap=33) {
      00000000  02 ba cc b4 27 09 45 af  b6 9f ff 8f 2c e8 48 a3  |....'.E.....,.H.|
      00000010  f2 10 67 55 6a 81 2f e3  c4 03 45 7b 7f a5 db 42  |..gUj./...E{...B|
      00000020  03                                                |.|
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147484665,
      (uint32) 2147483649,
      (uint32) 2147483860,
      (uint32) 0,
      (uint32) 3592
     }
    })
   },
   TaprootInternalKey: ([]uint8) (len=32 cap=32) {
    00000000  ba cc b4 27 09 45 af b6  9f ff 8f 2c e8 48 a3 f2  |...'.E.....,.H..|
    00000010  10 67 55 6a 81 2f e3 c4  03 45 7b 7f a5 db 42 03  |.gUj./...E{...B.|
   },
   TaprootTapTree: ([]uint8) <nil>,
   TaprootBip32Derivation: ([]*psbt.TaprootBip32Derivation) (len=1 cap=1) {
    (*psbt.TaprootBip32Derivation)(0xc00178cfa0)({
     XOnlyPubKey: ([]uint8) (len=32 cap=32) {
      00000000  ba cc b4 27 09 45 af b6  9f ff 8f 2c e8 48 a3 f2  |...'.E.....,.H..|
      00000010  10 67 55 6a 81 2f e3 c4  03 45 7b 7f a5 db 42 03  |.gUj./...E{...B.|
     },
     LeafHashes: ([][]uint8) {
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147484665,
      (uint32) 2147483649,
      (uint32) 2147483860,
      (uint32) 0,
      (uint32) 3592
     }
    })
   },
   Unknowns: ([]*psbt.Unknown) <nil>
  },
  (psbt.POutput) {
   RedeemScript: ([]uint8) <nil>,
   WitnessScript: ([]uint8) <nil>,
   Bip32Derivation: ([]*psbt.Bip32Derivation) (len=1 cap=1) {
    (*psbt.Bip32Derivation)(0xc000cbbec0)({
     PubKey: ([]uint8) (len=33 cap=33) {
      00000000  02 09 75 06 c4 e7 a7 3c  8a c4 fc 60 08 1b 9a 29  |..u....<...`...)|
      00000010  f4 1a 18 84 7e ac 9d db  b8 5e af c9 0c cd 90 b9  |....~....^......|
      00000020  ff                                                |.|
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 1,
      (uint32) 1204
     }
    })
   },
   TaprootInternalKey: ([]uint8) (len=32 cap=32) {
    00000000  09 75 06 c4 e7 a7 3c 8a  c4 fc 60 08 1b 9a 29 f4  |.u....<...`...).|
    00000010  1a 18 84 7e ac 9d db b8  5e af c9 0c cd 90 b9 ff  |...~....^.......|
   },
   TaprootTapTree: ([]uint8) <nil>,
   TaprootBip32Derivation: ([]*psbt.TaprootBip32Derivation) (len=1 cap=1) {
    (*psbt.TaprootBip32Derivation)(0xc00178cf50)({
     XOnlyPubKey: ([]uint8) (len=32 cap=32) {
      00000000  09 75 06 c4 e7 a7 3c 8a  c4 fc 60 08 1b 9a 29 f4  |.u....<...`...).|
      00000010  1a 18 84 7e ac 9d db b8  5e af c9 0c cd 90 b9 ff  |...~....^.......|
     },
     LeafHashes: ([][]uint8) {
     },
     MasterKeyFingerprint: (uint32) 0,
     Bip32Path: ([]uint32) (len=5 cap=8) {
      (uint32) 2147483734,
      (uint32) 2147483648,
      (uint32) 2147483648,
      (uint32) 1,
      (uint32) 1204
     }
    })
   },
   Unknowns: ([]*psbt.Unknown) <nil>
  }
 },
 Unknowns: ([]*psbt.Unknown) <nil>
})
2023-11-29 22:49:06.248 [ERR] FRTR: Error evaluating state (SendStateAnchorSign): unable to anchor virtual transactions: error updating taproot output keys: nil pubkey byte string
2023-11-29 22:49:06.248 [ERR] RPCS: [/taprpc.TaprootAssets/SendAsset]: unable to anchor virtual transactions: error updating taproot output keys: nil pubkey byte string

The logs show that, after the template transfer TX is funded and adjusted, the TX has three outputs and the first POutput is uninitialized. This causes the transfer failure as the signer tries to read a pubkey that is nil.

I put up a branch that changes the TX adjustment logic to directly swap the change and anchor outputs, such that no output should end up uninitialized.

https://github.com/lightninglabs/taproot-assets/tree/psbt_adjustment_fix

The user tested this branch and made a successful transfer with the same address and anchor input. Note that the transfer is not a full-value spend.

Transfer TX:

https://blockstream.info/testnet/tx/c457d2fb09b16c83dc42af7e65c0208473bef6a8aae18f5a02e4f2bb7f60fd53

Transfer outpt:

taptb1qqqsqqspqqzzpa5lltvur8m0r4600yw3rgv7rvudatrgmfg4nl9kvkynzgs5h6gjqcssymk0qkkftmhg4q8z9jqammuhqvkszte64rulaj3476q9kxpuz4yspqss8g7x6rt4yux2czjmee9gx00epnpeg0gahhpvq6n3nax34w8ge7f9pgpl6yugpsm82mnfwejhyum9wfcxxw309a6x2um5dejhgtn4de5hvetjwdjjumrfva58gmnfdenjuenfdeskucm98gcnqvpj8yq5sgte
{
    “transfer”:  {
        “transfer_timestamp”:  “1701374427”,
        “anchor_tx_hash”:  “53fd607fbbf2e4025a8fe1aaa8f6be738420c0657eaf42dc836cb109fbd257c4”,
        “anchor_tx_height_hint”:  2541100,
        “anchor_tx_chain_fees”:  “373",
        “inputs”:  [
            {
                “anchor_point”:  “3eb0d29ab9ce077d0f481622c999171ce519fd6c6dbe23f7ca69ab4fc2d3fa15:0”,
                “asset_id”:  “f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912”,
                “script_key”:  “028aa857e9a00b62b911d16a798d2215fbb6245e3c11aa7c1321f0c79918158966”,
                “amount”:  “999000”
            }
        ],
        “outputs”:  [
            {
                “anchor”:  {
                    “outpoint”:  “c457d2fb09b16c83dc42af7e65c0208473bef6a8aae18f5a02e4f2bb7f60fd53:0”,
                    “value”:  “1000”,
                    “internal_key”:  “03e60cee957808bd8f5a7665984818e10aaeadde998cebf4dede88874ec9bc2abc”,
                    “taproot_asset_root”:  “524797e9d661b41495f40f01493ff0d49a234a6a55d65124f48b5083b0447c03”,
                    “merkle_root”:  “524797e9d661b41495f40f01493ff0d49a234a6a55d65124f48b5083b0447c03”,
                    “tapscript_sibling”:  “”,
                    “num_passive_assets”:  0
                },
                “script_key”:  “02d428490534d174b12362e748f15c8626283c41170800573f3f9347b5cc94f4f7",
                “script_key_is_local”:  true,
                “amount”:  “994000”,
                “new_proof_blob”:  “54415050000400000000022415fad3c24fab69caf723be6d6cfd19e51c1799c92216480f7d07ceb99ad2b03e000000000450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096e88000000000000000006fd02390200000000010447e5023fa88043822ec01ccc24a9dea7bd9e8460d4f3762f5e66626232c179390100000000ffffffffae285b8cff4b90f13aafe5ea8e386b85609c799ce25d6c8cd5aed700c8832c910100000000ffffffff8144cff13706e77297d4befd23c8be9c489e925b98903b613dd64c8116a85cc10100000000ffffffff15fad3c24fab69caf723be6d6cfd19e51c1799c92216480f7d07ceb99ad2b03e00000000000000000003e8030000000000002251202691e6066c9e9b2d1ee4a3499fad3cb58e4261ec36ad573c7f4224426a1526a7e803000000000000225120156bf7b359bc5efa42df7ca25cff56f31ace4e2ed992b74739fe8d387385cbca5b0600000000000022512000000000000000000000000000000000000000000000000000000000000000000140d3fb20a02beafe8c08218743ee78855cf6e4602aef9de7f184ddc785b4755fa0b2f8eacbf5c8ee06aaa08e6947783cc270f342ac6641349af2c347264e4c3a76014008385c036e265d21d9cfc7477ac96489c60986472ca3d80470e4edebaebb75d305c09d21cd773cb28a57e9f35a336843779895f7f6ee42a8b9276009baa7ffce014030246c468b5ae7881cdb703cb93556b7b7337f311a844a22afbbec0fb6bd7f8bb35f04940db0118baca1fcd13cde72998a35f5fe55316b0a30148c802a3935ac01402e82fb3eb661877b5cae229ba63dbe3b1e3f48b03ba0bb1e42a0dc41029eecd32ef1a74f5b6d4938ae1a949c07d1d4f94ff2cdf33dd715227b8c50005d73792f000000000801000afd015f0001000250eff9c5ad3ba0d8b845a7466f3137d2be05d30a382a1ed91edf8300aaeaf91f4200000001066865706861311a8fdd95bfa6a1c5f1a13088a738e1dbce9a1271745fd0ea733863b2a28fe7c600000000000401000605fe000f2ad00bad01ab016515fad3c24fab69caf723be6d6cfd19e51c1799c92216480f7d07ceb99ad2b03e00000000f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912028aa857e9a00b62b911d16a798d2215fbb6245e3c11aa7c1321f0c7991815896603420140d001d74749bc7d3beb7b4f4dde815bb046350694bdc118154adb937463178e00ea31e15c0ffc078b4bc84e7d1f312b35def1e111f85e94fac5668f0bf5cf48eb0d28f099e5e77fae5267ddae67c8abab85b68016cdbae0d5f14d8193a9ac19a64e5300000000000f3e580e020000102102d428490534d174b12362e748f15c8626283c41170800573f3f9347b5cc94f4f70c9f000400000000022103e60cee957808bd8f5a7665984818e10aaeadde998cebf4dede88874ec9bc2abc037401490001000220f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be91204220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df802c7000400000001022103a3c6d0d75270cac0a5bce4a833df90cc3943d1dbdc2c06a719f4d1ab8e8cf925039c01710001000220f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912044a00012d19bfa31c123d7cf30a112b9f33758c1558c7398628091a9ff5d134c4f5caaf0000000000001388ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2e000400000002022102ea50991eee58db35fe760059f0e1d92db38093cec3d00f9121509d3de7a1a8ff0503040101160400000000”,
                “split_commit_root_hash”:  “f099e5e77fae5267ddae67c8abab85b68016cdbae0d5f14d8193a9ac19a64e53”,
                “output_type”:  “OUTPUT_TYPE_SPLIT_ROOT”,
                “asset_version”:  “ASSET_VERSION_V0”
            },
            {
                “anchor”:  {
                    “outpoint”:  “c457d2fb09b16c83dc42af7e65c0208473bef6a8aae18f5a02e4f2bb7f60fd53:1",
                    “value”:  “1000",
                    “internal_key”:  “03a3c6d0d75270cac0a5bce4a833df90cc3943d1dbdc2c06a719f4d1ab8e8cf925",
                    “taproot_asset_root”:  “3d94fd8324a021c0be7e7d07ee1a02ff783ef2e65f7404e70c12df6d375f2c66",
                    “merkle_root”:  “3d94fd8324a021c0be7e7d07ee1a02ff783ef2e65f7404e70c12df6d375f2c66",
                    “tapscript_sibling”:  “”,
                    “num_passive_assets”:  0
                },
                “script_key”:  “026ecf05ac95eee8a80e22c81ddef97032d012f3aa8f9feca35f6805b183c15490”,
                “script_key_is_local”:  true,
                “amount”:  “5000",
                “new_proof_blob”:  “54415050000400000000022415fad3c24fab69caf723be6d6cfd19e51c1799c92216480f7d07ceb99ad2b03e000000000450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096e88000000000000000006fd02390200000000010447e5023fa88043822ec01ccc24a9dea7bd9e8460d4f3762f5e66626232c179390100000000ffffffffae285b8cff4b90f13aafe5ea8e386b85609c799ce25d6c8cd5aed700c8832c910100000000ffffffff8144cff13706e77297d4befd23c8be9c489e925b98903b613dd64c8116a85cc10100000000ffffffff15fad3c24fab69caf723be6d6cfd19e51c1799c92216480f7d07ceb99ad2b03e00000000000000000003e8030000000000002251202691e6066c9e9b2d1ee4a3499fad3cb58e4261ec36ad573c7f4224426a1526a7e803000000000000225120156bf7b359bc5efa42df7ca25cff56f31ace4e2ed992b74739fe8d387385cbca5b0600000000000022512000000000000000000000000000000000000000000000000000000000000000000140d3fb20a02beafe8c08218743ee78855cf6e4602aef9de7f184ddc785b4755fa0b2f8eacbf5c8ee06aaa08e6947783cc270f342ac6641349af2c347264e4c3a76014008385c036e265d21d9cfc7477ac96489c60986472ca3d80470e4edebaebb75d305c09d21cd773cb28a57e9f35a336843779895f7f6ee42a8b9276009baa7ffce014030246c468b5ae7881cdb703cb93556b7b7337f311a844a22afbbec0fb6bd7f8bb35f04940db0118baca1fcd13cde72998a35f5fe55316b0a30148c802a3935ac01402e82fb3eb661877b5cae229ba63dbe3b1e3f48b03ba0bb1e42a0dc41029eecd32ef1a74f5b6d4938ae1a949c07d1d4f94ff2cdf33dd715227b8c50005d73792f000000000801000afd02a40001000250eff9c5ad3ba0d8b845a7466f3137d2be05d30a382a1ed91edf8300aaeaf91f4200000001066865706861311a8fdd95bfa6a1c5f1a13088a738e1dbce9a1271745fd0ea733863b2a28fe7c600000000000401000603fd13880bfd021c01fd02180165000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005fd01ad4a000168d924886ac933bd4fb913152079dd520576f8a70c7926c2ff5e05af621f3d1e00000000000f2ad0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffd015f0001000250eff9c5ad3ba0d8b845a7466f3137d2be05d30a382a1ed91edf8300aaeaf91f4200000001066865706861311a8fdd95bfa6a1c5f1a13088a738e1dbce9a1271745fd0ea733863b2a28fe7c600000000000401000605fe000f2ad00bad01ab016515fad3c24fab69caf723be6d6cfd19e51c1799c92216480f7d07ceb99ad2b03e00000000f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912028aa857e9a00b62b911d16a798d2215fbb6245e3c11aa7c1321f0c7991815896603420140d001d74749bc7d3beb7b4f4dde815bb046350694bdc118154adb937463178e00ea31e15c0ffc078b4bc84e7d1f312b35def1e111f85e94fac5668f0bf5cf48eb0d28f099e5e77fae5267ddae67c8abab85b68016cdbae0d5f14d8193a9ac19a64e5300000000000f3e580e020000102102d428490534d174b12362e748f15c8626283c41170800573f3f9347b5cc94f4f70e0200001021026ecf05ac95eee8a80e22c81ddef97032d012f3aa8f9feca35f6805b183c154900c9f000400000001022103a3c6d0d75270cac0a5bce4a833df90cc3943d1dbdc2c06a719f4d1ab8e8cf925037401490001000220f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be91204220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df802c7000400000000022103e60cee957808bd8f5a7665984818e10aaeadde998cebf4dede88874ec9bc2abc039c01710001000220f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be912044a00013de97fcb2e10a86c883402d3d767c98186e9b2602ce4cb367efde3b671e7c27a00000000000f2ad0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2e000400000002022102ea50991eee58db35fe760059f0e1d92db38093cec3d00f9121509d3de7a1a8ff05030401010f9f000400000000022103e60cee957808bd8f5a7665984818e10aaeadde998cebf4dede88874ec9bc2abc037401490001000220f69ffad9c19f6f1d74f791d11a19e1b38deac68da5159fcb66589312214be91204220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160400000000",
                “split_commit_root_hash”:  “”,
                “output_type”:  “OUTPUT_TYPE_SIMPLE”,
                “asset_version”:  “ASSET_VERSION_V0"
            }
        ]
    }
}

After two successful transfers, the third fails:

Generate Address:
addrs new --asset_id 73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928 --amt 987
{
    "encoded":  "taptb1qqqsqqspqqzzqu7r408c7tc8nfvl4jtdnd04kpggwcrs7fj2gfac6v57vyxyhxfgqcss9pcxtng4wn2pqy695u8rgk2ptmyc5pxgurre60etl46kva5eeryypqss9gnxah337wlgf2fuvay2qc6yayxe70faxr0lazk2edh6ct469nj6pgpl6q7mpsm82mnfwejhyum9wfcxxw309a6x2um5dejhgtn4de5hvetjwdjjumrfva58gmnfdenjuenfdeskucm98gcnqvpj8ysv9r8r",
    "asset_id":  "73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928",
    "asset_type":  "NORMAL",
    "amount":  "987",
    "group_key":  "",
    "script_key":  "0287065cd1574d4101345a70e3459415ec98a04c8e0c79d3f2bfd75667699c8c84",
    "internal_key":  "02a266ede31f3be84a93c6748a06344e90d9f3d3d30dffe8acacb6fac2eba2ce5a",
    "tapscript_sibling":  "",
    "taproot_output_key":  "9ebd790705e4e561f0d0a69f041e30f654c16b3276e1afd495d05a64c753d732",
    "proof_courier_addr":  "universerpc://testnet.universe.lightning.finance:10029",
    "asset_version":  "ASSET_VERSION_V0"
}
2023-11-30 20:20:17.904 [INF] RPCS: [NewAddr]: making new addr: asset_id=73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928, amt=987
2023-11-30 20:20:17.910 [DBG] TAPD: Deriving new key for fam_family=212
2023-11-30 20:20:17.917 [DBG] TAPD: Deriving new key for fam_family=212
2023-11-30 20:20:17.933 [WRN] GRDN: Taproot addr tb1pn67hjpc9unjkruxs560sg83s7e2vz6ejwms6l4y46pdxf36n6ueq9xhagu was already added to wallet before, skipping
2023-11-30 20:20:17.933 [INF] GRDN: Imported Taproot Asset address taptb1qqqsqqspqqzzqu7r408c7tc8nfvl4jtdnd04kpggwcrs7fj2gfac6v57vyxyhxfgqcss9pcxtng4wn2pqy695u8rgk2ptmyc5pxgurre60etl46kva5eeryypqss9gnxah337wlgf2fuvay2qc6yayxe70faxr0lazk2edh6ct469nj6pgpl6q7mpsm82mnfwejhyum9wfcxxw309a6x2um5dejhgtn4de5hvetjwdjjumrfva58gmnfdenjuenfdeskucm98gcnqvpj8ysv9r8r into wallet
2023-11-30 20:20:17.933 [INF] GRDN: watching p2tr address tb1pn67hjpc9unjkruxs560sg83s7e2vz6ejwms6l4y46pdxf36n6ueq9xhagu on chain
assets send --addr taptb1qqqsqqspqqzzqu7r408c7tc8nfvl4jtdnd04kpggwcrs7fj2gfac6v57vyxyhxfgqcss9pcxtng4wn2pqy695u8rgk2ptmyc5pxgurre60etl46kva5eeryypqss9gnxah337wlgf2fuvay2qc6yayxe70faxr0lazk2edh6ct469nj6pgpl6q7mpsm82mnfwejhyum9wfcxxw309a6x2um5dejhgtn4de5hvetjwdjjumrfva58gmnfdenjuenfdeskucm98gcnqvpj8ysv9r8r
[tapcli] unable to send assets: rpc error: code = Unknown desc = unable to sign and commit virtual packet: unable to verify inclusion proof: proof anchor tx pk script 512070ed320a652f59efe51ed075f52a1b9ecd547a04769b201f57513cadf39f2c71 doesn't match input anchor script 51201b421c5a4c3e874f8155b6b441aab7db7abcd3a502ae3dfee07e7577a4388ed5 in proof 544150500004000000000224c7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b5996982535310000000104500000002071006a66bf51cbe4fe5c734d524100d2e3a38076729e0d401e000000000000004571b9bd8f47a5bb0f94bb1d218807ac23f7b9dae9864ce4fdb0957418a94f9809ec6865ffff001d85c2088b06fd0239020000000001042f4fa25145a612e3ea3b82a3d665d9c6eff6c33c2b427680bde6f8c418d7f1070100000000fffffffff25d89b85c58e28fec4b60f04dc812296facf9da7e3661b0d51678e57be6de340100000000ffffffff57b750d5569d64760a2fa12aa3435227ca8db0ab6aa291156acf4702f627eb5e0100000000ffffffffc7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b59969825353101000000000000000003e80300000000000022512070ed320a652f59efe51ed075f52a1b9ecd547a04769b201f57513cadf39f2c71e803000000000000225120a3446dfb9ce99f94bd398612d52de361cf391f06871b3d00acac2fab67b907745b0600000000000022512000000000000000000000000000000000000000000000000000000000000000000140dd0d5e4c243160487def7940175f7e774207691f750b54b9d842bb8d33f5de4e2d92bae466376aa7b1170cf432404389847e11a88f8df43d172e90fdba7235a60140455f1dff15bcc9d13ff83c6b6c024e9fc5ef0bc51dc8fdfd2649e2797c3a732668130711f4abb678400c7eff18a5a7d6f4904a0125c1853923ce84c45a331cd70140875a38ec1e90885bd2b4120fb22e59a471c671e5ac533253df2ea967daff550e0517f89bc09b8e7592e2f4bbd9a33cd1eda91f25d50342761ebc2701fa3a17e6014060e529c4f7a68dfea94137e5324b6ae76a3995a904bbb4deccf528f67d613848da48fc5574f34ce2442595defd96a5e39cb8362941bad5e1fe60382e3b2972af0000000008e20728477b2cb0fc18f3d02c318f5a343fd9d2f79784688841c06ef28b1b366fab9f3f2e1412b4c8ac49cf40748cc168a62fbe031c6112486b18ec082505112ec6d4fd8eda7a29b1ad355bf4f2d182beae4097546fb0d35d661625f86473426490821e280cd20c86a7203c59bd07bb5e621285f442c7f02dbb8c3586196773d150fc1ba6cc7712f35e6abdf519bd3a28c679a9212464fa1fc9032a0232a538d27e7e8116be0c905e1b99549dee7a08639a86a36a32bded0b82df20a0af1b7a107bdf65d83110bf9104d5bd3fa921920cfd479904bca909ff50604ea810dbb674b6f44d0afd015d000100024e7feb2442002a2119a9255346aac91bb66099bfabe1306ee7be5fb10360eb0cbe000000010461737373000000000000000000000000000000000000000000000000000000000000000000000001000401000605fe000f41dc0bad01ab0165c7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b5996982535310000000173c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928029df1dc2bfefb1bf07cf29a5bfbdb96f0d6342b912d5bff6a591f6be1f7ab661703420140ab5c8338f86ef3ddb4cc023eb916172a845c49b7d9cff3d8c30df2c61b0d0c2bf2f882dbcf279624776eb86f4c4821e5eacb42e327bd35ac77dae47d232062230d283fd97d6f505b47f5ba4e90fab580166e85d14a28cb92b64d6e22c68219ad5c0900000000000f42400e0200001021025921ebe9b88f94ab6d06474159a67a69060cf5d6be0dcc9e8fc6c07ebd3c11850c9f0004000000000221032dd6cc9f20a21fcfc17aa036785e19efc648826bf832b7d534831de6faaaa31703740149000100022073c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b992804220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df802c7000400000001022103c3c98f99de894ad90c5090503d2363d0810f3cf63366a681d693e72763fc1a1c039c0171000100022073c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928044a00012cf3905d6e1a785b0bd5fc5d7d3ad10dd32bebd9ee7971609af7045392a0b70a0000000000000064ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2e0004000000020221025b5f41aa9ab79f42683be16f7751376ffc76baff270b2651ba5c68349cc89b2d050304010116040026c62d
2023-11-30 20:45:12.389 [INF] FRTR: Received to send request to 1 addrs: [TapAddr{id=73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928, amount=987, script_key=0287065cd1574d4101345a70e3459415ec98a04c8e0c79d3f2bfd75667699c8c84}]
2023-11-30 20:45:12.389 [INF] FRTR: ChainPorter executing state: SendStateVirtualCommitmentSelect
2023-11-30 20:45:12.399 [INF] FRTR: Identified 2 eligible asset inputs for send of 987 to 73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928
2023-11-30 20:45:12.401 [INF] FRTR: Selected 1 asset inputs for send of 987 to 73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928
2023-11-30 20:45:12.404 [TRC] SEND: Input commitment #0 v0, taproot_asset_root=3c1cd3d2158d53c5e4beb949b68f4e5ffd3feb1ec6d7dfb084870e2eba2289b4, internal_key=032dd6cc9f20a21fcfc17aa036785e19efc648826bf832b7d534831de6faaaa317, pk_script=51201b421c5a4c3e874f8155b6b441aab7db7abcd3a502ae3dfee07e7577a4388ed5, trimmed_merkle_root=3c1cd3d2158d53c5e4beb949b68f4e5ffd3feb1ec6d7dfb084870e2eba2289b4
2023-11-30 20:45:12.404 [TRC] SEND: Input commitment asset_id=73c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928, script_key=025921ebe9b88f94ab6d06474159a67a69060cf5d6be0dcc9e8fc6c07ebd3c1185, group_key=<nil>, amount=999900, version=0, split_commitment=true
2023-11-30 20:45:12.408 [DBG] TAPD: Deriving new key for fam_family=212
2023-11-30 20:45:12.414 [DBG] TAPD: Deriving new key for fam_family=212
2023-11-30 20:45:12.421 [INF] FRTR: ChainPorter executing state: SendStateVirtualSign
2023-11-30 20:45:12.421 [INF] FRTR: Generating Taproot Asset witnesses for send to: 0287065cd1574d4101345a70e3459415ec98a04c8e0c79d3f2bfd75667699c8c84
2023-11-30 20:45:12.422 [ERR] FRTR: Error evaluating state (SendStateVirtualSign): unable to sign and commit virtual packet: unable to verify inclusion proof: proof anchor tx pk script 512070ed320a652f59efe51ed075f52a1b9ecd547a04769b201f57513cadf39f2c71 doesn't match input anchor script 51201b421c5a4c3e874f8155b6b441aab7db7abcd3a502ae3dfee07e7577a4388ed5 in proof 544150500004000000000224c7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b5996982535310000000104500000002071006a66bf51cbe4fe5c734d524100d2e3a38076729e0d401e000000000000004571b9bd8f47a5bb0f94bb1d218807ac23f7b9dae9864ce4fdb0957418a94f9809ec6865ffff001d85c2088b06fd0239020000000001042f4fa25145a612e3ea3b82a3d665d9c6eff6c33c2b427680bde6f8c418d7f1070100000000fffffffff25d89b85c58e28fec4b60f04dc812296facf9da7e3661b0d51678e57be6de340100000000ffffffff57b750d5569d64760a2fa12aa3435227ca8db0ab6aa291156acf4702f627eb5e0100000000ffffffffc7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b59969825353101000000000000000003e80300000000000022512070ed320a652f59efe51ed075f52a1b9ecd547a04769b201f57513cadf39f2c71e803000000000000225120a3446dfb9ce99f94bd398612d52de361cf391f06871b3d00acac2fab67b907745b0600000000000022512000000000000000000000000000000000000000000000000000000000000000000140dd0d5e4c243160487def7940175f7e774207691f750b54b9d842bb8d33f5de4e2d92bae466376aa7b1170cf432404389847e11a88f8df43d172e90fdba7235a60140455f1dff15bcc9d13ff83c6b6c024e9fc5ef0bc51dc8fdfd2649e2797c3a732668130711f4abb678400c7eff18a5a7d6f4904a0125c1853923ce84c45a331cd70140875a38ec1e90885bd2b4120fb22e59a471c671e5ac533253df2ea967daff550e0517f89bc09b8e7592e2f4bbd9a33cd1eda91f25d50342761ebc2701fa3a17e6014060e529c4f7a68dfea94137e5324b6ae76a3995a904bbb4deccf528f67d613848da48fc5574f34ce2442595defd96a5e39cb8362941bad5e1fe60382e3b2972af0000000008e20728477b2cb0fc18f3d02c318f5a343fd9d2f79784688841c06ef28b1b366fab9f3f2e1412b4c8ac49cf40748cc168a62fbe031c6112486b18ec082505112ec6d4fd8eda7a29b1ad355bf4f2d182beae4097546fb0d35d661625f86473426490821e280cd20c86a7203c59bd07bb5e621285f442c7f02dbb8c3586196773d150fc1ba6cc7712f35e6abdf519bd3a28c679a9212464fa1fc9032a0232a538d27e7e8116be0c905e1b99549dee7a08639a86a36a32bded0b82df20a0af1b7a107bdf65d83110bf9104d5bd3fa921920cfd479904bca909ff50604ea810dbb674b6f44d0afd015d000100024e7feb2442002a2119a9255346aac91bb66099bfabe1306ee7be5fb10360eb0cbe000000010461737373000000000000000000000000000000000000000000000000000000000000000000000001000401000605fe000f41dc0bad01ab0165c7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b5996982535310000000173c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928029df1dc2bfefb1bf07cf29a5bfbdb96f0d6342b912d5bff6a591f6be1f7ab661703420140ab5c8338f86ef3ddb4cc023eb916172a845c49b7d9cff3d8c30df2c61b0d0c2bf2f882dbcf279624776eb86f4c4821e5eacb42e327bd35ac77dae47d232062230d283fd97d6f505b47f5ba4e90fab580166e85d14a28cb92b64d6e22c68219ad5c0900000000000f42400e0200001021025921ebe9b88f94ab6d06474159a67a69060cf5d6be0dcc9e8fc6c07ebd3c11850c9f0004000000000221032dd6cc9f20a21fcfc17aa036785e19efc648826bf832b7d534831de6faaaa31703740149000100022073c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b992804220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df802c7000400000001022103c3c98f99de894ad90c5090503d2363d0810f3cf63366a681d693e72763fc1a1c039c0171000100022073c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928044a00012cf3905d6e1a785b0bd5fc5d7d3ad10dd32bebd9ee7971609af7045392a0b70a0000000000000064ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2e0004000000020221025b5f41aa9ab79f42683be16f7751376ffc76baff270b2651ba5c68349cc89b2d050304010116040026c62d
2023-11-30 20:45:12.422 [ERR] RPCS: [/taprpc.TaprootAssets/SendAsset]: unable to sign and commit virtual packet: unable to verify inclusion proof: proof anchor tx pk script 512070ed320a652f59efe51ed075f52a1b9ecd547a04769b201f57513cadf39f2c71 doesn't match input anchor script 51201b421c5a4c3e874f8155b6b441aab7db7abcd3a502ae3dfee07e7577a4388ed5 in proof 544150500004000000000224c7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b5996982535310000000104500000002071006a66bf51cbe4fe5c734d524100d2e3a38076729e0d401e000000000000004571b9bd8f47a5bb0f94bb1d218807ac23f7b9dae9864ce4fdb0957418a94f9809ec6865ffff001d85c2088b06fd0239020000000001042f4fa25145a612e3ea3b82a3d665d9c6eff6c33c2b427680bde6f8c418d7f1070100000000fffffffff25d89b85c58e28fec4b60f04dc812296facf9da7e3661b0d51678e57be6de340100000000ffffffff57b750d5569d64760a2fa12aa3435227ca8db0ab6aa291156acf4702f627eb5e0100000000ffffffffc7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b59969825353101000000000000000003e80300000000000022512070ed320a652f59efe51ed075f52a1b9ecd547a04769b201f57513cadf39f2c71e803000000000000225120a3446dfb9ce99f94bd398612d52de361cf391f06871b3d00acac2fab67b907745b0600000000000022512000000000000000000000000000000000000000000000000000000000000000000140dd0d5e4c243160487def7940175f7e774207691f750b54b9d842bb8d33f5de4e2d92bae466376aa7b1170cf432404389847e11a88f8df43d172e90fdba7235a60140455f1dff15bcc9d13ff83c6b6c024e9fc5ef0bc51dc8fdfd2649e2797c3a732668130711f4abb678400c7eff18a5a7d6f4904a0125c1853923ce84c45a331cd70140875a38ec1e90885bd2b4120fb22e59a471c671e5ac533253df2ea967daff550e0517f89bc09b8e7592e2f4bbd9a33cd1eda91f25d50342761ebc2701fa3a17e6014060e529c4f7a68dfea94137e5324b6ae76a3995a904bbb4deccf528f67d613848da48fc5574f34ce2442595defd96a5e39cb8362941bad5e1fe60382e3b2972af0000000008e20728477b2cb0fc18f3d02c318f5a343fd9d2f79784688841c06ef28b1b366fab9f3f2e1412b4c8ac49cf40748cc168a62fbe031c6112486b18ec082505112ec6d4fd8eda7a29b1ad355bf4f2d182beae4097546fb0d35d661625f86473426490821e280cd20c86a7203c59bd07bb5e621285f442c7f02dbb8c3586196773d150fc1ba6cc7712f35e6abdf519bd3a28c679a9212464fa1fc9032a0232a538d27e7e8116be0c905e1b99549dee7a08639a86a36a32bded0b82df20a0af1b7a107bdf65d83110bf9104d5bd3fa921920cfd479904bca909ff50604ea810dbb674b6f44d0afd015d000100024e7feb2442002a2119a9255346aac91bb66099bfabe1306ee7be5fb10360eb0cbe000000010461737373000000000000000000000000000000000000000000000000000000000000000000000001000401000605fe000f41dc0bad01ab0165c7e7dfc984eb019ddbada1cef738db35c5c6bc66e84f3215ec8b5996982535310000000173c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928029df1dc2bfefb1bf07cf29a5bfbdb96f0d6342b912d5bff6a591f6be1f7ab661703420140ab5c8338f86ef3ddb4cc023eb916172a845c49b7d9cff3d8c30df2c61b0d0c2bf2f882dbcf279624776eb86f4c4821e5eacb42e327bd35ac77dae47d232062230d283fd97d6f505b47f5ba4e90fab580166e85d14a28cb92b64d6e22c68219ad5c0900000000000f42400e0200001021025921ebe9b88f94ab6d06474159a67a69060cf5d6be0dcc9e8fc6c07ebd3c11850c9f0004000000000221032dd6cc9f20a21fcfc17aa036785e19efc648826bf832b7d534831de6faaaa31703740149000100022073c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b992804220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df802c7000400000001022103c3c98f99de894ad90c5090503d2363d0810f3cf63366a681d693e72763fc1a1c039c0171000100022073c3abcf8f2f079a59fac96d9b5f5b050876070f264a427b8d329e610c4b9928044a00012cf3905d6e1a785b0bd5fc5d7d3ad10dd32bebd9ee7971609af7045392a0b70a0000000000000064ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f022700010002220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2e0004000000020221025b5f41aa9ab79f42683be16f7751376ffc76baff270b2651ba5c68349cc89b2d050304010116040026c62d

This time with an issue on input anchor validation.

I suspect the root of the issue is a mixup of indices during the send process, or incorrect template TX construction.

jharveyb avatar Dec 05 '23 23:12 jharveyb