Bitcoin-Crypto

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      },
      "runtime" : {
         "requires" : {
            "Bitcoin::BIP39" : "0.002",
            "Bitcoin::Secp256k1" : "0",
            "CryptX" : "0.074",
            "List::Util" : "1.33",
            "Math::BigInt" : "1.999831",
            "Moo" : "2.003004",
            "Mooish::AttributeBuilder" : "1.001",
            "Try::Tiny" : "0",
            "Type::Tiny" : "2",
            "namespace::clean" : "0.27",
            "perl" : "5.010"
         }
      },
      "test" : {
         "requires" : {
            "Test2::V0" : "0"
         }
      }

META.yml  view on Meta::CPAN

  version: '1.4'
name: Bitcoin-Crypto
requires:
  Bitcoin::BIP39: '0.002'
  Bitcoin::Secp256k1: '0'
  CryptX: '0.074'
  List::Util: '1.33'
  Math::BigInt: '1.999831'
  Moo: '2.003004'
  Mooish::AttributeBuilder: '1.001'
  Try::Tiny: '0'
  Type::Tiny: '2'
  namespace::clean: '0.27'
  perl: '5.010'
resources:
  bugtracker: https://github.com/Perl-Bitcoin/Bitcoin-Crypto/issues
  repository: git://github.com/Perl-Bitcoin/Bitcoin-Crypto.git
version: '3.001'
x_generated_by_perl: v5.40.0
x_serialization_backend: 'YAML::Tiny version 1.74'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'

Makefile.PL  view on Meta::CPAN

  "MIN_PERL_VERSION" => "5.010",
  "NAME" => "Bitcoin::Crypto",
  "PREREQ_PM" => {
    "Bitcoin::BIP39" => "0.002",
    "Bitcoin::Secp256k1" => 0,
    "CryptX" => "0.074",
    "List::Util" => "1.33",
    "Math::BigInt" => "1.999831",
    "Moo" => "2.003004",
    "Mooish::AttributeBuilder" => "1.001",
    "Try::Tiny" => 0,
    "Type::Tiny" => 2,
    "namespace::clean" => "0.27"
  },
  "TEST_REQUIRES" => {
    "Test2::V0" => 0
  },
  "VERSION" => "3.001",
  "test" => {
    "TESTS" => "t/*.t t/Key/*.t t/PSBT/*.t t/Script/*.t t/Transaction/*.t"
  }

Makefile.PL  view on Meta::CPAN


my %FallbackPrereqs = (
  "Bitcoin::BIP39" => "0.002",
  "Bitcoin::Secp256k1" => 0,
  "CryptX" => "0.074",
  "List::Util" => "1.33",
  "Math::BigInt" => "1.999831",
  "Moo" => "2.003004",
  "Mooish::AttributeBuilder" => "1.001",
  "Test2::V0" => 0,
  "Try::Tiny" => 0,
  "Type::Tiny" => 2,
  "namespace::clean" => "0.27"
);


unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};
  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}

cpanfile  view on Meta::CPAN


requires 'Math::BigInt' => '1.999831';
requires 'Moo' => '2.003004';
requires 'Mooish::AttributeBuilder' => '1.001';
requires 'Type::Tiny' => '2';
requires 'List::Util' => '1.33';
requires 'CryptX' => '0.074';
requires 'Bitcoin::Secp256k1' => 0;
requires 'Bitcoin::BIP39' => '0.002';
requires 'namespace::clean' => '0.27';
requires 'Try::Tiny' => 0;

ex/persistent_hd_wallet.pl  view on Meta::CPAN

{

	package Wallet;

	use Moo;
	use Mooish::AttributeBuilder;

	use Bitcoin::Crypto qw(btc_extprv);
	use Bitcoin::Crypto::Network;
	use Storable;
	use Try::Tiny;

	use constant FILENAME => '.wallet.state';

	# not stored in object to avoid being serialized
	my %master_keys;

	has option 'mnemonic_file' => (
		writer => 1,
	);

lib/Bitcoin/Crypto/Exception.pm  view on Meta::CPAN

package Bitcoin::Crypto::Exception;
$Bitcoin::Crypto::Exception::VERSION = '3.001';
use v5.10;
use strict;
use warnings;

use Moo;
use Mooish::AttributeBuilder -standard;
use Types::Standard -types;
use Try::Tiny;
use Scalar::Util qw(blessed);

use namespace::clean;

use overload
	q{""} => "as_string",
	fallback => 1;

has param 'message' => (
	isa => Str,
	writer => -hidden,
);

has field 'caller' => (
	isa => Maybe [ArrayRef],
	default => sub {
		for my $call_level (1 .. 20) {
			my ($package, $file, $line) = caller $call_level;
			if (defined $package && $package !~ /^(Bitcoin::Crypto|Try::Tiny|Type::Coercion)/) {
				return [$package, $file, $line];
			}
		}
		return undef;
	},
);

sub raise
{
	my ($self, $error) = @_;

lib/Bitcoin/Crypto/Script.pm  view on Meta::CPAN

package Bitcoin::Crypto::Script;
$Bitcoin::Crypto::Script::VERSION = '3.001';
use v5.10;
use strict;
use warnings;
use Moo;
use Crypt::Digest::SHA256 qw(sha256);
use Mooish::AttributeBuilder -standard;
use Try::Tiny;
use Scalar::Util qw(blessed);
use List::Util qw(any);
use Types::Common -sigs, -types;
use Carp qw(carp);

use Bitcoin::Crypto::Constants;
use Bitcoin::Crypto::Base58 qw(encode_base58check decode_base58check);
use Bitcoin::Crypto::Bech32 qw(encode_segwit decode_segwit get_hrp);
use Bitcoin::Crypto::Constants;
use Bitcoin::Crypto::Util qw(hash160 hash256 get_address_type);

lib/Bitcoin/Crypto/Script/Recognition.pm  view on Meta::CPAN

package Bitcoin::Crypto::Script::Recognition;
$Bitcoin::Crypto::Script::Recognition::VERSION = '3.001';
use v5.10;
use strict;
use warnings;

use Moo;
use Mooish::AttributeBuilder -standard;
use Types::Common -types;
use List::Util qw(any);
use Try::Tiny;

use Bitcoin::Crypto::Script::Opcode;

has param 'script' => (
	isa => InstanceOf ['Bitcoin::Crypto::Script'],
);

has field '_script_serialized' => (
	lazy => sub { $_[0]->script->to_serialized },
);

lib/Bitcoin/Crypto/Transaction/Input.pm  view on Meta::CPAN

package Bitcoin::Crypto::Transaction::Input;
$Bitcoin::Crypto::Transaction::Input::VERSION = '3.001';
use v5.10;
use strict;
use warnings;

use Moo;
use Mooish::AttributeBuilder -standard;
use Types::Common -sigs, -types;
use Scalar::Util qw(blessed);
use Try::Tiny;

use Bitcoin::Crypto qw(btc_script btc_utxo);
use Bitcoin::Crypto::Constants;
use Bitcoin::Crypto::Util qw(to_format pack_compactsize unpack_compactsize);
use Bitcoin::Crypto::Types -types;
use Bitcoin::Crypto::Exception;
use Bitcoin::Crypto::Script::Common;

use namespace::clean;

lib/Bitcoin/Crypto/Util.pm  view on Meta::CPAN

use v5.10;
use strict;
use warnings;
use Exporter qw(import);
use Unicode::Normalize;
use Crypt::KeyDerivation qw(pbkdf2);
use Encode qw(encode);
use Crypt::Digest::RIPEMD160 qw(ripemd160);
use Crypt::Digest::SHA256 qw(sha256);
use Bitcoin::BIP39 qw(gen_bip39_mnemonic entropy_to_bip39_mnemonic);
use Try::Tiny;
use Scalar::Util qw(blessed);
use Types::Common -sigs, -types;

use Bitcoin::Crypto::Helpers qw(parse_formatdesc);
use Bitcoin::Crypto::Constants;
use Bitcoin::Crypto::Types -types;
use Bitcoin::Crypto::Exception;

our @EXPORT_OK = qw(
	validate_wif



( run in 0.700 second using v1.01-cache-2.11-cpan-05444aca049 )