diff --git a/src/Angor.Test/Angor.Test.csproj b/src/Angor.Test/Angor.Test.csproj index c6a9c380..02195e48 100644 --- a/src/Angor.Test/Angor.Test.csproj +++ b/src/Angor.Test/Angor.Test.csproj @@ -22,7 +22,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Angor/Client/Angor.Client.csproj b/src/Angor/Client/Angor.Client.csproj index fa6ed8c1..3497b235 100644 --- a/src/Angor/Client/Angor.Client.csproj +++ b/src/Angor/Client/Angor.Client.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Angor/Shared/Angor.Shared.csproj b/src/Angor/Shared/Angor.Shared.csproj index 59b5ccde..1f948dbd 100644 --- a/src/Angor/Shared/Angor.Shared.csproj +++ b/src/Angor/Shared/Angor.Shared.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Angor/Shared/ProtocolNew/FounderTransactionActions.cs b/src/Angor/Shared/ProtocolNew/FounderTransactionActions.cs index 25e63d92..0bf7c039 100644 --- a/src/Angor/Shared/ProtocolNew/FounderTransactionActions.cs +++ b/src/Angor/Shared/ProtocolNew/FounderTransactionActions.cs @@ -62,7 +62,9 @@ public SignatureInfo SignInvestorRecoveryTransactions(ProjectInfo projectInfo, s { var scriptStages = _investmentScriptBuilder.BuildProjectScriptsForStage(projectInfo, investorKey, stageIndex, secretHash); - var execData = new TaprootExecutionData(stageIndex, new NBitcoin.Script(scriptStages.Recover.ToBytes()).TaprootV1LeafHash) { SigHash = sigHash }; + var tapScript = new NBitcoin.Script(scriptStages.Recover.ToBytes()).ToTapScript(TapLeafVersion.C0); + + var execData = new TaprootExecutionData(stageIndex, tapScript.LeafHash) { SigHash = sigHash }; var hash = nbitcoinRecoveryTransaction.GetSignatureHashTaproot(outputs, execData); var sig = key.SignTaprootKeySpend(hash, sigHash).ToString(); @@ -123,8 +125,10 @@ public TransactionInfo SpendFounderStage(ProjectInfo projectInfo, IEnumerable _.Recover); - var execData = new TaprootExecutionData(stageIndex, new NBitcoin.Script(scriptStages.Recover.ToBytes()).TaprootV1LeafHash) { SigHash = sigHash }; + var tapScript = new NBitcoin.Script(scriptStages.Recover.ToBytes()).ToTapScript(TapLeafVersion.C0); + + var execData = new TaprootExecutionData(stageIndex, tapScript.LeafHash) { SigHash = sigHash }; var hash = nbitcoinRecoveryTransaction.GetSignatureHashTaproot(outputs, execData); _logger.LogInformation($"project={projectInfo.ProjectIdentifier}; investor-pubkey={key.PubKey.ToHex()}; stage={stageIndex}; hash={hash}"); @@ -290,7 +292,9 @@ public bool CheckInvestorRecoverySignatures(ProjectInfo projectInfo, Transaction { var scriptStages = _investmentScriptBuilder.BuildProjectScriptsForStage(projectInfo, investorKey, stageIndex, secretHash); - var execData = new TaprootExecutionData(stageIndex, new NBitcoin.Script(scriptStages.Recover.ToBytes()).TaprootV1LeafHash) { SigHash = sigHash }; + var tapScript = new NBitcoin.Script(scriptStages.Recover.ToBytes()).ToTapScript(TapLeafVersion.C0); + + var execData = new TaprootExecutionData(stageIndex, tapScript.LeafHash) { SigHash = sigHash }; var hash = nBitcoinRecoveryTransaction.GetSignatureHashTaproot(outputs, execData); var sig = founderSignatures.Signatures.First(f => f.StageIndex == stageIndex).Signature; diff --git a/src/Angor/Shared/ProtocolNew/Scripts/TaprootScriptBuilder.cs b/src/Angor/Shared/ProtocolNew/Scripts/TaprootScriptBuilder.cs index 4365cf29..979216d9 100644 --- a/src/Angor/Shared/ProtocolNew/Scripts/TaprootScriptBuilder.cs +++ b/src/Angor/Shared/ProtocolNew/Scripts/TaprootScriptBuilder.cs @@ -25,8 +25,7 @@ public Script CreateControlBlock(ProjectScripts scripts, Expression