shop refactor
This commit is contained in:
45
swshop/apis/krist.lua
Normal file
45
swshop/apis/krist.lua
Normal file
@@ -0,0 +1,45 @@
|
||||
local sha2 = require('opus.crypto.sha2')
|
||||
|
||||
local Krist = { }
|
||||
|
||||
local function sha256(key)
|
||||
return sha2:digest(key):toHex()
|
||||
end
|
||||
|
||||
local function makeaddressbyte(byte)
|
||||
byte = 48 + math.floor(byte / 7)
|
||||
return string.char(byte + 39 > 122 and 101 or byte > 57 and byte + 39 or byte)
|
||||
end
|
||||
|
||||
function Krist.makev2address(key)
|
||||
local protein = {}
|
||||
local stick = sha256(sha256(key))
|
||||
local n = 0
|
||||
local v2 = "k"
|
||||
repeat
|
||||
if n < 9 then
|
||||
protein[n] = string.sub(stick,0,2)
|
||||
stick = sha256(sha256(stick))
|
||||
end
|
||||
n = n + 1
|
||||
until n == 9
|
||||
|
||||
n = 0
|
||||
repeat
|
||||
local link = tonumber(string.sub(stick,1+(2*n),2+(2*n)),16) % 9
|
||||
if string.len(protein[link]) ~= 0 then
|
||||
v2 = v2 .. makeaddressbyte(tonumber(protein[link],16))
|
||||
protein[link] = ''
|
||||
n = n + 1
|
||||
else
|
||||
stick = sha256(stick)
|
||||
end
|
||||
until n == 9
|
||||
return v2
|
||||
end
|
||||
|
||||
function Krist.toKristWalletFormat(passphrase)
|
||||
return sha256('KRISTWALLET' .. passphrase) .. '-000'
|
||||
end
|
||||
|
||||
return Krist
|
||||
Reference in New Issue
Block a user