OSDN Git Service

feat(bcrp): add control contract action (#1909)
[bytom/bytom.git] / protocol / vm / vmutil / script.go
index 07202cb..709ee89 100644 (file)
@@ -67,7 +67,7 @@ func RetireProgram(comment []byte) ([]byte, error) {
        return builder.Build()
 }
 
-// RegisterProgram generates the script for register output
+// RegisterProgram generates the script for register contract output
 // follow BCRP(bytom contract register protocol)
 func RegisterProgram(contract []byte) ([]byte, error) {
        builder := NewBuilder()
@@ -81,6 +81,16 @@ func RegisterProgram(contract []byte) ([]byte, error) {
        return builder.Build()
 }
 
+// CallContractProgram generates the script for control contract output
+// follow BCRP(bytom contract register protocol)
+func CallContractProgram(contractID []byte) ([]byte, error) {
+       builder := NewBuilder()
+       builder.AddOp(vm.OP_1)
+       builder.AddOp(vm.OP_PUSHDATA1)
+       builder.AddData(contractID)
+       return builder.Build()
+}
+
 // P2PKHSigProgram generates the script for control with pubkey hash
 func P2PKHSigProgram(pubkeyHash []byte) ([]byte, error) {
        builder := NewBuilder()