all files converted to FLO 0.15.0.1rc, except for minor issues
This commit is contained in:
parent
d40556dd05
commit
e7a2440c76
22
.gitignore
vendored
22
.gitignore
vendored
@ -1,13 +1,13 @@
|
||||
*.tar.gz
|
||||
|
||||
*.exe
|
||||
src/litecoin
|
||||
src/litecoind
|
||||
src/litecoin-cli
|
||||
src/litecoin-tx
|
||||
src/test/test_litecoin
|
||||
src/test/test_litecoin_fuzzy
|
||||
src/qt/test/test_litecoin-qt
|
||||
src/flo
|
||||
src/flod
|
||||
src/flo-cli
|
||||
src/flo-tx
|
||||
src/test/test_flo
|
||||
src/test/test_flo_fuzzy
|
||||
src/qt/test/test_flo-qt
|
||||
|
||||
# autoreconf
|
||||
Makefile.in
|
||||
@ -74,12 +74,12 @@ src/qt/test/moc*.cpp
|
||||
# Compilation and Qt preprocessor part
|
||||
*.qm
|
||||
Makefile
|
||||
litecoin-qt
|
||||
Litecoin-Qt.app
|
||||
flo-qt
|
||||
FLO-Qt.app
|
||||
|
||||
# Unit-tests
|
||||
Makefile.test
|
||||
litecoin-qt_test
|
||||
flo-qt_test
|
||||
|
||||
# Resources cpp
|
||||
qrc_*.cpp
|
||||
@ -92,7 +92,7 @@ build
|
||||
*.gcno
|
||||
*.gcda
|
||||
/*.info
|
||||
test_litecoin.coverage/
|
||||
test_flo.coverage/
|
||||
total.coverage/
|
||||
coverage_percent.txt
|
||||
|
||||
|
||||
16
.travis.yml
16
.travis.yml
@ -20,20 +20,20 @@ env:
|
||||
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
|
||||
- PYTHON_DEBUG=1
|
||||
- WINEDEBUG=fixme-all
|
||||
- LITECOIN_SCRYPT=0
|
||||
- FLO_SCRYPT=0
|
||||
matrix:
|
||||
# ARM
|
||||
- HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=0 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
|
||||
# Win32
|
||||
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" LITECOIN_SCRYPT=1
|
||||
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" FLO_SCRYPT=1
|
||||
# 32-bit + dash
|
||||
- HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq python3-dev python3-pip" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" LITECOIN_SCRYPT=1
|
||||
- HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq python3-dev python3-pip" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" FLO_SCRYPT=1
|
||||
# Win64
|
||||
- HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports --enable-sse2" LITECOIN_SCRYPT=1
|
||||
- HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 python3-dev python3-pip nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports --enable-sse2" FLO_SCRYPT=1
|
||||
# x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout)
|
||||
- HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq python3-dev python3-pip qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-sse2 CPPFLAGS=-DDEBUG_LOCKORDER" LITECOIN_SCRYPT=1
|
||||
- HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq python3-dev python3-pip qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-sse2 CPPFLAGS=-DDEBUG_LOCKORDER" FLO_SCRYPT=1
|
||||
# x86_64 Linux, No wallet
|
||||
- HOST=x86_64-unknown-linux-gnu PACKAGES="python3 python3-dev python3-pip" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports --enable-sse2" LITECOIN_SCRYPT=1
|
||||
- HOST=x86_64-unknown-linux-gnu PACKAGES="python3 python3-dev python3-pip" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports --enable-sse2" FLO_SCRYPT=1
|
||||
# Cross-Mac
|
||||
- HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-sse2" OSX_SDK=10.11 GOAL="deploy"
|
||||
|
||||
@ -44,7 +44,7 @@ install:
|
||||
- if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
|
||||
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
|
||||
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
|
||||
- if [ "$LITECOIN_SCRYPT" = 1 ]; then travis_retry sudo pip3 install litecoin_scrypt; fi
|
||||
- if [ "$FLO_SCRYPT" = 1 ]; then travis_retry sudo pip3 install flo_scrypt; fi
|
||||
before_script:
|
||||
- if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then contrib/devtools/commit-script-check.sh $TRAVIS_COMMIT_RANGE; fi
|
||||
- unset CC; unset CXX
|
||||
@ -66,7 +66,7 @@ script:
|
||||
- mkdir build && cd build
|
||||
- ../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
||||
- make distdir VERSION=$HOST
|
||||
- cd litecoin-$HOST
|
||||
- cd flo-$HOST
|
||||
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
||||
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
|
||||
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Contributing to Litecoin Core
|
||||
Contributing to FLO Core
|
||||
============================
|
||||
|
||||
The Litecoin Core project operates an open contributor model where anyone is
|
||||
The FLO Core project operates an open contributor model where anyone is
|
||||
welcome to contribute towards development in the form of peer review, testing
|
||||
and patches. This document explains the practical process and guidelines for
|
||||
contributing.
|
||||
@ -157,10 +157,10 @@ where possible keep them short, uncomplex and easy to verify.
|
||||
"Decision Making" Process
|
||||
-------------------------
|
||||
|
||||
The following applies to code changes to the Litecoin Core project, and is not to be confused with overall Litecoin
|
||||
The following applies to code changes to the FLO Core project, and is not to be confused with overall FLO
|
||||
Network Protocol consensus changes.
|
||||
|
||||
Whether a pull request is merged into Litecoin Core rests with the project merge
|
||||
Whether a pull request is merged into FLO Core rests with the project merge
|
||||
maintainers and ultimately the project lead.
|
||||
|
||||
Maintainers will take into consideration if a patch is in line with the general
|
||||
@ -178,7 +178,7 @@ In general, all pull requests must:
|
||||
- Where bugs are fixed, where possible, there should be unit tests
|
||||
demonstrating the bug and also proving the fix. This helps prevent regression.
|
||||
|
||||
Patches that change Litecoin consensus rules are considerably more involved than
|
||||
Patches that change FLO consensus rules are considerably more involved than
|
||||
normal because they affect the entire ecosystem and so must be preceded by
|
||||
extensive mailing list discussions and have a numbered BIP. While each case will
|
||||
be different, one should be prepared to expend more time and effort than for
|
||||
@ -219,7 +219,7 @@ higher in terms of discussion and peer review requirements, keeping in mind that
|
||||
mistakes could be very costly to the wider community. This includes refactoring
|
||||
of consensus critical code.
|
||||
|
||||
Where a patch set proposes to change the Litecoin consensus, it must have been
|
||||
Where a patch set proposes to change the FLO consensus, it must have been
|
||||
discussed extensively on the mailing list and IRC, be accompanied by a widely
|
||||
discussed BIP and have a generally widely perceived technical consensus of being
|
||||
a worthwhile change based on the judgement of the maintainers.
|
||||
@ -259,11 +259,11 @@ about:
|
||||
Release Policy
|
||||
--------------
|
||||
|
||||
The project leader is the release manager for each Litecoin Core release.
|
||||
The project leader is the release manager for each FLO Core release.
|
||||
|
||||
Copyright
|
||||
---------
|
||||
Copyright 2017 The Litecoin Core Developers
|
||||
Copyright 2017 The FLO Core Developers
|
||||
|
||||
- bitcoin: Copyright (c) 2009-2017 Bitcoin Core Developers (MIT License)
|
||||
|
||||
|
||||
10
Makefile.am
10
Makefile.am
@ -25,7 +25,7 @@ BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EX
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
|
||||
OSX_APP=Litecoin-Qt.app
|
||||
OSX_APP=FLO-Qt.app
|
||||
OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
|
||||
OSX_DMG = $(OSX_VOLNAME).dmg
|
||||
OSX_BACKGROUND_SVG=background.svg
|
||||
@ -92,7 +92,7 @@ $(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
|
||||
$(MKDIR_P) $(@D)
|
||||
$(INSTALL_DATA) $< $@
|
||||
|
||||
$(OSX_APP)/Contents/MacOS/Litecoin-Qt: $(BITCOIN_QT_BIN)
|
||||
$(OSX_APP)/Contents/MacOS/FLO-Qt: $(BITCOIN_QT_BIN)
|
||||
$(MKDIR_P) $(@D)
|
||||
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@
|
||||
|
||||
@ -102,7 +102,7 @@ $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings:
|
||||
|
||||
OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
|
||||
$(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
|
||||
$(OSX_APP)/Contents/MacOS/Litecoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
|
||||
$(OSX_APP)/Contents/MacOS/FLO-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
|
||||
|
||||
osx_volname:
|
||||
echo $(OSX_VOLNAME) >$@
|
||||
@ -127,7 +127,7 @@ $(APP_DIST_DIR)/Applications:
|
||||
@rm -f $@
|
||||
@cd $(@D); $(LN_S) /Applications $(@F)
|
||||
|
||||
$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Litecoin-Qt
|
||||
$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/FLO-Qt
|
||||
|
||||
$(OSX_DMG): $(APP_DIST_EXTRAS)
|
||||
$(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -apple -o $@ dist
|
||||
@ -142,7 +142,7 @@ $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE_DPIF
|
||||
$(APP_DIST_DIR)/.DS_Store: $(OSX_DSSTORE_GEN)
|
||||
$(PYTHON) $< "$@" "$(OSX_VOLNAME)"
|
||||
|
||||
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Litecoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
||||
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/FLO-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
||||
INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
|
||||
|
||||
deploydir: $(APP_DIST_EXTRAS)
|
||||
|
||||
25
README.md
25
README.md
@ -1,26 +1,26 @@
|
||||
Litecoin Core integration/staging tree
|
||||
FLO Core integration/staging tree
|
||||
=====================================
|
||||
|
||||
[](https://travis-ci.org/floblockchain/flo)
|
||||
|
||||
https://litecoin.org
|
||||
https://flo.cash
|
||||
|
||||
What is Litecoin?
|
||||
What is FLO?
|
||||
----------------
|
||||
|
||||
Litecoin is an experimental digital currency that enables instant payments to
|
||||
anyone, anywhere in the world. Litecoin uses peer-to-peer technology to operate
|
||||
FLO is an experimental digital currency that enables instant payments to
|
||||
anyone, anywhere in the world. FLO uses peer-to-peer technology to operate
|
||||
with no central authority: managing transactions and issuing money are carried
|
||||
out collectively by the network. Litecoin Core is the name of open source
|
||||
out collectively by the network. FLO Core is the name of open source
|
||||
software which enables the use of this currency.
|
||||
|
||||
For more information, as well as an immediately useable, binary version of
|
||||
the Litecoin Core software, see [https://litecoin.org](https://litecoin.org).
|
||||
the FLO Core software, see [https://flo.cash](https://flo.cash).
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Litecoin Core is released under the terms of the MIT license. See [COPYING](COPYING) for more
|
||||
FLO Core is released under the terms of the MIT license. See [COPYING](COPYING) for more
|
||||
information or see https://opensource.org/licenses/MIT.
|
||||
|
||||
Development Process
|
||||
@ -28,15 +28,10 @@ Development Process
|
||||
|
||||
The `master` branch is regularly built and tested, but is not guaranteed to be
|
||||
completely stable. [Tags](https://github.com/floblockchain/flo/tags) are created
|
||||
regularly to indicate new official, stable release versions of Litecoin Core.
|
||||
regularly to indicate new official, stable release versions of FLO Core.
|
||||
|
||||
The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
The developer [mailing list](https://groups.google.com/forum/#!forum/litecoin-dev)
|
||||
should be used to discuss complicated or controversial changes before working
|
||||
on a patch set.
|
||||
|
||||
Developer IRC can be found on Freenode at #litecoin-dev.
|
||||
|
||||
Testing
|
||||
-------
|
||||
@ -70,7 +65,7 @@ Translations
|
||||
------------
|
||||
|
||||
We only accept translation fixes that are submitted through [Bitcoin Core's Transifex page](https://www.transifex.com/projects/p/bitcoin/).
|
||||
Translations are converted to Litecoin periodically.
|
||||
Translations are converted to FLO periodically.
|
||||
|
||||
Translations are periodically pulled from Transifex and merged into the git repository. See the
|
||||
[translation process](doc/translation_process.md) for details on how this works.
|
||||
|
||||
20
configure.ac
20
configure.ac
@ -7,17 +7,17 @@ define(_CLIENT_VERSION_BUILD, 1)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2017)
|
||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Litecoin Core]])
|
||||
AC_INIT([Litecoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/floblockchain/flo/issues],[litecoin],[https://litecoin.org/])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[FLO Core]])
|
||||
AC_INIT([FLO Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/floblockchain/flo/issues],[flo],[https://flo.cash/])
|
||||
AC_CONFIG_SRCDIR([src/validation.cpp])
|
||||
AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([build-aux/m4])
|
||||
|
||||
BITCOIN_DAEMON_NAME=litecoind
|
||||
BITCOIN_GUI_NAME=litecoin-qt
|
||||
BITCOIN_CLI_NAME=litecoin-cli
|
||||
BITCOIN_TX_NAME=litecoin-tx
|
||||
BITCOIN_DAEMON_NAME=flod
|
||||
BITCOIN_GUI_NAME=flo-qt
|
||||
BITCOIN_CLI_NAME=flo-cli
|
||||
BITCOIN_TX_NAME=flo-tx
|
||||
|
||||
dnl Unless the user specified ARFLAGS, force it to be cr
|
||||
AC_ARG_VAR(ARFLAGS, [Flags for the archiver, defaults to <cr> if not set])
|
||||
@ -1036,11 +1036,11 @@ AC_SUBST(UNIVALUE_LIBS)
|
||||
|
||||
BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path)
|
||||
|
||||
AC_MSG_CHECKING([whether to build litecoind])
|
||||
AC_MSG_CHECKING([whether to build flod])
|
||||
AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes])
|
||||
AC_MSG_RESULT($build_bitcoind)
|
||||
|
||||
AC_MSG_CHECKING([whether to build utils (litecoin-cli litecoin-tx)])
|
||||
AC_MSG_CHECKING([whether to build utils (flo-cli flo-tx)])
|
||||
AM_CONDITIONAL([BUILD_BITCOIN_UTILS], [test x$build_bitcoin_utils = xyes])
|
||||
AC_MSG_RESULT($build_bitcoin_utils)
|
||||
|
||||
@ -1141,7 +1141,7 @@ if test x$bitcoin_enable_qt != xno; then
|
||||
AC_MSG_WARN("xgettext is required to update qt translations")
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([whether to build test_litecoin-qt])
|
||||
AC_MSG_CHECKING([whether to build test_flo-qt])
|
||||
if test x$use_gui_tests$bitcoin_enable_qt_test = xyesyes; then
|
||||
AC_MSG_RESULT([yes])
|
||||
BUILD_TEST_QT="yes"
|
||||
@ -1152,7 +1152,7 @@ fi
|
||||
|
||||
AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"])
|
||||
|
||||
AC_MSG_CHECKING([whether to build test_litecoin])
|
||||
AC_MSG_CHECKING([whether to build test_flo])
|
||||
if test x$use_tests = xyes; then
|
||||
AC_MSG_RESULT([yes])
|
||||
BUILD_TEST="yes"
|
||||
|
||||
@ -195,7 +195,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
dec_tx = self.nodes[2].decoderawtransaction(rawtx)
|
||||
assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
|
||||
|
||||
assert_raises_jsonrpc(-5, "changeAddress must be a valid litecoin address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
|
||||
assert_raises_jsonrpc(-5, "changeAddress must be a valid flo address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
|
||||
|
||||
############################################################
|
||||
# test a fundrawtransaction with a provided change address #
|
||||
|
||||
@ -25,10 +25,10 @@ class HTTPBasicsTest (BitcoinTestFramework):
|
||||
rpcauth2 = "rpcauth=rt2:f8607b1a88861fac29dfccf9b52ff9f$ff36a0c23c8c62b4846112e50fa888416e94c17bfd4c42f88fd8f55ec6a3137e"
|
||||
rpcuser = "rpcuser=rpcuser💻"
|
||||
rpcpassword = "rpcpassword=rpcpassword🔑"
|
||||
with open(os.path.join(self.options.tmpdir+"/node0", "litecoin.conf"), 'a', encoding='utf8') as f:
|
||||
with open(os.path.join(self.options.tmpdir+"/node0", "flo.conf"), 'a', encoding='utf8') as f:
|
||||
f.write(rpcauth+"\n")
|
||||
f.write(rpcauth2+"\n")
|
||||
with open(os.path.join(self.options.tmpdir+"/node1", "litecoin.conf"), 'a', encoding='utf8') as f:
|
||||
with open(os.path.join(self.options.tmpdir+"/node1", "flo.conf"), 'a', encoding='utf8') as f:
|
||||
f.write(rpcuser+"\n")
|
||||
f.write(rpcpassword+"\n")
|
||||
|
||||
|
||||
@ -108,11 +108,11 @@ class BitcoinTestFramework(object):
|
||||
|
||||
parser = optparse.OptionParser(usage="%prog [options]")
|
||||
parser.add_option("--nocleanup", dest="nocleanup", default=False, action="store_true",
|
||||
help="Leave litecoinds and test.* datadir on exit or error")
|
||||
help="Leave flods and test.* datadir on exit or error")
|
||||
parser.add_option("--noshutdown", dest="noshutdown", default=False, action="store_true",
|
||||
help="Don't stop litecoinds after the test execution")
|
||||
help="Don't stop flods after the test execution")
|
||||
parser.add_option("--srcdir", dest="srcdir", default=os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../../../src"),
|
||||
help="Source directory containing litecoind/litecoin-cli (default: %default)")
|
||||
help="Source directory containing flod/flo-cli (default: %default)")
|
||||
parser.add_option("--cachedir", dest="cachedir", default=os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../../cache"),
|
||||
help="Directory for caching pregenerated datadirs")
|
||||
parser.add_option("--tmpdir", dest="tmpdir", help="Root directory for datadirs")
|
||||
@ -174,7 +174,7 @@ class BitcoinTestFramework(object):
|
||||
if self.nodes:
|
||||
self.stop_nodes()
|
||||
else:
|
||||
self.log.info("Note: litecoinds were not stopped and may still be running")
|
||||
self.log.info("Note: flods were not stopped and may still be running")
|
||||
|
||||
if not self.options.nocleanup and not self.options.noshutdown and success != TestStatus.FAILED:
|
||||
self.log.info("Cleaning up")
|
||||
@ -215,12 +215,12 @@ class BitcoinTestFramework(object):
|
||||
|
||||
datadir = os.path.join(dirname, "node" + str(i))
|
||||
if binary is None:
|
||||
binary = os.getenv("LITECOIND", "litecoind")
|
||||
binary = os.getenv("FLOD", "flod")
|
||||
args = [binary, "-datadir=" + datadir, "-server", "-keypool=1", "-discover=0", "-rest", "-logtimemicros", "-debug", "-debugexclude=libevent", "-debugexclude=leveldb", "-mocktime=" + str(self.mocktime), "-uacomment=testnode%d" % i]
|
||||
if extra_args is not None:
|
||||
args.extend(extra_args)
|
||||
self.bitcoind_processes[i] = subprocess.Popen(args, stderr=stderr)
|
||||
self.log.debug("initialize_chain: litecoind started, waiting for RPC to come up")
|
||||
self.log.debug("initialize_chain: flod started, waiting for RPC to come up")
|
||||
self._wait_for_bitcoind_start(self.bitcoind_processes[i], datadir, i, rpchost)
|
||||
self.log.debug("initialize_chain: RPC successfully started")
|
||||
proxy = get_rpc_proxy(rpc_url(datadir, i, rpchost), i, timeout=timewait)
|
||||
@ -278,7 +278,7 @@ class BitcoinTestFramework(object):
|
||||
self.start_node(i, dirname, extra_args, stderr=log_stderr)
|
||||
self.stop_node(i)
|
||||
except Exception as e:
|
||||
assert 'litecoind exited' in str(e) # node must have shutdown
|
||||
assert 'flod exited' in str(e) # node must have shutdown
|
||||
if expected_msg is not None:
|
||||
log_stderr.seek(0)
|
||||
stderr = log_stderr.read().decode('utf-8')
|
||||
@ -286,9 +286,9 @@ class BitcoinTestFramework(object):
|
||||
raise AssertionError("Expected error \"" + expected_msg + "\" not found in:\n" + stderr)
|
||||
else:
|
||||
if expected_msg is None:
|
||||
assert_msg = "litecoind should have exited with an error"
|
||||
assert_msg = "flod should have exited with an error"
|
||||
else:
|
||||
assert_msg = "litecoind should have exited with expected error " + expected_msg
|
||||
assert_msg = "flod should have exited with expected error " + expected_msg
|
||||
raise AssertionError(assert_msg)
|
||||
|
||||
def wait_for_node_exit(self, i, timeout):
|
||||
@ -386,11 +386,11 @@ class BitcoinTestFramework(object):
|
||||
# Create cache directories, run bitcoinds:
|
||||
for i in range(MAX_NODES):
|
||||
datadir = initialize_datadir(cachedir, i)
|
||||
args = [os.getenv("LITECOIND", "litecoind"), "-server", "-keypool=1", "-datadir=" + datadir, "-discover=0"]
|
||||
args = [os.getenv("FLOD", "flod"), "-server", "-keypool=1", "-datadir=" + datadir, "-discover=0"]
|
||||
if i > 0:
|
||||
args.append("-connect=127.0.0.1:" + str(p2p_port(0)))
|
||||
self.bitcoind_processes[i] = subprocess.Popen(args)
|
||||
self.log.debug("initialize_chain: litecoind started, waiting for RPC to come up")
|
||||
self.log.debug("initialize_chain: flod started, waiting for RPC to come up")
|
||||
self._wait_for_bitcoind_start(self.bitcoind_processes[i], datadir, i)
|
||||
self.log.debug("initialize_chain: RPC successfully started")
|
||||
|
||||
@ -452,7 +452,7 @@ class BitcoinTestFramework(object):
|
||||
Raise an exception if bitcoind exits during initialization."""
|
||||
while True:
|
||||
if process.poll() is not None:
|
||||
raise Exception('litecoind exited with status %i during initialization' % process.returncode)
|
||||
raise Exception('flod exited with status %i during initialization' % process.returncode)
|
||||
try:
|
||||
# Check if .cookie file to be created
|
||||
rpc = get_rpc_proxy(rpc_url(datadir, i, rpchost), i, coveragedir=self.options.coveragedir)
|
||||
@ -484,11 +484,11 @@ class ComparisonTestFramework(BitcoinTestFramework):
|
||||
|
||||
def add_options(self, parser):
|
||||
parser.add_option("--testbinary", dest="testbinary",
|
||||
default=os.getenv("LITECOIND", "litecoind"),
|
||||
help="litecoind binary to test")
|
||||
default=os.getenv("FLOD", "flod"),
|
||||
help="flod binary to test")
|
||||
parser.add_option("--refbinary", dest="refbinary",
|
||||
default=os.getenv("LITECOIND", "litecoind"),
|
||||
help="litecoind binary to use for reference nodes (if any)")
|
||||
default=os.getenv("FLOD", "flod"),
|
||||
help="flod binary to use for reference nodes (if any)")
|
||||
|
||||
def setup_network(self):
|
||||
extra_args = [['-whitelist=127.0.0.1']]*self.num_nodes
|
||||
|
||||
@ -222,7 +222,7 @@ def initialize_datadir(dirname, n):
|
||||
datadir = os.path.join(dirname, "node" + str(n))
|
||||
if not os.path.isdir(datadir):
|
||||
os.makedirs(datadir)
|
||||
with open(os.path.join(datadir, "litecoin.conf"), 'w', encoding='utf8') as f:
|
||||
with open(os.path.join(datadir, "flo.conf"), 'w', encoding='utf8') as f:
|
||||
f.write("regtest=1\n")
|
||||
f.write("port=" + str(p2p_port(n)) + "\n")
|
||||
f.write("rpcport=" + str(rpc_port(n)) + "\n")
|
||||
@ -235,8 +235,8 @@ def get_datadir_path(dirname, n):
|
||||
def get_auth_cookie(datadir, n):
|
||||
user = None
|
||||
password = None
|
||||
if os.path.isfile(os.path.join(datadir, "litecoin.conf")):
|
||||
with open(os.path.join(datadir, "litecoin.conf"), 'r', encoding='utf8') as f:
|
||||
if os.path.isfile(os.path.join(datadir, "flo.conf")):
|
||||
with open(os.path.join(datadir, "flo.conf"), 'r', encoding='utf8') as f:
|
||||
for line in f:
|
||||
if line.startswith("rpcuser="):
|
||||
assert user is None # Ensure that there is only one rpcuser line
|
||||
|
||||
@ -197,7 +197,7 @@ def main():
|
||||
logging.basicConfig(format='%(message)s', level=logging_level)
|
||||
|
||||
# Create base test directory
|
||||
tmpdir = "%s/litecoin_test_runner_%s" % (args.tmpdirprefix, datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
|
||||
tmpdir = "%s/flo_test_runner_%s" % (args.tmpdirprefix, datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
|
||||
os.makedirs(tmpdir)
|
||||
|
||||
logging.debug("Temporary test directory at %s" % tmpdir)
|
||||
@ -213,7 +213,7 @@ def main():
|
||||
sys.exit(0)
|
||||
|
||||
if not (enable_wallet and enable_utils and enable_bitcoind):
|
||||
print("No functional tests to run. Wallet, utils, and litecoind must all be enabled")
|
||||
print("No functional tests to run. Wallet, utils, and flod must all be enabled")
|
||||
print("Rerun `configure` with -enable-wallet, -with-utils and -with-daemon and rerun make")
|
||||
sys.exit(0)
|
||||
|
||||
@ -267,8 +267,8 @@ def main():
|
||||
def run_tests(test_list, src_dir, build_dir, exeext, tmpdir, jobs=1, enable_coverage=False, args=[]):
|
||||
# Warn if bitcoind is already running (unix only)
|
||||
try:
|
||||
if subprocess.check_output(["pidof", "litecoind"]) is not None:
|
||||
print("%sWARNING!%s There is already a litecoind process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0]))
|
||||
if subprocess.check_output(["pidof", "flod"]) is not None:
|
||||
print("%sWARNING!%s There is already a flod process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0]))
|
||||
except (OSError, subprocess.SubprocessError):
|
||||
pass
|
||||
|
||||
@ -278,8 +278,8 @@ def run_tests(test_list, src_dir, build_dir, exeext, tmpdir, jobs=1, enable_cove
|
||||
print("%sWARNING!%s There is a cache directory here: %s. If tests fail unexpectedly, try deleting the cache directory." % (BOLD[1], BOLD[0], cache_dir))
|
||||
|
||||
#Set env vars
|
||||
if "LITECOIND" not in os.environ:
|
||||
os.environ["LITECOIND"] = build_dir + '/src/litecoind' + exeext
|
||||
if "FLOD" not in os.environ:
|
||||
os.environ["FLOD"] = build_dir + '/src/flod' + exeext
|
||||
|
||||
tests_dir = src_dir + '/test/functional/'
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
config.read_file(open(self.options.configfile))
|
||||
|
||||
if not config["components"].getboolean("ENABLE_ZMQ"):
|
||||
raise SkipTest("litecoind has not been built with zmq enabled.")
|
||||
raise SkipTest("flod has not been built with zmq enabled.")
|
||||
|
||||
self.zmqContext = zmq.Context()
|
||||
self.zmqSubSocket = self.zmqContext.socket(zmq.SUB)
|
||||
|
||||
@ -1,82 +1,82 @@
|
||||
[
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "nversion=1"],
|
||||
"output_cmp": "blanktxv1.hex",
|
||||
"description": "Creates a blank v1 transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json","-create", "nversion=1"],
|
||||
"output_cmp": "blanktxv1.json",
|
||||
"description": "Creates a blank v1 transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-"],
|
||||
"input": "blanktxv2.hex",
|
||||
"output_cmp": "blanktxv2.hex",
|
||||
"description": "Creates a blank transaction when nothing is piped into litecoin-tx"
|
||||
"description": "Creates a blank transaction when nothing is piped into flo-tx"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json","-create"],
|
||||
"output_cmp": "blanktxv2.json",
|
||||
"description": "Creates a blank transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json","-"],
|
||||
"input": "blanktxv2.hex",
|
||||
"output_cmp": "blanktxv2.json",
|
||||
"description": "Creates a blank transaction when nothing is piped into litecoin-tx (output in json)"
|
||||
"description": "Creates a blank transaction when nothing is piped into flo-tx (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-", "delin=1"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-delin1-out.hex",
|
||||
"description": "Deletes a single input from a transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-", "delin=1"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-delin1-out.json",
|
||||
"description": "Deletes a single input from a transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-", "delin=31"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"return_code": 1,
|
||||
"error_txt": "error: Invalid TX input index '31'",
|
||||
"description": "Attempts to delete an input with a bad index from a transaction. Expected to fail."
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-", "delout=1"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-delout1-out.hex",
|
||||
"description": "Deletes a single output from a transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-", "delout=1"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-delout1-out.json",
|
||||
"description": "Deletes a single output from a transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-", "delout=2"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"return_code": 1,
|
||||
"error_txt": "error: Invalid TX output index '2'",
|
||||
"description": "Attempts to delete an output with a bad index from a transaction. Expected to fail."
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-", "locktime=317000"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-locktime317000-out.hex",
|
||||
"description": "Adds an nlocktime to a transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-", "locktime=317000"],
|
||||
"input": "tx394b54bb.hex",
|
||||
"output_cmp": "tt-locktime317000-out.json",
|
||||
"description": "Adds an nlocktime to a transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"outaddr=1"],
|
||||
@ -84,7 +84,7 @@
|
||||
"error_txt": "error: TX output missing or too many separators",
|
||||
"description": "Malformed outaddr argument (no address specified). Expected to fail."
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"outaddr=1:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o:garbage"],
|
||||
@ -92,7 +92,7 @@
|
||||
"error_txt": "error: TX output missing or too many separators",
|
||||
"description": "Malformed outaddr argument (too many separators). Expected to fail."
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"outpubkey=0"],
|
||||
@ -100,7 +100,7 @@
|
||||
"error_txt": "error: TX output missing or too many separators",
|
||||
"description": "Malformed outpubkey argument (no pubkey specified). Expected to fail."
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W:non53nse"],
|
||||
@ -108,7 +108,7 @@
|
||||
"error_txt": "error: TX output missing or too many separators",
|
||||
"description": "Malformed outpubkey argument (too many separators). Expected to fail."
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=5ee62e3f7757f5fd995b2fa1bdb5b744298146098d5de92959ec4b52dc77191e:1",
|
||||
@ -119,7 +119,7 @@
|
||||
"output_cmp": "txcreate1.hex",
|
||||
"description": "Creates a new transaction with three inputs and two outputs"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json",
|
||||
"-create",
|
||||
@ -131,67 +131,67 @@
|
||||
"output_cmp": "txcreate1.json",
|
||||
"description": "Creates a new transaction with three inputs and two outputs (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outscript=0:"],
|
||||
"output_cmp": "txcreate2.hex",
|
||||
"description": "Creates a new transaction with a single empty output script"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outscript=0:"],
|
||||
"output_cmp": "txcreate2.json",
|
||||
"description": "Creates a new transaction with a single empty output script (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["02000000000100000000000000000000000000"],
|
||||
"output_cmp": "txcreate2.hex",
|
||||
"description": "Parses a transation with no inputs and a single output script"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "02000000000100000000000000000000000000"],
|
||||
"output_cmp": "txcreate2.json",
|
||||
"description": "Parses a transation with no inputs and a single output script (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outscript=0:OP_DROP", "nversion=1"],
|
||||
"output_cmp": "txcreatescript1.hex",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outscript=0:OP_DROP", "nversion=1"],
|
||||
"output_cmp": "txcreatescript1.json",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outscript=0:OP_DROP:S", "nversion=1"],
|
||||
"output_cmp": "txcreatescript2.hex",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) in a P2SH"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outscript=0:OP_DROP:S", "nversion=1"],
|
||||
"output_cmp": "txcreatescript2.json",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) in a P2SH (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outscript=0:OP_DROP:W", "nversion=1"],
|
||||
"output_cmp": "txcreatescript3.hex",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outscript=0:OP_DROP:W", "nversion=1"],
|
||||
"output_cmp": "txcreatescript3.json",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outscript=0:OP_DROP:WS", "nversion=1"],
|
||||
"output_cmp": "txcreatescript4.hex",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH, wrapped in a P2SH"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outscript=0:OP_DROP:WS", "nversion=1"],
|
||||
"output_cmp": "txcreatescript4.json",
|
||||
"description": "Create a new transaction with a single output script (OP_DROP) in a P2SH, wrapped in a P2SH (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create", "nversion=1",
|
||||
"in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0",
|
||||
@ -202,7 +202,7 @@
|
||||
"output_cmp": "txcreatesignv1.hex",
|
||||
"description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json",
|
||||
"-create", "nversion=1",
|
||||
@ -214,7 +214,7 @@
|
||||
"output_cmp": "txcreatesignv1.json",
|
||||
"description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0",
|
||||
@ -225,43 +225,43 @@
|
||||
"output_cmp": "txcreatesignv2.hex",
|
||||
"description": "Creates a new transaction with a single input and a single output, and then signs the transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey1.hex",
|
||||
"description": "Creates a new transaction with a single pay-to-pubkey output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey1.json",
|
||||
"description": "Creates a new transaction with a single pay-to-pubkey output (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey2.hex",
|
||||
"description": "Creates a new transaction with a single pay-to-witness-pubkey output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey2.json",
|
||||
"description": "Creates a new transaction with a single pay-to-witness-pubkey output (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey3.hex",
|
||||
"description": "Creates a new transaction with a single pay-to-witness-pubkey, wrapped in P2SH output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey3.json",
|
||||
"description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
|
||||
@ -270,7 +270,7 @@
|
||||
"error_txt": "error: invalid TX output data",
|
||||
"description": "Attempts to create a new transaction with one input and an output with malformed hex data. Expected to fail"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
|
||||
@ -279,7 +279,7 @@
|
||||
"error_txt": "error: invalid TX output data",
|
||||
"description": "Attempts to create a new transaction with one input and an output with no value and malformed hex data. Expected to fail"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
|
||||
@ -288,7 +288,7 @@
|
||||
"output_cmp": "txcreatedata1.hex",
|
||||
"description": "Creates a new transaction with one input, one address output and one data output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json",
|
||||
"-create", "nversion=1",
|
||||
@ -298,7 +298,7 @@
|
||||
"output_cmp": "txcreatedata1.json",
|
||||
"description": "Creates a new v1 transaction with one input, one address output and one data output (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
|
||||
@ -307,7 +307,7 @@
|
||||
"output_cmp": "txcreatedata2.hex",
|
||||
"description": "Creates a new transaction with one input, one address output and one data (zero value) output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json",
|
||||
"-create",
|
||||
@ -317,7 +317,7 @@
|
||||
"output_cmp": "txcreatedata2.json",
|
||||
"description": "Creates a new transaction with one input, one address output and one data (zero value) output (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:4294967293",
|
||||
@ -325,7 +325,7 @@
|
||||
"output_cmp": "txcreatedata_seq0.hex",
|
||||
"description": "Creates a new transaction with one input with sequence number and one address output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json",
|
||||
"-create",
|
||||
@ -334,14 +334,14 @@
|
||||
"output_cmp": "txcreatedata_seq0.json",
|
||||
"description": "Creates a new transaction with one input with sequence number and one address output (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:1"],
|
||||
"output_cmp": "txcreatedata_seq1.hex",
|
||||
"description": "Adds a new input with sequence number to a transaction"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args":
|
||||
["-json",
|
||||
"01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000",
|
||||
@ -349,42 +349,42 @@
|
||||
"output_cmp": "txcreatedata_seq1.json",
|
||||
"description": "Adds a new input with sequence number to a transaction (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig1.hex",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig1.json",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig output (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig2.hex",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig2.json",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig3.hex",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig3.json",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output (output in json)"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig4.hex",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH"
|
||||
},
|
||||
{ "exec": "./litecoin-tx",
|
||||
{ "exec": "./flo-tx",
|
||||
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"],
|
||||
"output_cmp": "txcreatemultisig4.json",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH (output in json)"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user