@cashscript/utils 0.8.0-next.2 → 0.8.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "\n# This file can be run with CashProof to prove that the optimisations preserve exact functionality\n# This includes most of CashScript's bytecode optimisations, although some are incompatible with CashProof\n\n# Hardcoded arithmetic\n# OP_NOT OP_IF <=> OP_NOTIF;\nOP_1 OP_ADD <=> OP_1ADD;\nOP_1 OP_SUB <=> OP_1SUB;\nOP_1 OP_NEGATE <=> OP_1NEGATE;\nOP_0
|
|
1
|
+
declare const _default: "\n# This file can be run with CashProof to prove that the optimisations preserve exact functionality\n# This includes most of CashScript's bytecode optimisations, although some are incompatible with CashProof\n\n# Hardcoded arithmetic\n# OP_NOT OP_IF <=> OP_NOTIF;\nOP_1 OP_ADD <=> OP_1ADD;\nOP_1 OP_SUB <=> OP_1SUB;\nOP_1 OP_NEGATE <=> OP_1NEGATE;\nOP_0 OP_NUMEQUAL OP_NOT <=> OP_0NOTEQUAL;\nOP_NUMEQUAL OP_NOT <=> OP_NUMNOTEQUAL;\nOP_SHA256 OP_SHA256 <=> OP_HASH256;\nOP_SHA256 OP_RIPEMD160 <=> OP_HASH160;\n\n# Hardcoded stack ops\nOP_2 OP_PICK OP_1 OP_PICK OP_3 OP_PICK <=> OP_3DUP OP_SWAP;\nOP_2 OP_PICK OP_2 OP_PICK OP_2 OP_PICK <=> OP_3DUP;\n\nOP_0 OP_PICK OP_2 OP_PICK <=> OP_2DUP OP_SWAP;\nOP_2 OP_PICK OP_4 OP_PICK <=> OP_2OVER OP_SWAP;\nOP_3 OP_PICK OP_3 OP_PICK <=> OP_2OVER;\n\nOP_2 OP_ROLL OP_3 OP_ROLL <=> OP_2SWAP OP_SWAP;\nOP_3 OP_ROLL OP_3 OP_ROLL <=> OP_2SWAP;\nOP_4 OP_ROLL OP_5 OP_ROLL <=> OP_2ROT OP_SWAP;\nOP_5 OP_ROLL OP_5 OP_ROLL <=> OP_2ROT;\n\nOP_0 OP_PICK <=> OP_DUP;\nOP_1 OP_PICK <=> OP_OVER;\nOP_0 OP_ROLL <=> ;\nOP_1 OP_ROLL <=> OP_SWAP;\nOP_2 OP_ROLL <=> OP_ROT;\nOP_DROP OP_DROP <=> OP_2DROP;\n\n# Secondary effects\nOP_DUP OP_SWAP <=> OP_DUP;\nOP_SWAP OP_SWAP <=> ;\nOP_2SWAP OP_2SWAP <=> ;\nOP_ROT OP_ROT OP_ROT <=> ;\nOP_2ROT OP_2ROT OP_2ROT <=> ;\nOP_OVER OP_OVER <=> OP_2DUP;\nOP_DUP OP_DROP <=> ;\nOP_DUP OP_NIP <=> ;\n\n# Enabling secondary effects\nOP_DUP OP_OVER <=> OP_DUP OP_DUP;\n\n# Merge OP_VERIFY\nOP_EQUAL OP_VERIFY <=> OP_EQUALVERIFY;\nOP_NUMEQUAL OP_VERIFY <=> OP_NUMEQUALVERIFY;\nOP_CHECKSIG OP_VERIFY <=> OP_CHECKSIGVERIFY;\n# OP_CHECKMULTISIG OP_VERIFY <=> OP_CHECKMULTISIGVERIFY;\nOP_CHECKDATASIG OP_VERIFY <=> OP_CHECKDATASIGVERIFY;\n\n# Remove/replace extraneous OP_SWAP\n# OP_SWAP OP_AND <=> OP_AND;\n# OP_SWAP OP_OR <=> OP_OR;\n# OP_SWAP OP_XOR <=> OP_XOR;\nOP_SWAP OP_ADD <=> OP_ADD;\nOP_SWAP OP_EQUAL <=> OP_EQUAL;\nOP_SWAP OP_NUMEQUAL <=> OP_NUMEQUAL;\nOP_SWAP OP_NUMNOTEQUAL <=> OP_NUMNOTEQUAL;\nOP_SWAP OP_GREATERTHANOREQUAL <=> OP_LESSTHANOREQUAL;\nOP_SWAP OP_LESSTHANOREQUAL <=> OP_GREATERTHANOREQUAL;\nOP_SWAP OP_GREATERTHAN <=> OP_LESSTHAN;\nOP_SWAP OP_LESSTHAN <=> OP_GREATERTHAN;\nOP_SWAP OP_DROP <=> OP_NIP;\nOP_SWAP OP_NIP <=> OP_DROP;\n\n# Remove/replace extraneous OP_DUP\n# OP_DUP OP_AND <=> ;\n# OP_DUP OP_OR <=> ;\nOP_DUP OP_DROP <=> ;\nOP_DUP OP_NIP <=> ;\n\n# Random optimisations (don't know what I'm targeting with this)\nOP_2DUP OP_DROP <=> OP_OVER;\nOP_2DUP OP_NIP <=> OP_DUP;\nOP_CAT OP_DROP <=> OP_2DROP;\nOP_NIP OP_DROP <=> OP_2DROP;\n\n# Far-fetched stuff\nOP_DUP OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_OVER OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_2 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_3 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_4 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_5 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_6 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_7 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_8 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_9 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_10 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_11 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_12 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_13 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_14 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_15 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\nOP_16 OP_PICK OP_ROT OP_SWAP OP_DROP <=> OP_SWAP;\n\nOP_DUP OP_ROT OP_DROP <=> OP_NIP OP_DUP;\nOP_OVER OP_ROT OP_DROP <=> OP_SWAP;\nOP_2 OP_PICK OP_ROT OP_DROP <=> OP_NIP OP_OVER;\n\nOP_0 OP_NIP <=> OP_DROP OP_0;\nOP_1 OP_NIP <=> OP_DROP OP_1;\nOP_2 OP_NIP <=> OP_DROP OP_2;\nOP_3 OP_NIP <=> OP_DROP OP_3;\nOP_4 OP_NIP <=> OP_DROP OP_4;\nOP_5 OP_NIP <=> OP_DROP OP_5;\nOP_6 OP_NIP <=> OP_DROP OP_6;\nOP_7 OP_NIP <=> OP_DROP OP_7;\nOP_8 OP_NIP <=> OP_DROP OP_8;\nOP_9 OP_NIP <=> OP_DROP OP_9;\nOP_10 OP_NIP <=> OP_DROP OP_10;\nOP_11 OP_NIP <=> OP_DROP OP_11;\nOP_12 OP_NIP <=> OP_DROP OP_12;\nOP_13 OP_NIP <=> OP_DROP OP_13;\nOP_14 OP_NIP <=> OP_DROP OP_14;\nOP_15 OP_NIP <=> OP_DROP OP_15;\nOP_16 OP_NIP <=> OP_DROP OP_16;\n\nOP_2 OP_PICK OP_SWAP OP_2 OP_PICK OP_NIP <=> OP_DROP OP_2DUP;\n";
|
|
2
2
|
export default _default;
|
|
@@ -7,7 +7,7 @@ export default `
|
|
|
7
7
|
OP_1 OP_ADD <=> OP_1ADD;
|
|
8
8
|
OP_1 OP_SUB <=> OP_1SUB;
|
|
9
9
|
OP_1 OP_NEGATE <=> OP_1NEGATE;
|
|
10
|
-
OP_0
|
|
10
|
+
OP_0 OP_NUMEQUAL OP_NOT <=> OP_0NOTEQUAL;
|
|
11
11
|
OP_NUMEQUAL OP_NOT <=> OP_NUMNOTEQUAL;
|
|
12
12
|
OP_SHA256 OP_SHA256 <=> OP_HASH256;
|
|
13
13
|
OP_SHA256 OP_RIPEMD160 <=> OP_HASH160;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cashscript/utils",
|
|
3
|
-
"version": "0.8.0-next.
|
|
3
|
+
"version": "0.8.0-next.4",
|
|
4
4
|
"description": "CashScript utilities and types",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bitcoin cash",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"jest": "^29.4.1",
|
|
50
50
|
"typescript": "^4.1.5"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "f4c3f9c21cca98465e5cad919e64b4c6292e9a1f"
|
|
53
53
|
}
|