{
    "_format": "hh-sol-artifact-1",
    "contractName": "StealthKeyRegistry",
    "sourceName": "contracts/StealthKeyRegistry.sol",
    "abi": [
        {
            "inputs": [],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "registrant",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "spendingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "spendingPubKey",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "viewingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "viewingPubKey",
                    "type": "uint256"
                }
            ],
            "name": "StealthKeyChanged",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "DOMAIN_SEPARATOR",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "STEALTHKEYS_TYPEHASH",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "_spendingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_spendingPubKey",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_viewingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_viewingPubKey",
                    "type": "uint256"
                }
            ],
            "name": "setStealthKeys",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_registrant",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "_spendingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_spendingPubKey",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_viewingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_viewingPubKey",
                    "type": "uint256"
                },
                {
                    "internalType": "uint8",
                    "name": "_v",
                    "type": "uint8"
                },
                {
                    "internalType": "bytes32",
                    "name": "_r",
                    "type": "bytes32"
                },
                {
                    "internalType": "bytes32",
                    "name": "_s",
                    "type": "bytes32"
                }
            ],
            "name": "setStealthKeysOnBehalf",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_registrant",
                    "type": "address"
                }
            ],
            "name": "stealthKeys",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "spendingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "spendingPubKey",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "viewingPubKeyPrefix",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "viewingPubKey",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x60a060405234801561001057600080fd5b50604080518082018252601f81527f537465616c746850617920537465616c7468204b6579205265676973747279006020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527fe4f63f0a5fd7fccd11c6d52bae61db1ee9c767ac791a01076d23be755bd79097918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160408051601f1981840301815291905280516020909101206080526080516107fd61011c60003960008181608601526101b301526107fd6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806367eaa7ac1161005057806367eaa7ac146100bb578063bb8f257b146100e2578063cec2a787146100f557600080fd5b8063100dcc531461006c5780633644e51514610081575b600080fd5b61007f61007a3660046106e2565b610128565b005b6100a87f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6100a87fab73c83a21fb894c20095a8f28177984b02f6284c760e4c1ac2f82c3d34b79c181565b61007f6100f0366004610757565b610352565b6101086101033660046106c0565b610365565b6040805194855260208501939093529183015260608201526080016100b2565b604080517fab73c83a21fb894c20095a8f28177984b02f6284c760e4c1ac2f82c3d34b79c16020808301919091528183018a9052606082018990526080820188905260a08083018890528351808403909101815260c0830190935282519201919091207f190100000000000000000000000000000000000000000000000000000000000060e08301527f000000000000000000000000000000000000000000000000000000000000000060e283015261010282015260009061012201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa15801561026d573d6000803e3d6000fd5b5050506020604051035190508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f537465616c74684b657952656769737472793a20496e76616c6964205369676e60448201527f617475726500000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103468a8a8a8a8a6104b8565b50505050505050505050565b61035f33858585856104b8565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208181526040808320838052909152812054819081908190156103d95773ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320838052909152902054600294509250610410565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320600184529091529020546003945092505b73ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320600284529091529020541561047d57505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832060028085529252909120546104b1565b505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832060038085529252909120545b9193509193565b83600214806104c75750836003145b80156104dd575081600214806104dd5750816003145b610569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f537465616c74684b657952656769737472793a20496e76616c6964205072656660448201527f69780000000000000000000000000000000000000000000000000000000000006064820152608401610330565b60408051858152602081018590529081018390526060810182905273ffffffffffffffffffffffffffffffffffffffff8616907fe879dede910dd3b22239a11044df83c95adcd4b54003516f42866cc1fe4f0a199060800160405180910390a26105d4600285610789565b73ffffffffffffffffffffffffffffffffffffffff86166000908152602081905260408120919550610607866001610789565b81526020808201929092526040908101600090812081905573ffffffffffffffffffffffffffffffffffffffff881681529182905281209061064a846005610789565b81526020808201929092526040908101600090812081905573ffffffffffffffffffffffffffffffffffffffff979097168752868252808720958752949052838520929092558352912055565b803573ffffffffffffffffffffffffffffffffffffffff811681146106bb57600080fd5b919050565b6000602082840312156106d257600080fd5b6106db82610697565b9392505050565b600080600080600080600080610100898b0312156106ff57600080fd5b61070889610697565b97506020890135965060408901359550606089013594506080890135935060a089013560ff8116811461073a57600080fd5b979a969950949793969295929450505060c08201359160e0013590565b6000806000806080858703121561076d57600080fd5b5050823594602084013594506040840135936060013592509050565b6000828210156107c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50039056fea2646970667358221220a5158fed4137400e9396ce58078734309ab39f318fcc14c62029748e879a9b0864736f6c63430008070033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c806367eaa7ac1161005057806367eaa7ac146100bb578063bb8f257b146100e2578063cec2a787146100f557600080fd5b8063100dcc531461006c5780633644e51514610081575b600080fd5b61007f61007a3660046106e2565b610128565b005b6100a87f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6100a87fab73c83a21fb894c20095a8f28177984b02f6284c760e4c1ac2f82c3d34b79c181565b61007f6100f0366004610757565b610352565b6101086101033660046106c0565b610365565b6040805194855260208501939093529183015260608201526080016100b2565b604080517fab73c83a21fb894c20095a8f28177984b02f6284c760e4c1ac2f82c3d34b79c16020808301919091528183018a9052606082018990526080820188905260a08083018890528351808403909101815260c0830190935282519201919091207f190100000000000000000000000000000000000000000000000000000000000060e08301527f000000000000000000000000000000000000000000000000000000000000000060e283015261010282015260009061012201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa15801561026d573d6000803e3d6000fd5b5050506020604051035190508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f537465616c74684b657952656769737472793a20496e76616c6964205369676e60448201527f617475726500000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103468a8a8a8a8a6104b8565b50505050505050505050565b61035f33858585856104b8565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208181526040808320838052909152812054819081908190156103d95773ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320838052909152902054600294509250610410565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320600184529091529020546003945092505b73ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320600284529091529020541561047d57505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832060028085529252909120546104b1565b505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832060038085529252909120545b9193509193565b83600214806104c75750836003145b80156104dd575081600214806104dd5750816003145b610569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f537465616c74684b657952656769737472793a20496e76616c6964205072656660448201527f69780000000000000000000000000000000000000000000000000000000000006064820152608401610330565b60408051858152602081018590529081018390526060810182905273ffffffffffffffffffffffffffffffffffffffff8616907fe879dede910dd3b22239a11044df83c95adcd4b54003516f42866cc1fe4f0a199060800160405180910390a26105d4600285610789565b73ffffffffffffffffffffffffffffffffffffffff86166000908152602081905260408120919550610607866001610789565b81526020808201929092526040908101600090812081905573ffffffffffffffffffffffffffffffffffffffff881681529182905281209061064a846005610789565b81526020808201929092526040908101600090812081905573ffffffffffffffffffffffffffffffffffffffff979097168752868252808720958752949052838520929092558352912055565b803573ffffffffffffffffffffffffffffffffffffffff811681146106bb57600080fd5b919050565b6000602082840312156106d257600080fd5b6106db82610697565b9392505050565b600080600080600080600080610100898b0312156106ff57600080fd5b61070889610697565b97506020890135965060408901359550606089013594506080890135935060a089013560ff8116811461073a57600080fd5b979a969950949793969295929450505060c08201359160e0013590565b6000806000806080858703121561076d57600080fd5b5050823594602084013594506040840135936060013592509050565b6000828210156107c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50039056fea2646970667358221220a5158fed4137400e9396ce58078734309ab39f318fcc14c62029748e879a9b0864736f6c63430008070033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
