#include #include #include #Include #Include #Include Func KRAKEN_api($key,$secret,$parametry,$zrodlo,$private="private",$version="0") ;https://www.bitmarket.pl/apikeys.php Local $nonce = _DateDiff('s', "1970/01/01 00:00:00", _DateAdd("h", -2, _NowCalc()));zmienic na 64bit $secret=_Base64Decode($secret) Local $params = "&nonce=" & $nonce & $parametry ;ok Local $path="/" & $version & "/" & $private & "/" & $zrodlo Local $sign = hmac($path&_SHA256($params), $secret) $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("POST", "https://api.kraken.com/", False) $oHTTP.SetRequestHeader("API-Key", $key) $oHTTP.SetRequestHeader("API-Sign", _Base64Encode($sign)) $oHTTP.Send($params) $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status RETURN $oReceived EndFunc ;==>KRAKEN_api Func hmac($message, $key, $hash = "SHA512") Local $blocksize = 128 Local $a_opad[$blocksize], $a_ipad[$blocksize] Local Const $oconst = 0x5C, $iconst = 0x36 Local $opad = Binary(''), $ipad = Binary('') $key = Binary($key) If BinaryLen($key) > $blocksize Then $key = Call($hash, $key) For $i = 1 To BinaryLen($key) $a_ipad[$i - 1] = Number(BinaryMid($key, $i, 1)) $a_opad[$i - 1] = Number(BinaryMid($key, $i, 1)) Next For $i = 0 To $blocksize - 1 $a_opad[$i] = BitXOR($a_opad[$i], $oconst) $a_ipad[$i] = BitXOR($a_ipad[$i], $iconst) Next For $i = 0 To $blocksize - 1 $ipad &= Binary('0x' & Hex($a_ipad[$i], 2)) $opad &= Binary('0x' & Hex($a_opad[$i], 2)) Next Return Call($hash, $opad & Call($hash, $ipad & Binary($message))) EndFunc ;==>hmac Func SHA512($message) Return _Crypt_HashData($message, 0x0000800e) EndFunc ;==>SHA512 Func MetodaInfo_KRAKEN($klucz_jawny,$klucz_tajny,$metoda_order) Local $a[36][2] local $infoResponce=KRAKEN_api($klucz_jawny,$klucz_tajny,$metoda_order) Return $infoResponce EndFunc Func MetodaOrders_KRAKEN($klucz_jawny,$klucz_tajny,$metoda_order) local $Responce=KRAKEN_api($klucz_jawny,$klucz_tajny,$metoda_order) ;sprawdzenie ilosci znaków ;MsgBox(0,"Responce", $Responce) Return $Responce Endfunc