forked from Nexell-AI-Network/nexelliad
-
Notifications
You must be signed in to change notification settings - Fork 2
/
op_true_script.go
executable file
·21 lines (19 loc) · 941 Bytes
/
op_true_script.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package testutils
import (
"github.com/Nautilus-Network/nautiliad/domain/consensus/model/externalapi"
"github.com/Nautilus-Network/nautiliad/domain/consensus/utils/constants"
"github.com/Nautilus-Network/nautiliad/domain/consensus/utils/txscript"
"github.com/pkg/errors"
)
// OpTrueScript returns a P2SH script paying to an anyone-can-spend address,
// The second return value is a redeemScript to be used with txscript.PayToScriptHashSignatureScript
func OpTrueScript() (*externalapi.ScriptPublicKey, []byte) {
var err error
redeemScript := []byte{txscript.OpTrue}
scriptPublicKeyScript, err := txscript.PayToScriptHashScript(redeemScript)
if err != nil {
panic(errors.Wrapf(err, "Couldn't parse opTrueScript. This should never happen"))
}
scriptPublicKey := &externalapi.ScriptPublicKey{Script: scriptPublicKeyScript, Version: constants.MaxScriptPublicKeyVersion}
return scriptPublicKey, redeemScript
}