WebService-Cryptsy

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN


WebService::Cryptsy - implementation of www.cryptsy.com API

# SYNOPSIS

    use WebService::Cryptsy;
    use Data::Dumper;

    my $cryp = WebService::Cryptsy->new(
        public_key  => 'YOUR PUBLICE KEY',
        private_key => 'YOUR PRIVATE KEY',
    );

    print Dumper( $cryp->getinfo      || $cryp->error ) . "\n";
    print Dumper( $cryp->marketdatav2 || $cryp->error ) . "\n";

    my ( $currency_id, $currency_code ) = ( 3, 'BTC' );
    my $generated_address
    = $cryp->generatenewaddress( $currency_id, $currency_code )
        or die "Error: " . $cryp->error;

lib/WebService/Cryptsy.pm  view on Meta::CPAN

use LWP::UserAgent;
use Digest::SHA qw/hmac_sha512_hex/;
use HTTP::Request::Common qw/POST/;

use constant API_POST_URL => 'https://api.cryptsy.com/api';
use constant API_GET_URL  => 'http://pubapi.cryptsy.com/api.php';
use overload '""' => sub { shift->error };


has public_key  => ( is => 'ro', );
has private_key => ( is => 'ro', );
has error       => ( is => 'rw', );
has timeout     => ( is => 'rw', default => 60 );

########## API METHODS ##########
sub marketdata      { return shift->_api_query('marketdata'     ); }
sub marketdatav2    { return shift->_api_query('marketdatav2'   ); }
sub orderdata       { return shift->_api_query('orderdata'      ); }
sub getinfo         { return shift->_api_query('getinfo'        ); }
sub getmarkets      { return shift->_api_query('getmarkets'     ); }
sub mytransactions  { return shift->_api_query('mytransactions' ); }

t/API/authenticated/01-getinfo.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

diag "\n###############################################################\n"
    . "If you see a bunch of 'Use of uninitialized value "
    . "in string eq at .... Test/Deep/ArrayEach',"
    . " it's fine; don't worry about it"
    . "\n#############################################################\n";

my $data = $cryp->getinfo;

t/API/authenticated/02-getmarkets.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->getmarkets;

if ( $data ) {
    cmp_deeply(
        $data,
        array_each(
            {

t/API/authenticated/03-mytransactions.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->mytransactions;

#####
##### Don't have any transactions, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/04-markettrades.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->markettrades( 68 );

if ( $data ) {
    cmp_deeply(
        $data,
        array_each(
            {

t/API/authenticated/05-marketorders.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->marketorders( 68 );

if ( $data ) {
    cmp_deeply(
        $data,
        {
            'sellorders' => any(

t/API/authenticated/06-mytrades.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->mytrades( 68, 200 );

#####
##### Don't have any transactions, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/07-allmytrades.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->allmytrades;

#####
##### Don't have any transactions, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/08-myorders.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->myorders;

#####
##### Don't have any transactions, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/09-depth.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->depth( 68 );

if ( $data ) {
    cmp_deeply(
        $data,
        {
            'buy' => any(

t/API/authenticated/10-allmyorders.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->allmyorders;

#####
##### Don't have any transactions, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/11-createorder.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

#####
##### Since we can't really create orders with this account,
##### let's do some extra error checking.
#####
$cryp->createorder(
    68,
    'Sell',

t/API/authenticated/12-cancelmarketorders.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->cancelmarketorders( 68 );

#####
##### Don't have any orders, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/13-cancelallorders.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->cancelallorders;

#####
##### Don't have any orders, so we'll get an empty array
#####
if ( $data ) {
    cmp_deeply(

t/API/authenticated/14-calculatefees.t  view on Meta::CPAN


use WebService::Cryptsy;
use Data::Dumper;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->calculatefees(
    'Sell',
    '20',
    '199',
);

if ( $data ) {

t/API/authenticated/15-generatenewaddress.t  view on Meta::CPAN

plan tests => 3;

use WebService::Cryptsy;

open my $fh, '<', 't/API/authenticated/KEYS'
    or BAIL_OUT("Can't get the keys: $!");
chomp( my @keys = <$fh> );

my $cryp = WebService::Cryptsy->new(
    public_key  => $keys[0],
    private_key => $keys[1],
    timeout => 10,
);

my $data = $cryp->generatenewaddress(
    3,
    'BTC',
);

if ( $data ) {
    cmp_deeply(

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.941 second using v1.00-cache-2.02-grep-82fe00e-cpan-2cc899e4a130 )