mirror of
https://github.com/luxfi/lamport.git
synced 2026-10-30 16:21:45 +00:00
SDK (@luxfi/lamport): - Key generation: generateKeyPair(), generateKeyChain() - Signing: sign(), signWithRotation() - Verification: verify(), computePKH(), computeMessage() - Threshold: generateKeyShares(), createSigningSession(), combineSignatures() - Safe integration: prepareSafeTransaction() - Contract ABIs: LamportVerifier, LamportSafe, LamportThreshold, LamportOptimized - Solidity contracts included for direct import Paper (v1.0.0): - Added historical context (Lamport 1979 → NIST 2024) - Updated gas benchmarks from actual tests - Added threshold architecture section - Comprehensive security theorems and proofs - NIST PQC comparison table - 10 bibliography references - Table of contents and appendices Ready for npm publish: pnpm publish --access public
109 lines
2.0 KiB
JSON
109 lines
2.0 KiB
JSON
[
|
|
{
|
|
"type": "function",
|
|
"name": "computePKH",
|
|
"inputs": [
|
|
{
|
|
"name": "pub",
|
|
"type": "bytes32[2][256]",
|
|
"internalType": "bytes32[2][256]"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "pkh",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "pure"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "verify",
|
|
"inputs": [
|
|
{
|
|
"name": "bits",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
},
|
|
{
|
|
"name": "sig",
|
|
"type": "bytes32[256]",
|
|
"internalType": "bytes32[256]"
|
|
},
|
|
{
|
|
"name": "pub",
|
|
"type": "bytes32[2][256]",
|
|
"internalType": "bytes32[2][256]"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "valid",
|
|
"type": "bool",
|
|
"internalType": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "pure"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "verifyConstantTime",
|
|
"inputs": [
|
|
{
|
|
"name": "bits",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
},
|
|
{
|
|
"name": "sig",
|
|
"type": "bytes32[256]",
|
|
"internalType": "bytes32[256]"
|
|
},
|
|
{
|
|
"name": "pub",
|
|
"type": "bytes32[2][256]",
|
|
"internalType": "bytes32[2][256]"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "valid",
|
|
"type": "bool",
|
|
"internalType": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "pure"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "verifyUnrolled",
|
|
"inputs": [
|
|
{
|
|
"name": "bits",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
},
|
|
{
|
|
"name": "sig",
|
|
"type": "bytes32[256]",
|
|
"internalType": "bytes32[256]"
|
|
},
|
|
{
|
|
"name": "pub",
|
|
"type": "bytes32[2][256]",
|
|
"internalType": "bytes32[2][256]"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "valid",
|
|
"type": "bool",
|
|
"internalType": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "pure"
|
|
}
|
|
]
|