mirror of
https://github.com/bitcoinj/bitcoinj.git
synced 2025-03-10 17:26:28 +01:00
ScriptPatternTest: move p2shScriptHashFromKeys() from LegacyAddressTest
This commit is contained in:
parent
04d4443d08
commit
566cd102b2
2 changed files with 20 additions and 18 deletions
|
@ -21,11 +21,8 @@ import nl.jqno.equalsverifier.EqualsVerifier;
|
|||
import nl.jqno.equalsverifier.Warning;
|
||||
import org.bitcoinj.base.exceptions.AddressFormatException;
|
||||
import org.bitcoinj.base.utils.ByteUtils;
|
||||
import org.bitcoinj.crypto.DumpedPrivateKey;
|
||||
import org.bitcoinj.crypto.ECKey;
|
||||
import org.bitcoinj.core.NetworkParameters;
|
||||
import org.bitcoinj.params.Networks;
|
||||
import org.bitcoinj.script.Script;
|
||||
import org.bitcoinj.script.ScriptBuilder;
|
||||
import org.bitcoinj.script.ScriptPattern;
|
||||
import org.bitcoinj.testing.MockAltNetworkParams;
|
||||
|
@ -228,21 +225,6 @@ public class LegacyAddressTest {
|
|||
assertEquals("35b9vsyH1KoFT5a5KtrKusaCcPLkiSo1tU", c.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void p2shScriptHashFromKeys() {
|
||||
// import some keys from this example: https://gist.github.com/gavinandresen/3966071
|
||||
ECKey key1 = DumpedPrivateKey.fromBase58(MAINNET, "5JaTXbAUmfPYZFRwrYaALK48fN6sFJp4rHqq2QSXs8ucfpE4yQU").getKey();
|
||||
key1 = ECKey.fromPrivate(key1.getPrivKeyBytes());
|
||||
ECKey key2 = DumpedPrivateKey.fromBase58(MAINNET, "5Jb7fCeh1Wtm4yBBg3q3XbT6B525i17kVhy3vMC9AqfR6FH2qGk").getKey();
|
||||
key2 = ECKey.fromPrivate(key2.getPrivKeyBytes());
|
||||
ECKey key3 = DumpedPrivateKey.fromBase58(MAINNET, "5JFjmGo5Fww9p8gvx48qBYDJNAzR9pmH5S389axMtDyPT8ddqmw").getKey();
|
||||
key3 = ECKey.fromPrivate(key3.getPrivKeyBytes());
|
||||
List<ECKey> keys = Arrays.asList(key1, key2, key3);
|
||||
Script p2shScript = ScriptBuilder.createP2SHOutputScript(2, keys);
|
||||
byte[] p2shScriptHash = ScriptPattern.extractHashFromP2SH(p2shScript);
|
||||
assertEquals("defdb71910720a2c854529019189228b4245eddd", ByteUtils.formatHex(p2shScriptHash));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void p2shAddressFromScriptHash() {
|
||||
byte[] p2shScriptHash = ByteUtils.parseHex("defdb71910720a2c854529019189228b4245eddd");
|
||||
|
|
|
@ -19,12 +19,17 @@
|
|||
package org.bitcoinj.script;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import org.bitcoinj.base.utils.ByteUtils;
|
||||
import org.bitcoinj.crypto.DumpedPrivateKey;
|
||||
import org.bitcoinj.crypto.ECKey;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static org.bitcoinj.base.BitcoinNetwork.MAINNET;
|
||||
import static org.bitcoinj.script.ScriptOpCodes.OP_CHECKMULTISIG;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
|
@ -92,4 +97,19 @@ public class ScriptPatternTest {
|
|||
ScriptBuilder.createOpReturnScript(new byte[10])
|
||||
));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void p2shScriptHashFromKeys() {
|
||||
// import some keys from this example: https://gist.github.com/gavinandresen/3966071
|
||||
ECKey key1 = DumpedPrivateKey.fromBase58(MAINNET, "5JaTXbAUmfPYZFRwrYaALK48fN6sFJp4rHqq2QSXs8ucfpE4yQU").getKey();
|
||||
key1 = ECKey.fromPrivate(key1.getPrivKeyBytes());
|
||||
ECKey key2 = DumpedPrivateKey.fromBase58(MAINNET, "5Jb7fCeh1Wtm4yBBg3q3XbT6B525i17kVhy3vMC9AqfR6FH2qGk").getKey();
|
||||
key2 = ECKey.fromPrivate(key2.getPrivKeyBytes());
|
||||
ECKey key3 = DumpedPrivateKey.fromBase58(MAINNET, "5JFjmGo5Fww9p8gvx48qBYDJNAzR9pmH5S389axMtDyPT8ddqmw").getKey();
|
||||
key3 = ECKey.fromPrivate(key3.getPrivKeyBytes());
|
||||
List<ECKey> keys = Arrays.asList(key1, key2, key3);
|
||||
Script p2shScript = ScriptBuilder.createP2SHOutputScript(2, keys);
|
||||
byte[] p2shScriptHash = ScriptPattern.extractHashFromP2SH(p2shScript);
|
||||
assertEquals("defdb71910720a2c854529019189228b4245eddd", ByteUtils.formatHex(p2shScriptHash));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue