@settlemint/solidity-zeto
Version:
Smart contract set to build Zero Knowledge tokens in SettleMint
234 lines • 7.57 kB
JSON
{
"compiler": {
"version": "0.8.27+commit.40a35a09"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "MAX_DEPTH_HARD_CAP",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "ROOT_INFO_LIST_RETURN_LIMIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
}
],
"devdoc": {
"kind": "dev",
"methods": {
"addLeaf(SmtLib.Data storage,uint256,uint256)": {
"details": "Add a leaf to the SMT",
"params": {
"i": "Index of a leaf",
"v": "Value of a leaf"
}
},
"getMaxDepth(SmtLib.Data storage)": {
"details": "Gets max depth of the SMT return max depth"
},
"getNode(SmtLib.Data storage,uint256)": {
"details": "Get the SMT node by hash",
"params": {
"nodeHash": "Hash of a node"
},
"returns": {
"_0": "A node struct"
}
},
"getProof(SmtLib.Data storage,uint256)": {
"details": "Get the proof if a node with specific index exists or not exists in the SMT.",
"params": {
"index": "A node index."
},
"returns": {
"_0": "SMT proof struct."
}
},
"getProofByBlock(SmtLib.Data storage,uint256,uint256)": {
"details": "Get the proof if a node with specific index exists or not exists in the SMT by some historical block number.",
"params": {
"blockNumber": "The latest block number to get proof for.",
"index": "Node index."
},
"returns": {
"_0": "Proof struct."
}
},
"getProofByRoot(SmtLib.Data storage,uint256,uint256)": {
"details": "Get the proof if a node with specific index exists or not exists in the SMT for some historical tree state.",
"params": {
"historicalRoot": "Historical SMT roof to get proof for.",
"index": "A node index"
},
"returns": {
"_0": "Proof struct."
}
},
"getProofByTime(SmtLib.Data storage,uint256,uint256)": {
"details": "Get the proof if a node with specific index exists or not exists in the SMT by some historical timestamp.",
"params": {
"index": "Node index.",
"timestamp": "The latest timestamp to get proof for."
},
"returns": {
"_0": "Proof struct."
}
},
"getRootHistory(SmtLib.Data storage,uint256,uint256)": {
"details": "Get SMT root history",
"params": {
"length": "history length",
"startIndex": "start index of history"
},
"returns": {
"_0": "array of RootEntryInfo structs"
}
},
"getRootHistoryLength(SmtLib.Data storage)": {
"details": "Get SMT root history length",
"returns": {
"_0": "SMT history length"
}
},
"getRootInfo(SmtLib.Data storage,uint256)": {
"details": "Returns root info by root",
"params": {
"root": "root"
},
"returns": {
"_0": "Root info struct"
}
},
"getRootInfoByBlock(SmtLib.Data storage,uint256)": {
"details": "Get root info by some historical block number.",
"params": {
"blockN": "The latest block number to get the root info for."
},
"returns": {
"_0": "Root info struct"
}
},
"getRootInfoByTime(SmtLib.Data storage,uint256)": {
"details": "Get root info by some historical timestamp.",
"params": {
"timestamp": "The latest timestamp to get the root info for."
},
"returns": {
"_0": "Root info struct"
}
},
"getRootInfoListByRoot(SmtLib.Data storage,uint256,uint256,uint256)": {
"details": "Retrieve root infos list of duplicated root by id and state. If the root repeats more that once, the length list may be greater than 1.",
"params": {
"length": "The length of the list.",
"root": "A root.",
"startIndex": "The index to start the list."
},
"returns": {
"_0": "Root Root entries quantity."
}
},
"getRootInfoListLengthByRoot(SmtLib.Data storage,uint256)": {
"details": "Retrieve duplicate root quantity by id and state. If the root repeats more that once, the length may be greater than 1.",
"params": {
"root": "A root."
},
"returns": {
"_0": "Root root entries quantity."
}
},
"initialize(SmtLib.Data storage,uint256)": {
"details": "Initialize SMT with max depth and root entry of an empty tree.",
"params": {
"maxDepth": "Max depth of the SMT."
}
},
"rootExists(SmtLib.Data storage,uint256)": {
"details": "Checks if root exists",
"params": {
"root": "root return true if root exists"
}
},
"setMaxDepth(SmtLib.Data storage,uint256)": {
"details": "Sets max depth of the SMT",
"params": {
"maxDepth": "max depth"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
"@iden3/=node_modules/@iden3/",
"@openzeppelin/=node_modules/@openzeppelin/",
"forge-std/=lib/forge-std/src/",
"hardhat/=node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 10000
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"node_modules/@iden3/contracts/lib/SmtLib.sol": "SmtLib"
},
"evmVersion": "cancun",
"libraries": {},
"viaIR": true
},
"sources": {
"node_modules/@iden3/contracts/lib/ArrayUtils.sol": {
"keccak256": "0x7c5e3f9c56e8e80811db1f1336a1e37c657947f44687451e5a1d6bd12e9e6141",
"urls": [
"bzz-raw://c9497d8d8fe9fc2b2c9d61bbdfa5a4eb881ddf8948bbc099024e5026fadd6846",
"dweb:/ipfs/Qmczkk8FLcxpM91ZAWpixowBEdq64YVLke3ZqVDt3NkYiT"
],
"license": "GPL-3.0"
},
"node_modules/@iden3/contracts/lib/Poseidon.sol": {
"keccak256": "0x1776fa64b19c5e2f42d1449537ea5e911d7f067ee5d0409ca7daf7319853381f",
"urls": [
"bzz-raw://516c8ae954d17c4c5e4366249b93e85660f5887640c8141c6912831a42b89539",
"dweb:/ipfs/QmVMZW5sFUmb3Bgypmfn19z1cNUWhubYXWFthbFruopZNc"
],
"license": "GPL-3.0"
},
"node_modules/@iden3/contracts/lib/SmtLib.sol": {
"keccak256": "0x9c67be9b7d045ded48a63bd827a5bdc3f2255c68f9640bae41eef074640f1779",
"urls": [
"bzz-raw://1f2b2452120f5b2b2c5589fcf58183f7d800d3f8a2c202ebdc3b69815bcfb2aa",
"dweb:/ipfs/QmbnvLnfJaKL3eqt1CfXofsiLJ7G3nYTawUEqGpCazWbrQ"
],
"license": "GPL-3.0"
}
},
"version": 1
}