From 69e46fb5e992f8c96e7b8b5394050377dc69f105 Mon Sep 17 00:00:00 2001 From: unwriter Date: Wed, 12 Feb 2020 13:13:16 -0500 Subject: [PATCH] default should be safe --- index.js | 3 +++ package.json | 2 +- test/test.js | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index f88b0fb..badda69 100644 --- a/index.js +++ b/index.js @@ -110,6 +110,9 @@ var _script = function(options) { if (options.data) { if (Array.isArray(options.data)) { s = new bitcoin.Script(); + if (!options.hasOwnProperty("safe")) { + options.safe = true; + } if (options.safe) { s.add(bitcoin.Opcode.OP_FALSE); } diff --git a/package.json b/package.json index d3a1a91..ecd72e2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "datapay", - "version": "0.0.20", + "version": "0.0.22", "description": "post data over bitcoin sv", "main": "index.js", "scripts": { diff --git a/test/test.js b/test/test.js index 054ced9..bf41d67 100644 --- a/test/test.js +++ b/test/test.js @@ -20,6 +20,43 @@ describe('datapay', function() { }) }) describe('build', function() { + describe('safe as default', function() { + it('safe as default', function(done) { + const options = { + data: [{op: 78}, "hello world"] + } + datapay.build(options, function(err, tx) { + let generated = tx.toObject() + let s = new bitcoin.Script(generated.outputs[0].script).toString() + assert(s.startsWith("OP_0 OP_RETURN OP_PUSHDATA4 1818585099")) + done() + }); + }) + it('set safe true', function(done) { + const options = { + safe: true, + data: [{op: 78}, "hello world"] + } + datapay.build(options, function(err, tx) { + let generated = tx.toObject() + let s = new bitcoin.Script(generated.outputs[0].script).toString() + assert(s.startsWith("OP_0 OP_RETURN OP_PUSHDATA4 1818585099")) + done() + }); + }) + it('set safe false', function(done) { + const options = { + safe: false, + data: [{op: 78}, "hello world"] + } + datapay.build(options, function(err, tx) { + let generated = tx.toObject() + let s = new bitcoin.Script(generated.outputs[0].script).toString() + assert(s.startsWith("OP_RETURN OP_PUSHDATA4 1818585099")) + done() + }); + }) + }) describe('data only', function() { it('opcode', function(done) { const options = {