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
307 lines
5.4 KiB
JSON
307 lines
5.4 KiB
JSON
[
|
|
{
|
|
"type": "function",
|
|
"name": "advanceKey",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "chainCount",
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "deactivateChain",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "getCurrentPKH",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "getNextPKH",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "getOwnerChains",
|
|
"inputs": [
|
|
{
|
|
"name": "owner",
|
|
"type": "address",
|
|
"internalType": "address"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32[]",
|
|
"internalType": "bytes32[]"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "getRemainingKeys",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "keyChains",
|
|
"inputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "currentIndex",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "address",
|
|
"internalType": "address"
|
|
},
|
|
{
|
|
"name": "active",
|
|
"type": "bool",
|
|
"internalType": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "ownerChains",
|
|
"inputs": [
|
|
{
|
|
"name": "",
|
|
"type": "address",
|
|
"internalType": "address"
|
|
},
|
|
{
|
|
"name": "",
|
|
"type": "uint256",
|
|
"internalType": "uint256"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "registerKeyChain",
|
|
"inputs": [
|
|
{
|
|
"name": "pkhs",
|
|
"type": "bytes32[]",
|
|
"internalType": "bytes32[]"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable"
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "usedPKHs",
|
|
"inputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bytes32",
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "",
|
|
"type": "bool",
|
|
"internalType": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view"
|
|
},
|
|
{
|
|
"type": "event",
|
|
"name": "ChainDeactivated",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"indexed": true,
|
|
"internalType": "bytes32"
|
|
}
|
|
],
|
|
"anonymous": false
|
|
},
|
|
{
|
|
"type": "event",
|
|
"name": "ChainRegistered",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"indexed": true,
|
|
"internalType": "bytes32"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "address",
|
|
"indexed": true,
|
|
"internalType": "address"
|
|
},
|
|
{
|
|
"name": "keyCount",
|
|
"type": "uint256",
|
|
"indexed": false,
|
|
"internalType": "uint256"
|
|
}
|
|
],
|
|
"anonymous": false
|
|
},
|
|
{
|
|
"type": "event",
|
|
"name": "KeyUsed",
|
|
"inputs": [
|
|
{
|
|
"name": "chainId",
|
|
"type": "bytes32",
|
|
"indexed": true,
|
|
"internalType": "bytes32"
|
|
},
|
|
{
|
|
"name": "pkh",
|
|
"type": "bytes32",
|
|
"indexed": true,
|
|
"internalType": "bytes32"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": "uint256",
|
|
"indexed": false,
|
|
"internalType": "uint256"
|
|
}
|
|
],
|
|
"anonymous": false
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "ChainExhausted",
|
|
"inputs": []
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "ChainNotActive",
|
|
"inputs": []
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "ChainNotFound",
|
|
"inputs": []
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "EmptyKeyArray",
|
|
"inputs": []
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "InvalidPKH",
|
|
"inputs": []
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "NotChainOwner",
|
|
"inputs": []
|
|
},
|
|
{
|
|
"type": "error",
|
|
"name": "PKHAlreadyUsed",
|
|
"inputs": []
|
|
}
|
|
]
|