@settlemint/solidity-zeto
Version:
Smart contract set to build Zero Knowledge tokens in SettleMint
378 lines • 11.3 kB
JSON
{
"compiler": {
"version": "0.8.27+commit.40a35a09"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"type": "error",
"name": "InvalidInitialization"
},
{
"inputs": [],
"type": "error",
"name": "NotInitializing"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"type": "error",
"name": "OwnableInvalidOwner"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"type": "error",
"name": "OwnableUnauthorizedAccount"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "maxAllowed",
"type": "uint256"
}
],
"type": "error",
"name": "WithdrawArrayTooLarge"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "version",
"type": "uint64",
"indexed": false
}
],
"type": "event",
"name": "Initialized",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "previousOwner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "newOwner",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "OwnershipTransferred",
"anonymous": false
},
{
"inputs": [
{
"internalType": "contract Groth16Verifier_CheckHashesValue",
"name": "_depositVerifier",
"type": "address"
},
{
"internalType": "contract Groth16Verifier_CheckInputsOutputsValue",
"name": "_withdrawVerifier",
"type": "address"
},
{
"internalType": "contract Groth16Verifier_CheckInputsOutputsValueBatch",
"name": "_batchWithdrawVerifier",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "__ZetoFungibleWithdraw_init"
},
{
"inputs": [
{
"internalType": "contract Groth16Verifier_CheckHashesValue",
"name": "_depositVerifier",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "__ZetoFungible_init"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "utxo",
"type": "uint256"
},
{
"internalType": "struct Commonlib.Proof",
"name": "proof",
"type": "tuple",
"components": [
{
"internalType": "uint256[2]",
"name": "pA",
"type": "uint256[2]"
},
{
"internalType": "uint256[2][2]",
"name": "pB",
"type": "uint256[2][2]"
},
{
"internalType": "uint256[2]",
"name": "pC",
"type": "uint256[2]"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "_deposit"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "inputs",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "output",
"type": "uint256"
},
{
"internalType": "struct Commonlib.Proof",
"name": "proof",
"type": "tuple",
"components": [
{
"internalType": "uint256[2]",
"name": "pA",
"type": "uint256[2]"
},
{
"internalType": "uint256[2][2]",
"name": "pB",
"type": "uint256[2][2]"
},
{
"internalType": "uint256[2]",
"name": "pC",
"type": "uint256[2]"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "_withdraw"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "renounceOwnership"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_erc20",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setERC20"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferOwnership"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
"@iden3/=node_modules/@iden3/",
"@openzeppelin/=node_modules/@openzeppelin/",
"eth-gas-reporter/=node_modules/eth-gas-reporter/",
"forge-std/=lib/forge-std/src/",
"hardhat/=node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 10000
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"contracts/lib/zeto_fungible_withdraw.sol": "ZetoFungibleWithdraw"
},
"evmVersion": "cancun",
"libraries": {},
"viaIR": true
},
"sources": {
"contracts/lib/common.sol": {
"keccak256": "0x41a6c108b95ddee950755303e6e59bceca9c55d518cc7e4ca6e8f5badfe490cb",
"urls": [
"bzz-raw://c6865168ec6355ee85c6ce11d17c7c1bc57baec729de7cdbb9d6e8d860f70957",
"dweb:/ipfs/QmXysx5oVKrSzoAvhzQCQs5bx1p5T5LeuJW6DtvgT7pXnV"
],
"license": "Apache-2.0"
},
"contracts/lib/verifier_check_hashes_value.sol": {
"keccak256": "0x26fe5872592dd81fce74ba053455b6fc0d4d3f61eb49b089fea3977da5592520",
"urls": [
"bzz-raw://64b6b7225355b6d39b4daec59248ccbbdfd38cfdd47ed864f46ba85d6370d9ca",
"dweb:/ipfs/QmdFGUMMeGKmHRBrvzHjm2xf4v7shmpsp91CsHXytLLVXz"
],
"license": "GPL-3.0"
},
"contracts/lib/verifier_check_inputs_outputs_value.sol": {
"keccak256": "0x1abdb4c8072d27cfec159adb4427fe5f1a3a4c70f044df2e6dba06f422f9c4af",
"urls": [
"bzz-raw://ebdbbf40048c4c356828a3bc68c54b1ce4e0fff8448929ccada9ebd87a625762",
"dweb:/ipfs/QmU8vYXXQCGdKti4DXKA3FmRChUptMgdfQ2Qc1kEbjPWC2"
],
"license": "GPL-3.0"
},
"contracts/lib/verifier_check_inputs_outputs_value_batch.sol": {
"keccak256": "0x027b20dcdccd05a149e34d7a9b6ffb31f0c936835eca8d358ebe26d656d21e40",
"urls": [
"bzz-raw://d43a28950016eb7030f9089b785b8fbf3dabc4f7bc5ccdbacf411b09658ed375",
"dweb:/ipfs/QmPgPbZ8eDM1xAqnSaquWvrA1YoLXm7kZQGn9soWhweyaL"
],
"license": "GPL-3.0"
},
"contracts/lib/verifier_check_nullifier_value.sol": {
"keccak256": "0x3c0a37c3b844cc95ff55441db084dc6c0d747537676d6327e6c8bddf538ad447",
"urls": [
"bzz-raw://ee1d06a4788a884448806882828fde9f448b64e8df5842ac35cd5a0e92cb6d04",
"dweb:/ipfs/QmSTMaxtLJDrPBQJvbfr7n2iAKfXH1X2xEHUj8iH9omf1w"
],
"license": "GPL-3.0"
},
"contracts/lib/zeto_fungible.sol": {
"keccak256": "0xea8b1e381a2a71f93f502980a2d15f828c4e0577f5b55ccb19e5643368e613bc",
"urls": [
"bzz-raw://6fb967615097e25885cc44d22487b368f7435b5bd0f46417f8e4038bcd984ebd",
"dweb:/ipfs/QmSdRLMf81HcyvTgU3cgw9nxvkjxVJGkYmAbdWQ2CDebYg"
],
"license": "Apache-2.0"
},
"contracts/lib/zeto_fungible_withdraw.sol": {
"keccak256": "0xf98eff66bad224899806f490220d78152df2dec6f24da528a53910a14de44571",
"urls": [
"bzz-raw://abecdfe278f8b02d727e51b54590a0ec3a659ff9a05271a2472e27ebd4148160",
"dweb:/ipfs/QmdxXVvfHnh27fKVRfQU2tnSYhgs9RtL4JjUbrsLhQEk4a"
],
"license": "Apache-2.0"
},
"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol": {
"keccak256": "0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a",
"urls": [
"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6",
"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": {
"keccak256": "0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05",
"urls": [
"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08",
"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": {
"keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397",
"urls": [
"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9",
"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
"urls": [
"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
],
"license": "MIT"
}
},
"version": 1
}