B2X support, locktime-based coin splitting utility

- full support for B2X fork
- `mmgen-split` coin splitting utility for replayable forks
- `mmgen-regtest fork` command for testing forking scenarios
- `regtest_split` command added to `test/test.py` test suite
- timelock support for `txcreate` and `txdo`
- nlocktime and nsequence checks after signing and before sending
This commit is contained in:
philemon 2017-11-13 22:50:35 +03:00
commit 420d0e9699
Signed by untrusted user who does not match committer: mmgen
GPG key ID: 62DBE9E5212F05BE
18 changed files with 709 additions and 152 deletions

View file

@ -312,6 +312,7 @@ def set_led(cmd):
led_thread.start()
def get_insert_status():
if os.getenv('MMGEN_TEST_SUITE'): return True
try: os.stat(os.path.join('/dev/disk/by-label/',part_label))
except: return False
else: return True

24
cmds/mmgen-split Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/env python
# mmgen = Multi-Mode GENerator, command-line Bitcoin cold storage solution
# Copyright (C)2013-2017 Philemon <mmgen-py@yandex.com>
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
"""
mmgen-split: Split funds after a fork using a timelocked transaction
"""
from mmgen.main import launch
launch("split")