test_class.declarator: sigProg = "473    04402202b4da291cc39faf8433911988f9f49fc5c995812ca2f94db61468839c228c3e90220628bff3ff32ec95825092fa051cba28558a981fcf59ce184b14f2e215e69106701410414b38f4be3bb9fa0f4f32b74af07152b2f2f630bc02122a491137b6c523e46f18a0d5034418966f93dfc37cc3739ef7b2007213a302b7fba161557f4ad644a1c"
test_class.modifier: static final
test_class.original_string: static final String sigProg = "473    04402202b4da291cc39faf8433911988f9f49fc5c995812ca2f94db61468839c228c3e90220628bff3ff32ec95825092fa051cba28558a981fcf59ce184b14f2e215e69106701410414b38f4be3bb9fa0f4f32b74af07152b2f2f630bc02122a491137b6c523e46f18a0d5034418966f93dfc37cc3739ef7b2007213a302b7fba161557f4ad644a1c";
test_class.type: String
test_class.var_name: sigProg
test_class.declarator: pubkeyProg = "76a91433e81a941e64cda12c6a299ed322ddbdd03f8d0e88ac"
test_class.modifier: static final
test_class.original_string: static final String pubkeyProg = "76a91433e81a941e64cda12c6a299ed322ddbdd03f8d0e88ac";
test_class.type: String
test_class.var_name: pubkeyProg
test_class.declarator: params = TestNet3Params.get()
test_class.modifier: static final
test_class.original_string: static final NetworkParameters params = TestNet3Params.get();
test_class.type: NetworkParameters
test_class.var_name: params
test_class.file: core/src/test/java/com/google/bitcoin/script/ScriptTest.java
test_class.identifier: ScriptTest
test_case.body: @Test
      public void testP2SHOutputScript() throws Exception {
        Address p2shAddress = new Address(MainNetParams.get(), "35b9vsyH1KoFT5a5KtrKusaCcPLkiSo1tU");
        assertTrue(ScriptBuilder.createOutputScript(p2shAddress).isSentToP2SH());
      }
test_case.class_method_signature: ScriptTest.testP2SHOutputScript()
test_case.full_signature: @Test public void testP2SHOutputScript()
test_case.identifier: testP2SHOutputScript
test_case.invocations: get assertTrue isSentToP2SH createOutputScript
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testP2SHOutputScript()
focal_class.declarator: log = LoggerFactory.getLogger(Script.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(Script.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: MAX_SCRIPT_ELEMENT_SIZE = 520
focal_class.modifier: public static final
focal_class.original_string: public static final long MAX_SCRIPT_ELEMENT_SIZE = 520;
focal_class.type: long
focal_class.var_name: MAX_SCRIPT_ELEMENT_SIZE
focal_class.declarator: chunks
focal_class.modifier: protected
focal_class.original_string: protected List<ScriptChunk> chunks;
focal_class.type: List<ScriptChunk>
focal_class.var_name: chunks
focal_class.declarator: program
focal_class.modifier: protected
focal_class.original_string: protected byte[] program;
focal_class.type: byte[]
focal_class.var_name: program
focal_class.declarator: creationTimeSeconds
focal_class.modifier: private
focal_class.original_string: private long creationTimeSeconds;
focal_class.type: long
focal_class.var_name: creationTimeSeconds
focal_class.declarator: INTERN_TABLE[]
focal_class.modifier: private static final
focal_class.original_string: private static final ScriptChunk INTERN_TABLE[];
focal_class.type: ScriptChunk
focal_class.var_name: INTERN_TABLE
focal_class.file: core/src/main/java/com/google/bitcoin/script/Script.java
focal_class.identifier: Script
focal_class.class_method_signature: Script.Script()
focal_class.full_signature: private  Script()
focal_class.identifier: Script
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Script()
focal_class.class_method_signature: Script.Script(List<ScriptChunk> chunks)
focal_class.full_signature:   Script(List<ScriptChunk> chunks)
focal_class.identifier: Script
focal_class.parameters: (List<ScriptChunk> chunks)
focal_class.signature:  Script(List<ScriptChunk> chunks)
focal_class.class_method_signature: Script.Script(byte[] programBytes)
focal_class.full_signature: public  Script(byte[] programBytes)
focal_class.identifier: Script
focal_class.modifiers: public
focal_class.parameters: (byte[] programBytes)
focal_class.signature:  Script(byte[] programBytes)
focal_class.class_method_signature: Script.Script(byte[] programBytes, long creationTimeSeconds)
focal_class.full_signature: public  Script(byte[] programBytes, long creationTimeSeconds)
focal_class.identifier: Script
focal_class.modifiers: public
focal_class.parameters: (byte[] programBytes, long creationTimeSeconds)
focal_class.signature:  Script(byte[] programBytes, long creationTimeSeconds)
focal_class.class_method_signature: Script.getCreationTimeSeconds()
focal_class.full_signature: public long getCreationTimeSeconds()
focal_class.identifier: getCreationTimeSeconds
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getCreationTimeSeconds()
focal_class.class_method_signature: Script.setCreationTimeSeconds(long creationTimeSeconds)
focal_class.full_signature: public void setCreationTimeSeconds(long creationTimeSeconds)
focal_class.identifier: setCreationTimeSeconds
focal_class.modifiers: public
focal_class.parameters: (long creationTimeSeconds)
focal_class.return: void
focal_class.signature: void setCreationTimeSeconds(long creationTimeSeconds)
focal_class.class_method_signature: Script.toString()
focal_class.full_signature: public String toString()
focal_class.identifier: toString
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: Script.getProgram()
focal_class.full_signature: public byte[] getProgram()
focal_class.identifier: getProgram
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: byte[]
focal_class.signature: byte[] getProgram()
focal_class.class_method_signature: Script.getChunks()
focal_class.full_signature: public List<ScriptChunk> getChunks()
focal_class.identifier: getChunks
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<ScriptChunk>
focal_class.signature: List<ScriptChunk> getChunks()
focal_class.class_method_signature: Script.parse(byte[] program)
focal_class.full_signature: private void parse(byte[] program)
focal_class.identifier: parse
focal_class.modifiers: private
focal_class.parameters: (byte[] program)
focal_class.return: void
focal_class.signature: void parse(byte[] program)
focal_class.class_method_signature: Script.isSentToRawPubKey()
focal_class.full_signature: public boolean isSentToRawPubKey()
focal_class.identifier: isSentToRawPubKey
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSentToRawPubKey()
focal_class.class_method_signature: Script.isSentToAddress()
focal_class.full_signature: public boolean isSentToAddress()
focal_class.identifier: isSentToAddress
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSentToAddress()
focal_class.class_method_signature: Script.isSentToP2SH()
focal_class.full_signature: public boolean isSentToP2SH()
focal_class.identifier: isSentToP2SH
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSentToP2SH()
focal_class.class_method_signature: Script.getPubKeyHash()
focal_class.full_signature: public byte[] getPubKeyHash()
focal_class.identifier: getPubKeyHash
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: byte[]
focal_class.signature: byte[] getPubKeyHash()
focal_class.class_method_signature: Script.getPubKey()
focal_class.full_signature: public byte[] getPubKey()
focal_class.identifier: getPubKey
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: byte[]
focal_class.signature: byte[] getPubKey()
focal_class.class_method_signature: Script.getFromAddress(NetworkParameters params)
focal_class.full_signature: @Deprecated public Address getFromAddress(NetworkParameters params)
focal_class.identifier: getFromAddress
focal_class.modifiers: @Deprecated public
focal_class.parameters: (NetworkParameters params)
focal_class.return: Address
focal_class.signature: Address getFromAddress(NetworkParameters params)
focal_class.class_method_signature: Script.getToAddress(NetworkParameters params)
focal_class.full_signature: public Address getToAddress(NetworkParameters params)
focal_class.identifier: getToAddress
focal_class.modifiers: public
focal_class.parameters: (NetworkParameters params)
focal_class.return: Address
focal_class.signature: Address getToAddress(NetworkParameters params)
focal_class.class_method_signature: Script.writeBytes(OutputStream os, byte[] buf)
focal_class.full_signature: public static void writeBytes(OutputStream os, byte[] buf)
focal_class.identifier: writeBytes
focal_class.modifiers: public static
focal_class.parameters: (OutputStream os, byte[] buf)
focal_class.return: void
focal_class.signature: void writeBytes(OutputStream os, byte[] buf)
focal_class.class_method_signature: Script.createMultiSigOutputScript(int threshold, List<ECKey> pubkeys)
focal_class.full_signature: public static byte[] createMultiSigOutputScript(int threshold, List<ECKey> pubkeys)
focal_class.identifier: createMultiSigOutputScript
focal_class.modifiers: public static
focal_class.parameters: (int threshold, List<ECKey> pubkeys)
focal_class.return: byte[]
focal_class.signature: byte[] createMultiSigOutputScript(int threshold, List<ECKey> pubkeys)
focal_class.class_method_signature: Script.createInputScript(byte[] signature, byte[] pubkey)
focal_class.full_signature: public static byte[] createInputScript(byte[] signature, byte[] pubkey)
focal_class.identifier: createInputScript
focal_class.modifiers: public static
focal_class.parameters: (byte[] signature, byte[] pubkey)
focal_class.return: byte[]
focal_class.signature: byte[] createInputScript(byte[] signature, byte[] pubkey)
focal_class.class_method_signature: Script.createInputScript(byte[] signature)
focal_class.full_signature: public static byte[] createInputScript(byte[] signature)
focal_class.identifier: createInputScript
focal_class.modifiers: public static
focal_class.parameters: (byte[] signature)
focal_class.return: byte[]
focal_class.signature: byte[] createInputScript(byte[] signature)
focal_class.class_method_signature: Script.getSigOpCount(List<ScriptChunk> chunks, boolean accurate)
focal_class.full_signature: private static int getSigOpCount(List<ScriptChunk> chunks, boolean accurate)
focal_class.identifier: getSigOpCount
focal_class.modifiers: private static
focal_class.parameters: (List<ScriptChunk> chunks, boolean accurate)
focal_class.return: int
focal_class.signature: int getSigOpCount(List<ScriptChunk> chunks, boolean accurate)
focal_class.class_method_signature: Script.decodeFromOpN(byte opcode)
focal_class.full_signature: public static int decodeFromOpN(byte opcode)
focal_class.identifier: decodeFromOpN
focal_class.modifiers: public static
focal_class.parameters: (byte opcode)
focal_class.return: int
focal_class.signature: int decodeFromOpN(byte opcode)
focal_class.class_method_signature: Script.decodeFromOpN(int opcode)
focal_class.full_signature: static int decodeFromOpN(int opcode)
focal_class.identifier: decodeFromOpN
focal_class.modifiers: static
focal_class.parameters: (int opcode)
focal_class.return: int
focal_class.signature: int decodeFromOpN(int opcode)
focal_class.class_method_signature: Script.encodeToOpN(int value)
focal_class.full_signature: static int encodeToOpN(int value)
focal_class.identifier: encodeToOpN
focal_class.modifiers: static
focal_class.parameters: (int value)
focal_class.return: int
focal_class.signature: int encodeToOpN(int value)
focal_class.class_method_signature: Script.getSigOpCount(byte[] program)
focal_class.full_signature: public static int getSigOpCount(byte[] program)
focal_class.identifier: getSigOpCount
focal_class.modifiers: public static
focal_class.parameters: (byte[] program)
focal_class.return: int
focal_class.signature: int getSigOpCount(byte[] program)
focal_class.class_method_signature: Script.getP2SHSigOpCount(byte[] scriptSig)
focal_class.full_signature: public static long getP2SHSigOpCount(byte[] scriptSig)
focal_class.identifier: getP2SHSigOpCount
focal_class.modifiers: public static
focal_class.parameters: (byte[] scriptSig)
focal_class.return: long
focal_class.signature: long getP2SHSigOpCount(byte[] scriptSig)
focal_class.class_method_signature: Script.isPayToScriptHash()
focal_class.full_signature: public boolean isPayToScriptHash()
focal_class.identifier: isPayToScriptHash
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isPayToScriptHash()
focal_class.class_method_signature: Script.isSentToMultiSig()
focal_class.full_signature: public boolean isSentToMultiSig()
focal_class.identifier: isSentToMultiSig
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSentToMultiSig()
focal_class.class_method_signature: Script.equalsRange(byte[] a, int start, byte[] b)
focal_class.full_signature: private static boolean equalsRange(byte[] a, int start, byte[] b)
focal_class.identifier: equalsRange
focal_class.modifiers: private static
focal_class.parameters: (byte[] a, int start, byte[] b)
focal_class.return: boolean
focal_class.signature: boolean equalsRange(byte[] a, int start, byte[] b)
focal_class.class_method_signature: Script.removeAllInstancesOf(byte[] inputScript, byte[] chunkToRemove)
focal_class.full_signature: public static byte[] removeAllInstancesOf(byte[] inputScript, byte[] chunkToRemove)
focal_class.identifier: removeAllInstancesOf
focal_class.modifiers: public static
focal_class.parameters: (byte[] inputScript, byte[] chunkToRemove)
focal_class.return: byte[]
focal_class.signature: byte[] removeAllInstancesOf(byte[] inputScript, byte[] chunkToRemove)
focal_class.class_method_signature: Script.removeAllInstancesOfOp(byte[] inputScript, int opCode)
focal_class.full_signature: public static byte[] removeAllInstancesOfOp(byte[] inputScript, int opCode)
focal_class.identifier: removeAllInstancesOfOp
focal_class.modifiers: public static
focal_class.parameters: (byte[] inputScript, int opCode)
focal_class.return: byte[]
focal_class.signature: byte[] removeAllInstancesOfOp(byte[] inputScript, int opCode)
focal_class.class_method_signature: Script.castToBool(byte[] data)
focal_class.full_signature: private static boolean castToBool(byte[] data)
focal_class.identifier: castToBool
focal_class.modifiers: private static
focal_class.parameters: (byte[] data)
focal_class.return: boolean
focal_class.signature: boolean castToBool(byte[] data)
focal_class.class_method_signature: Script.castToBigInteger(byte[] chunk)
focal_class.full_signature: private static BigInteger castToBigInteger(byte[] chunk)
focal_class.identifier: castToBigInteger
focal_class.modifiers: private static
focal_class.parameters: (byte[] chunk)
focal_class.return: BigInteger
focal_class.signature: BigInteger castToBigInteger(byte[] chunk)
focal_class.class_method_signature: Script.executeScript(Transaction txContainingThis, long index,
                                        Script script, LinkedList<byte[]> stack)
focal_class.full_signature: private static void executeScript(Transaction txContainingThis, long index,
                                        Script script, LinkedList<byte[]> stack)
focal_class.identifier: executeScript
focal_class.modifiers: private static
focal_class.parameters: (Transaction txContainingThis, long index,
                                        Script script, LinkedList<byte[]> stack)
focal_class.return: void
focal_class.signature: void executeScript(Transaction txContainingThis, long index,
                                        Script script, LinkedList<byte[]> stack)
focal_class.class_method_signature: Script.executeCheckSig(Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                          int lastCodeSepLocation, int opcode)
focal_class.full_signature: private static void executeCheckSig(Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                          int lastCodeSepLocation, int opcode)
focal_class.identifier: executeCheckSig
focal_class.modifiers: private static
focal_class.parameters: (Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                          int lastCodeSepLocation, int opcode)
focal_class.return: void
focal_class.signature: void executeCheckSig(Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                          int lastCodeSepLocation, int opcode)
focal_class.class_method_signature: Script.executeMultiSig(Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                         int opCount, int lastCodeSepLocation, int opcode)
focal_class.full_signature: private static int executeMultiSig(Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                         int opCount, int lastCodeSepLocation, int opcode)
focal_class.identifier: executeMultiSig
focal_class.modifiers: private static
focal_class.parameters: (Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                         int opCount, int lastCodeSepLocation, int opcode)
focal_class.return: int
focal_class.signature: int executeMultiSig(Transaction txContainingThis, int index, Script script, LinkedList<byte[]> stack,
                                         int opCount, int lastCodeSepLocation, int opcode)
focal_class.class_method_signature: Script.correctlySpends(Transaction txContainingThis, long scriptSigIndex, Script scriptPubKey,
                                  boolean enforceP2SH)
focal_class.full_signature: public void correctlySpends(Transaction txContainingThis, long scriptSigIndex, Script scriptPubKey,
                                  boolean enforceP2SH)
focal_class.identifier: correctlySpends
focal_class.modifiers: public
focal_class.parameters: (Transaction txContainingThis, long scriptSigIndex, Script scriptPubKey,
                                  boolean enforceP2SH)
focal_class.return: void
focal_class.signature: void correctlySpends(Transaction txContainingThis, long scriptSigIndex, Script scriptPubKey,
                                  boolean enforceP2SH)
focal_class.class_method_signature: Script.getQuickProgram()
focal_class.full_signature: private byte[] getQuickProgram()
focal_class.identifier: getQuickProgram
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: byte[]
focal_class.signature: byte[] getQuickProgram()
focal_class.class_method_signature: Script.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_class.class_method_signature: Script.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_method.body: public boolean isSentToP2SH() {
          return chunks.size() == 3 &&
                 chunks.get(0).equalsOpCode(OP_HASH160) &&
                 chunks.get(1).data.length == Address.LENGTH &&
                 chunks.get(2).equalsOpCode(OP_EQUAL);
      }
focal_method.class_method_signature: Script.isSentToP2SH()
focal_method.full_signature: public boolean isSentToP2SH()
focal_method.identifier: isSentToP2SH
focal_method.invocations: size equalsOpCode get get equalsOpCode get
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: boolean
focal_method.signature: boolean isSentToP2SH()