From 63b47191796e31a46efdf9b4cad50a0be6811c4c Mon Sep 17 00:00:00 2001 From: Panu Date: Sat, 20 Jul 2019 00:37:33 +0700 Subject: [PATCH] Bump Zcoin to 0.13.8.2 and support sigma transaction (#235) * Added support for sigma * Bump Zcoin to 0.13.7.10 * Change exclude files list --- bchain/coins/xzc/zcoinparser.go | 18 +++++++++++++----- bchain/coins/xzc/zcoinparser_test.go | 13 +++++++++++++ configs/coins/zcoin.json | 19 ++++++------------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/bchain/coins/xzc/zcoinparser.go b/bchain/coins/xzc/zcoinparser.go index f4f1df9a..6a67bae6 100644 --- a/bchain/coins/xzc/zcoinparser.go +++ b/bchain/coins/xzc/zcoinparser.go @@ -16,6 +16,8 @@ import ( const ( OpZeroCoinMint = 0xc1 OpZeroCoinSpend = 0xc2 + OpSigmaMint = 0xc3 + OpSigmaSpend = 0xc4 MainnetMagic wire.BitcoinNet = 0xe3d9fef1 TestnetMagic wire.BitcoinNet = 0xcffcbeea @@ -96,12 +98,18 @@ func GetChainParams(chain string) *chaincfg.Params { // GetAddressesFromAddrDesc returns addresses for given address descriptor with flag if the addresses are searchable func (p *ZcoinParser) GetAddressesFromAddrDesc(addrDesc bchain.AddressDescriptor) ([]string, bool, error) { - if len(addrDesc) > 0 && addrDesc[0] == OpZeroCoinMint { - return []string{"Zeromint"}, false, nil - } - if len(addrDesc) > 0 && addrDesc[0] == OpZeroCoinSpend { - return []string{"Zerospend"}, false, nil + if len(addrDesc) > 0 { + switch addrDesc[0] { + case OpZeroCoinMint: + return []string{"Zeromint"}, false, nil + case OpZeroCoinSpend: + return []string{"Zerospend"}, false, nil + case OpSigmaMint: + return []string{"Sigmamint"}, false, nil + case OpSigmaSpend: + return []string{"Sigmaspend"}, false, nil + } } return p.OutputScriptToAddressesFunc(addrDesc) diff --git a/bchain/coins/xzc/zcoinparser_test.go b/bchain/coins/xzc/zcoinparser_test.go index cb33fd70..cdd178f2 100644 --- a/bchain/coins/xzc/zcoinparser_test.go +++ b/bchain/coins/xzc/zcoinparser_test.go @@ -340,6 +340,12 @@ func TestGetAddrDescFromVoutForMint(t *testing.T) { want: "c10280004c80f767f3ee79953c67a7ed386dcccf1243619eb4bbbe414a3982dd94a83c1b69ac52d6ab3b653a3e05c4e4516c8dfe1e58ada40461bc5835a4a0d0387a51c29ac11b72ae25bbcdef745f50ad08f08b3e9bc2c31a35444398a490e65ac090e9f341f1abdebe47e57e8237ac25d098e951b4164a35caea29f30acb50b12e4425df28", wantErr: false, }, + { + name: "OP_SIGMAMINT", + args: args{vout: bchain.Vout{ScriptPubKey: bchain.ScriptPubKey{Hex: "c317dcee5b8b2c5b79728abc3a39abc54682b31a4e18f5abb6f34dc8089544763b0000"}}}, + want: "c317dcee5b8b2c5b79728abc3a39abc54682b31a4e18f5abb6f34dc8089544763b0000", + wantErr: false, + }, } parser := NewZcoinParser(GetChainParams("main"), &btc.Configuration{}) @@ -383,6 +389,13 @@ func TestGetAddressesFromAddrDescForMint(t *testing.T) { want2: false, wantErr: false, }, + { + name: "OP_SIGMAMINT size hex", + args: args{script: "c317dcee5b8b2c5b79728abc3a39abc54682b31a4e18f5abb6f34dc8089544763b0000"}, + want: []string{"Sigmamint"}, + want2: false, + wantErr: false, + }, } parser := NewZcoinParser(GetChainParams("main"), &btc.Configuration{}) diff --git a/configs/coins/zcoin.json b/configs/coins/zcoin.json index 600017d7..8127ada0 100644 --- a/configs/coins/zcoin.json +++ b/configs/coins/zcoin.json @@ -22,25 +22,18 @@ "package_name": "backend-zcoin", "package_revision": "satoshilabs-1", "system_user": "zcoin", - "version": "0.13.7.10", - "binary_url": "https://github.com/zcoinofficial/zcoin/releases/download/v0.13.7.10/zcoin-0.13.7.10-linux64.tar.gz", + "version": "0.13.8.2", + "binary_url": "https://github.com/zcoinofficial/zcoin/releases/download/v0.13.8.2/zcoin-0.13.8.2-linux64.tar.gz", "verification_type": "sha256", - "verification_source": "04b11d4bed070c0131e3b546e5ebdddf174121dd6f39cc02f7f241bc56fb3a8c", + "verification_source": "468a7b5c030a04e4c38ce23821d331f215ccf0665dec10c1001b357a8fbe196c", "extract_command": "tar -C backend --strip 1 -xf", "exclude_files": [ - "bin/test_bitcoin", - "bin/tor", - "bin/tor-gencert", - "bin/tor-resolve", - "bin/torify", "bin/zcoin-qt", - "etc/tor/torrc.sample", + "bin/zcoin-tx", "include/bitcoinconsensus.h", "lib/libbitcoinconsensus.so", "lib/libbitcoinconsensus.so.0", - "lib/libbitcoinconsensus.so.0.0.0", - "share/tor/geoip", - "share/tor/geoip6" + "lib/libbitcoinconsensus.so.0.0.0" ], "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/zcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", @@ -75,4 +68,4 @@ "package_maintainer": "Putta Khunchalee", "package_maintainer_email": "putta@zcoin.io" } -} \ No newline at end of file +}