mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-13 11:35:40 +01:00
parent
e7ce9cd157
commit
f475808dbd
2 changed files with 13 additions and 14 deletions
|
@ -67,7 +67,7 @@ class LockTimeInterpreterTest extends FlatSpec with MustMatchers {
|
|||
)
|
||||
val baseProgram = PreExecutionScriptProgram(t)
|
||||
val program = ScriptProgramTestUtil.toPreExecutionScriptProgram(
|
||||
ScriptProgram(baseProgram, stack, script))
|
||||
baseProgram.updateStackAndScript(stack, script))
|
||||
val newProgram = ScriptProgramTestUtil.toExecutedScriptProgram(
|
||||
LTI.opCheckLockTimeVerify(ScriptProgram.toExecutionInProgress(program)))
|
||||
newProgram.error must be(Some(ScriptErrorNegativeLockTime))
|
||||
|
@ -94,7 +94,7 @@ class LockTimeInterpreterTest extends FlatSpec with MustMatchers {
|
|||
val t = buildTxSigComponent(adjustedLockTimeTx)
|
||||
val baseProgram = PreExecutionScriptProgram(t)
|
||||
val program = ScriptProgramTestUtil.toPreExecutionScriptProgram(
|
||||
ScriptProgram(baseProgram, stack, script))
|
||||
baseProgram.updateStackAndScript(stack, script))
|
||||
val newProgram = ScriptProgramTestUtil.toExecutedScriptProgram(
|
||||
LTI.opCheckLockTimeVerify(ScriptProgram.toExecutionInProgress(program)))
|
||||
newProgram.error must be(Some(ScriptErrorUnsatisfiedLocktime))
|
||||
|
@ -121,7 +121,7 @@ class LockTimeInterpreterTest extends FlatSpec with MustMatchers {
|
|||
val t = buildTxSigComponent(adjustedLockTimeTx)
|
||||
val baseProgram = PreExecutionScriptProgram(t)
|
||||
val program = ScriptProgramTestUtil.toPreExecutionScriptProgram(
|
||||
ScriptProgram(baseProgram, stack, script))
|
||||
baseProgram.updateStackAndScript(stack, script))
|
||||
val newProgram = ScriptProgramTestUtil.toExecutedScriptProgram(
|
||||
LTI.opCheckLockTimeVerify(ScriptProgram.toExecutionInProgress(program)))
|
||||
newProgram.error must be(Some(ScriptErrorUnsatisfiedLocktime))
|
||||
|
|
|
@ -88,6 +88,16 @@ case class PreExecutionScriptProgram(
|
|||
tokens: Seq[ScriptToken]): PreExecutionScriptProgram = {
|
||||
this.copy(originalScript = tokens.toList)
|
||||
}
|
||||
|
||||
def updateStackAndScript(
|
||||
stackTokens: Seq[ScriptToken],
|
||||
scriptTokens: Seq[ScriptToken]): PreExecutionScriptProgram = {
|
||||
val updatedStack = this.updateStack(stackTokens)
|
||||
val updatedScript = updatedStack.updateScript(scriptTokens)
|
||||
require(updatedStack.stack == stackTokens)
|
||||
require(updatedScript.script == scriptTokens)
|
||||
updatedScript
|
||||
}
|
||||
}
|
||||
|
||||
object PreExecutionScriptProgram {
|
||||
|
@ -237,17 +247,6 @@ object ScriptProgram extends BitcoinSLogger {
|
|||
}
|
||||
}
|
||||
|
||||
def apply(
|
||||
oldProgram: PreExecutionScriptProgram,
|
||||
stackTokens: Seq[ScriptToken],
|
||||
scriptTokens: Seq[ScriptToken]): PreExecutionScriptProgram = {
|
||||
val updatedStack = oldProgram.updateStack(stackTokens)
|
||||
val updatedScript = updatedStack.updateScript(scriptTokens)
|
||||
require(updatedStack.stack == stackTokens)
|
||||
require(updatedScript.script == scriptTokens)
|
||||
updatedScript
|
||||
}
|
||||
|
||||
def apply(
|
||||
oldProgram: ExecutionInProgressScriptProgram,
|
||||
stackTokens: Seq[ScriptToken],
|
||||
|
|
Loading…
Add table
Reference in a new issue