Overview

Namespaces

  • Sotr
    • Crypto
      • Bitstamp
      • Btce

Classes

  • Sotr\Crypto\AbstractApi
  • Sotr\Crypto\AbstractRequestSigner
  • Sotr\Crypto\AccountBalance
  • Sotr\Crypto\Bitstamp\BitstampApi
  • Sotr\Crypto\Bitstamp\BitstampRequestSigner
  • Sotr\Crypto\Btce\BtceApi
  • Sotr\Crypto\Btce\BtceCurrencyPairResolver
  • Sotr\Crypto\Btce\BtceRequestSigner
  • Sotr\Crypto\CurrencyPair
  • Sotr\Crypto\Ticker
  • Sotr\Crypto\TimestampNonceGenerator

Interfaces

  • Sotr\Crypto\CurrencyPairResolverInterface
  • Sotr\Crypto\ExchangeApiInterface
  • Sotr\Crypto\NonceGeneratorInterface
  • Sotr\Crypto\RequestSignerInterface
  • Overview
  • Namespace
  • Class
 1: <?php
 2: namespace Sotr\Crypto\Bitstamp;
 3: 
 4: use Psr\Http\Message\RequestInterface;
 5: use GuzzleHttp\Psr7\Request;
 6: use Sotr\Crypto\AbstractRequestSigner;
 7: 
 8: class BitstampRequestSigner extends AbstractRequestSigner
 9: {
10:     public function sign(RequestInterface $request, $key, $secret, $customerId = null)
11:     {
12:         $nonce = $this->nonceGenerator->generateNonce();
13: 
14:         $signature = hash_hmac('sha256', $nonce . $customerId . $key, $secret);
15: 
16:         parse_str($request->getBody()->getContents(), $params);
17:         $params = array_merge(
18:             ['key' => $key, 'nonce' => $nonce, 'signature' => $signature],
19:             $params
20:         );
21:         $body = http_build_query($params);
22: 
23:         return new Request(
24:             $request->getMethod(),
25:             $request->getUri(),
26:             $request->getHeaders(),
27:             $body
28:         );
29:     }
30: }
31: 
API documentation generated by ApiGen