Vendor RandomX source, add bridge_randomx_hash() with static VM lifecycle. Key: LetheanRandomXv1. Input: header_hash || nonce. Co-Authored-By: Charon <charon@lethean.io>
16 lines
No EOL
569 B
PHP
Executable file
16 lines
No EOL
569 B
PHP
Executable file
mov ecx, ebp ;# ecx = ma
|
|
and ecx, RANDOMX_DATASET_BASE_MASK
|
|
xor r8, qword ptr [rdi+rcx]
|
|
ror rbp, 32 ;# swap "ma" and "mx"
|
|
xor rbp, rax ;# modify "mx"
|
|
mov edx, ebp ;# edx = mx
|
|
and edx, RANDOMX_DATASET_BASE_MASK
|
|
prefetchnta byte ptr [rdi+rdx]
|
|
xor r9, qword ptr [rdi+rcx+8]
|
|
xor r10, qword ptr [rdi+rcx+16]
|
|
xor r11, qword ptr [rdi+rcx+24]
|
|
xor r12, qword ptr [rdi+rcx+32]
|
|
xor r13, qword ptr [rdi+rcx+40]
|
|
xor r14, qword ptr [rdi+rcx+48]
|
|
xor r15, qword ptr [rdi+rcx+56]
|
|
|