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\Btce;
 3: 
 4: use Psr\Http\Message\RequestInterface;
 5: use GuzzleHttp\Psr7\Request;
 6: use Sotr\Crypto\AbstractRequestSigner;
 7: 
 8: class BtceRequestSigner extends AbstractRequestSigner
 9: {
10:     public function sign(RequestInterface $request, $key, $secret, $customerId = null)
11:     {
12:         $nonce = $this->nonceGenerator->generateNonce();
13: 
14:         parse_str($request->getBody()->getContents(), $params);
15:         $params = array_merge(['nonce' => $nonce], $params);
16:         $query = http_build_query($params);
17: 
18:         $signature = hash_hmac('sha512', $query, $secret);
19: 
20:         $headers = array_merge(
21:             $request->getHeaders(),
22:             ['Key' => $key, 'Sign' => $signature]
23:         );
24: 
25:         return new Request(
26:             $request->getMethod(),
27:             $request->getUri(),
28:             $headers,
29:             $query
30:         );
31:     }
32: }
33: 
API documentation generated by ApiGen