6528 lines
308 KiB
JSON
6528 lines
308 KiB
JSON
|
{
|
||
|
"contractName": "TornadoRouter",
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_governanceProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "sender",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "bytes",
|
||
|
"name": "encryptedNote",
|
||
|
"type": "bytes"
|
||
|
}
|
||
|
],
|
||
|
"name": "EncryptedNote",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address",
|
||
|
"name": "newInstanceRegistryProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "InstanceRegistryUpdated",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address",
|
||
|
"name": "newRelayerRegistryProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "RelayerRegistryUpdated",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "spender",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "uint256",
|
||
|
"name": "amount",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "TokenApproved",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20",
|
||
|
"name": "_token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_spender",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_amount",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "approveTokenForInstance",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "bytes[]",
|
||
|
"name": "_encryptedNotes",
|
||
|
"type": "bytes[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "backupNotes",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract ITornadoInstance",
|
||
|
"name": "_tornado",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_commitment",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes",
|
||
|
"name": "_encryptedNote",
|
||
|
"type": "bytes"
|
||
|
}
|
||
|
],
|
||
|
"name": "deposit",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "payable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "governanceProxyAddress",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_instanceRegistryAddress",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_relayerRegistryAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "initialize",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "instanceRegistry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract InstanceRegistry",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "relayerRegistry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract RelayerRegistry",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20",
|
||
|
"name": "_token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address payable",
|
||
|
"name": "_to",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_amount",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "rescueTokens",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_newInstanceRegistryProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "setInstanceRegistry",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_newRelayerRegistryProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "setRelayerRegistry",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "version",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "string",
|
||
|
"name": "",
|
||
|
"type": "string"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "pure",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract ITornadoInstance",
|
||
|
"name": "_tornado",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes",
|
||
|
"name": "_proof",
|
||
|
"type": "bytes"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_root",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_nullifierHash",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address payable",
|
||
|
"name": "_recipient",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address payable",
|
||
|
"name": "_relayer",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_fee",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_refund",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "withdraw",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "payable",
|
||
|
"type": "function"
|
||
|
}
|
||
|
],
|
||
|
"bytecode": {
|
||
|
"object": "0x60a060405234801561001057600080fd5b506040516115b03803806115b083398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c61150d6100a3600039806103f1528061042d5280610647528061086d5280610907525061150d6000f3fe6080604052600436106100975760003560e01c806313d98d131461009c57806336a3874b146100b15780634655478f146100dc57806347ff589d146100f1578063485cc955146101065780634b704c971461012657806354fd4d50146101465780636485ba2a1461016857806364cb281114610188578063b438689f146101a8578063baaa2169146101bb578063cea9d26f146101db575b600080fd5b6100af6100aa366004610f3f565b6101fb565b005b3480156100bd57600080fd5b506100c66103da565b6040516100d39190611096565b60405180910390f35b3480156100e857600080fd5b506100c66103ef565b3480156100fd57600080fd5b506100c6610413565b34801561011257600080fd5b506100af610121366004610dc0565b610422565b34801561013257600080fd5b506100af610141366004610ec2565b610530565b34801561015257600080fd5b5061015b6105ba565b6040516100d39190611193565b34801561017457600080fd5b506100af610183366004610df8565b6105e5565b34801561019457600080fd5b506100af6101a3366004610da4565b61063c565b6100af6101b6366004610f98565b6106da565b3480156101c757600080fd5b506100af6101d6366004610da4565b610862565b3480156101e757600080fd5b506100af6101f6366004610e82565b6108fc565b60008054604051636695ad4960e11b815282918291620100009091046001600160a01b03169063cd2b5a9290610235908a90600401611096565b60806040518083038186803b15801561024d57600080fd5b505afa158015610261573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102859190610ed6565b93509350509250806102b25760405162461bcd60e51b81526004016102a9906111fd565b60405180910390fd5b8115610340576103403330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f657600080fd5b505afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e9190611038565b6001600160a01b038716929190610a90565b60405163b214faa560e01b81526001600160a01b0388169063b214faa590349061036e908a90600401611124565b6000604051808303818588803b15801561038757600080fd5b505af115801561039b573d6000803e3d6000fd5b5050505050336001600160a01b03166000805160206114b883398151915286866040516103c992919061112d565b60405180910390a250505050505050565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046a5760405162461bcd60e51b81526004016102a9906111c6565b600054610100900460ff16806104835750610483610aee565b80610491575060005460ff16155b6104ad5760405162461bcd60e51b81526004016102a990611240565b600054610100900460ff161580156104d8576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b031916918416919091179055801561052b576000805461ff00191690555b505050565b6000546201000090046001600160a01b031633146105605760405162461bcd60e51b81526004016102a9906113de565b6105746001600160a01b0384168383610af4565b816001600160a01b03167fab1e93ce08cc196e636fe318c052f82163b40e499a90a0fdb38912ecd5beae11826040516105ad9190611124565b60405180910390a2505050565b6040805180820190915260118152703b1916b7b930b1b63296b6b0b730b3b2b960791b602082015290565b60005b8181101561052b57336000805160206114b883398151915284848481811061060c57fe5b905060200281019061061e9190611421565b60405161062c92919061112d565b60405180910390a26001016105e8565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106845760405162461bcd60e51b81526004016102a9906111c6565b600180546001600160a01b0319166001600160a01b0383161790556040517fd3c0577a88b56268da0350a01cb491fb15be69982729d9cb066a0603d1fc54b8906106cf908390611096565b60405180910390a150565b60008054604051636695ad4960e11b8152620100009091046001600160a01b03169063cd2b5a9290610710908d90600401611096565b60806040518083038186803b15801561072857600080fd5b505afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250
|
||
|
"sourceMap": "938:4825:67:-:0;;;1841:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1903:48;;-1:-1:-1;;;;;;1903:48:67;;;938:4825;;146:263:-1;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;83:13;;-1:-1;;;;;576:54;;701:35;;691:2;;-1:-1;;740:12;691:2;319:74;223:186;-1:-1;;;223:186::o;:::-;938:4825:67;;;;;;;;;;;",
|
||
|
"linkReferences": {}
|
||
|
},
|
||
|
"deployedBytecode": {
|
||
|
"object": "0x6080604052600436106100975760003560e01c806313d98d131461009c57806336a3874b146100b15780634655478f146100dc57806347ff589d146100f1578063485cc955146101065780634b704c971461012657806354fd4d50146101465780636485ba2a1461016857806364cb281114610188578063b438689f146101a8578063baaa2169146101bb578063cea9d26f146101db575b600080fd5b6100af6100aa366004610f3f565b6101fb565b005b3480156100bd57600080fd5b506100c66103da565b6040516100d39190611096565b60405180910390f35b3480156100e857600080fd5b506100c66103ef565b3480156100fd57600080fd5b506100c6610413565b34801561011257600080fd5b506100af610121366004610dc0565b610422565b34801561013257600080fd5b506100af610141366004610ec2565b610530565b34801561015257600080fd5b5061015b6105ba565b6040516100d39190611193565b34801561017457600080fd5b506100af610183366004610df8565b6105e5565b34801561019457600080fd5b506100af6101a3366004610da4565b61063c565b6100af6101b6366004610f98565b6106da565b3480156101c757600080fd5b506100af6101d6366004610da4565b610862565b3480156101e757600080fd5b506100af6101f6366004610e82565b6108fc565b60008054604051636695ad4960e11b815282918291620100009091046001600160a01b03169063cd2b5a9290610235908a90600401611096565b60806040518083038186803b15801561024d57600080fd5b505afa158015610261573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102859190610ed6565b93509350509250806102b25760405162461bcd60e51b81526004016102a9906111fd565b60405180910390fd5b8115610340576103403330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f657600080fd5b505afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e9190611038565b6001600160a01b038716929190610a90565b60405163b214faa560e01b81526001600160a01b0388169063b214faa590349061036e908a90600401611124565b6000604051808303818588803b15801561038757600080fd5b505af115801561039b573d6000803e3d6000fd5b5050505050336001600160a01b03166000805160206114b883398151915286866040516103c992919061112d565b60405180910390a250505050505050565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046a5760405162461bcd60e51b81526004016102a9906111c6565b600054610100900460ff16806104835750610483610aee565b80610491575060005460ff16155b6104ad5760405162461bcd60e51b81526004016102a990611240565b600054610100900460ff161580156104d8576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b031916918416919091179055801561052b576000805461ff00191690555b505050565b6000546201000090046001600160a01b031633146105605760405162461bcd60e51b81526004016102a9906113de565b6105746001600160a01b0384168383610af4565b816001600160a01b03167fab1e93ce08cc196e636fe318c052f82163b40e499a90a0fdb38912ecd5beae11826040516105ad9190611124565b60405180910390a2505050565b6040805180820190915260118152703b1916b7b930b1b63296b6b0b730b3b2b960791b602082015290565b60005b8181101561052b57336000805160206114b883398151915284848481811061060c57fe5b905060200281019061061e9190611421565b60405161062c92919061112d565b60405180910390a26001016105e8565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106845760405162461bcd60e51b81526004016102a9906111c6565b600180546001600160a01b0319166001600160a01b0383161790556040517fd3c0577a88b56268da0350a01cb491fb15be69982729d9cb066a0603d1fc54b8906106cf908390611096565b60405180910390a150565b60008054604051636695ad4960e11b8152620100009091046001600160a01b03169063cd2b5a9290610710908d90600401611096565b60806040518083038186803b15801561072857600080fd5b505afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107609190610ed6565b9350505050806107825760405162461bcd60e51b81526004016102a9906111fd565b600154604051631168473b60e21b81526001600160a01b03909116906345a11cec906107b690339088908f906004016110aa565b600060405180830381600087803b1580156107d057600080fd5b505af11580156107e4573d6000803e3d6000fd5b50506040516310d056db60e11b8152600160
|
||
|
"sourceMap": "938:4825:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2558:558;;;;;;:::i;:::-;;:::i;:::-;;1250:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1159:47;;;;;;;;;;;;;:::i;1333:38::-;;;;;;;;;;;;;:::i;2255:297::-;;;;;;;;;;-1:-1:-1;2255:297:67;;;;;:::i;:::-;;:::i;4815:234::-;;;;;;;;;;-1:-1:-1;4815:234:67;;;;;:::i;:::-;;:::i;5655:106::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3761:214::-;;;;;;;;;;-1:-1:-1;3761:214:67;;;;;:::i;:::-;;:::i;5314:246::-;;;;;;;;;;-1:-1:-1;5314:246:67;;;;;:::i;:::-;;:::i;3122:633::-;;;;;;:::i;:::-;;:::i;5055:253::-;;;;;;;;;;-1:-1:-1;5055:253:67;;;;;:::i;:::-;;:::i;3981:739::-;;;;;;;;;;-1:-1:-1;3981:739:67;;;;;:::i;:::-;;:::i;2558:558::-;2716:12;2763:16;;:39;;-1:-1:-1;;;2763:39:67;;2716:12;;;;2763:16;;;;-1:-1:-1;;;;;2763:16:67;;:29;;:39;;2793:8;;2763:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2715:87;;;;;;;2821:9;2813:57;;;;-1:-1:-1;;;2813:57:67;;;;;;;:::i;:::-;;;;;;;;;2885:7;2881:112;;;2908:74;2931:10;2951:4;2958:8;-1:-1:-1;;;;;2958:21:67;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2908:22:67;;;;:74;:22;:74::i;:::-;3003:49;;-1:-1:-1;;;3003:49:67;;-1:-1:-1;;;;;3003:16:67;;;-1:-1:-1;;3028:9:67;;3003:49;;3040:11;;3003:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3082:10:67;;-1:-1:-1;;;;;;;;;;;;;;3094:14:67;;3068:41;;;;;;;:::i;:::-;;;;;;;;2558:558;;;;;;;:::o;1250:40::-;;;;;;-1:-1:-1;;;;;1250:40:67;;:::o;1159:47::-;;;:::o;1333:38::-;;;-1:-1:-1;;;;;1333:38:67;;:::o;2255:297::-;2175:22;-1:-1:-1;;;;;2161:36:67;:10;:36;2153:78;;;;-1:-1:-1;;;2153:78:67;;;;;;;:::i;:::-;1426:13:21::1;::::0;::::1;::::0;::::1;;;::::0;:33:::1;;;1443:16;:14;:16::i;:::-;1426:50;;;-1:-1:-1::0;1464:12:21::1;::::0;::::1;;1463:13;1426:50;1418:109;;;::::0;-1:-1:-1;;;1418:109:21;;::::1;::::0;::::1;;;:::i;:::-;1538:19;1561:13:::0;::::1;::::0;::::1;;;1560:14;1584:98:::0;::::1;;;1618:13;:20:::0;;-1:-1:-1;;;;1618:20:21;;::::1;;;1652:19;1634:4;1652:19;::::0;;1584:98:::1;2416:16:67::2;:61:::0;;-1:-1:-1;;;;;;2416:61:67::2;-1:-1:-1::0;;;;;;2416:61:67;;::::2;::::0;;;::::2;::::0;;;::::2;::::0;;;-1:-1:-1;2487:58:67;;-1:-1:-1;;;;;;2487:58:67::2;::::0;;::::2;::::0;;;::::2;::::0;;1704:66:21;::::1;;;1754:5;1738:21:::0;;-1:-1:-1;;1738:21:21::1;::::0;;1704:66:::1;2241:1:67;2255:297:::0;;:::o;4815:234::-;2036:16;;;;;-1:-1:-1;;;;;2036:16:67;2014:10;:39;2006:87;;;;-1:-1:-1;;;2006:87:67;;;;;;;:::i;:::-;4958:37:::1;-1:-1:-1::0;;;;;4958:18:67;::::1;4977:8:::0;4987:7;4958:18:::1;:37::i;:::-;5010:32;::::0;-1:-1:-1;;;;;5010:32:67;::::1;::::0;::::1;::::0;::::1;::::0;5034:7;;5010:32:::1;:::i;:::-;;;;;;;;4815:234:::0;;;:::o;5655:106::-;5728:26;;;;;;;;;;;;-1:-1:-1;;;5728:26:67;;;;;5655:106::o;3761:214::-;3846:9;3841:128;3861:26;;;3841:128;;;3927:10;-1:-1:-1;;;;;;;;;;;3939:15:67;;3955:1;3939:18;;;;;;;;;;;;;;;;;;:::i;:::-;3913:45;;;;;;;:::i;:::-;;;;;;;;3889:3;;3841:128;;5314:246;2175:22;-1:-1:-1;;;;;2161:36:67;:10;:36;2153:78;;;;-1:-1:-1;;;2153:78:67;;;;;;;:::i;:::-;5417:15:::1;:66:::0;;-1:-1:-1;;;;;;5417:66:67::1;-1:-1:-1::0;;;;;5417:66:67;::::1;;::::0;;5498:55:::1;::::0;::::1;::::0;::::1;::::0;5417:66;;5498:55:::1;:::i;:::-;;;;;;;;5314:246:::0;:::o;3122:633::-;3422:14;3440:16;;:39;;-1:-1:-1;;;3440:39:67;;:16;;;;-1:-1:-1;;;;;3440:16:67;;:29;;:39;;3470:8;;3440:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3417:62;;;;;3498:9;3490:57;;;;-1:-1:-1;;;3490:57:67;;;;;;;:::i;:::-;3558:15;;:52;;-1:-1:-1;;;3558:52:67;;-1:-1:-1;;;;;3558:15:67;;;;:20;;:52;;3579:10;;3591:8;;3601;;3558:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3621:127:67;;-1:-1:-1;;;3621:127:67;;-1:-1:-1;;;;;3621:17:67;;;-1:-1:-1;3621:17:67;;-1:-1:-1;3647:9:67;;3621:127;;3672:6;;;;3680:5;;3687:14;;3703:10;;3715:8;;3725:4;;3731:7;;3621:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3122:633;;;;;;;;;;:::o;5055:253::-;2175:22;-1:-1:-1;;;;;2161:36:67;:10;:36;2153:78;;;;-1:-1:-1;;;2153:78:67;;;;;;;:::i;:::-;5160:16:::1;:69:::0;;-1:-1:-1;;;;;;5160:69:67::1;-1:-1:-1::0;;;;;;5160:69:67;::::1;;;:
|
||
|
"linkReferences": {},
|
||
|
"immutableReferences": {
|
||
|
"39241": [
|
||
|
{
|
||
|
"start": 1009,
|
||
|
"length": 32
|
||
|
},
|
||
|
{
|
||
|
"start": 1069,
|
||
|
"length": 32
|
||
|
},
|
||
|
{
|
||
|
"start": 1607,
|
||
|
"length": 32
|
||
|
},
|
||
|
{
|
||
|
"start": 2157,
|
||
|
"length": 32
|
||
|
},
|
||
|
{
|
||
|
"start": 2311,
|
||
|
"length": 32
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"methodIdentifiers": {
|
||
|
"approveTokenForInstance(address,address,uint256)": "4b704c97",
|
||
|
"backupNotes(bytes[])": "6485ba2a",
|
||
|
"deposit(address,bytes32,bytes)": "13d98d13",
|
||
|
"governanceProxyAddress()": "4655478f",
|
||
|
"initialize(address,address)": "485cc955",
|
||
|
"instanceRegistry()": "36a3874b",
|
||
|
"relayerRegistry()": "47ff589d",
|
||
|
"rescueTokens(address,address,uint256)": "cea9d26f",
|
||
|
"setInstanceRegistry(address)": "baaa2169",
|
||
|
"setRelayerRegistry(address)": "64cb2811",
|
||
|
"version()": "54fd4d50",
|
||
|
"withdraw(address,bytes,bytes32,bytes32,address,address,uint256,uint256)": "b438689f"
|
||
|
},
|
||
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governanceProxyAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"encryptedNote\",\"type\":\"bytes\"}],\"name\":\"EncryptedNote\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newInstanceRegistryProxyAddress\",\"type\":\"address\"}],\"name\":\"InstanceRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRelayerRegistryProxyAddress\",\"type\":\"address\"}],\"name\":\"RelayerRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenApproved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approveTokenForInstance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_encryptedNotes\",\"type\":\"bytes[]\"}],\"name\":\"backupNotes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITornadoInstance\",\"name\":\"_tornado\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_encryptedNote\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governanceProxyAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_instanceRegistryAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_relayerRegistryAddress\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"instanceRegistry\",\"outputs\":[{\"internalType\":\"contract InstanceRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"relayerRegistry\",\"outputs\":[{\"internalType\":\"contract RelayerRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"rescueTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newInstanceRegistryProxyAddress\",\"type\":\"address\"}],\"name\":\"setInstanceRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newRelayerRegistryProxyAddress\",\"type\":\"address\"}],\"name\":\"setRelayerRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITornadoInstance\",\"name\":\"_tornado\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"int
|
||
|
"metadata": {
|
||
|
"compiler": {
|
||
|
"version": "0.6.12+commit.27d51765"
|
||
|
},
|
||
|
"language": "Solidity",
|
||
|
"output": {
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_governanceProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "sender",
|
||
|
"type": "address",
|
||
|
"indexed": true
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes",
|
||
|
"name": "encryptedNote",
|
||
|
"type": "bytes",
|
||
|
"indexed": false
|
||
|
}
|
||
|
],
|
||
|
"type": "event",
|
||
|
"name": "EncryptedNote",
|
||
|
"anonymous": false
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "newInstanceRegistryProxyAddress",
|
||
|
"type": "address",
|
||
|
"indexed": false
|
||
|
}
|
||
|
],
|
||
|
"type": "event",
|
||
|
"name": "InstanceRegistryUpdated",
|
||
|
"anonymous": false
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "newRelayerRegistryProxyAddress",
|
||
|
"type": "address",
|
||
|
"indexed": false
|
||
|
}
|
||
|
],
|
||
|
"type": "event",
|
||
|
"name": "RelayerRegistryUpdated",
|
||
|
"anonymous": false
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "spender",
|
||
|
"type": "address",
|
||
|
"indexed": true
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "amount",
|
||
|
"type": "uint256",
|
||
|
"indexed": false
|
||
|
}
|
||
|
],
|
||
|
"type": "event",
|
||
|
"name": "TokenApproved",
|
||
|
"anonymous": false
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20",
|
||
|
"name": "_token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_spender",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_amount",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function",
|
||
|
"name": "approveTokenForInstance"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "bytes[]",
|
||
|
"name": "_encryptedNotes",
|
||
|
"type": "bytes[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function",
|
||
|
"name": "backupNotes"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract ITornadoInstance",
|
||
|
"name": "_tornado",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_commitment",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes",
|
||
|
"name": "_encryptedNote",
|
||
|
"type": "bytes"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "payable",
|
||
|
"type": "function",
|
||
|
"name": "deposit"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"name": "governanceProxyAddress",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_instanceRegistryAddress",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_relayerRegistryAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function",
|
||
|
"name": "initialize"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"name": "instanceRegistry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract InstanceRegistry",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"name": "relayerRegistry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract RelayerRegistry",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20",
|
||
|
"name": "_token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address payable",
|
||
|
"name": "_to",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_amount",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function",
|
||
|
"name": "rescueTokens"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_newInstanceRegistryProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function",
|
||
|
"name": "setInstanceRegistry"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_newRelayerRegistryProxyAddress",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function",
|
||
|
"name": "setRelayerRegistry"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"stateMutability": "pure",
|
||
|
"type": "function",
|
||
|
"name": "version",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "string",
|
||
|
"name": "",
|
||
|
"type": "string"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract ITornadoInstance",
|
||
|
"name": "_tornado",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes",
|
||
|
"name": "_proof",
|
||
|
"type": "bytes"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_root",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_nullifierHash",
|
||
|
"type": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address payable",
|
||
|
"name": "_recipient",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address payable",
|
||
|
"name": "_relayer",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_fee",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_refund",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "payable",
|
||
|
"type": "function",
|
||
|
"name": "withdraw"
|
||
|
}
|
||
|
],
|
||
|
"devdoc": {
|
||
|
"kind": "dev",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
},
|
||
|
"userdoc": {
|
||
|
"kind": "user",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
}
|
||
|
},
|
||
|
"settings": {
|
||
|
"remappings": [
|
||
|
":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||
|
":@uniswap/v3-core/=lib/v3-core/",
|
||
|
":@uniswap/v3-periphery/=lib/v3-periphery/",
|
||
|
":base/=src/base/",
|
||
|
":common/=src/common/",
|
||
|
":ds-test/=lib/ds-test/src/",
|
||
|
":forge-std/=lib/forge-std/src/",
|
||
|
":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/",
|
||
|
":solmate/=lib/solmate/src/",
|
||
|
":src/=src/",
|
||
|
":torn-token/=lib/torn-token/",
|
||
|
":tornado-anonymity-mining/=lib/tornado-anonymity-mining/",
|
||
|
":tornado-governance/=lib/tornado-governance/",
|
||
|
":v3-core/=lib/v3-core/",
|
||
|
":v3-periphery/=lib/v3-periphery/contracts/"
|
||
|
],
|
||
|
"optimizer": {
|
||
|
"enabled": true,
|
||
|
"runs": 1
|
||
|
},
|
||
|
"metadata": {
|
||
|
"bytecodeHash": "ipfs"
|
||
|
},
|
||
|
"compilationTarget": {
|
||
|
"src/v2/TornadoRouter.sol": "TornadoRouter"
|
||
|
},
|
||
|
"libraries": {}
|
||
|
},
|
||
|
"sources": {
|
||
|
"lib/openzeppelin-contracts/contracts/GSN/Context.sol": {
|
||
|
"keccak256": "0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183",
|
||
|
"urls": [
|
||
|
"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a",
|
||
|
"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/access/Ownable.sol": {
|
||
|
"keccak256": "0x4bd6402ca6b3419008c2b482aff54e66836e8cb4eba2680e42ac5884ae6424fc",
|
||
|
"urls": [
|
||
|
"bzz-raw://8f9f711fb8d0d92aeea1c327e3845d13ca1fa8f142e47f8723cd5b3106fb29a3",
|
||
|
"dweb:/ipfs/QmVQUReDW9f4zGqhizwHnyU8EntMs95tbASdqkGncnikba"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/math/Math.sol": {
|
||
|
"keccak256": "0x6c234834003dfb86e2c23d12dfdde7cc01e78013d71b52162cb308b4873562cb",
|
||
|
"urls": [
|
||
|
"bzz-raw://f0e3f39b2ec26694a42c89a5d9e489d5228f1880fcf5e375c5c975ba816e5ffe",
|
||
|
"dweb:/ipfs/QmUErheHopnbBUSLDQAtWsmw6HsEvqTNp1QiBEuSJhmhHn"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/math/SafeMath.sol": {
|
||
|
"keccak256": "0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806",
|
||
|
"urls": [
|
||
|
"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5",
|
||
|
"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/proxy/Initializable.sol": {
|
||
|
"keccak256": "0x8eee8bd8c216a3e437bf7a4c9844348f47a2d990e5b06cd96d250e33ab04c25a",
|
||
|
"urls": [
|
||
|
"bzz-raw://c6bb2af880b12be26b148ee99ac3a984168e7fc74721bab9cd44598a0669b038",
|
||
|
"dweb:/ipfs/QmPfFDaXZbThJgaVim7nvxrw1RuD2xKWCG89K6pznmC8pJ"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": {
|
||
|
"keccak256": "0x91e0bd6a6762d2a1700dab0849de8422611355100576c4beef1e80d82a4104a0",
|
||
|
"urls": [
|
||
|
"bzz-raw://73bbd77af0a8b07255d2ffa20728bcf13b116007c9ddac5d37046cfabb0e1e02",
|
||
|
"dweb:/ipfs/QmRgZgWCWCSMTTaok6o4QvWA6MgB4goS8qpb3sN7bAvaZ9"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20Burnable.sol": {
|
||
|
"keccak256": "0x657b0d90be17331364211d74359df2a734fac864f6e88c80de7626fa33090ffb",
|
||
|
"urls": [
|
||
|
"bzz-raw://09cca25fefa2354a424d55a97930c76b11dc50697ba62c85d7affc27a37e830c",
|
||
|
"dweb:/ipfs/QmPTQBYXxQDSNmMKqwe4WnM8E7NwnpLnkFLSRH8hZRvrVK"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
|
||
|
"keccak256": "0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385",
|
||
|
"urls": [
|
||
|
"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017",
|
||
|
"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol": {
|
||
|
"keccak256": "0xf3b30f8a49631420635a8c35daacfcaa338012755f18a76fdd118730256f9a27",
|
||
|
"urls": [
|
||
|
"bzz-raw://0d7de652204c2ee291a61aa984103dfc7ae4392d651fbbc44a0079caee7c69a3",
|
||
|
"dweb:/ipfs/Qmcw1cQnq9eWDnrCBwU3TNyqLfTMUFg5YKpYUkELoMPuUE"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/utils/Address.sol": {
|
||
|
"keccak256": "0xf5fa8cbdffa5ef8be49b246b5628facc30b71707e78a45d80d93b64eff3fe390",
|
||
|
"urls": [
|
||
|
"bzz-raw://774e78a9ff32792cc95db4d2ceaf3a7965bb7f0bea5e6cb7cff182b450d44b37",
|
||
|
"dweb:/ipfs/QmRRMC4uj7eAcLW7chynA3sNEYULMFazdLwQHKHQPyzAbA"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/openzeppelin-contracts/contracts/utils/Pausable.sol": {
|
||
|
"keccak256": "0x5d1b1dcbc0396f44c1c8d554857f71e3187503bf1e54062bf9ec6782e21f3a08",
|
||
|
"urls": [
|
||
|
"bzz-raw://9aa7fa580393aab7ca3d9f606f5ab7434d51e1c0f3632a593fca82c80ef8cc4c",
|
||
|
"dweb:/ipfs/QmRy84N7QfkwBM2AeR7UB5G1PPHdRLi6s1iyzAwCzevcHe"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/torn-token/contracts/ECDSA.sol": {
|
||
|
"keccak256": "0x79bc426cde97fc18147ad737052762a49c2bc93699f5cd9e81e5a4b1e8a96b17",
|
||
|
"urls": [
|
||
|
"bzz-raw://b25864983a11bd200d2fb25f83e5ac91a8f377296b6672893c3f13a0320af572",
|
||
|
"dweb:/ipfs/QmWbf22DMWcNQ2ULDzniro1tPte8TaEZFU9TzXZtLfkiba"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/torn-token/contracts/ENS.sol": {
|
||
|
"keccak256": "0x1a74cb3f0207ddf9ce92b9725f55059a14729368a2cd63f6cd7684aa02fcc68d",
|
||
|
"urls": [
|
||
|
"bzz-raw://ddda0ae37080cc88928a95370ea17eb62f14a3d7a2d46447493ed44c0a951337",
|
||
|
"dweb:/ipfs/QmXG2wVG16h868yBNiJ2E6q2hbHtun5qYecqTp6Zbs2cn9"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/torn-token/contracts/ERC20Permit.sol": {
|
||
|
"keccak256": "0x530676f79a4182eb975f031a5c49bd8908fd561eba7daaeec564439e35c49836",
|
||
|
"urls": [
|
||
|
"bzz-raw://5c45e95d4c466a23502d42830c774a51acf8566bff3cd4f8b1043fb0c988bff0",
|
||
|
"dweb:/ipfs/QmPLvuAJQ43dcvvFiryjrJTs3GhARx2GMBUGn3bttePQvZ"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/torn-token/contracts/TORN.sol": {
|
||
|
"keccak256": "0x42d542e7d9b8185bc3d01bec0c7273d31a142b2a5d0a0bfcb6f84976a0fb509c",
|
||
|
"urls": [
|
||
|
"bzz-raw://5a1b429a6fb7c9571acbd11e307c707a342a84f8e1f2bc15c215b68d45382893",
|
||
|
"dweb:/ipfs/QmWoGXkYgzikypE4z7pPyZdEGQt1TRK3RHhLvp6W3n6skC"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/tornado-anonymity-mining/contracts/interfaces/ITornadoInstance.sol": {
|
||
|
"keccak256": "0x4191422cb515705b52466027deaedb8549e472537df2fa8a53eb8dab4c719c1c",
|
||
|
"urls": [
|
||
|
"bzz-raw://1decd6abd16969b24a25374bb9c568427a94d074befa8b14a8388dfd357adcf4",
|
||
|
"dweb:/ipfs/Qmb6e2VR9Fxnzy9gjUFTJecdaBABbbRzEVttK8KQCi53Zz"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/tornado-governance/contracts/v2-vault-and-gas/interfaces/ITornadoVault.sol": {
|
||
|
"keccak256": "0xe21637c2f70be34aff3f07e32a043cedf82e5572f17829c6eaa16b348a21ca35",
|
||
|
"urls": [
|
||
|
"bzz-raw://675c164cc2956b972c24439393aba8a7103f2ed5a17d11233232cef02fc1a9fa",
|
||
|
"dweb:/ipfs/QmQ7isKW7bxuHvFn213rdoEBuTjTku3gEDNbWtB4tC5JU3"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol": {
|
||
|
"keccak256": "0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489",
|
||
|
"urls": [
|
||
|
"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2",
|
||
|
"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol": {
|
||
|
"keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1",
|
||
|
"urls": [
|
||
|
"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5",
|
||
|
"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": {
|
||
|
"keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634",
|
||
|
"urls": [
|
||
|
"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5",
|
||
|
"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": {
|
||
|
"keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5",
|
||
|
"urls": [
|
||
|
"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7",
|
||
|
"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": {
|
||
|
"keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd",
|
||
|
"urls": [
|
||
|
"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03",
|
||
|
"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": {
|
||
|
"keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7",
|
||
|
"urls": [
|
||
|
"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047",
|
||
|
"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": {
|
||
|
"keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235",
|
||
|
"urls": [
|
||
|
"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735",
|
||
|
"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": {
|
||
|
"keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f",
|
||
|
"urls": [
|
||
|
"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f",
|
||
|
"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/libraries/FullMath.sol": {
|
||
|
"keccak256": "0x50e87f7a3197525d1c6f7e04290060e848677c8a4e86c554bc6ace4a4d0d476d",
|
||
|
"urls": [
|
||
|
"bzz-raw://3874093a6b37d8e68f9475a91f8eb0a1c808cb6153c84cfe6c37909505a4d24e",
|
||
|
"dweb:/ipfs/QmUqGpQqvSHX4SwUvcBCs9g4ZhR9JPhgD3615oUigAhtjj"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"lib/v3-core/contracts/libraries/LowGasSafeMath.sol": {
|
||
|
"keccak256": "0xe8bfdbbb772332bff49d5e40f2533ed6285f6b53f553779b12ca4f2d23adba80",
|
||
|
"urls": [
|
||
|
"bzz-raw://173e8eb626b4f31fcfae86846075c07045de237072e0544bf71a7168d8bbbb4c",
|
||
|
"dweb:/ipfs/QmSTGJ9B2qsHwupg3qfjnd5wfRfKiXj786KoPzPcqzpcyA"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-core/contracts/libraries/TickMath.sol": {
|
||
|
"keccak256": "0xda8c2c0b12d2976acfd364453ba5f5bf0117ba3c91175ee9e1067d3fb26944d9",
|
||
|
"urls": [
|
||
|
"bzz-raw://3f3d2d7c2723c91830c74d96292f28fc1cfe28d388cdb9c1a5ebadb4c2b96f81",
|
||
|
"dweb:/ipfs/QmYU4wk8MEm33wVWR38LoncvR7b8PP1mLuGBKX3dUpYJVE"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-periphery/contracts/libraries/OracleLibrary.sol": {
|
||
|
"keccak256": "0x19517bf2478c3ec56253f37b48adde7f34a6acdb467e329f74d79f9e72e2a63f",
|
||
|
"urls": [
|
||
|
"bzz-raw://c2a6c20fb775e7a55ff9d6eb6f13982ca019e9fec3caecda5b21b6671335a5c1",
|
||
|
"dweb:/ipfs/QmannSYDmR9Novyks8KRHe4u4PajfvkGU39owUBzfwy4rn"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"lib/v3-periphery/contracts/libraries/PoolAddress.sol": {
|
||
|
"keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2",
|
||
|
"urls": [
|
||
|
"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840",
|
||
|
"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w"
|
||
|
],
|
||
|
"license": "GPL-2.0-or-later"
|
||
|
},
|
||
|
"src/v1/RelayerRegistry.sol": {
|
||
|
"keccak256": "0x1d6891499ac2f695e793f4a2b7baed0e7a18ff5914b5253821ebc50a77c782cc",
|
||
|
"urls": [
|
||
|
"bzz-raw://dbb0db5573900ba9e95b26586563c7a9110a340a718d4859267eadae97649af8",
|
||
|
"dweb:/ipfs/QmeWhAuijGSmRNXA6Ak4VkxttjiQVWZ4zEhbWhMkZKnvNc"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/interfaces/IENS.sol": {
|
||
|
"keccak256": "0x87c80e0171500b48d27bb0a755b4d39456e06dcbd933b58e8f5b87c1c3801ffa",
|
||
|
"urls": [
|
||
|
"bzz-raw://861361a14de14752f92d9b6970db045a5723a217169a9f31bf23f09f45a2a62c",
|
||
|
"dweb:/ipfs/QmcroHgR19W1Q13Gnyuy8Jz6JNQRBg29gTYfE9vvLSizmz"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/interfaces/ITornadoGovernance.sol": {
|
||
|
"keccak256": "0x2d0dcef36ce6f0253842ef0018b77d6d78f37277512704485e4bd46815361755",
|
||
|
"urls": [
|
||
|
"bzz-raw://2e38471c53781cdfa9b4e1fcbb269b8b53538f15b47ac98a94627e954469eedc",
|
||
|
"dweb:/ipfs/QmaziThzmm3GWTMm4mHK7g8dfxnigsNAea4CXTyqDhEsm8"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/libraries/UniswapV3OracleHelper.sol": {
|
||
|
"keccak256": "0x195f3dd9a0c5d1eb94d16bb37c81c7cc385cae3d4312cf6c726c1590bed09825",
|
||
|
"urls": [
|
||
|
"bzz-raw://fb50afd519913e6a1bc2e7fb9d1d164cfccb2c73d8999a117c443ca1e4ccb359",
|
||
|
"dweb:/ipfs/QmaaETZMRGsqwaKTyBd3rYt28FX7vipWSPdk8TMhjkXaEd"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/staking/TornadoStakingRewards.sol": {
|
||
|
"keccak256": "0x6a28ab49ed99ed5425f693d66ea642be89276df00b7acbfe01d7ce5b91d4961f",
|
||
|
"urls": [
|
||
|
"bzz-raw://c85e501bf562edb7b0bcd295f3368b024cee0744f828dd479dee777d6388462e",
|
||
|
"dweb:/ipfs/QmUZW5pYamQZ4jGmvxkRYaP5zde3jKWVZVrHhWaNPViL5t"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/tornado-proxy/FeeManager.sol": {
|
||
|
"keccak256": "0x8673b18b341b88e14b22d69eb53807f5c2b22013ee9141d147581e778c5a8a79",
|
||
|
"urls": [
|
||
|
"bzz-raw://bfff3be5479ee3790aa05e14abc5973253c834986719f98de2e11b9a0a22144b",
|
||
|
"dweb:/ipfs/QmNZMvjTWNffdVg4TuvTu9BKLuSDq4JCmDgtbBfQSkKCRv"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/tornado-proxy/InstanceRegistry.sol": {
|
||
|
"keccak256": "0x05e71dd64c375c792b3de49d056cbcc4320ef11ef6eb53893d5da0b34ff81eb9",
|
||
|
"urls": [
|
||
|
"bzz-raw://2c0a4821c6af8f036ebd04774ab06a152518578c5181c82aa992c3372d7c0a67",
|
||
|
"dweb:/ipfs/QmVCStgcq9XVU6D2MUK29Yu3CPWcgkSWfVcUaB8PYQgdP7"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/tornado-proxy/TornadoRouter.sol": {
|
||
|
"keccak256": "0x542deec857cd3890853be01279c070d5c9b57cd91c37bd5a47f043d8a10c5894",
|
||
|
"urls": [
|
||
|
"bzz-raw://754884b828960f0be4d3a39b317db83c00b5011a9129efad6f38a9b768478834",
|
||
|
"dweb:/ipfs/QmfMpBmmPhFDoLpijBhScpK8GpvxzDkbK4Np9cbqLou7mJ"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v1/utils/ENSNamehash.sol": {
|
||
|
"keccak256": "0x23cfca6c28ed4e68d959700f2fd3fc497ea6b1d381298ef7749e97c1af849b88",
|
||
|
"urls": [
|
||
|
"bzz-raw://3ff128bd602cc7851baeab3b7d60e42fc0943f43193c4f94aceb8e26a39710b7",
|
||
|
"dweb:/ipfs/QmRaDvU2HW4tirEuSjEDBP4z7UTSBx8FWGCLxUJdmZW5SP"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v2/InstanceRegistry.sol": {
|
||
|
"keccak256": "0xe64ee02ad33c182e9b78f5d5ebc868f753208d5d10a31785bccb81644778dbe7",
|
||
|
"urls": [
|
||
|
"bzz-raw://a920f392c498cffdd07b5617108c85e544b4ee2d8431b64dcfb1d105cbc09e31",
|
||
|
"dweb:/ipfs/QmTQ3U8i6AF338jUVCedvVFjk4h9jNyAmY8WZQw9zT2Htz"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v2/TornadoRouter.sol": {
|
||
|
"keccak256": "0x40913fa941327535ccb0ff148f5c818ea64bedf5eed90309109d9bbeebbdc31f",
|
||
|
"urls": [
|
||
|
"bzz-raw://a68dff41ca8f1619471cc07a9bcb3a09c30eeee7281297942b8c7d50ac78206e",
|
||
|
"dweb:/ipfs/QmdDNjreLjLn3B2wsw5YZ87h9VpX2bYEa18eJfv5pHE2uq"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v2/libraries/BytesUtils.sol": {
|
||
|
"keccak256": "0xf4f38d28724e3ef15b8bf80a00031406ebff8834b56380ed0db8c21f9d2980bc",
|
||
|
"urls": [
|
||
|
"bzz-raw://904db267bad76d521e7aef6f7633db84fc6982a5e32bb1fa9ec849a6a540dd06",
|
||
|
"dweb:/ipfs/QmTuchPeqjcYuarfn2aQrSV36ady5c65TjTMkQg1KYGxVz"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"src/v2/libraries/NameEncoder.sol": {
|
||
|
"keccak256": "0x86e5359d1c930794d87687de0eab0f76703493b2594fbc3a267d10e95a75d176",
|
||
|
"urls": [
|
||
|
"bzz-raw://21fe140c0874b0df477cfd94abcf3894499488eaa5af6de88ab3efd4d2ee4ea4",
|
||
|
"dweb:/ipfs/Qmf646tAaiLeqTSWLTuLXXzW9mYt6VKdopgdtXn5KGHuGy"
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
}
|
||
|
},
|
||
|
"version": 1
|
||
|
},
|
||
|
"ast": {
|
||
|
"absolutePath": "src/v2/TornadoRouter.sol",
|
||
|
"id": 39622,
|
||
|
"exportedSymbols": {
|
||
|
"TornadoRouter": [
|
||
|
39621
|
||
|
]
|
||
|
},
|
||
|
"nodeType": "SourceUnit",
|
||
|
"src": "33:5731:67",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"id": 39217,
|
||
|
"nodeType": "PragmaDirective",
|
||
|
"src": "33:24:67",
|
||
|
"nodes": [],
|
||
|
"literals": [
|
||
|
"solidity",
|
||
|
"^",
|
||
|
"0.6",
|
||
|
".12"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": 39218,
|
||
|
"nodeType": "PragmaDirective",
|
||
|
"src": "58:33:67",
|
||
|
"nodes": [],
|
||
|
"literals": [
|
||
|
"experimental",
|
||
|
"ABIEncoderV2"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": 39220,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "108:72:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol",
|
||
|
"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 30240,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39219,
|
||
|
"name": "IERC20",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "117:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39222,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "181:80:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "lib/openzeppelin-contracts/contracts/proxy/Initializable.sol",
|
||
|
"file": "@openzeppelin/contracts/proxy/Initializable.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 29231,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39221,
|
||
|
"name": "Initializable",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "190:13:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39224,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "262:78:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/SafeERC20.sol",
|
||
|
"file": "@openzeppelin/contracts/token/ERC20/SafeERC20.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 30453,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39223,
|
||
|
"name": "SafeERC20",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "271:9:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39226,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "341:61:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "lib/openzeppelin-contracts/contracts/math/Math.sol",
|
||
|
"file": "@openzeppelin/contracts/math/Math.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 28964,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39225,
|
||
|
"name": "Math",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "350:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39228,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "424:102:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "lib/tornado-anonymity-mining/contracts/interfaces/ITornadoInstance.sol",
|
||
|
"file": "tornado-anonymity-mining/contracts/interfaces/ITornadoInstance.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 31585,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39227,
|
||
|
"name": "ITornadoInstance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "433:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39230,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "546:60:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "src/v1/RelayerRegistry.sol",
|
||
|
"file": "../v1/RelayerRegistry.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 35364,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39229,
|
||
|
"name": "RelayerRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "555:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39233,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"src": "607:72:67",
|
||
|
"nodes": [],
|
||
|
"absolutePath": "src/v2/InstanceRegistry.sol",
|
||
|
"file": "./InstanceRegistry.sol",
|
||
|
"scope": 39622,
|
||
|
"sourceUnit": 39216,
|
||
|
"symbolAliases": [
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39231,
|
||
|
"name": "InstanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "616:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
},
|
||
|
{
|
||
|
"foreign": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39232,
|
||
|
"name": "InstanceData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "634:12:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
},
|
||
|
"local": null
|
||
|
}
|
||
|
],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"id": 39621,
|
||
|
"nodeType": "ContractDefinition",
|
||
|
"src": "938:4825:67",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"id": 39239,
|
||
|
"nodeType": "UsingForDirective",
|
||
|
"src": "984:27:67",
|
||
|
"nodes": [],
|
||
|
"libraryName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39237,
|
||
|
"name": "SafeERC20",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 30452,
|
||
|
"src": "990:9:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_SafeERC20_$30452",
|
||
|
"typeString": "library SafeERC20"
|
||
|
}
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39238,
|
||
|
"name": "IERC20",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 30239,
|
||
|
"src": "1004:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"id": 39241,
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"src": "1159:47:67",
|
||
|
"nodes": [],
|
||
|
"constant": false,
|
||
|
"functionSelector": "4655478f",
|
||
|
"mutability": "immutable",
|
||
|
"name": "governanceProxyAddress",
|
||
|
"overrides": null,
|
||
|
"scope": 39621,
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39240,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1159:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39243,
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"src": "1250:40:67",
|
||
|
"nodes": [],
|
||
|
"constant": false,
|
||
|
"functionSelector": "36a3874b",
|
||
|
"mutability": "mutable",
|
||
|
"name": "instanceRegistry",
|
||
|
"overrides": null,
|
||
|
"scope": 39621,
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39242,
|
||
|
"name": "InstanceRegistry",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 39215,
|
||
|
"src": "1250:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39245,
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"src": "1333:38:67",
|
||
|
"nodes": [],
|
||
|
"constant": false,
|
||
|
"functionSelector": "47ff589d",
|
||
|
"mutability": "mutable",
|
||
|
"name": "relayerRegistry",
|
||
|
"overrides": null,
|
||
|
"scope": 39621,
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39244,
|
||
|
"name": "RelayerRegistry",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 35363,
|
||
|
"src": "1333:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39251,
|
||
|
"nodeType": "EventDefinition",
|
||
|
"src": "1466:65:67",
|
||
|
"nodes": [],
|
||
|
"anonymous": false,
|
||
|
"documentation": null,
|
||
|
"name": "EncryptedNote",
|
||
|
"parameters": {
|
||
|
"id": 39250,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39247,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "sender",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39251,
|
||
|
"src": "1486:22:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39246,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1486:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39249,
|
||
|
"indexed": false,
|
||
|
"mutability": "mutable",
|
||
|
"name": "encryptedNote",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39251,
|
||
|
"src": "1510:19:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39248,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1510:5:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1485:45:67"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"id": 39257,
|
||
|
"nodeType": "EventDefinition",
|
||
|
"src": "1536:61:67",
|
||
|
"nodes": [],
|
||
|
"anonymous": false,
|
||
|
"documentation": null,
|
||
|
"name": "TokenApproved",
|
||
|
"parameters": {
|
||
|
"id": 39256,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39253,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "spender",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39257,
|
||
|
"src": "1556:23:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39252,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1556:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39255,
|
||
|
"indexed": false,
|
||
|
"mutability": "mutable",
|
||
|
"name": "amount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39257,
|
||
|
"src": "1581:14:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39254,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1581:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1555:41:67"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"id": 39261,
|
||
|
"nodeType": "EventDefinition",
|
||
|
"src": "1603:71:67",
|
||
|
"nodes": [],
|
||
|
"anonymous": false,
|
||
|
"documentation": null,
|
||
|
"name": "InstanceRegistryUpdated",
|
||
|
"parameters": {
|
||
|
"id": 39260,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39259,
|
||
|
"indexed": false,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newInstanceRegistryProxyAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39261,
|
||
|
"src": "1633:39:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39258,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1633:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1632:41:67"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"id": 39265,
|
||
|
"nodeType": "EventDefinition",
|
||
|
"src": "1679:69:67",
|
||
|
"nodes": [],
|
||
|
"anonymous": false,
|
||
|
"documentation": null,
|
||
|
"name": "RelayerRegistryUpdated",
|
||
|
"parameters": {
|
||
|
"id": 39264,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39263,
|
||
|
"indexed": false,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newRelayerRegistryProxyAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39265,
|
||
|
"src": "1708:38:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39262,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1708:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1707:40:67"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"id": 39275,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "1841:117:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39274,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1893:65:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39272,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39270,
|
||
|
"name": "governanceProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39241,
|
||
|
"src": "1903:22:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39271,
|
||
|
"name": "_governanceProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39267,
|
||
|
"src": "1928:23:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "1903:48:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 39273,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "1903:48:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"implemented": true,
|
||
|
"kind": "constructor",
|
||
|
"modifiers": [],
|
||
|
"name": "",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39268,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39267,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_governanceProxyAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39275,
|
||
|
"src": "1853:31:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39266,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1853:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1852:33:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39269,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1893:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39290,
|
||
|
"nodeType": "ModifierDefinition",
|
||
|
"src": "1964:147:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39289,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1996:115:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"id": 39284,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39278,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "2014:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39279,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "2014:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39282,
|
||
|
"name": "instanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39243,
|
||
|
"src": "2036:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
],
|
||
|
"id": 39281,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2028:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39280,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2028:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 39283,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2028:25:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "2014:39:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "546f726e61646f526f757465723a206f6e6c79496e7374616e63655265676973747279",
|
||
|
"id": 39285,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "2055:37:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_fc744bc511b178eb6daf4baca1c3ed4deb9012277ccf044dc7d964a8eca3d5c1",
|
||
|
"typeString": "literal_string \"TornadoRouter: onlyInstanceRegistry\""
|
||
|
},
|
||
|
"value": "TornadoRouter: onlyInstanceRegistry"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_fc744bc511b178eb6daf4baca1c3ed4deb9012277ccf044dc7d964a8eca3d5c1",
|
||
|
"typeString": "literal_string \"TornadoRouter: onlyInstanceRegistry\""
|
||
|
}
|
||
|
],
|
||
|
"id": 39277,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "2006:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 39286,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2006:87:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39287,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2006:87:67"
|
||
|
},
|
||
|
{
|
||
|
"id": 39288,
|
||
|
"nodeType": "PlaceholderStatement",
|
||
|
"src": "2103:1:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"name": "onlyInstanceRegistry",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39276,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1993:2:67"
|
||
|
},
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"id": 39302,
|
||
|
"nodeType": "ModifierDefinition",
|
||
|
"src": "2117:132:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39301,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2143:106:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"id": 39296,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39293,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "2161:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39294,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "2161:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39295,
|
||
|
"name": "governanceProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39241,
|
||
|
"src": "2175:22:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "2161:36:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "546f726e61646f526f757465723a206f6e6c79476f7665726e616e6365",
|
||
|
"id": 39297,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "2199:31:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_01e26a90b7a663b3718d6ec87d56b8bbfcf84529983e8a6bf324666efe618e21",
|
||
|
"typeString": "literal_string \"TornadoRouter: onlyGovernance\""
|
||
|
},
|
||
|
"value": "TornadoRouter: onlyGovernance"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_01e26a90b7a663b3718d6ec87d56b8bbfcf84529983e8a6bf324666efe618e21",
|
||
|
"typeString": "literal_string \"TornadoRouter: onlyGovernance\""
|
||
|
}
|
||
|
],
|
||
|
"id": 39292,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "2153:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 39298,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2153:78:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39299,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2153:78:67"
|
||
|
},
|
||
|
{
|
||
|
"id": 39300,
|
||
|
"nodeType": "PlaceholderStatement",
|
||
|
"src": "2241:1:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"name": "onlyGovernance",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39291,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2140:2:67"
|
||
|
},
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"id": 39326,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "2255:297:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39325,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2406:146:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39317,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39313,
|
||
|
"name": "instanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39243,
|
||
|
"src": "2416:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39315,
|
||
|
"name": "_instanceRegistryAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39304,
|
||
|
"src": "2452:24:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 39314,
|
||
|
"name": "InstanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39215,
|
||
|
"src": "2435:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_InstanceRegistry_$39215_$",
|
||
|
"typeString": "type(contract InstanceRegistry)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39316,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2435:42:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"src": "2416:61:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39318,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2416:61:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39323,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39319,
|
||
|
"name": "relayerRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39245,
|
||
|
"src": "2487:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39321,
|
||
|
"name": "_relayerRegistryAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39306,
|
||
|
"src": "2521:23:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 39320,
|
||
|
"name": "RelayerRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 35363,
|
||
|
"src": "2505:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_RelayerRegistry_$35363_$",
|
||
|
"typeString": "type(contract RelayerRegistry)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39322,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2505:40:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"src": "2487:58:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39324,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2487:58:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "485cc955",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"id": 39309,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39308,
|
||
|
"name": "onlyGovernance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39302,
|
||
|
"src": "2367:14:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$__$",
|
||
|
"typeString": "modifier ()"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2367:14:67"
|
||
|
},
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"id": 39311,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39310,
|
||
|
"name": "initializer",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 29207,
|
||
|
"src": "2390:11:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$__$",
|
||
|
"typeString": "modifier ()"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2390:11:67"
|
||
|
}
|
||
|
],
|
||
|
"name": "initialize",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39307,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39304,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_instanceRegistryAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39326,
|
||
|
"src": "2275:32:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39303,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2275:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39306,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_relayerRegistryAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39326,
|
||
|
"src": "2309:31:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39305,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2309:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2274:67:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39312,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2406:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"id": 39384,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "2558:558:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39383,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2705:411:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
39336,
|
||
|
null,
|
||
|
39338,
|
||
|
39340
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39336,
|
||
|
"mutability": "mutable",
|
||
|
"name": "token",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39383,
|
||
|
"src": "2716:12:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39335,
|
||
|
"name": "IERC20",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 30239,
|
||
|
"src": "2716:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
null,
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39338,
|
||
|
"mutability": "mutable",
|
||
|
"name": "isERC20",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39383,
|
||
|
"src": "2731:12:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39337,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2731:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39340,
|
||
|
"mutability": "mutable",
|
||
|
"name": "isEnabled",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39383,
|
||
|
"src": "2745:14:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39339,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2745:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39345,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39343,
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39328,
|
||
|
"src": "2793:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39341,
|
||
|
"name": "instanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39243,
|
||
|
"src": "2763:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39342,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "instanceData",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 38601,
|
||
|
"src": "2763:29:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_contract$_ITornadoInstance_$31584_$returns$_t_contract$_IERC20_$30239_$_t_uint80_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "function (contract ITornadoInstance) view external returns (contract IERC20,uint80,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39344,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2763:39:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$_t_contract$_IERC20_$30239_$_t_uint80_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "tuple(contract IERC20,uint80,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "2715:87:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39347,
|
||
|
"name": "isEnabled",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39340,
|
||
|
"src": "2821:9:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "546f726e61646f526f757465723a20696e7374616e6365206e6f7420656e61626c6564",
|
||
|
"id": 39348,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "2832:37:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_5ea0a4a02b5291891cf0e13a2784b132079e53a05498a65d22a7faa4ba6e1fcc",
|
||
|
"typeString": "literal_string \"TornadoRouter: instance not enabled\""
|
||
|
},
|
||
|
"value": "TornadoRouter: instance not enabled"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_5ea0a4a02b5291891cf0e13a2784b132079e53a05498a65d22a7faa4ba6e1fcc",
|
||
|
"typeString": "literal_string \"TornadoRouter: instance not enabled\""
|
||
|
}
|
||
|
],
|
||
|
"id": 39346,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "2813:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 39349,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2813:57:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39350,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2813:57:67"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39351,
|
||
|
"name": "isERC20",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39338,
|
||
|
"src": "2885:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 39367,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "2881:112:67",
|
||
|
"trueBody": {
|
||
|
"id": 39366,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2894:99:67",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39355,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "2931:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39356,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "2931:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39359,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "2951:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_TornadoRouter_$39621",
|
||
|
"typeString": "contract TornadoRouter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_TornadoRouter_$39621",
|
||
|
"typeString": "contract TornadoRouter"
|
||
|
}
|
||
|
],
|
||
|
"id": 39358,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2943:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39357,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2943:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 39360,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2943:13:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39361,
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39328,
|
||
|
"src": "2958:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
},
|
||
|
"id": 39362,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "denomination",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 31561,
|
||
|
"src": "2958:21:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
|
||
|
"typeString": "function () view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39363,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2958:23:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39352,
|
||
|
"name": "token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39336,
|
||
|
"src": "2908:5:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"id": 39354,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "safeTransferFrom",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 30298,
|
||
|
"src": "2908:22:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30239_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$30239_$",
|
||
|
"typeString": "function (contract IERC20,address,address,uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39364,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2908:74:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39365,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2908:74:67"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39374,
|
||
|
"name": "_commitment",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39330,
|
||
|
"src": "3040:11:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39368,
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39328,
|
||
|
"src": "3003:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
},
|
||
|
"id": 39370,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "deposit",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 31566,
|
||
|
"src": "3003:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_payable$_t_bytes32_$returns$__$",
|
||
|
"typeString": "function (bytes32) payable external"
|
||
|
}
|
||
|
},
|
||
|
"id": 39373,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"names": [
|
||
|
"value"
|
||
|
],
|
||
|
"nodeType": "FunctionCallOptions",
|
||
|
"options": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39371,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3028:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39372,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "value",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3028:9:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"src": "3003:36:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_payable$_t_bytes32_$returns$__$value",
|
||
|
"typeString": "function (bytes32) payable external"
|
||
|
}
|
||
|
},
|
||
|
"id": 39375,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3003:49:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39376,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3003:49:67"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39378,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3082:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39379,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3082:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39380,
|
||
|
"name": "_encryptedNote",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39332,
|
||
|
"src": "3094:14:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
}
|
||
|
],
|
||
|
"id": 39377,
|
||
|
"name": "EncryptedNote",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39251,
|
||
|
"src": "3068:13:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (address,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39381,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3068:41:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39382,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "3063:46:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "13d98d13",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "deposit",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39333,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39328,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39384,
|
||
|
"src": "2575:25:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39327,
|
||
|
"name": "ITornadoInstance",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 31584,
|
||
|
"src": "2575:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39330,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_commitment",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39384,
|
||
|
"src": "2602:19:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39329,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2602:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39332,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_encryptedNote",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39384,
|
||
|
"src": "2623:29:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "calldata",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39331,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2623:5:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2574:79:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39334,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2705:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "payable",
|
||
|
"virtual": true,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39440,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "3122:633:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39439,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3407:348:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
null,
|
||
|
null,
|
||
|
null,
|
||
|
39404
|
||
|
],
|
||
|
"declarations": [
|
||
|
null,
|
||
|
null,
|
||
|
null,
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39404,
|
||
|
"mutability": "mutable",
|
||
|
"name": "isEnabled",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39439,
|
||
|
"src": "3422:14:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39403,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3422:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39409,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39407,
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39386,
|
||
|
"src": "3470:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39405,
|
||
|
"name": "instanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39243,
|
||
|
"src": "3440:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39406,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "instanceData",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 38601,
|
||
|
"src": "3440:29:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_contract$_ITornadoInstance_$31584_$returns$_t_contract$_IERC20_$30239_$_t_uint80_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "function (contract ITornadoInstance) view external returns (contract IERC20,uint80,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39408,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3440:39:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$_t_contract$_IERC20_$30239_$_t_uint80_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "tuple(contract IERC20,uint80,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "3417:62:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39411,
|
||
|
"name": "isEnabled",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39404,
|
||
|
"src": "3498:9:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "546f726e61646f526f757465723a20696e7374616e6365206e6f7420656e61626c6564",
|
||
|
"id": 39412,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3509:37:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_5ea0a4a02b5291891cf0e13a2784b132079e53a05498a65d22a7faa4ba6e1fcc",
|
||
|
"typeString": "literal_string \"TornadoRouter: instance not enabled\""
|
||
|
},
|
||
|
"value": "TornadoRouter: instance not enabled"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_5ea0a4a02b5291891cf0e13a2784b132079e53a05498a65d22a7faa4ba6e1fcc",
|
||
|
"typeString": "literal_string \"TornadoRouter: instance not enabled\""
|
||
|
}
|
||
|
],
|
||
|
"id": 39410,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "3490:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 39413,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3490:57:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39414,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3490:57:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39418,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3579:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39419,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3579:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39420,
|
||
|
"name": "_relayer",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39396,
|
||
|
"src": "3591:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39421,
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39386,
|
||
|
"src": "3601:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39415,
|
||
|
"name": "relayerRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39245,
|
||
|
"src": "3558:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39417,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "burn",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 35228,
|
||
|
"src": "3558:20:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_contract$_ITornadoInstance_$31584_$returns$__$",
|
||
|
"typeString": "function (address,address,contract ITornadoInstance) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 39422,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3558:52:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39423,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3558:52:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39430,
|
||
|
"name": "_proof",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39388,
|
||
|
"src": "3672:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39431,
|
||
|
"name": "_root",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39390,
|
||
|
"src": "3680:5:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39432,
|
||
|
"name": "_nullifierHash",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39392,
|
||
|
"src": "3687:14:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39433,
|
||
|
"name": "_recipient",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39394,
|
||
|
"src": "3703:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39434,
|
||
|
"name": "_relayer",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39396,
|
||
|
"src": "3715:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39435,
|
||
|
"name": "_fee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39398,
|
||
|
"src": "3725:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39436,
|
||
|
"name": "_refund",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39400,
|
||
|
"src": "3731:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39424,
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39386,
|
||
|
"src": "3621:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
},
|
||
|
"id": 39426,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdraw",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 31583,
|
||
|
"src": "3621:17:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_payable$_t_bytes_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_address_payable_$_t_address_payable_$_t_uint256_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (bytes memory,bytes32,bytes32,address payable,address payable,uint256,uint256) payable external"
|
||
|
}
|
||
|
},
|
||
|
"id": 39429,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"names": [
|
||
|
"value"
|
||
|
],
|
||
|
"nodeType": "FunctionCallOptions",
|
||
|
"options": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39427,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3647:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39428,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "value",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3647:9:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"src": "3621:37:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_payable$_t_bytes_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_address_payable_$_t_address_payable_$_t_uint256_$_t_uint256_$returns$__$value",
|
||
|
"typeString": "function (bytes memory,bytes32,bytes32,address payable,address payable,uint256,uint256) payable external"
|
||
|
}
|
||
|
},
|
||
|
"id": 39437,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3621:127:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39438,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3621:127:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "b438689f",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "withdraw",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39401,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39386,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_tornado",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3149:25:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39385,
|
||
|
"name": "ITornadoInstance",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 31584,
|
||
|
"src": "3149:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ITornadoInstance_$31584",
|
||
|
"typeString": "contract ITornadoInstance"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39388,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_proof",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3184:21:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "calldata",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39387,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3184:5:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39390,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_root",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3215:13:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39389,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3215:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39392,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_nullifierHash",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3238:22:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39391,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3238:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39394,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_recipient",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3270:26:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39393,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3270:15:67",
|
||
|
"stateMutability": "payable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39396,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_relayer",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3306:24:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39395,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3306:15:67",
|
||
|
"stateMutability": "payable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39398,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_fee",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3340:12:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39397,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3340:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39400,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_refund",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39440,
|
||
|
"src": "3362:15:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39399,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3362:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3139:244:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39402,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3407:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "payable",
|
||
|
"virtual": true,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39468,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "3761:214:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39467,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3831:144:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 39465,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3894:75:67",
|
||
|
"statements": [
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39458,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3927:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 39459,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3927:10:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39460,
|
||
|
"name": "_encryptedNotes",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39443,
|
||
|
"src": "3939:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr",
|
||
|
"typeString": "bytes calldata[] calldata"
|
||
|
}
|
||
|
},
|
||
|
"id": 39462,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39461,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39447,
|
||
|
"src": "3955:1:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3939:18:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_calldata_ptr",
|
||
|
"typeString": "bytes calldata"
|
||
|
}
|
||
|
],
|
||
|
"id": 39457,
|
||
|
"name": "EncryptedNote",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39251,
|
||
|
"src": "3913:13:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (address,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39463,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3913:45:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39464,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "3908:50:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 39453,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39450,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39447,
|
||
|
"src": "3861:1:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39451,
|
||
|
"name": "_encryptedNotes",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39443,
|
||
|
"src": "3865:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr",
|
||
|
"typeString": "bytes calldata[] calldata"
|
||
|
}
|
||
|
},
|
||
|
"id": 39452,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3865:22:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "3861:26:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 39466,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
39447
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39447,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39466,
|
||
|
"src": "3846:9:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39446,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3846:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39449,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 39448,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3858:1:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "3846:13:67"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39455,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "3889:3:67",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39454,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39447,
|
||
|
"src": "3889:1:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 39456,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3889:3:67"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "3841:128:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "6485ba2a",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "backupNotes",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39444,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39443,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_encryptedNotes",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39468,
|
||
|
"src": "3782:32:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "calldata",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr",
|
||
|
"typeString": "bytes[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 39441,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3782:5:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"id": 39442,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "3782:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
|
||
|
"typeString": "bytes[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3781:34:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39445,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3831:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": true,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39552,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "3981:739:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39551,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4114:606:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
"id": 39485,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39480,
|
||
|
"name": "_to",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39472,
|
||
|
"src": "4132:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "!=",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 39483,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "4147:1:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
}
|
||
|
],
|
||
|
"id": 39482,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4139:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39481,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4139:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 39484,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4139:10:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"src": "4132:17:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "544f524e3a2063616e206e6f742073656e6420746f207a65726f2061646472657373",
|
||
|
"id": 39486,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "4151:36:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_da8d57b0dd733df825cfc05da618ee5096781f684eb785662a70edd786ac4e4f",
|
||
|
"typeString": "literal_string \"TORN: can not send to zero address\""
|
||
|
},
|
||
|
"value": "TORN: can not send to zero address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_da8d57b0dd733df825cfc05da618ee5096781f684eb785662a70edd786ac4e4f",
|
||
|
"typeString": "literal_string \"TORN: can not send to zero address\""
|
||
|
}
|
||
|
],
|
||
|
"id": 39479,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "4124:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 39487,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4124:64:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39488,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4124:64:67"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
},
|
||
|
"id": 39493,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39489,
|
||
|
"name": "_token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39470,
|
||
|
"src": "4203:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 39491,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "4220:1:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
}
|
||
|
],
|
||
|
"id": 39490,
|
||
|
"name": "IERC20",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 30239,
|
||
|
"src": "4213:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IERC20_$30239_$",
|
||
|
"typeString": "type(contract IERC20)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39492,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4213:9:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"src": "4203:19:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"id": 39549,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4422:292:67",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
39518
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39518,
|
||
|
"mutability": "mutable",
|
||
|
"name": "totalBalance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39549,
|
||
|
"src": "4471:20:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39517,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4471:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39526,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39523,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "4519:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_TornadoRouter_$39621",
|
||
|
"typeString": "contract TornadoRouter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_TornadoRouter_$39621",
|
||
|
"typeString": "contract TornadoRouter"
|
||
|
}
|
||
|
],
|
||
|
"id": 39522,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4511:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39521,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4511:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 39524,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4511:13:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39519,
|
||
|
"name": "_token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39470,
|
||
|
"src": "4494:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"id": 39520,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "balanceOf",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 30178,
|
||
|
"src": "4494:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
||
|
"typeString": "function (address) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39525,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4494:31:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4471:54:67"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
39528
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39528,
|
||
|
"mutability": "mutable",
|
||
|
"name": "balance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39549,
|
||
|
"src": "4539:15:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39527,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4539:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39534,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39531,
|
||
|
"name": "totalBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39518,
|
||
|
"src": "4566:12:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39532,
|
||
|
"name": "_amount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39474,
|
||
|
"src": "4580:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39529,
|
||
|
"name": "Math",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 28963,
|
||
|
"src": "4557:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_Math_$28963_$",
|
||
|
"typeString": "type(library Math)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39530,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "min",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 28929,
|
||
|
"src": "4557:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
||
|
"typeString": "function (uint256,uint256) pure returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39533,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4557:31:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4539:49:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 39538,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39536,
|
||
|
"name": "balance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39528,
|
||
|
"src": "4610:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": ">",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 39537,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "4620:1:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "4610:11:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "544f524e3a20747279696e6720746f2073656e6420302062616c616e6365",
|
||
|
"id": 39539,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "4623:32:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_ef5568bcff8e2227b9a781f79a9b9557ab6926fbd248d437e304f821cea896f2",
|
||
|
"typeString": "literal_string \"TORN: trying to send 0 balance\""
|
||
|
},
|
||
|
"value": "TORN: trying to send 0 balance"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_ef5568bcff8e2227b9a781f79a9b9557ab6926fbd248d437e304f821cea896f2",
|
||
|
"typeString": "literal_string \"TORN: trying to send 0 balance\""
|
||
|
}
|
||
|
],
|
||
|
"id": 39535,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "4602:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 39540,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4602:54:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39541,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4602:54:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39545,
|
||
|
"name": "_to",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39472,
|
||
|
"src": "4690:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39546,
|
||
|
"name": "balance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39528,
|
||
|
"src": "4695:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39542,
|
||
|
"name": "_token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39470,
|
||
|
"src": "4670:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"id": 39544,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "safeTransfer",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 30273,
|
||
|
"src": "4670:19:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30239_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$30239_$",
|
||
|
"typeString": "function (contract IERC20,address,uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39547,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4670:33:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39548,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4670:33:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"id": 39550,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "4199:515:67",
|
||
|
"trueBody": {
|
||
|
"id": 39516,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4224:192:67",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
39495
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39495,
|
||
|
"mutability": "mutable",
|
||
|
"name": "totalBalance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39516,
|
||
|
"src": "4263:20:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39494,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4263:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39501,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39498,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "4294:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_TornadoRouter_$39621",
|
||
|
"typeString": "contract TornadoRouter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_TornadoRouter_$39621",
|
||
|
"typeString": "contract TornadoRouter"
|
||
|
}
|
||
|
],
|
||
|
"id": 39497,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4286:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39496,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4286:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 39499,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4286:13:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 39500,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "balance",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "4286:21:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4263:44:67"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
39503
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39503,
|
||
|
"mutability": "mutable",
|
||
|
"name": "balance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39516,
|
||
|
"src": "4321:15:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39502,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4321:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 39509,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39506,
|
||
|
"name": "totalBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39495,
|
||
|
"src": "4348:12:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39507,
|
||
|
"name": "_amount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39474,
|
||
|
"src": "4362:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39504,
|
||
|
"name": "Math",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 28963,
|
||
|
"src": "4339:4:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_Math_$28963_$",
|
||
|
"typeString": "type(library Math)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39505,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "min",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 28929,
|
||
|
"src": "4339:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
||
|
"typeString": "function (uint256,uint256) pure returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39508,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4339:31:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4321:49:67"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39513,
|
||
|
"name": "balance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39503,
|
||
|
"src": "4397:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39510,
|
||
|
"name": "_to",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39472,
|
||
|
"src": "4384:3:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"id": 39512,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transfer",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "4384:12:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39514,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4384:21:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39515,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4384:21:67"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "cea9d26f",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"id": 39477,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39476,
|
||
|
"name": "onlyGovernance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39302,
|
||
|
"src": "4095:14:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$__$",
|
||
|
"typeString": "modifier ()"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "4095:14:67"
|
||
|
}
|
||
|
],
|
||
|
"name": "rescueTokens",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39475,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39470,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_token",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39552,
|
||
|
"src": "4003:13:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39469,
|
||
|
"name": "IERC20",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 30239,
|
||
|
"src": "4003:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39472,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_to",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39552,
|
||
|
"src": "4018:19:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39471,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4018:15:67",
|
||
|
"stateMutability": "payable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39474,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_amount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39552,
|
||
|
"src": "4039:15:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39473,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4039:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4002:53:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39478,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "4114:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": true,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"id": 39576,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "4815:234:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39575,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4948:101:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39566,
|
||
|
"name": "_spender",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39556,
|
||
|
"src": "4977:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39567,
|
||
|
"name": "_amount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39558,
|
||
|
"src": "4987:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39563,
|
||
|
"name": "_token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39554,
|
||
|
"src": "4958:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"id": 39565,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "safeApprove",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 30341,
|
||
|
"src": "4958:18:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30239_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$30239_$",
|
||
|
"typeString": "function (contract IERC20,address,uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39568,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4958:37:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39569,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4958:37:67"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39571,
|
||
|
"name": "_spender",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39556,
|
||
|
"src": "5024:8:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39572,
|
||
|
"name": "_amount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39558,
|
||
|
"src": "5034:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"id": 39570,
|
||
|
"name": "TokenApproved",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39257,
|
||
|
"src": "5010:13:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (address,uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39573,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5010:32:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39574,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "5005:37:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "4b704c97",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"id": 39561,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39560,
|
||
|
"name": "onlyInstanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39290,
|
||
|
"src": "4923:20:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$__$",
|
||
|
"typeString": "modifier ()"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "4923:20:67"
|
||
|
}
|
||
|
],
|
||
|
"name": "approveTokenForInstance",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39559,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39554,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_token",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39576,
|
||
|
"src": "4848:13:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39553,
|
||
|
"name": "IERC20",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 30239,
|
||
|
"src": "4848:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20_$30239",
|
||
|
"typeString": "contract IERC20"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39556,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_spender",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39576,
|
||
|
"src": "4863:16:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39555,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4863:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39558,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_amount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39576,
|
||
|
"src": "4881:15:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39557,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4881:7:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4847:50:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39562,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "4948:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"id": 39594,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "5055:253:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39593,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5150:158:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39587,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39583,
|
||
|
"name": "instanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39243,
|
||
|
"src": "5160:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39585,
|
||
|
"name": "_newInstanceRegistryProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39578,
|
||
|
"src": "5196:32:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 39584,
|
||
|
"name": "InstanceRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39215,
|
||
|
"src": "5179:16:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_InstanceRegistry_$39215_$",
|
||
|
"typeString": "type(contract InstanceRegistry)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39586,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5179:50:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"src": "5160:69:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_InstanceRegistry_$39215",
|
||
|
"typeString": "contract InstanceRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39588,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "5160:69:67"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39590,
|
||
|
"name": "_newInstanceRegistryProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39578,
|
||
|
"src": "5268:32:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 39589,
|
||
|
"name": "InstanceRegistryUpdated",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39261,
|
||
|
"src": "5244:23:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39591,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5244:57:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39592,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "5239:62:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "baaa2169",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"id": 39581,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39580,
|
||
|
"name": "onlyGovernance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39302,
|
||
|
"src": "5135:14:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$__$",
|
||
|
"typeString": "modifier ()"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "5135:14:67"
|
||
|
}
|
||
|
],
|
||
|
"name": "setInstanceRegistry",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39579,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39578,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newInstanceRegistryProxyAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39594,
|
||
|
"src": "5084:40:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39577,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5084:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5083:42:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39582,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5150:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"id": 39612,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "5314:246:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39611,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5407:153:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39605,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39601,
|
||
|
"name": "relayerRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39245,
|
||
|
"src": "5417:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39603,
|
||
|
"name": "_newRelayerRegistryProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39596,
|
||
|
"src": "5451:31:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 39602,
|
||
|
"name": "RelayerRegistry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 35363,
|
||
|
"src": "5435:15:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_RelayerRegistry_$35363_$",
|
||
|
"typeString": "type(contract RelayerRegistry)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39604,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5435:48:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"src": "5417:66:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_RelayerRegistry_$35363",
|
||
|
"typeString": "contract RelayerRegistry"
|
||
|
}
|
||
|
},
|
||
|
"id": 39606,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "5417:66:67"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 39608,
|
||
|
"name": "_newRelayerRegistryProxyAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39596,
|
||
|
"src": "5521:31:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 39607,
|
||
|
"name": "RelayerRegistryUpdated",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39265,
|
||
|
"src": "5498:22:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 39609,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5498:55:67",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 39610,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "5493:60:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "64cb2811",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"id": 39599,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 39598,
|
||
|
"name": "onlyGovernance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 39302,
|
||
|
"src": "5392:14:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$__$",
|
||
|
"typeString": "modifier ()"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "5392:14:67"
|
||
|
}
|
||
|
],
|
||
|
"name": "setRelayerRegistry",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39597,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39596,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newRelayerRegistryProxyAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39612,
|
||
|
"src": "5342:39:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39595,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5342:7:67",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5341:41:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39600,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5407:0:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"id": 39620,
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"src": "5655:106:67",
|
||
|
"nodes": [],
|
||
|
"body": {
|
||
|
"id": 39619,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5718:43:67",
|
||
|
"nodes": [],
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "76322d6f7261636c652d6d616e61676572",
|
||
|
"id": 39617,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "5735:19:67",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_34b45b9e37b59487530441f54f769d2f25a407cbe71ef48108dd8bf559dfae4c",
|
||
|
"typeString": "literal_string \"v2-oracle-manager\""
|
||
|
},
|
||
|
"value": "v2-oracle-manager"
|
||
|
},
|
||
|
"functionReturnParameters": 39616,
|
||
|
"id": 39618,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5728:26:67"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"functionSelector": "54fd4d50",
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "version",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 39613,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5671:2:67"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 39616,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 39615,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 39620,
|
||
|
"src": "5703:13:67",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_string_memory_ptr",
|
||
|
"typeString": "string"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 39614,
|
||
|
"name": "string",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5703:6:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_string_storage_ptr",
|
||
|
"typeString": "string"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5702:15:67"
|
||
|
},
|
||
|
"scope": 39621,
|
||
|
"stateMutability": "pure",
|
||
|
"virtual": true,
|
||
|
"visibility": "public"
|
||
|
}
|
||
|
],
|
||
|
"abstract": false,
|
||
|
"baseContracts": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 39235,
|
||
|
"name": "Initializable",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 29230,
|
||
|
"src": "964:13:67",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_Initializable_$29230",
|
||
|
"typeString": "contract Initializable"
|
||
|
}
|
||
|
},
|
||
|
"id": 39236,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "964:13:67"
|
||
|
}
|
||
|
],
|
||
|
"contractDependencies": [
|
||
|
29230
|
||
|
],
|
||
|
"contractKind": "contract",
|
||
|
"documentation": {
|
||
|
"id": 39234,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "681:256:67",
|
||
|
"text": " @title TornadoRouter\n @author AlienTornadosaurusHex\n @notice This contracts is a router for all Tornado Cash deposits and withdrawals\n @dev This is an improved version of the TornadoRouter with a modified design from the original contract."
|
||
|
},
|
||
|
"fullyImplemented": true,
|
||
|
"linearizedBaseContracts": [
|
||
|
39621,
|
||
|
29230
|
||
|
],
|
||
|
"name": "TornadoRouter",
|
||
|
"scope": 39622
|
||
|
}
|
||
|
],
|
||
|
"license": "MIT"
|
||
|
},
|
||
|
"id": 67
|
||
|
}
|