Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@xyo-network/solidity

Package Overview
Dependencies
Maintainers
7
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xyo-network/solidity - npm Package Compare versions

Comparing version 2.2.11 to 3.0.0

build/contracts/IERC1155Errors.json

126

build/contracts/Context.json
{
"contractName": "Context",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867\",\"dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY\"]}},\"version\":1}",
"bytecode": "0x",

@@ -12,3 +12,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n",
"sourcePath": "@openzeppelin/contracts/utils/Context.sol",

@@ -19,6 +19,6 @@ "ast": {

"Context": [
1569
1473
]
},
"id": 1570,
"id": 1474,
"license": "MIT",

@@ -28,3 +28,3 @@ "nodeType": "SourceUnit",

{
"id": 1549,
"id": 1453,
"literals": [

@@ -34,6 +34,6 @@ "solidity",

"0.8",
".0"
".20"
],
"nodeType": "PragmaDirective",
"src": "86:23:7"
"src": "101:24:8"
},

@@ -47,14 +47,14 @@ {

"documentation": {
"id": 1550,
"id": 1454,
"nodeType": "StructuredDocumentation",
"src": "111:496:7",
"src": "127:496:8",
"text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."
},
"fullyImplemented": true,
"id": 1569,
"id": 1473,
"linearizedBaseContracts": [
1569
1473
],
"name": "Context",
"nameLocation": "626:7:7",
"nameLocation": "642:7:8",
"nodeType": "ContractDefinition",

@@ -64,5 +64,5 @@ "nodes": [

"body": {
"id": 1558,
"id": 1462,
"nodeType": "Block",
"src": "702:34:7",
"src": "718:34:8",
"statements": [

@@ -72,3 +72,3 @@ {

"expression": {
"id": 1555,
"id": 1459,
"name": "msg",

@@ -78,3 +78,3 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967281,
"src": "719:3:7",
"src": "735:3:8",
"typeDescriptions": {

@@ -85,3 +85,3 @@ "typeIdentifier": "t_magic_message",

},
"id": 1556,
"id": 1460,
"isConstant": false,

@@ -91,6 +91,6 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "723:6:7",
"memberLocation": "739:6:8",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "719:10:7",
"src": "735:10:8",
"typeDescriptions": {

@@ -101,10 +101,10 @@ "typeIdentifier": "t_address",

},
"functionReturnParameters": 1554,
"id": 1557,
"functionReturnParameters": 1458,
"id": 1461,
"nodeType": "Return",
"src": "712:17:7"
"src": "728:17:8"
}
]
},
"id": 1559,
"id": 1463,
"implemented": true,

@@ -114,12 +114,12 @@ "kind": "function",

"name": "_msgSender",
"nameLocation": "649:10:7",
"nameLocation": "665:10:8",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1551,
"id": 1455,
"nodeType": "ParameterList",
"parameters": [],
"src": "659:2:7"
"src": "675:2:8"
},
"returnParameters": {
"id": 1554,
"id": 1458,
"nodeType": "ParameterList",

@@ -129,3 +129,3 @@ "parameters": [

"constant": false,
"id": 1553,
"id": 1457,
"mutability": "mutable",

@@ -135,4 +135,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1559,
"src": "693:7:7",
"scope": 1463,
"src": "709:7:8",
"stateVariable": false,

@@ -145,6 +145,6 @@ "storageLocation": "default",

"typeName": {
"id": 1552,
"id": 1456,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "693:7:7",
"src": "709:7:8",
"stateMutability": "nonpayable",

@@ -159,6 +159,6 @@ "typeDescriptions": {

],
"src": "692:9:7"
"src": "708:9:8"
},
"scope": 1569,
"src": "640:96:7",
"scope": 1473,
"src": "656:96:8",
"stateMutability": "view",

@@ -170,5 +170,5 @@ "virtual": true,

"body": {
"id": 1567,
"id": 1471,
"nodeType": "Block",
"src": "809:32:7",
"src": "825:32:8",
"statements": [

@@ -178,3 +178,3 @@ {

"expression": {
"id": 1564,
"id": 1468,
"name": "msg",

@@ -184,3 +184,3 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967281,
"src": "826:3:7",
"src": "842:3:8",
"typeDescriptions": {

@@ -191,3 +191,3 @@ "typeIdentifier": "t_magic_message",

},
"id": 1565,
"id": 1469,
"isConstant": false,

@@ -197,6 +197,6 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "830:4:7",
"memberLocation": "846:4:8",
"memberName": "data",
"nodeType": "MemberAccess",
"src": "826:8:7",
"src": "842:8:8",
"typeDescriptions": {

@@ -207,10 +207,10 @@ "typeIdentifier": "t_bytes_calldata_ptr",

},
"functionReturnParameters": 1563,
"id": 1566,
"functionReturnParameters": 1467,
"id": 1470,
"nodeType": "Return",
"src": "819:15:7"
"src": "835:15:8"
}
]
},
"id": 1568,
"id": 1472,
"implemented": true,

@@ -220,12 +220,12 @@ "kind": "function",

"name": "_msgData",
"nameLocation": "751:8:7",
"nameLocation": "767:8:8",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1560,
"id": 1464,
"nodeType": "ParameterList",
"parameters": [],
"src": "759:2:7"
"src": "775:2:8"
},
"returnParameters": {
"id": 1563,
"id": 1467,
"nodeType": "ParameterList",

@@ -235,3 +235,3 @@ "parameters": [

"constant": false,
"id": 1562,
"id": 1466,
"mutability": "mutable",

@@ -241,4 +241,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1568,
"src": "793:14:7",
"scope": 1472,
"src": "809:14:8",
"stateVariable": false,

@@ -251,6 +251,6 @@ "storageLocation": "calldata",

"typeName": {
"id": 1561,
"id": 1465,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "793:5:7",
"src": "809:5:8",
"typeDescriptions": {

@@ -264,6 +264,6 @@ "typeIdentifier": "t_bytes_storage_ptr",

],
"src": "792:16:7"
"src": "808:16:8"
},
"scope": 1569,
"src": "742:99:7",
"scope": 1473,
"src": "758:99:8",
"stateMutability": "view",

@@ -274,4 +274,4 @@ "virtual": true,

],
"scope": 1570,
"src": "608:235:7",
"scope": 1474,
"src": "624:235:8",
"usedErrors": [],

@@ -281,11 +281,11 @@ "usedEvents": []

],
"src": "86:758:7"
"src": "101:759:8"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.387Z",
"updatedAt": "2023-11-18T19:59:10.453Z",
"devdoc": {

@@ -292,0 +292,0 @@ "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.",

@@ -36,3 +36,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"DataSet\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/contracts/DataStore.sol\":\"DataStore\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/contracts/DataStore.sol\":{\"keccak256\":\"0x4988b0da1ccb475c80a8b9b8a2a7008c983f6eb3a9ea6dd6f2eb6f71257f277a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2660569266a15e3025a9ccbb7a8110da98406871876c648661250338c9a86c50\",\"dweb:/ipfs/QmaYGzWb2CShticm1GcoRFYEepDdt91E8BKbMAbWgJEUuB\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"DataSet\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/contracts/DataStore.sol\":\"DataStore\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/contracts/DataStore.sol\":{\"keccak256\":\"0x4988b0da1ccb475c80a8b9b8a2a7008c983f6eb3a9ea6dd6f2eb6f71257f277a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2660569266a15e3025a9ccbb7a8110da98406871876c648661250338c9a86c50\",\"dweb:/ipfs/QmaYGzWb2CShticm1GcoRFYEepDdt91E8BKbMAbWgJEUuB\"]}},\"version\":1}",
"bytecode": "0x",

@@ -51,6 +51,6 @@ "deployedBytecode": "0x",

"DataStore": [
1958
2604
]
},
"id": 1959,
"id": 2605,
"license": "GPL-3.0",

@@ -60,3 +60,3 @@ "nodeType": "SourceUnit",

{
"id": 1895,
"id": 2541,
"literals": [

@@ -69,3 +69,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:10"
"src": "36:23:11"
},

@@ -79,8 +79,8 @@ {

"fullyImplemented": true,
"id": 1958,
"id": 2604,
"linearizedBaseContracts": [
1958
2604
],
"name": "DataStore",
"nameLocation": "79:9:10",
"nameLocation": "79:9:11",
"nodeType": "ContractDefinition",

@@ -90,9 +90,9 @@ "nodes": [

"constant": false,
"id": 1901,
"id": 2547,
"mutability": "mutable",
"name": "_data",
"nameLocation": "151:5:10",
"nameLocation": "151:5:11",
"nodeType": "VariableDeclaration",
"scope": 1958,
"src": "95:61:10",
"scope": 2604,
"src": "95:61:11",
"stateVariable": true,

@@ -105,10 +105,10 @@ "storageLocation": "default",

"typeName": {
"id": 1900,
"id": 2546,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 1896,
"id": 2542,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "103:7:10",
"src": "103:7:11",
"typeDescriptions": {

@@ -120,3 +120,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "Mapping",
"src": "95:47:10",
"src": "95:47:11",
"typeDescriptions": {

@@ -129,10 +129,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$",

"valueType": {
"id": 1899,
"id": 2545,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 1897,
"id": 2543,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "122:7:10",
"src": "122:7:11",
"typeDescriptions": {

@@ -144,3 +144,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "Mapping",
"src": "114:27:10",
"src": "114:27:11",
"typeDescriptions": {

@@ -153,6 +153,6 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",

"valueType": {
"id": 1898,
"id": 2544,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "133:7:10",
"src": "133:7:11",
"typeDescriptions": {

@@ -169,5 +169,5 @@ "typeIdentifier": "t_uint256",

"body": {
"id": 1916,
"id": 2562,
"nodeType": "Block",
"src": "267:39:10",
"src": "267:39:11",
"statements": [

@@ -178,8 +178,8 @@ {

"baseExpression": {
"id": 1910,
"id": 2556,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1901,
"src": "284:5:10",
"referencedDeclaration": 2547,
"src": "284:5:11",
"typeDescriptions": {

@@ -190,10 +190,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$",

},
"id": 1912,
"id": 2558,
"indexExpression": {
"id": 1911,
"id": 2557,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1903,
"src": "290:2:10",
"referencedDeclaration": 2549,
"src": "290:2:11",
"typeDescriptions": {

@@ -209,3 +209,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "284:9:10",
"src": "284:9:11",
"typeDescriptions": {

@@ -216,10 +216,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",

},
"id": 1914,
"id": 2560,
"indexExpression": {
"id": 1913,
"id": 2559,
"name": "slot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1905,
"src": "294:4:10",
"referencedDeclaration": 2551,
"src": "294:4:11",
"typeDescriptions": {

@@ -235,3 +235,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "284:15:10",
"src": "284:15:11",
"typeDescriptions": {

@@ -242,10 +242,10 @@ "typeIdentifier": "t_uint256",

},
"functionReturnParameters": 1909,
"id": 1915,
"functionReturnParameters": 2555,
"id": 2561,
"nodeType": "Return",
"src": "277:22:10"
"src": "277:22:11"
}
]
},
"id": 1917,
"id": 2563,
"implemented": true,

@@ -255,6 +255,6 @@ "kind": "function",

"name": "_getData",
"nameLocation": "172:8:10",
"nameLocation": "172:8:11",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1906,
"id": 2552,
"nodeType": "ParameterList",

@@ -264,9 +264,9 @@ "parameters": [

"constant": false,
"id": 1903,
"id": 2549,
"mutability": "mutable",
"name": "id",
"nameLocation": "189:2:10",
"nameLocation": "189:2:11",
"nodeType": "VariableDeclaration",
"scope": 1917,
"src": "181:10:10",
"scope": 2563,
"src": "181:10:11",
"stateVariable": false,

@@ -279,6 +279,6 @@ "storageLocation": "default",

"typeName": {
"id": 1902,
"id": 2548,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "181:7:10",
"src": "181:7:11",
"typeDescriptions": {

@@ -293,9 +293,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 1905,
"id": 2551,
"mutability": "mutable",
"name": "slot",
"nameLocation": "201:4:10",
"nameLocation": "201:4:11",
"nodeType": "VariableDeclaration",
"scope": 1917,
"src": "193:12:10",
"scope": 2563,
"src": "193:12:11",
"stateVariable": false,

@@ -308,6 +308,6 @@ "storageLocation": "default",

"typeName": {
"id": 1904,
"id": 2550,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "193:7:10",
"src": "193:7:11",
"typeDescriptions": {

@@ -321,6 +321,6 @@ "typeIdentifier": "t_uint256",

],
"src": "180:26:10"
"src": "180:26:11"
},
"returnParameters": {
"id": 1909,
"id": 2555,
"nodeType": "ParameterList",

@@ -330,3 +330,3 @@ "parameters": [

"constant": false,
"id": 1908,
"id": 2554,
"mutability": "mutable",

@@ -336,4 +336,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1917,
"src": "254:7:10",
"scope": 2563,
"src": "254:7:11",
"stateVariable": false,

@@ -346,6 +346,6 @@ "storageLocation": "default",

"typeName": {
"id": 1907,
"id": 2553,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "254:7:10",
"src": "254:7:11",
"typeDescriptions": {

@@ -359,6 +359,6 @@ "typeIdentifier": "t_uint256",

],
"src": "253:9:10"
"src": "253:9:11"
},
"scope": 1958,
"src": "163:143:10",
"scope": 2604,
"src": "163:143:11",
"stateMutability": "view",

@@ -371,8 +371,8 @@ "virtual": false,

"eventSelector": "91c51378108a32c94a7a206cd1e68deeb791b7e05c013442933b92b71401011c",
"id": 1927,
"id": 2573,
"name": "DataSet",
"nameLocation": "318:7:10",
"nameLocation": "318:7:11",
"nodeType": "EventDefinition",
"parameters": {
"id": 1926,
"id": 2572,
"nodeType": "ParameterList",

@@ -382,10 +382,10 @@ "parameters": [

"constant": false,
"id": 1919,
"id": 2565,
"indexed": true,
"mutability": "mutable",
"name": "by",
"nameLocation": "351:2:10",
"nameLocation": "351:2:11",
"nodeType": "VariableDeclaration",
"scope": 1927,
"src": "335:18:10",
"scope": 2573,
"src": "335:18:11",
"stateVariable": false,

@@ -398,6 +398,6 @@ "storageLocation": "default",

"typeName": {
"id": 1918,
"id": 2564,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "335:7:10",
"src": "335:7:11",
"stateMutability": "nonpayable",

@@ -413,10 +413,10 @@ "typeDescriptions": {

"constant": false,
"id": 1921,
"id": 2567,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "379:2:10",
"nameLocation": "379:2:11",
"nodeType": "VariableDeclaration",
"scope": 1927,
"src": "363:18:10",
"scope": 2573,
"src": "363:18:11",
"stateVariable": false,

@@ -429,6 +429,6 @@ "storageLocation": "default",

"typeName": {
"id": 1920,
"id": 2566,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "363:7:10",
"src": "363:7:11",
"typeDescriptions": {

@@ -443,10 +443,10 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 1923,
"id": 2569,
"indexed": true,
"mutability": "mutable",
"name": "slot",
"nameLocation": "407:4:10",
"nameLocation": "407:4:11",
"nodeType": "VariableDeclaration",
"scope": 1927,
"src": "391:20:10",
"scope": 2573,
"src": "391:20:11",
"stateVariable": false,

@@ -459,6 +459,6 @@ "storageLocation": "default",

"typeName": {
"id": 1922,
"id": 2568,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "391:7:10",
"src": "391:7:11",
"typeDescriptions": {

@@ -473,10 +473,10 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 1925,
"id": 2571,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "429:5:10",
"nameLocation": "429:5:11",
"nodeType": "VariableDeclaration",
"scope": 1927,
"src": "421:13:10",
"scope": 2573,
"src": "421:13:11",
"stateVariable": false,

@@ -489,6 +489,6 @@ "storageLocation": "default",

"typeName": {
"id": 1924,
"id": 2570,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "421:7:10",
"src": "421:7:11",
"typeDescriptions": {

@@ -502,15 +502,15 @@ "typeIdentifier": "t_uint256",

],
"src": "325:115:10"
"src": "325:115:11"
},
"src": "312:129:10"
"src": "312:129:11"
},
{
"body": {
"id": 1956,
"id": 2602,
"nodeType": "Block",
"src": "560:112:10",
"src": "560:112:11",
"statements": [
{
"expression": {
"id": 1944,
"id": 2590,
"isConstant": false,

@@ -523,8 +523,8 @@ "isLValue": false,

"baseExpression": {
"id": 1938,
"id": 2584,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1901,
"src": "570:5:10",
"referencedDeclaration": 2547,
"src": "570:5:11",
"typeDescriptions": {

@@ -535,10 +535,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$",

},
"id": 1941,
"id": 2587,
"indexExpression": {
"id": 1939,
"id": 2585,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1929,
"src": "576:2:10",
"referencedDeclaration": 2575,
"src": "576:2:11",
"typeDescriptions": {

@@ -554,3 +554,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "570:9:10",
"src": "570:9:11",
"typeDescriptions": {

@@ -561,10 +561,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",

},
"id": 1942,
"id": 2588,
"indexExpression": {
"id": 1940,
"id": 2586,
"name": "slot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1931,
"src": "580:4:10",
"referencedDeclaration": 2577,
"src": "580:4:11",
"typeDescriptions": {

@@ -580,3 +580,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "570:15:10",
"src": "570:15:11",
"typeDescriptions": {

@@ -590,8 +590,8 @@ "typeIdentifier": "t_uint256",

"rightHandSide": {
"id": 1943,
"id": 2589,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1933,
"src": "588:5:10",
"referencedDeclaration": 2579,
"src": "588:5:11",
"typeDescriptions": {

@@ -602,3 +602,3 @@ "typeIdentifier": "t_uint256",

},
"src": "570:23:10",
"src": "570:23:11",
"typeDescriptions": {

@@ -609,5 +609,5 @@ "typeIdentifier": "t_uint256",

},
"id": 1945,
"id": 2591,
"nodeType": "ExpressionStatement",
"src": "570:23:10"
"src": "570:23:11"
},

@@ -619,3 +619,3 @@ {

"expression": {
"id": 1947,
"id": 2593,
"name": "msg",

@@ -625,3 +625,3 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967281,
"src": "616:3:10",
"src": "616:3:11",
"typeDescriptions": {

@@ -632,3 +632,3 @@ "typeIdentifier": "t_magic_message",

},
"id": 1948,
"id": 2594,
"isConstant": false,

@@ -638,6 +638,6 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "620:6:10",
"memberLocation": "620:6:11",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "616:10:10",
"src": "616:10:11",
"typeDescriptions": {

@@ -649,8 +649,8 @@ "typeIdentifier": "t_address",

{
"id": 1949,
"id": 2595,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1929,
"src": "628:2:10",
"referencedDeclaration": 2575,
"src": "628:2:11",
"typeDescriptions": {

@@ -662,8 +662,8 @@ "typeIdentifier": "t_uint256",

{
"id": 1950,
"id": 2596,
"name": "slot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1931,
"src": "632:4:10",
"referencedDeclaration": 2577,
"src": "632:4:11",
"typeDescriptions": {

@@ -675,8 +675,8 @@ "typeIdentifier": "t_uint256",

{
"id": 1951,
"id": 2597,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1933,
"src": "638:5:10",
"referencedDeclaration": 2579,
"src": "638:5:11",
"typeDescriptions": {

@@ -707,8 +707,8 @@ "typeIdentifier": "t_uint256",

],
"id": 1946,
"id": 2592,
"name": "DataSet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1927,
"src": "608:7:10",
"referencedDeclaration": 2573,
"src": "608:7:11",
"typeDescriptions": {

@@ -719,3 +719,3 @@ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",

},
"id": 1952,
"id": 2598,
"isConstant": false,

@@ -729,3 +729,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "608:36:10",
"src": "608:36:11",
"tryCall": false,

@@ -737,5 +737,5 @@ "typeDescriptions": {

},
"id": 1953,
"id": 2599,
"nodeType": "EmitStatement",
"src": "603:41:10"
"src": "603:41:11"
},

@@ -745,3 +745,3 @@ {

"hexValue": "74727565",
"id": 1954,
"id": 2600,
"isConstant": false,

@@ -753,3 +753,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "661:4:10",
"src": "661:4:11",
"typeDescriptions": {

@@ -761,10 +761,10 @@ "typeIdentifier": "t_bool",

},
"functionReturnParameters": 1937,
"id": 1955,
"functionReturnParameters": 2583,
"id": 2601,
"nodeType": "Return",
"src": "654:11:10"
"src": "654:11:11"
}
]
},
"id": 1957,
"id": 2603,
"implemented": true,

@@ -774,6 +774,6 @@ "kind": "function",

"name": "_setData",
"nameLocation": "456:8:10",
"nameLocation": "456:8:11",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1934,
"id": 2580,
"nodeType": "ParameterList",

@@ -783,9 +783,9 @@ "parameters": [

"constant": false,
"id": 1929,
"id": 2575,
"mutability": "mutable",
"name": "id",
"nameLocation": "482:2:10",
"nameLocation": "482:2:11",
"nodeType": "VariableDeclaration",
"scope": 1957,
"src": "474:10:10",
"scope": 2603,
"src": "474:10:11",
"stateVariable": false,

@@ -798,6 +798,6 @@ "storageLocation": "default",

"typeName": {
"id": 1928,
"id": 2574,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "474:7:10",
"src": "474:7:11",
"typeDescriptions": {

@@ -812,9 +812,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 1931,
"id": 2577,
"mutability": "mutable",
"name": "slot",
"nameLocation": "502:4:10",
"nameLocation": "502:4:11",
"nodeType": "VariableDeclaration",
"scope": 1957,
"src": "494:12:10",
"scope": 2603,
"src": "494:12:11",
"stateVariable": false,

@@ -827,6 +827,6 @@ "storageLocation": "default",

"typeName": {
"id": 1930,
"id": 2576,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "494:7:10",
"src": "494:7:11",
"typeDescriptions": {

@@ -841,9 +841,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 1933,
"id": 2579,
"mutability": "mutable",
"name": "value",
"nameLocation": "524:5:10",
"nameLocation": "524:5:11",
"nodeType": "VariableDeclaration",
"scope": 1957,
"src": "516:13:10",
"scope": 2603,
"src": "516:13:11",
"stateVariable": false,

@@ -856,6 +856,6 @@ "storageLocation": "default",

"typeName": {
"id": 1932,
"id": 2578,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "516:7:10",
"src": "516:7:11",
"typeDescriptions": {

@@ -869,6 +869,6 @@ "typeIdentifier": "t_uint256",

],
"src": "464:71:10"
"src": "464:71:11"
},
"returnParameters": {
"id": 1937,
"id": 2583,
"nodeType": "ParameterList",

@@ -878,3 +878,3 @@ "parameters": [

"constant": false,
"id": 1936,
"id": 2582,
"mutability": "mutable",

@@ -884,4 +884,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1957,
"src": "554:4:10",
"scope": 2603,
"src": "554:4:11",
"stateVariable": false,

@@ -894,6 +894,6 @@ "storageLocation": "default",

"typeName": {
"id": 1935,
"id": 2581,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "554:4:10",
"src": "554:4:11",
"typeDescriptions": {

@@ -907,6 +907,6 @@ "typeIdentifier": "t_bool",

],
"src": "553:6:10"
"src": "553:6:11"
},
"scope": 1958,
"src": "447:225:10",
"scope": 2604,
"src": "447:225:11",
"stateMutability": "nonpayable",

@@ -917,19 +917,19 @@ "virtual": false,

],
"scope": 1959,
"src": "61:613:10",
"scope": 2605,
"src": "61:613:11",
"usedErrors": [],
"usedEvents": [
1927
2573
]
}
],
"src": "36:639:10"
"src": "36:639:11"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.390Z",
"updatedAt": "2023-11-18T19:59:10.458Z",
"devdoc": {

@@ -936,0 +936,0 @@ "kind": "dev",

{
"contractName": "Erc721Store",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc721/contracts/Erc721Store.sol\":\"Erc721Store\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/src/erc721/contracts/Erc721Store.sol\":{\"keccak256\":\"0xb30d2e6599a3e73a96f7ce609cbcc6577249e5591f2087ee2bb86b39627852c7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://141b871ad678fcc4ef8ed221ab1980eaef88c75d30f462217c97124da69cccd9\",\"dweb:/ipfs/QmTHfHe3b9p7rAumuiDnbRKeoN84rxj62wRSZgYCDAoK7n\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc721/contracts/Erc721Store.sol\":\"Erc721Store\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"project:/src/erc721/contracts/Erc721Store.sol\":{\"keccak256\":\"0xb30d2e6599a3e73a96f7ce609cbcc6577249e5591f2087ee2bb86b39627852c7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://141b871ad678fcc4ef8ed221ab1980eaef88c75d30f462217c97124da69cccd9\",\"dweb:/ipfs/QmTHfHe3b9p7rAumuiDnbRKeoN84rxj62wRSZgYCDAoK7n\"]}},\"version\":1}",
"bytecode": "0x",

@@ -18,12 +18,12 @@ "deployedBytecode": "0x",

"Erc721Store": [
2305
2945
],
"IERC165": [
1581
1485
],
"IERC721": [
1217
1198
]
},
"id": 2306,
"id": 2946,
"license": "GPL-3.0",

@@ -33,3 +33,3 @@ "nodeType": "SourceUnit",

{
"id": 2199,
"id": 2839,
"literals": [

@@ -42,3 +42,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:15"
"src": "36:23:16"
},

@@ -48,8 +48,8 @@ {

"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 2200,
"id": 2840,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2306,
"sourceUnit": 1218,
"src": "61:58:15",
"scope": 2946,
"sourceUnit": 1199,
"src": "61:58:16",
"symbolAliases": [],

@@ -65,8 +65,8 @@ "unitAlias": ""

"fullyImplemented": true,
"id": 2305,
"id": 2945,
"linearizedBaseContracts": [
2305
2945
],
"name": "Erc721Store",
"nameLocation": "139:11:15",
"nameLocation": "139:11:16",
"nodeType": "ContractDefinition",

@@ -76,24 +76,24 @@ "nodes": [

"constant": false,
"id": 2209,
"id": 2849,
"mutability": "mutable",
"name": "_erc721tokenStore",
"nameLocation": "238:17:15",
"nameLocation": "238:17:16",
"nodeType": "VariableDeclaration",
"scope": 2305,
"src": "157:98:15",
"scope": 2945,
"src": "157:98:16",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
},
"typeName": {
"id": 2208,
"id": 2848,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2201,
"id": 2841,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "165:7:15",
"src": "165:7:16",
"typeDescriptions": {

@@ -105,5 +105,5 @@ "typeIdentifier": "t_uint256",

"nodeType": "Mapping",
"src": "157:64:15",
"src": "157:64:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"

@@ -114,22 +114,22 @@ },

"valueType": {
"id": 2207,
"id": 2847,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2203,
"id": 2843,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2202,
"id": 2842,
"name": "IERC721",
"nameLocations": [
"184:7:15"
"184:7:16"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "184:7:15"
"referencedDeclaration": 1198,
"src": "184:7:16"
},
"referencedDeclaration": 1217,
"src": "184:7:15",
"referencedDeclaration": 1198,
"src": "184:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -139,5 +139,5 @@ }

"nodeType": "Mapping",
"src": "176:44:15",
"src": "176:44:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"

@@ -148,10 +148,10 @@ },

"valueType": {
"id": 2206,
"id": 2846,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2204,
"id": 2844,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "203:7:15",
"src": "203:7:16",
"typeDescriptions": {

@@ -163,3 +163,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "Mapping",
"src": "195:24:15",
"src": "195:24:16",
"typeDescriptions": {

@@ -172,6 +172,6 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$",

"valueType": {
"id": 2205,
"id": 2845,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "214:4:15",
"src": "214:4:16",
"typeDescriptions": {

@@ -189,5 +189,5 @@ "typeIdentifier": "t_bool",

"body": {
"id": 2245,
"id": 2885,
"nodeType": "Block",
"src": "384:150:15",
"src": "384:150:16",
"statements": [

@@ -199,3 +199,3 @@ {

"expression": {
"id": 2224,
"id": 2864,
"name": "msg",

@@ -205,3 +205,3 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967281,
"src": "417:3:15",
"src": "417:3:16",
"typeDescriptions": {

@@ -212,3 +212,3 @@ "typeIdentifier": "t_magic_message",

},
"id": 2225,
"id": 2865,
"isConstant": false,

@@ -218,6 +218,6 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "421:6:15",
"memberLocation": "421:6:16",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "417:10:15",
"src": "417:10:16",
"typeDescriptions": {

@@ -231,3 +231,3 @@ "typeIdentifier": "t_address",

{
"id": 2228,
"id": 2868,
"name": "this",

@@ -237,5 +237,5 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967268,
"src": "437:4:15",
"src": "437:4:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Erc721Store_$2305",
"typeIdentifier": "t_contract$_Erc721Store_$2945",
"typeString": "contract Erc721Store"

@@ -248,7 +248,7 @@ }

{
"typeIdentifier": "t_contract$_Erc721Store_$2305",
"typeIdentifier": "t_contract$_Erc721Store_$2945",
"typeString": "contract Erc721Store"
}
],
"id": 2227,
"id": 2867,
"isConstant": false,

@@ -259,3 +259,3 @@ "isLValue": false,

"nodeType": "ElementaryTypeNameExpression",
"src": "429:7:15",
"src": "429:7:16",
"typeDescriptions": {

@@ -266,10 +266,10 @@ "typeIdentifier": "t_type$_t_address_$",

"typeName": {
"id": 2226,
"id": 2866,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "429:7:15",
"src": "429:7:16",
"typeDescriptions": {}
}
},
"id": 2229,
"id": 2869,
"isConstant": false,

@@ -283,3 +283,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "429:13:15",
"src": "429:13:16",
"tryCall": false,

@@ -292,8 +292,8 @@ "typeDescriptions": {

{
"id": 2230,
"id": 2870,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2216,
"src": "444:7:15",
"referencedDeclaration": 2856,
"src": "444:7:16",
"typeDescriptions": {

@@ -321,14 +321,14 @@ "typeIdentifier": "t_uint256",

"expression": {
"id": 2221,
"id": 2861,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2214,
"src": "394:5:15",
"referencedDeclaration": 2854,
"src": "394:5:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
}
},
"id": 2223,
"id": 2863,
"isConstant": false,

@@ -338,7 +338,7 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "400:16:15",
"memberLocation": "400:16:16",
"memberName": "safeTransferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 1172,
"src": "394:22:15",
"referencedDeclaration": 1153,
"src": "394:22:16",
"typeDescriptions": {

@@ -349,3 +349,3 @@ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",

},
"id": 2231,
"id": 2871,
"isConstant": false,

@@ -359,3 +359,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "394:58:15",
"src": "394:58:16",
"tryCall": false,

@@ -367,9 +367,9 @@ "typeDescriptions": {

},
"id": 2232,
"id": 2872,
"nodeType": "ExpressionStatement",
"src": "394:58:15"
"src": "394:58:16"
},
{
"expression": {
"id": 2241,
"id": 2881,
"isConstant": false,

@@ -383,21 +383,21 @@ "isLValue": false,

"baseExpression": {
"id": 2233,
"id": 2873,
"name": "_erc721tokenStore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2209,
"src": "462:17:15",
"referencedDeclaration": 2849,
"src": "462:17:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
}
},
"id": 2237,
"id": 2877,
"indexExpression": {
"id": 2234,
"id": 2874,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2211,
"src": "480:2:15",
"referencedDeclaration": 2851,
"src": "480:2:16",
"typeDescriptions": {

@@ -413,18 +413,18 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "462:21:15",
"src": "462:21:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"
}
},
"id": 2238,
"id": 2878,
"indexExpression": {
"id": 2235,
"id": 2875,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2214,
"src": "484:5:15",
"referencedDeclaration": 2854,
"src": "484:5:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -438,3 +438,3 @@ }

"nodeType": "IndexAccess",
"src": "462:28:15",
"src": "462:28:16",
"typeDescriptions": {

@@ -445,10 +445,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$",

},
"id": 2239,
"id": 2879,
"indexExpression": {
"id": 2236,
"id": 2876,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2216,
"src": "491:7:15",
"referencedDeclaration": 2856,
"src": "491:7:16",
"typeDescriptions": {

@@ -464,3 +464,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "462:37:15",
"src": "462:37:16",
"typeDescriptions": {

@@ -475,3 +475,3 @@ "typeIdentifier": "t_bool",

"hexValue": "74727565",
"id": 2240,
"id": 2880,
"isConstant": false,

@@ -483,3 +483,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "502:4:15",
"src": "502:4:16",
"typeDescriptions": {

@@ -491,3 +491,3 @@ "typeIdentifier": "t_bool",

},
"src": "462:44:15",
"src": "462:44:16",
"typeDescriptions": {

@@ -498,5 +498,5 @@ "typeIdentifier": "t_bool",

},
"id": 2242,
"id": 2882,
"nodeType": "ExpressionStatement",
"src": "462:44:15"
"src": "462:44:16"
},

@@ -506,3 +506,3 @@ {

"hexValue": "74727565",
"id": 2243,
"id": 2883,
"isConstant": false,

@@ -514,3 +514,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "523:4:15",
"src": "523:4:16",
"typeDescriptions": {

@@ -522,10 +522,10 @@ "typeIdentifier": "t_bool",

},
"functionReturnParameters": 2220,
"id": 2244,
"functionReturnParameters": 2860,
"id": 2884,
"nodeType": "Return",
"src": "516:11:15"
"src": "516:11:16"
}
]
},
"id": 2246,
"id": 2886,
"implemented": true,

@@ -535,6 +535,6 @@ "kind": "function",

"name": "_depositErc721",
"nameLocation": "271:14:15",
"nameLocation": "271:14:16",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2217,
"id": 2857,
"nodeType": "ParameterList",

@@ -544,9 +544,9 @@ "parameters": [

"constant": false,
"id": 2211,
"id": 2851,
"mutability": "mutable",
"name": "id",
"nameLocation": "303:2:15",
"nameLocation": "303:2:16",
"nodeType": "VariableDeclaration",
"scope": 2246,
"src": "295:10:15",
"scope": 2886,
"src": "295:10:16",
"stateVariable": false,

@@ -559,6 +559,6 @@ "storageLocation": "default",

"typeName": {
"id": 2210,
"id": 2850,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "295:7:15",
"src": "295:7:16",
"typeDescriptions": {

@@ -573,32 +573,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2214,
"id": 2854,
"mutability": "mutable",
"name": "token",
"nameLocation": "323:5:15",
"nameLocation": "323:5:16",
"nodeType": "VariableDeclaration",
"scope": 2246,
"src": "315:13:15",
"scope": 2886,
"src": "315:13:16",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2213,
"id": 2853,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2212,
"id": 2852,
"name": "IERC721",
"nameLocations": [
"315:7:15"
"315:7:16"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "315:7:15"
"referencedDeclaration": 1198,
"src": "315:7:16"
},
"referencedDeclaration": 1217,
"src": "315:7:15",
"referencedDeclaration": 1198,
"src": "315:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -611,9 +611,9 @@ }

"constant": false,
"id": 2216,
"id": 2856,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "346:7:15",
"nameLocation": "346:7:16",
"nodeType": "VariableDeclaration",
"scope": 2246,
"src": "338:15:15",
"scope": 2886,
"src": "338:15:16",
"stateVariable": false,

@@ -626,6 +626,6 @@ "storageLocation": "default",

"typeName": {
"id": 2215,
"id": 2855,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "338:7:15",
"src": "338:7:16",
"typeDescriptions": {

@@ -639,6 +639,6 @@ "typeIdentifier": "t_uint256",

],
"src": "285:74:15"
"src": "285:74:16"
},
"returnParameters": {
"id": 2220,
"id": 2860,
"nodeType": "ParameterList",

@@ -648,3 +648,3 @@ "parameters": [

"constant": false,
"id": 2219,
"id": 2859,
"mutability": "mutable",

@@ -654,4 +654,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2246,
"src": "378:4:15",
"scope": 2886,
"src": "378:4:16",
"stateVariable": false,

@@ -664,6 +664,6 @@ "storageLocation": "default",

"typeName": {
"id": 2218,
"id": 2858,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "378:4:15",
"src": "378:4:16",
"typeDescriptions": {

@@ -677,6 +677,6 @@ "typeIdentifier": "t_bool",

],
"src": "377:6:15"
"src": "377:6:16"
},
"scope": 2305,
"src": "262:272:15",
"scope": 2945,
"src": "262:272:16",
"stateMutability": "nonpayable",

@@ -688,9 +688,9 @@ "virtual": false,

"body": {
"id": 2282,
"id": 2922,
"nodeType": "Block",
"src": "663:151:15",
"src": "663:151:16",
"statements": [
{
"expression": {
"id": 2266,
"id": 2906,
"isConstant": false,

@@ -704,21 +704,21 @@ "isLValue": false,

"baseExpression": {
"id": 2258,
"id": 2898,
"name": "_erc721tokenStore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2209,
"src": "673:17:15",
"referencedDeclaration": 2849,
"src": "673:17:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
}
},
"id": 2262,
"id": 2902,
"indexExpression": {
"id": 2259,
"id": 2899,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2248,
"src": "691:2:15",
"referencedDeclaration": 2888,
"src": "691:2:16",
"typeDescriptions": {

@@ -734,18 +734,18 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "673:21:15",
"src": "673:21:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"
}
},
"id": 2263,
"id": 2903,
"indexExpression": {
"id": 2260,
"id": 2900,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2251,
"src": "695:5:15",
"referencedDeclaration": 2891,
"src": "695:5:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -759,3 +759,3 @@ }

"nodeType": "IndexAccess",
"src": "673:28:15",
"src": "673:28:16",
"typeDescriptions": {

@@ -766,10 +766,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$",

},
"id": 2264,
"id": 2904,
"indexExpression": {
"id": 2261,
"id": 2901,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2253,
"src": "702:7:15",
"referencedDeclaration": 2893,
"src": "702:7:16",
"typeDescriptions": {

@@ -785,3 +785,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "673:37:15",
"src": "673:37:16",
"typeDescriptions": {

@@ -796,3 +796,3 @@ "typeIdentifier": "t_bool",

"hexValue": "66616c7365",
"id": 2265,
"id": 2905,
"isConstant": false,

@@ -804,3 +804,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "713:5:15",
"src": "713:5:16",
"typeDescriptions": {

@@ -812,3 +812,3 @@ "typeIdentifier": "t_bool",

},
"src": "673:45:15",
"src": "673:45:16",
"typeDescriptions": {

@@ -819,5 +819,5 @@ "typeIdentifier": "t_bool",

},
"id": 2267,
"id": 2907,
"nodeType": "ExpressionStatement",
"src": "673:45:15"
"src": "673:45:16"
},

@@ -830,3 +830,3 @@ {

{
"id": 2273,
"id": 2913,
"name": "this",

@@ -836,5 +836,5 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967268,
"src": "759:4:15",
"src": "759:4:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Erc721Store_$2305",
"typeIdentifier": "t_contract$_Erc721Store_$2945",
"typeString": "contract Erc721Store"

@@ -847,7 +847,7 @@ }

{
"typeIdentifier": "t_contract$_Erc721Store_$2305",
"typeIdentifier": "t_contract$_Erc721Store_$2945",
"typeString": "contract Erc721Store"
}
],
"id": 2272,
"id": 2912,
"isConstant": false,

@@ -858,3 +858,3 @@ "isLValue": false,

"nodeType": "ElementaryTypeNameExpression",
"src": "751:7:15",
"src": "751:7:16",
"typeDescriptions": {

@@ -865,10 +865,10 @@ "typeIdentifier": "t_type$_t_address_$",

"typeName": {
"id": 2271,
"id": 2911,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "751:7:15",
"src": "751:7:16",
"typeDescriptions": {}
}
},
"id": 2274,
"id": 2914,
"isConstant": false,

@@ -882,3 +882,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "751:13:15",
"src": "751:13:16",
"tryCall": false,

@@ -892,3 +892,3 @@ "typeDescriptions": {

"expression": {
"id": 2275,
"id": 2915,
"name": "msg",

@@ -898,3 +898,3 @@ "nodeType": "Identifier",

"referencedDeclaration": 4294967281,
"src": "766:3:15",
"src": "766:3:16",
"typeDescriptions": {

@@ -905,3 +905,3 @@ "typeIdentifier": "t_magic_message",

},
"id": 2276,
"id": 2916,
"isConstant": false,

@@ -911,6 +911,6 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "770:6:15",
"memberLocation": "770:6:16",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "766:10:15",
"src": "766:10:16",
"typeDescriptions": {

@@ -922,8 +922,8 @@ "typeIdentifier": "t_address",

{
"id": 2277,
"id": 2917,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2253,
"src": "778:7:15",
"referencedDeclaration": 2893,
"src": "778:7:16",
"typeDescriptions": {

@@ -951,14 +951,14 @@ "typeIdentifier": "t_uint256",

"expression": {
"id": 2268,
"id": 2908,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2251,
"src": "728:5:15",
"referencedDeclaration": 2891,
"src": "728:5:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
}
},
"id": 2270,
"id": 2910,
"isConstant": false,

@@ -968,7 +968,7 @@ "isLValue": false,

"lValueRequested": false,
"memberLocation": "734:16:15",
"memberLocation": "734:16:16",
"memberName": "safeTransferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 1172,
"src": "728:22:15",
"referencedDeclaration": 1153,
"src": "728:22:16",
"typeDescriptions": {

@@ -979,3 +979,3 @@ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",

},
"id": 2278,
"id": 2918,
"isConstant": false,

@@ -989,3 +989,3 @@ "isLValue": false,

"nodeType": "FunctionCall",
"src": "728:58:15",
"src": "728:58:16",
"tryCall": false,

@@ -997,5 +997,5 @@ "typeDescriptions": {

},
"id": 2279,
"id": 2919,
"nodeType": "ExpressionStatement",
"src": "728:58:15"
"src": "728:58:16"
},

@@ -1005,3 +1005,3 @@ {

"hexValue": "74727565",
"id": 2280,
"id": 2920,
"isConstant": false,

@@ -1013,3 +1013,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "803:4:15",
"src": "803:4:16",
"typeDescriptions": {

@@ -1021,10 +1021,10 @@ "typeIdentifier": "t_bool",

},
"functionReturnParameters": 2257,
"id": 2281,
"functionReturnParameters": 2897,
"id": 2921,
"nodeType": "Return",
"src": "796:11:15"
"src": "796:11:16"
}
]
},
"id": 2283,
"id": 2923,
"implemented": true,

@@ -1034,6 +1034,6 @@ "kind": "function",

"name": "_withdrawErc721",
"nameLocation": "549:15:15",
"nameLocation": "549:15:16",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2254,
"id": 2894,
"nodeType": "ParameterList",

@@ -1043,9 +1043,9 @@ "parameters": [

"constant": false,
"id": 2248,
"id": 2888,
"mutability": "mutable",
"name": "id",
"nameLocation": "582:2:15",
"nameLocation": "582:2:16",
"nodeType": "VariableDeclaration",
"scope": 2283,
"src": "574:10:15",
"scope": 2923,
"src": "574:10:16",
"stateVariable": false,

@@ -1058,6 +1058,6 @@ "storageLocation": "default",

"typeName": {
"id": 2247,
"id": 2887,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "574:7:15",
"src": "574:7:16",
"typeDescriptions": {

@@ -1072,32 +1072,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2251,
"id": 2891,
"mutability": "mutable",
"name": "token",
"nameLocation": "602:5:15",
"nameLocation": "602:5:16",
"nodeType": "VariableDeclaration",
"scope": 2283,
"src": "594:13:15",
"scope": 2923,
"src": "594:13:16",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2250,
"id": 2890,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2249,
"id": 2889,
"name": "IERC721",
"nameLocations": [
"594:7:15"
"594:7:16"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "594:7:15"
"referencedDeclaration": 1198,
"src": "594:7:16"
},
"referencedDeclaration": 1217,
"src": "594:7:15",
"referencedDeclaration": 1198,
"src": "594:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -1110,9 +1110,9 @@ }

"constant": false,
"id": 2253,
"id": 2893,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "625:7:15",
"nameLocation": "625:7:16",
"nodeType": "VariableDeclaration",
"scope": 2283,
"src": "617:15:15",
"scope": 2923,
"src": "617:15:16",
"stateVariable": false,

@@ -1125,6 +1125,6 @@ "storageLocation": "default",

"typeName": {
"id": 2252,
"id": 2892,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "617:7:15",
"src": "617:7:16",
"typeDescriptions": {

@@ -1138,6 +1138,6 @@ "typeIdentifier": "t_uint256",

],
"src": "564:74:15"
"src": "564:74:16"
},
"returnParameters": {
"id": 2257,
"id": 2897,
"nodeType": "ParameterList",

@@ -1147,3 +1147,3 @@ "parameters": [

"constant": false,
"id": 2256,
"id": 2896,
"mutability": "mutable",

@@ -1153,4 +1153,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2283,
"src": "657:4:15",
"scope": 2923,
"src": "657:4:16",
"stateVariable": false,

@@ -1163,6 +1163,6 @@ "storageLocation": "default",

"typeName": {
"id": 2255,
"id": 2895,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "657:4:15",
"src": "657:4:16",
"typeDescriptions": {

@@ -1176,6 +1176,6 @@ "typeIdentifier": "t_bool",

],
"src": "656:6:15"
"src": "656:6:16"
},
"scope": 2305,
"src": "540:274:15",
"scope": 2945,
"src": "540:274:16",
"stateMutability": "nonpayable",

@@ -1187,5 +1187,5 @@ "virtual": false,

"body": {
"id": 2303,
"id": 2943,
"nodeType": "Block",
"src": "948:61:15",
"src": "948:61:16",
"statements": [

@@ -1197,21 +1197,21 @@ {

"baseExpression": {
"id": 2295,
"id": 2935,
"name": "_erc721tokenStore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2209,
"src": "965:17:15",
"referencedDeclaration": 2849,
"src": "965:17:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
}
},
"id": 2297,
"id": 2937,
"indexExpression": {
"id": 2296,
"id": 2936,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2285,
"src": "983:2:15",
"referencedDeclaration": 2925,
"src": "983:2:16",
"typeDescriptions": {

@@ -1227,18 +1227,18 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "965:21:15",
"src": "965:21:16",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1198_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"
}
},
"id": 2299,
"id": 2939,
"indexExpression": {
"id": 2298,
"id": 2938,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2288,
"src": "987:5:15",
"referencedDeclaration": 2928,
"src": "987:5:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -1252,3 +1252,3 @@ }

"nodeType": "IndexAccess",
"src": "965:28:15",
"src": "965:28:16",
"typeDescriptions": {

@@ -1259,10 +1259,10 @@ "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$",

},
"id": 2301,
"id": 2941,
"indexExpression": {
"id": 2300,
"id": 2940,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2290,
"src": "994:7:15",
"referencedDeclaration": 2930,
"src": "994:7:16",
"typeDescriptions": {

@@ -1278,3 +1278,3 @@ "typeIdentifier": "t_uint256",

"nodeType": "IndexAccess",
"src": "965:37:15",
"src": "965:37:16",
"typeDescriptions": {

@@ -1285,10 +1285,10 @@ "typeIdentifier": "t_bool",

},
"functionReturnParameters": 2294,
"id": 2302,
"functionReturnParameters": 2934,
"id": 2942,
"nodeType": "Return",
"src": "958:44:15"
"src": "958:44:16"
}
]
},
"id": 2304,
"id": 2944,
"implemented": true,

@@ -1298,6 +1298,6 @@ "kind": "function",

"name": "_containsErc721",
"nameLocation": "829:15:15",
"nameLocation": "829:15:16",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2291,
"id": 2931,
"nodeType": "ParameterList",

@@ -1307,9 +1307,9 @@ "parameters": [

"constant": false,
"id": 2285,
"id": 2925,
"mutability": "mutable",
"name": "id",
"nameLocation": "862:2:15",
"nameLocation": "862:2:16",
"nodeType": "VariableDeclaration",
"scope": 2304,
"src": "854:10:15",
"scope": 2944,
"src": "854:10:16",
"stateVariable": false,

@@ -1322,6 +1322,6 @@ "storageLocation": "default",

"typeName": {
"id": 2284,
"id": 2924,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "854:7:15",
"src": "854:7:16",
"typeDescriptions": {

@@ -1336,32 +1336,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2288,
"id": 2928,
"mutability": "mutable",
"name": "token",
"nameLocation": "882:5:15",
"nameLocation": "882:5:16",
"nodeType": "VariableDeclaration",
"scope": 2304,
"src": "874:13:15",
"scope": 2944,
"src": "874:13:16",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2287,
"id": 2927,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2286,
"id": 2926,
"name": "IERC721",
"nameLocations": [
"874:7:15"
"874:7:16"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "874:7:15"
"referencedDeclaration": 1198,
"src": "874:7:16"
},
"referencedDeclaration": 1217,
"src": "874:7:15",
"referencedDeclaration": 1198,
"src": "874:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -1374,9 +1374,9 @@ }

"constant": false,
"id": 2290,
"id": 2930,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "905:7:15",
"nameLocation": "905:7:16",
"nodeType": "VariableDeclaration",
"scope": 2304,
"src": "897:15:15",
"scope": 2944,
"src": "897:15:16",
"stateVariable": false,

@@ -1389,6 +1389,6 @@ "storageLocation": "default",

"typeName": {
"id": 2289,
"id": 2929,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "897:7:15",
"src": "897:7:16",
"typeDescriptions": {

@@ -1402,6 +1402,6 @@ "typeIdentifier": "t_uint256",

],
"src": "844:74:15"
"src": "844:74:16"
},
"returnParameters": {
"id": 2294,
"id": 2934,
"nodeType": "ParameterList",

@@ -1411,3 +1411,3 @@ "parameters": [

"constant": false,
"id": 2293,
"id": 2933,
"mutability": "mutable",

@@ -1417,4 +1417,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2304,
"src": "942:4:15",
"scope": 2944,
"src": "942:4:16",
"stateVariable": false,

@@ -1427,6 +1427,6 @@ "storageLocation": "default",

"typeName": {
"id": 2292,
"id": 2932,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "942:4:15",
"src": "942:4:16",
"typeDescriptions": {

@@ -1440,6 +1440,6 @@ "typeIdentifier": "t_bool",

],
"src": "941:6:15"
"src": "941:6:16"
},
"scope": 2305,
"src": "820:189:15",
"scope": 2945,
"src": "820:189:16",
"stateMutability": "view",

@@ -1450,4 +1450,4 @@ "virtual": false,

],
"scope": 2306,
"src": "121:890:15",
"scope": 2946,
"src": "121:890:16",
"usedErrors": [],

@@ -1457,11 +1457,11 @@ "usedEvents": []

],
"src": "36:976:15"
"src": "36:976:16"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.398Z",
"updatedAt": "2023-11-18T19:59:10.462Z",
"devdoc": {

@@ -1468,0 +1468,0 @@ "kind": "dev",

@@ -18,3 +18,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IBurnable.sol\":\"IBurnable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IBurnable.sol\":{\"keccak256\":\"0x50c2505c091d6e20745be19159c743e89ff7bb7fc021676c87b2583777326e37\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b0cbad6ee0ae547f66169ec62ac7e2c1b41a1b6b3213dca067ae840d6a8caacd\",\"dweb:/ipfs/QmSM1Qu5DC3WNUnLufHpH64c5Frgwm5MZBt2K1S7ogY3zQ\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IBurnable.sol\":\"IBurnable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IBurnable.sol\":{\"keccak256\":\"0x50c2505c091d6e20745be19159c743e89ff7bb7fc021676c87b2583777326e37\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b0cbad6ee0ae547f66169ec62ac7e2c1b41a1b6b3213dca067ae840d6a8caacd\",\"dweb:/ipfs/QmSM1Qu5DC3WNUnLufHpH64c5Frgwm5MZBt2K1S7ogY3zQ\"]}},\"version\":1}",
"bytecode": "0x",

@@ -33,6 +33,6 @@ "deployedBytecode": "0x",

"IBurnable": [
2362
3002
]
},
"id": 2363,
"id": 3003,
"license": "GPL-3.0",

@@ -42,3 +42,3 @@ "nodeType": "SourceUnit",

{
"id": 2356,
"id": 2996,
"literals": [

@@ -51,3 +51,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:18"
"src": "36:23:19"
},

@@ -61,8 +61,8 @@ {

"fullyImplemented": false,
"id": 2362,
"id": 3002,
"linearizedBaseContracts": [
2362
3002
],
"name": "IBurnable",
"nameLocation": "71:9:18",
"nameLocation": "71:9:19",
"nodeType": "ContractDefinition",

@@ -72,3 +72,3 @@ "nodes": [

"functionSelector": "42966c68",
"id": 2361,
"id": 3001,
"implemented": false,

@@ -78,6 +78,6 @@ "kind": "function",

"name": "burn",
"nameLocation": "96:4:18",
"nameLocation": "96:4:19",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2359,
"id": 2999,
"nodeType": "ParameterList",

@@ -87,9 +87,9 @@ "parameters": [

"constant": false,
"id": 2358,
"id": 2998,
"mutability": "mutable",
"name": "amount",
"nameLocation": "109:6:18",
"nameLocation": "109:6:19",
"nodeType": "VariableDeclaration",
"scope": 2361,
"src": "101:14:18",
"scope": 3001,
"src": "101:14:19",
"stateVariable": false,

@@ -102,6 +102,6 @@ "storageLocation": "default",

"typeName": {
"id": 2357,
"id": 2997,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "101:7:18",
"src": "101:7:19",
"typeDescriptions": {

@@ -115,12 +115,12 @@ "typeIdentifier": "t_uint256",

],
"src": "100:16:18"
"src": "100:16:19"
},
"returnParameters": {
"id": 2360,
"id": 3000,
"nodeType": "ParameterList",
"parameters": [],
"src": "125:0:18"
"src": "125:0:19"
},
"scope": 2362,
"src": "87:39:18",
"scope": 3002,
"src": "87:39:19",
"stateMutability": "nonpayable",

@@ -131,4 +131,4 @@ "virtual": false,

],
"scope": 2363,
"src": "61:67:18",
"scope": 3003,
"src": "61:67:19",
"usedErrors": [],

@@ -138,11 +138,11 @@ "usedEvents": []

],
"src": "36:93:18"
"src": "36:93:19"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.400Z",
"updatedAt": "2023-11-18T19:59:10.464Z",
"devdoc": {

@@ -149,0 +149,0 @@ "kind": "dev",

@@ -87,3 +87,3 @@ {

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -157,3 +157,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -187,3 +187,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -204,3 +204,3 @@ }

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc20/interfaces/chains/IBurnableErc20.sol\":\"IBurnableErc20\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"project:/src/erc20/interfaces/chains/IBurnableErc20.sol\":{\"keccak256\":\"0x930acd926334d003dcc7017e6e0d200650ca8d1c8d103ba01e2feb73af835c0c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1a981ac16798b0e2271ce5c01955d1c9e24c3bcc7ea9cd6e5216868e4d182639\",\"dweb:/ipfs/QmRXKQDNspM3MgwQTYZz2RFzS5NgYCUxmrhy7bVUCPYtzg\"]},\"project:/src/interfaces/IBurnable.sol\":{\"keccak256\":\"0x50c2505c091d6e20745be19159c743e89ff7bb7fc021676c87b2583777326e37\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b0cbad6ee0ae547f66169ec62ac7e2c1b41a1b6b3213dca067ae840d6a8caacd\",\"dweb:/ipfs/QmSM1Qu5DC3WNUnLufHpH64c5Frgwm5MZBt2K1S7ogY3zQ\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc20/interfaces/chains/IBurnableErc20.sol\":\"IBurnableErc20\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"project:/src/erc20/interfaces/chains/IBurnableErc20.sol\":{\"keccak256\":\"0x930acd926334d003dcc7017e6e0d200650ca8d1c8d103ba01e2feb73af835c0c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1a981ac16798b0e2271ce5c01955d1c9e24c3bcc7ea9cd6e5216868e4d182639\",\"dweb:/ipfs/QmRXKQDNspM3MgwQTYZz2RFzS5NgYCUxmrhy7bVUCPYtzg\"]},\"project:/src/interfaces/IBurnable.sol\":{\"keccak256\":\"0x50c2505c091d6e20745be19159c743e89ff7bb7fc021676c87b2583777326e37\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b0cbad6ee0ae547f66169ec62ac7e2c1b41a1b6b3213dca067ae840d6a8caacd\",\"dweb:/ipfs/QmSM1Qu5DC3WNUnLufHpH64c5Frgwm5MZBt2K1S7ogY3zQ\"]}},\"version\":1}",
"bytecode": "0x",

@@ -219,12 +219,12 @@ "deployedBytecode": "0x",

"IBurnable": [
2362
3002
],
"IBurnableErc20": [
2197
2837
],
"IERC20": [
664
729
]
},
"id": 2198,
"id": 2838,
"license": "GPL-3.0",

@@ -234,3 +234,3 @@ "nodeType": "SourceUnit",

{
"id": 2190,
"id": 2830,
"literals": [

@@ -243,3 +243,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:14"
"src": "36:23:15"
},

@@ -249,8 +249,8 @@ {

"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 2191,
"id": 2831,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2198,
"sourceUnit": 665,
"src": "61:56:14",
"scope": 2838,
"sourceUnit": 730,
"src": "61:56:15",
"symbolAliases": [],

@@ -262,8 +262,8 @@ "unitAlias": ""

"file": "../../../interfaces/IBurnable.sol",
"id": 2192,
"id": 2832,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2198,
"sourceUnit": 2363,
"src": "118:43:14",
"scope": 2838,
"sourceUnit": 3003,
"src": "118:43:15",
"symbolAliases": [],

@@ -277,29 +277,29 @@ "unitAlias": ""

"baseName": {
"id": 2193,
"id": 2833,
"name": "IERC20",
"nameLocations": [
"191:6:14"
"191:6:15"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "191:6:14"
"referencedDeclaration": 729,
"src": "191:6:15"
},
"id": 2194,
"id": 2834,
"nodeType": "InheritanceSpecifier",
"src": "191:6:14"
"src": "191:6:15"
},
{
"baseName": {
"id": 2195,
"id": 2835,
"name": "IBurnable",
"nameLocations": [
"199:9:14"
"199:9:15"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 2362,
"src": "199:9:14"
"referencedDeclaration": 3002,
"src": "199:9:15"
},
"id": 2196,
"id": 2836,
"nodeType": "InheritanceSpecifier",
"src": "199:9:14"
"src": "199:9:15"
}

@@ -311,30 +311,30 @@ ],

"fullyImplemented": false,
"id": 2197,
"id": 2837,
"linearizedBaseContracts": [
2197,
2362,
664
2837,
3002,
729
],
"name": "IBurnableErc20",
"nameLocation": "173:14:14",
"nameLocation": "173:14:15",
"nodeType": "ContractDefinition",
"nodes": [],
"scope": 2198,
"src": "163:48:14",
"scope": 2838,
"src": "163:48:15",
"usedErrors": [],
"usedEvents": [
598,
607
663,
672
]
}
],
"src": "36:176:14"
"src": "36:176:15"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.398Z",
"updatedAt": "2023-11-18T19:59:10.462Z",
"devdoc": {

@@ -355,15 +355,15 @@ "events": {

"approve(address,uint256)": {
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
"details": "Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf(address)": {
"details": "Returns the amount of tokens owned by `account`."
"details": "Returns the value of tokens owned by `account`."
},
"totalSupply()": {
"details": "Returns the amount of tokens in existence."
"details": "Returns the value of tokens in existence."
},
"transfer(address,uint256)": {
"details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
"details": "Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom(address,address,uint256)": {
"details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
"details": "Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}

@@ -370,0 +370,0 @@ },

@@ -58,3 +58,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"data\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IDataStore.sol\":\"IDataStore\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IDataStore.sol\":{\"keccak256\":\"0x0782cd0268aedb1d187d6ef02d9743a289bda057ade0ec997eb0cd022c15c548\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6a3f7ce4f1dbfc651a6281f5ef87370687f0cc88b5fab94903eb5643a4f4189a\",\"dweb:/ipfs/QmQHxN4WTeqUrZgfPXcM9JyYNeSBZTJWjfJmEtMFcri5hz\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"data\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IDataStore.sol\":\"IDataStore\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IDataStore.sol\":{\"keccak256\":\"0x0782cd0268aedb1d187d6ef02d9743a289bda057ade0ec997eb0cd022c15c548\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6a3f7ce4f1dbfc651a6281f5ef87370687f0cc88b5fab94903eb5643a4f4189a\",\"dweb:/ipfs/QmQHxN4WTeqUrZgfPXcM9JyYNeSBZTJWjfJmEtMFcri5hz\"]}},\"version\":1}",
"bytecode": "0x",

@@ -73,6 +73,6 @@ "deployedBytecode": "0x",

"IDataStore": [
2385
3025
]
},
"id": 2386,
"id": 3026,
"license": "GPL-3.0",

@@ -82,3 +82,3 @@ "nodeType": "SourceUnit",

{
"id": 2364,
"id": 3004,
"literals": [

@@ -91,3 +91,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:19"
"src": "36:23:20"
},

@@ -101,8 +101,8 @@ {

"fullyImplemented": false,
"id": 2385,
"id": 3025,
"linearizedBaseContracts": [
2385
3025
],
"name": "IDataStore",
"nameLocation": "71:10:19",
"nameLocation": "71:10:20",
"nodeType": "ContractDefinition",

@@ -112,3 +112,3 @@ "nodes": [

"functionSelector": "5173bd1e",
"id": 2373,
"id": 3013,
"implemented": false,

@@ -118,6 +118,6 @@ "kind": "function",

"name": "data",
"nameLocation": "97:4:19",
"nameLocation": "97:4:20",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2369,
"id": 3009,
"nodeType": "ParameterList",

@@ -127,9 +127,9 @@ "parameters": [

"constant": false,
"id": 2366,
"id": 3006,
"mutability": "mutable",
"name": "id",
"nameLocation": "110:2:19",
"nameLocation": "110:2:20",
"nodeType": "VariableDeclaration",
"scope": 2373,
"src": "102:10:19",
"scope": 3013,
"src": "102:10:20",
"stateVariable": false,

@@ -142,6 +142,6 @@ "storageLocation": "default",

"typeName": {
"id": 2365,
"id": 3005,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "102:7:19",
"src": "102:7:20",
"typeDescriptions": {

@@ -156,9 +156,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2368,
"id": 3008,
"mutability": "mutable",
"name": "slot",
"nameLocation": "122:4:19",
"nameLocation": "122:4:20",
"nodeType": "VariableDeclaration",
"scope": 2373,
"src": "114:12:19",
"scope": 3013,
"src": "114:12:20",
"stateVariable": false,

@@ -171,6 +171,6 @@ "storageLocation": "default",

"typeName": {
"id": 2367,
"id": 3007,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "114:7:19",
"src": "114:7:20",
"typeDescriptions": {

@@ -184,6 +184,6 @@ "typeIdentifier": "t_uint256",

],
"src": "101:26:19"
"src": "101:26:20"
},
"returnParameters": {
"id": 2372,
"id": 3012,
"nodeType": "ParameterList",

@@ -193,3 +193,3 @@ "parameters": [

"constant": false,
"id": 2371,
"id": 3011,
"mutability": "mutable",

@@ -199,4 +199,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2373,
"src": "151:7:19",
"scope": 3013,
"src": "151:7:20",
"stateVariable": false,

@@ -209,6 +209,6 @@ "storageLocation": "default",

"typeName": {
"id": 2370,
"id": 3010,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "151:7:19",
"src": "151:7:20",
"typeDescriptions": {

@@ -222,6 +222,6 @@ "typeIdentifier": "t_uint256",

],
"src": "150:9:19"
"src": "150:9:20"
},
"scope": 2385,
"src": "88:72:19",
"scope": 3025,
"src": "88:72:20",
"stateMutability": "view",

@@ -233,3 +233,3 @@ "virtual": false,

"functionSelector": "2909f638",
"id": 2384,
"id": 3024,
"implemented": false,

@@ -239,6 +239,6 @@ "kind": "function",

"name": "setData",
"nameLocation": "175:7:19",
"nameLocation": "175:7:20",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2380,
"id": 3020,
"nodeType": "ParameterList",

@@ -248,9 +248,9 @@ "parameters": [

"constant": false,
"id": 2375,
"id": 3015,
"mutability": "mutable",
"name": "id",
"nameLocation": "200:2:19",
"nameLocation": "200:2:20",
"nodeType": "VariableDeclaration",
"scope": 2384,
"src": "192:10:19",
"scope": 3024,
"src": "192:10:20",
"stateVariable": false,

@@ -263,6 +263,6 @@ "storageLocation": "default",

"typeName": {
"id": 2374,
"id": 3014,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "192:7:19",
"src": "192:7:20",
"typeDescriptions": {

@@ -277,9 +277,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2377,
"id": 3017,
"mutability": "mutable",
"name": "slot",
"nameLocation": "220:4:19",
"nameLocation": "220:4:20",
"nodeType": "VariableDeclaration",
"scope": 2384,
"src": "212:12:19",
"scope": 3024,
"src": "212:12:20",
"stateVariable": false,

@@ -292,6 +292,6 @@ "storageLocation": "default",

"typeName": {
"id": 2376,
"id": 3016,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "212:7:19",
"src": "212:7:20",
"typeDescriptions": {

@@ -306,9 +306,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2379,
"id": 3019,
"mutability": "mutable",
"name": "value",
"nameLocation": "242:5:19",
"nameLocation": "242:5:20",
"nodeType": "VariableDeclaration",
"scope": 2384,
"src": "234:13:19",
"scope": 3024,
"src": "234:13:20",
"stateVariable": false,

@@ -321,6 +321,6 @@ "storageLocation": "default",

"typeName": {
"id": 2378,
"id": 3018,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "234:7:19",
"src": "234:7:20",
"typeDescriptions": {

@@ -334,6 +334,6 @@ "typeIdentifier": "t_uint256",

],
"src": "182:71:19"
"src": "182:71:20"
},
"returnParameters": {
"id": 2383,
"id": 3023,
"nodeType": "ParameterList",

@@ -343,3 +343,3 @@ "parameters": [

"constant": false,
"id": 2382,
"id": 3022,
"mutability": "mutable",

@@ -349,4 +349,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2384,
"src": "272:4:19",
"scope": 3024,
"src": "272:4:20",
"stateVariable": false,

@@ -359,6 +359,6 @@ "storageLocation": "default",

"typeName": {
"id": 2381,
"id": 3021,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "272:4:19",
"src": "272:4:20",
"typeDescriptions": {

@@ -372,6 +372,6 @@ "typeIdentifier": "t_bool",

],
"src": "271:6:19"
"src": "271:6:20"
},
"scope": 2385,
"src": "166:112:19",
"scope": 3025,
"src": "166:112:20",
"stateMutability": "nonpayable",

@@ -382,4 +382,4 @@ "virtual": false,

],
"scope": 2386,
"src": "61:219:19",
"scope": 3026,
"src": "61:219:20",
"usedErrors": [],

@@ -389,11 +389,11 @@ "usedEvents": []

],
"src": "36:245:19"
"src": "36:245:20"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.400Z",
"updatedAt": "2023-11-18T19:59:10.464Z",
"devdoc": {

@@ -400,0 +400,0 @@ "kind": "dev",

@@ -24,3 +24,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}",
"bytecode": "0x",

@@ -33,3 +33,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n",
"sourcePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",

@@ -40,6 +40,6 @@ "ast": {

"IERC165": [
1581
1485
]
},
"id": 1582,
"id": 1486,
"license": "MIT",

@@ -49,3 +49,3 @@ "nodeType": "SourceUnit",

{
"id": 1571,
"id": 1475,
"literals": [

@@ -55,6 +55,6 @@ "solidity",

"0.8",
".0"
".20"
],
"nodeType": "PragmaDirective",
"src": "100:23:8"
"src": "115:24:9"
},

@@ -68,14 +68,14 @@ {

"documentation": {
"id": 1572,
"id": 1476,
"nodeType": "StructuredDocumentation",
"src": "125:279:8",
"src": "141:279:9",
"text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
},
"fullyImplemented": false,
"id": 1581,
"id": 1485,
"linearizedBaseContracts": [
1581
1485
],
"name": "IERC165",
"nameLocation": "415:7:8",
"nameLocation": "431:7:9",
"nodeType": "ContractDefinition",

@@ -85,9 +85,9 @@ "nodes": [

"documentation": {
"id": 1573,
"id": 1477,
"nodeType": "StructuredDocumentation",
"src": "429:340:8",
"src": "445:340:9",
"text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."
},
"functionSelector": "01ffc9a7",
"id": 1580,
"id": 1484,
"implemented": false,

@@ -97,6 +97,6 @@ "kind": "function",

"name": "supportsInterface",
"nameLocation": "783:17:8",
"nameLocation": "799:17:9",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1576,
"id": 1480,
"nodeType": "ParameterList",

@@ -106,9 +106,9 @@ "parameters": [

"constant": false,
"id": 1575,
"id": 1479,
"mutability": "mutable",
"name": "interfaceId",
"nameLocation": "808:11:8",
"nameLocation": "824:11:9",
"nodeType": "VariableDeclaration",
"scope": 1580,
"src": "801:18:8",
"scope": 1484,
"src": "817:18:9",
"stateVariable": false,

@@ -121,6 +121,6 @@ "storageLocation": "default",

"typeName": {
"id": 1574,
"id": 1478,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "801:6:8",
"src": "817:6:9",
"typeDescriptions": {

@@ -134,6 +134,6 @@ "typeIdentifier": "t_bytes4",

],
"src": "800:20:8"
"src": "816:20:9"
},
"returnParameters": {
"id": 1579,
"id": 1483,
"nodeType": "ParameterList",

@@ -143,3 +143,3 @@ "parameters": [

"constant": false,
"id": 1578,
"id": 1482,
"mutability": "mutable",

@@ -149,4 +149,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1580,
"src": "844:4:8",
"scope": 1484,
"src": "860:4:9",
"stateVariable": false,

@@ -159,6 +159,6 @@ "storageLocation": "default",

"typeName": {
"id": 1577,
"id": 1481,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "844:4:8",
"src": "860:4:9",
"typeDescriptions": {

@@ -172,6 +172,6 @@ "typeIdentifier": "t_bool",

],
"src": "843:6:8"
"src": "859:6:9"
},
"scope": 1581,
"src": "774:76:8",
"scope": 1485,
"src": "790:76:9",
"stateMutability": "view",

@@ -182,4 +182,4 @@ "virtual": false,

],
"scope": 1582,
"src": "405:447:8",
"scope": 1486,
"src": "421:447:9",
"usedErrors": [],

@@ -189,11 +189,11 @@ "usedEvents": []

],
"src": "100:753:8"
"src": "115:754:9"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.388Z",
"updatedAt": "2023-11-18T19:59:10.454Z",
"devdoc": {

@@ -200,0 +200,0 @@ "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.",

@@ -95,3 +95,3 @@ {

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -144,3 +144,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -174,3 +174,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -191,3 +191,3 @@ }

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]}},\"version\":1}",
"bytecode": "0x",

@@ -200,3 +200,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 amount) external returns (bool);\n}\n",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n",
"sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",

@@ -207,6 +207,6 @@ "ast": {

"IERC20": [
664
729
]
},
"id": 665,
"id": 730,
"license": "MIT",

@@ -216,3 +216,3 @@ "nodeType": "SourceUnit",

{
"id": 588,
"id": 653,
"literals": [

@@ -222,6 +222,6 @@ "solidity",

"0.8",
".0"
".20"
],
"nodeType": "PragmaDirective",
"src": "106:23:1"
"src": "106:24:2"
},

@@ -235,14 +235,14 @@ {

"documentation": {
"id": 589,
"id": 654,
"nodeType": "StructuredDocumentation",
"src": "131:70:1",
"src": "132:70:2",
"text": " @dev Interface of the ERC20 standard as defined in the EIP."
},
"fullyImplemented": false,
"id": 664,
"id": 729,
"linearizedBaseContracts": [
664
729
],
"name": "IERC20",
"nameLocation": "212:6:1",
"nameLocation": "213:6:2",
"nodeType": "ContractDefinition",

@@ -253,14 +253,14 @@ "nodes": [

"documentation": {
"id": 590,
"id": 655,
"nodeType": "StructuredDocumentation",
"src": "225:158:1",
"src": "226:158:2",
"text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."
},
"eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"id": 598,
"id": 663,
"name": "Transfer",
"nameLocation": "394:8:1",
"nameLocation": "395:8:2",
"nodeType": "EventDefinition",
"parameters": {
"id": 597,
"id": 662,
"nodeType": "ParameterList",

@@ -270,10 +270,10 @@ "parameters": [

"constant": false,
"id": 592,
"id": 657,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "419:4:1",
"nameLocation": "420:4:2",
"nodeType": "VariableDeclaration",
"scope": 598,
"src": "403:20:1",
"scope": 663,
"src": "404:20:2",
"stateVariable": false,

@@ -286,6 +286,6 @@ "storageLocation": "default",

"typeName": {
"id": 591,
"id": 656,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "403:7:1",
"src": "404:7:2",
"stateMutability": "nonpayable",

@@ -301,10 +301,10 @@ "typeDescriptions": {

"constant": false,
"id": 594,
"id": 659,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "441:2:1",
"nameLocation": "442:2:2",
"nodeType": "VariableDeclaration",
"scope": 598,
"src": "425:18:1",
"scope": 663,
"src": "426:18:2",
"stateVariable": false,

@@ -317,6 +317,6 @@ "storageLocation": "default",

"typeName": {
"id": 593,
"id": 658,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "425:7:1",
"src": "426:7:2",
"stateMutability": "nonpayable",

@@ -332,10 +332,10 @@ "typeDescriptions": {

"constant": false,
"id": 596,
"id": 661,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "453:5:1",
"nameLocation": "454:5:2",
"nodeType": "VariableDeclaration",
"scope": 598,
"src": "445:13:1",
"scope": 663,
"src": "446:13:2",
"stateVariable": false,

@@ -348,6 +348,6 @@ "storageLocation": "default",

"typeName": {
"id": 595,
"id": 660,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "445:7:1",
"src": "446:7:2",
"typeDescriptions": {

@@ -361,5 +361,5 @@ "typeIdentifier": "t_uint256",

],
"src": "402:57:1"
"src": "403:57:2"
},
"src": "388:72:1"
"src": "389:72:2"
},

@@ -369,14 +369,14 @@ {

"documentation": {
"id": 599,
"id": 664,
"nodeType": "StructuredDocumentation",
"src": "466:148:1",
"src": "467:148:2",
"text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."
},
"eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
"id": 607,
"id": 672,
"name": "Approval",
"nameLocation": "625:8:1",
"nameLocation": "626:8:2",
"nodeType": "EventDefinition",
"parameters": {
"id": 606,
"id": 671,
"nodeType": "ParameterList",

@@ -386,10 +386,10 @@ "parameters": [

"constant": false,
"id": 601,
"id": 666,
"indexed": true,
"mutability": "mutable",
"name": "owner",
"nameLocation": "650:5:1",
"nameLocation": "651:5:2",
"nodeType": "VariableDeclaration",
"scope": 607,
"src": "634:21:1",
"scope": 672,
"src": "635:21:2",
"stateVariable": false,

@@ -402,6 +402,6 @@ "storageLocation": "default",

"typeName": {
"id": 600,
"id": 665,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "634:7:1",
"src": "635:7:2",
"stateMutability": "nonpayable",

@@ -417,10 +417,10 @@ "typeDescriptions": {

"constant": false,
"id": 603,
"id": 668,
"indexed": true,
"mutability": "mutable",
"name": "spender",
"nameLocation": "673:7:1",
"nameLocation": "674:7:2",
"nodeType": "VariableDeclaration",
"scope": 607,
"src": "657:23:1",
"scope": 672,
"src": "658:23:2",
"stateVariable": false,

@@ -433,6 +433,6 @@ "storageLocation": "default",

"typeName": {
"id": 602,
"id": 667,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "657:7:1",
"src": "658:7:2",
"stateMutability": "nonpayable",

@@ -448,10 +448,10 @@ "typeDescriptions": {

"constant": false,
"id": 605,
"id": 670,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "690:5:1",
"nameLocation": "691:5:2",
"nodeType": "VariableDeclaration",
"scope": 607,
"src": "682:13:1",
"scope": 672,
"src": "683:13:2",
"stateVariable": false,

@@ -464,6 +464,6 @@ "storageLocation": "default",

"typeName": {
"id": 604,
"id": 669,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "682:7:1",
"src": "683:7:2",
"typeDescriptions": {

@@ -477,15 +477,15 @@ "typeIdentifier": "t_uint256",

],
"src": "633:63:1"
"src": "634:63:2"
},
"src": "619:78:1"
"src": "620:78:2"
},
{
"documentation": {
"id": 608,
"id": 673,
"nodeType": "StructuredDocumentation",
"src": "703:66:1",
"text": " @dev Returns the amount of tokens in existence."
"src": "704:65:2",
"text": " @dev Returns the value of tokens in existence."
},
"functionSelector": "18160ddd",
"id": 613,
"id": 678,
"implemented": false,

@@ -495,12 +495,12 @@ "kind": "function",

"name": "totalSupply",
"nameLocation": "783:11:1",
"nameLocation": "783:11:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 609,
"id": 674,
"nodeType": "ParameterList",
"parameters": [],
"src": "794:2:1"
"src": "794:2:2"
},
"returnParameters": {
"id": 612,
"id": 677,
"nodeType": "ParameterList",

@@ -510,3 +510,3 @@ "parameters": [

"constant": false,
"id": 611,
"id": 676,
"mutability": "mutable",

@@ -516,4 +516,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 613,
"src": "820:7:1",
"scope": 678,
"src": "820:7:2",
"stateVariable": false,

@@ -526,6 +526,6 @@ "storageLocation": "default",

"typeName": {
"id": 610,
"id": 675,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "820:7:1",
"src": "820:7:2",
"typeDescriptions": {

@@ -539,6 +539,6 @@ "typeIdentifier": "t_uint256",

],
"src": "819:9:1"
"src": "819:9:2"
},
"scope": 664,
"src": "774:55:1",
"scope": 729,
"src": "774:55:2",
"stateMutability": "view",

@@ -550,9 +550,9 @@ "virtual": false,

"documentation": {
"id": 614,
"id": 679,
"nodeType": "StructuredDocumentation",
"src": "835:72:1",
"text": " @dev Returns the amount of tokens owned by `account`."
"src": "835:71:2",
"text": " @dev Returns the value of tokens owned by `account`."
},
"functionSelector": "70a08231",
"id": 621,
"id": 686,
"implemented": false,

@@ -562,6 +562,6 @@ "kind": "function",

"name": "balanceOf",
"nameLocation": "921:9:1",
"nameLocation": "920:9:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 617,
"id": 682,
"nodeType": "ParameterList",

@@ -571,9 +571,9 @@ "parameters": [

"constant": false,
"id": 616,
"id": 681,
"mutability": "mutable",
"name": "account",
"nameLocation": "939:7:1",
"nameLocation": "938:7:2",
"nodeType": "VariableDeclaration",
"scope": 621,
"src": "931:15:1",
"scope": 686,
"src": "930:15:2",
"stateVariable": false,

@@ -586,6 +586,6 @@ "storageLocation": "default",

"typeName": {
"id": 615,
"id": 680,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "931:7:1",
"src": "930:7:2",
"stateMutability": "nonpayable",

@@ -600,6 +600,6 @@ "typeDescriptions": {

],
"src": "930:17:1"
"src": "929:17:2"
},
"returnParameters": {
"id": 620,
"id": 685,
"nodeType": "ParameterList",

@@ -609,3 +609,3 @@ "parameters": [

"constant": false,
"id": 619,
"id": 684,
"mutability": "mutable",

@@ -615,4 +615,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 621,
"src": "971:7:1",
"scope": 686,
"src": "970:7:2",
"stateVariable": false,

@@ -625,6 +625,6 @@ "storageLocation": "default",

"typeName": {
"id": 618,
"id": 683,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "971:7:1",
"src": "970:7:2",
"typeDescriptions": {

@@ -638,6 +638,6 @@ "typeIdentifier": "t_uint256",

],
"src": "970:9:1"
"src": "969:9:2"
},
"scope": 664,
"src": "912:68:1",
"scope": 729,
"src": "911:68:2",
"stateMutability": "view",

@@ -649,9 +649,9 @@ "virtual": false,

"documentation": {
"id": 622,
"id": 687,
"nodeType": "StructuredDocumentation",
"src": "986:202:1",
"text": " @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
"src": "985:213:2",
"text": " @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
},
"functionSelector": "a9059cbb",
"id": 631,
"id": 696,
"implemented": false,

@@ -661,6 +661,6 @@ "kind": "function",

"name": "transfer",
"nameLocation": "1202:8:1",
"nameLocation": "1212:8:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 627,
"id": 692,
"nodeType": "ParameterList",

@@ -670,9 +670,9 @@ "parameters": [

"constant": false,
"id": 624,
"id": 689,
"mutability": "mutable",
"name": "to",
"nameLocation": "1219:2:1",
"nameLocation": "1229:2:2",
"nodeType": "VariableDeclaration",
"scope": 631,
"src": "1211:10:1",
"scope": 696,
"src": "1221:10:2",
"stateVariable": false,

@@ -685,6 +685,6 @@ "storageLocation": "default",

"typeName": {
"id": 623,
"id": 688,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1211:7:1",
"src": "1221:7:2",
"stateMutability": "nonpayable",

@@ -700,9 +700,9 @@ "typeDescriptions": {

"constant": false,
"id": 626,
"id": 691,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1231:6:1",
"name": "value",
"nameLocation": "1241:5:2",
"nodeType": "VariableDeclaration",
"scope": 631,
"src": "1223:14:1",
"scope": 696,
"src": "1233:13:2",
"stateVariable": false,

@@ -715,6 +715,6 @@ "storageLocation": "default",

"typeName": {
"id": 625,
"id": 690,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1223:7:1",
"src": "1233:7:2",
"typeDescriptions": {

@@ -728,6 +728,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1210:28:1"
"src": "1220:27:2"
},
"returnParameters": {
"id": 630,
"id": 695,
"nodeType": "ParameterList",

@@ -737,3 +737,3 @@ "parameters": [

"constant": false,
"id": 629,
"id": 694,
"mutability": "mutable",

@@ -743,4 +743,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 631,
"src": "1257:4:1",
"scope": 696,
"src": "1266:4:2",
"stateVariable": false,

@@ -753,6 +753,6 @@ "storageLocation": "default",

"typeName": {
"id": 628,
"id": 693,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1257:4:1",
"src": "1266:4:2",
"typeDescriptions": {

@@ -766,6 +766,6 @@ "typeIdentifier": "t_bool",

],
"src": "1256:6:1"
"src": "1265:6:2"
},
"scope": 664,
"src": "1193:70:1",
"scope": 729,
"src": "1203:69:2",
"stateMutability": "nonpayable",

@@ -777,9 +777,9 @@ "virtual": false,

"documentation": {
"id": 632,
"id": 697,
"nodeType": "StructuredDocumentation",
"src": "1269:264:1",
"src": "1278:264:2",
"text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."
},
"functionSelector": "dd62ed3e",
"id": 641,
"id": 706,
"implemented": false,

@@ -789,6 +789,6 @@ "kind": "function",

"name": "allowance",
"nameLocation": "1547:9:1",
"nameLocation": "1556:9:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 637,
"id": 702,
"nodeType": "ParameterList",

@@ -798,9 +798,9 @@ "parameters": [

"constant": false,
"id": 634,
"id": 699,
"mutability": "mutable",
"name": "owner",
"nameLocation": "1565:5:1",
"nameLocation": "1574:5:2",
"nodeType": "VariableDeclaration",
"scope": 641,
"src": "1557:13:1",
"scope": 706,
"src": "1566:13:2",
"stateVariable": false,

@@ -813,6 +813,6 @@ "storageLocation": "default",

"typeName": {
"id": 633,
"id": 698,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1557:7:1",
"src": "1566:7:2",
"stateMutability": "nonpayable",

@@ -828,9 +828,9 @@ "typeDescriptions": {

"constant": false,
"id": 636,
"id": 701,
"mutability": "mutable",
"name": "spender",
"nameLocation": "1580:7:1",
"nameLocation": "1589:7:2",
"nodeType": "VariableDeclaration",
"scope": 641,
"src": "1572:15:1",
"scope": 706,
"src": "1581:15:2",
"stateVariable": false,

@@ -843,6 +843,6 @@ "storageLocation": "default",

"typeName": {
"id": 635,
"id": 700,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1572:7:1",
"src": "1581:7:2",
"stateMutability": "nonpayable",

@@ -857,6 +857,6 @@ "typeDescriptions": {

],
"src": "1556:32:1"
"src": "1565:32:2"
},
"returnParameters": {
"id": 640,
"id": 705,
"nodeType": "ParameterList",

@@ -866,3 +866,3 @@ "parameters": [

"constant": false,
"id": 639,
"id": 704,
"mutability": "mutable",

@@ -872,4 +872,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 641,
"src": "1612:7:1",
"scope": 706,
"src": "1621:7:2",
"stateVariable": false,

@@ -882,6 +882,6 @@ "storageLocation": "default",

"typeName": {
"id": 638,
"id": 703,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1612:7:1",
"src": "1621:7:2",
"typeDescriptions": {

@@ -895,6 +895,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1611:9:1"
"src": "1620:9:2"
},
"scope": 664,
"src": "1538:83:1",
"scope": 729,
"src": "1547:83:2",
"stateMutability": "view",

@@ -906,9 +906,9 @@ "virtual": false,

"documentation": {
"id": 642,
"id": 707,
"nodeType": "StructuredDocumentation",
"src": "1627:642:1",
"text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."
"src": "1636:667:2",
"text": " @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."
},
"functionSelector": "095ea7b3",
"id": 651,
"id": 716,
"implemented": false,

@@ -918,6 +918,6 @@ "kind": "function",

"name": "approve",
"nameLocation": "2283:7:1",
"nameLocation": "2317:7:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 647,
"id": 712,
"nodeType": "ParameterList",

@@ -927,9 +927,9 @@ "parameters": [

"constant": false,
"id": 644,
"id": 709,
"mutability": "mutable",
"name": "spender",
"nameLocation": "2299:7:1",
"nameLocation": "2333:7:2",
"nodeType": "VariableDeclaration",
"scope": 651,
"src": "2291:15:1",
"scope": 716,
"src": "2325:15:2",
"stateVariable": false,

@@ -942,6 +942,6 @@ "storageLocation": "default",

"typeName": {
"id": 643,
"id": 708,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2291:7:1",
"src": "2325:7:2",
"stateMutability": "nonpayable",

@@ -957,9 +957,9 @@ "typeDescriptions": {

"constant": false,
"id": 646,
"id": 711,
"mutability": "mutable",
"name": "amount",
"nameLocation": "2316:6:1",
"name": "value",
"nameLocation": "2350:5:2",
"nodeType": "VariableDeclaration",
"scope": 651,
"src": "2308:14:1",
"scope": 716,
"src": "2342:13:2",
"stateVariable": false,

@@ -972,6 +972,6 @@ "storageLocation": "default",

"typeName": {
"id": 645,
"id": 710,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2308:7:1",
"src": "2342:7:2",
"typeDescriptions": {

@@ -985,6 +985,6 @@ "typeIdentifier": "t_uint256",

],
"src": "2290:33:1"
"src": "2324:32:2"
},
"returnParameters": {
"id": 650,
"id": 715,
"nodeType": "ParameterList",

@@ -994,3 +994,3 @@ "parameters": [

"constant": false,
"id": 649,
"id": 714,
"mutability": "mutable",

@@ -1000,4 +1000,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 651,
"src": "2342:4:1",
"scope": 716,
"src": "2375:4:2",
"stateVariable": false,

@@ -1010,6 +1010,6 @@ "storageLocation": "default",

"typeName": {
"id": 648,
"id": 713,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2342:4:1",
"src": "2375:4:2",
"typeDescriptions": {

@@ -1023,6 +1023,6 @@ "typeIdentifier": "t_bool",

],
"src": "2341:6:1"
"src": "2374:6:2"
},
"scope": 664,
"src": "2274:74:1",
"scope": 729,
"src": "2308:73:2",
"stateMutability": "nonpayable",

@@ -1034,9 +1034,9 @@ "virtual": false,

"documentation": {
"id": 652,
"id": 717,
"nodeType": "StructuredDocumentation",
"src": "2354:287:1",
"text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
"src": "2387:297:2",
"text": " @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
},
"functionSelector": "23b872dd",
"id": 663,
"id": 728,
"implemented": false,

@@ -1046,6 +1046,6 @@ "kind": "function",

"name": "transferFrom",
"nameLocation": "2655:12:1",
"nameLocation": "2698:12:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 659,
"id": 724,
"nodeType": "ParameterList",

@@ -1055,9 +1055,9 @@ "parameters": [

"constant": false,
"id": 654,
"id": 719,
"mutability": "mutable",
"name": "from",
"nameLocation": "2676:4:1",
"nameLocation": "2719:4:2",
"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2668:12:1",
"scope": 728,
"src": "2711:12:2",
"stateVariable": false,

@@ -1070,6 +1070,6 @@ "storageLocation": "default",

"typeName": {
"id": 653,
"id": 718,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2668:7:1",
"src": "2711:7:2",
"stateMutability": "nonpayable",

@@ -1085,9 +1085,9 @@ "typeDescriptions": {

"constant": false,
"id": 656,
"id": 721,
"mutability": "mutable",
"name": "to",
"nameLocation": "2690:2:1",
"nameLocation": "2733:2:2",
"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2682:10:1",
"scope": 728,
"src": "2725:10:2",
"stateVariable": false,

@@ -1100,6 +1100,6 @@ "storageLocation": "default",

"typeName": {
"id": 655,
"id": 720,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2682:7:1",
"src": "2725:7:2",
"stateMutability": "nonpayable",

@@ -1115,9 +1115,9 @@ "typeDescriptions": {

"constant": false,
"id": 658,
"id": 723,
"mutability": "mutable",
"name": "amount",
"nameLocation": "2702:6:1",
"name": "value",
"nameLocation": "2745:5:2",
"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2694:14:1",
"scope": 728,
"src": "2737:13:2",
"stateVariable": false,

@@ -1130,6 +1130,6 @@ "storageLocation": "default",

"typeName": {
"id": 657,
"id": 722,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2694:7:1",
"src": "2737:7:2",
"typeDescriptions": {

@@ -1143,6 +1143,6 @@ "typeIdentifier": "t_uint256",

],
"src": "2667:42:1"
"src": "2710:41:2"
},
"returnParameters": {
"id": 662,
"id": 727,
"nodeType": "ParameterList",

@@ -1152,3 +1152,3 @@ "parameters": [

"constant": false,
"id": 661,
"id": 726,
"mutability": "mutable",

@@ -1158,4 +1158,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2728:4:1",
"scope": 728,
"src": "2770:4:2",
"stateVariable": false,

@@ -1168,6 +1168,6 @@ "storageLocation": "default",

"typeName": {
"id": 660,
"id": 725,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2728:4:1",
"src": "2770:4:2",
"typeDescriptions": {

@@ -1181,6 +1181,6 @@ "typeIdentifier": "t_bool",

],
"src": "2727:6:1"
"src": "2769:6:2"
},
"scope": 664,
"src": "2646:88:1",
"scope": 729,
"src": "2689:87:2",
"stateMutability": "nonpayable",

@@ -1191,20 +1191,20 @@ "virtual": false,

],
"scope": 665,
"src": "202:2534:1",
"scope": 730,
"src": "203:2575:2",
"usedErrors": [],
"usedEvents": [
598,
607
663,
672
]
}
],
"src": "106:2631:1"
"src": "106:2673:2"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.375Z",
"updatedAt": "2023-11-18T19:59:10.449Z",
"devdoc": {

@@ -1226,15 +1226,15 @@ "details": "Interface of the ERC20 standard as defined in the EIP.",

"approve(address,uint256)": {
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
"details": "Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf(address)": {
"details": "Returns the amount of tokens owned by `account`."
"details": "Returns the value of tokens owned by `account`."
},
"totalSupply()": {
"details": "Returns the amount of tokens in existence."
"details": "Returns the value of tokens in existence."
},
"transfer(address,uint256)": {
"details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
"details": "Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom(address,address,uint256)": {
"details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
"details": "Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}

@@ -1241,0 +1241,0 @@ },

@@ -87,3 +87,3 @@ {

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -144,3 +144,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -174,3 +174,3 @@ }

"internalType": "uint256",
"name": "amount",
"name": "value",
"type": "uint256"

@@ -230,3 +230,3 @@ }

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]}},\"version\":1}",
"bytecode": "0x",

@@ -239,3 +239,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n",
"sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",

@@ -246,9 +246,9 @@ "ast": {

"IERC20": [
664
729
],
"IERC20Metadata": [
689
755
]
},
"id": 690,
"id": 756,
"license": "MIT",

@@ -258,3 +258,3 @@ "nodeType": "SourceUnit",

{
"id": 666,
"id": 731,
"literals": [

@@ -264,6 +264,6 @@ "solidity",

"0.8",
".0"
".20"
],
"nodeType": "PragmaDirective",
"src": "110:23:2"
"src": "125:24:3"
},

@@ -273,9 +273,22 @@ {

"file": "../IERC20.sol",
"id": 667,
"id": 733,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 690,
"sourceUnit": 665,
"src": "135:23:2",
"symbolAliases": [],
"scope": 756,
"sourceUnit": 730,
"src": "151:37:3",
"symbolAliases": [
{
"foreign": {
"id": 732,
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 729,
"src": "159:6:3",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""

@@ -288,14 +301,14 @@ },

"baseName": {
"id": 669,
"id": 735,
"name": "IERC20",
"nameLocations": [
"305:6:2"
"305:6:3"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "305:6:2"
"referencedDeclaration": 729,
"src": "305:6:3"
},
"id": 670,
"id": 736,
"nodeType": "InheritanceSpecifier",
"src": "305:6:2"
"src": "305:6:3"
}

@@ -307,15 +320,15 @@ ],

"documentation": {
"id": 668,
"id": 734,
"nodeType": "StructuredDocumentation",
"src": "160:116:2",
"text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"
"src": "190:86:3",
"text": " @dev Interface for the optional metadata functions from the ERC20 standard."
},
"fullyImplemented": false,
"id": 689,
"id": 755,
"linearizedBaseContracts": [
689,
664
755,
729
],
"name": "IERC20Metadata",
"nameLocation": "287:14:2",
"nameLocation": "287:14:3",
"nodeType": "ContractDefinition",

@@ -325,9 +338,9 @@ "nodes": [

"documentation": {
"id": 671,
"id": 737,
"nodeType": "StructuredDocumentation",
"src": "318:54:2",
"src": "318:54:3",
"text": " @dev Returns the name of the token."
},
"functionSelector": "06fdde03",
"id": 676,
"id": 742,
"implemented": false,

@@ -337,12 +350,12 @@ "kind": "function",

"name": "name",
"nameLocation": "386:4:2",
"nameLocation": "386:4:3",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 672,
"id": 738,
"nodeType": "ParameterList",
"parameters": [],
"src": "390:2:2"
"src": "390:2:3"
},
"returnParameters": {
"id": 675,
"id": 741,
"nodeType": "ParameterList",

@@ -352,3 +365,3 @@ "parameters": [

"constant": false,
"id": 674,
"id": 740,
"mutability": "mutable",

@@ -358,4 +371,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 676,
"src": "416:13:2",
"scope": 742,
"src": "416:13:3",
"stateVariable": false,

@@ -368,6 +381,6 @@ "storageLocation": "memory",

"typeName": {
"id": 673,
"id": 739,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "416:6:2",
"src": "416:6:3",
"typeDescriptions": {

@@ -381,6 +394,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "415:15:2"
"src": "415:15:3"
},
"scope": 689,
"src": "377:54:2",
"scope": 755,
"src": "377:54:3",
"stateMutability": "view",

@@ -392,9 +405,9 @@ "virtual": false,

"documentation": {
"id": 677,
"id": 743,
"nodeType": "StructuredDocumentation",
"src": "437:56:2",
"src": "437:56:3",
"text": " @dev Returns the symbol of the token."
},
"functionSelector": "95d89b41",
"id": 682,
"id": 748,
"implemented": false,

@@ -404,12 +417,12 @@ "kind": "function",

"name": "symbol",
"nameLocation": "507:6:2",
"nameLocation": "507:6:3",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 678,
"id": 744,
"nodeType": "ParameterList",
"parameters": [],
"src": "513:2:2"
"src": "513:2:3"
},
"returnParameters": {
"id": 681,
"id": 747,
"nodeType": "ParameterList",

@@ -419,3 +432,3 @@ "parameters": [

"constant": false,
"id": 680,
"id": 746,
"mutability": "mutable",

@@ -425,4 +438,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 682,
"src": "539:13:2",
"scope": 748,
"src": "539:13:3",
"stateVariable": false,

@@ -435,6 +448,6 @@ "storageLocation": "memory",

"typeName": {
"id": 679,
"id": 745,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "539:6:2",
"src": "539:6:3",
"typeDescriptions": {

@@ -448,6 +461,6 @@ "typeIdentifier": "t_string_storage_ptr",

],
"src": "538:15:2"
"src": "538:15:3"
},
"scope": 689,
"src": "498:56:2",
"scope": 755,
"src": "498:56:3",
"stateMutability": "view",

@@ -459,9 +472,9 @@ "virtual": false,

"documentation": {
"id": 683,
"id": 749,
"nodeType": "StructuredDocumentation",
"src": "560:65:2",
"src": "560:65:3",
"text": " @dev Returns the decimals places of the token."
},
"functionSelector": "313ce567",
"id": 688,
"id": 754,
"implemented": false,

@@ -471,12 +484,12 @@ "kind": "function",

"name": "decimals",
"nameLocation": "639:8:2",
"nameLocation": "639:8:3",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 684,
"id": 750,
"nodeType": "ParameterList",
"parameters": [],
"src": "647:2:2"
"src": "647:2:3"
},
"returnParameters": {
"id": 687,
"id": 753,
"nodeType": "ParameterList",

@@ -486,3 +499,3 @@ "parameters": [

"constant": false,
"id": 686,
"id": 752,
"mutability": "mutable",

@@ -492,4 +505,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 688,
"src": "673:5:2",
"scope": 754,
"src": "673:5:3",
"stateVariable": false,

@@ -502,6 +515,6 @@ "storageLocation": "default",

"typeName": {
"id": 685,
"id": 751,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "673:5:2",
"src": "673:5:3",
"typeDescriptions": {

@@ -515,6 +528,6 @@ "typeIdentifier": "t_uint8",

],
"src": "672:7:2"
"src": "672:7:3"
},
"scope": 689,
"src": "630:50:2",
"scope": 755,
"src": "630:50:3",
"stateMutability": "view",

@@ -525,22 +538,22 @@ "virtual": false,

],
"scope": 690,
"src": "277:405:2",
"scope": 756,
"src": "277:405:3",
"usedErrors": [],
"usedEvents": [
598,
607
663,
672
]
}
],
"src": "110:573:2"
"src": "125:558:3"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.379Z",
"updatedAt": "2023-11-18T19:59:10.450Z",
"devdoc": {
"details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._",
"details": "Interface for the optional metadata functions from the ERC20 standard.",
"events": {

@@ -560,6 +573,6 @@ "Approval(address,address,uint256)": {

"approve(address,uint256)": {
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
"details": "Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf(address)": {
"details": "Returns the amount of tokens owned by `account`."
"details": "Returns the value of tokens owned by `account`."
},

@@ -576,9 +589,9 @@ "decimals()": {

"totalSupply()": {
"details": "Returns the amount of tokens in existence."
"details": "Returns the value of tokens in existence."
},
"transfer(address,uint256)": {
"details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
"details": "Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom(address,address,uint256)": {
"details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
"details": "Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}

@@ -585,0 +598,0 @@ },

@@ -80,3 +80,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. ==== Security Considerations There are two important considerations concerning the use of `permit`. The first is that a valid permit signature expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be considered as an intention to spend the allowance in any specific way. The second is that because permits have built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be generally recommended is: ```solidity function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {} doThing(..., value); } function doThing(..., uint256 value) public { token.safeTransferFrom(msg.sender, address(this), value); ... } ``` Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also {SafeERC20-safeTransferFrom}). Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so contracts should have entry points that don't rely on permit.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]}},\"version\":1}",
"bytecode": "0x",

@@ -89,3 +89,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/IERC20Permit.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also apply here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Permit.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n *\n * ==== Security Considerations\n *\n * There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n * expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n * considered as an intention to spend the allowance in any specific way. The second is that because permits have\n * built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n * take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n * generally recommended is:\n *\n * ```solidity\n * function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n * try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n * doThing(..., value);\n * }\n *\n * function doThing(..., uint256 value) public {\n * token.safeTransferFrom(msg.sender, address(this), value);\n * ...\n * }\n * ```\n *\n * Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n * `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n * {SafeERC20-safeTransferFrom}).\n *\n * Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n * contracts should have entry points that don't rely on permit.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also apply here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n *\n * CAUTION: See Security Considerations above.\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n",
"sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",

@@ -96,6 +96,6 @@ "ast": {

"IERC20Permit": [
725
791
]
},
"id": 726,
"id": 792,
"license": "MIT",

@@ -105,3 +105,3 @@ "nodeType": "SourceUnit",

{
"id": 691,
"id": 757,
"literals": [

@@ -111,6 +111,6 @@ "solidity",

"0.8",
".0"
".20"
],
"nodeType": "PragmaDirective",
"src": "123:23:3"
"src": "123:24:4"
},

@@ -124,14 +124,14 @@ {

"documentation": {
"id": 692,
"id": 758,
"nodeType": "StructuredDocumentation",
"src": "148:480:3",
"text": " @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."
"src": "149:1963:4",
"text": " @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all.\n ==== Security Considerations\n There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n considered as an intention to spend the allowance in any specific way. The second is that because permits have\n built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n generally recommended is:\n ```solidity\n function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n doThing(..., value);\n }\n function doThing(..., uint256 value) public {\n token.safeTransferFrom(msg.sender, address(this), value);\n ...\n }\n ```\n Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n {SafeERC20-safeTransferFrom}).\n Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n contracts should have entry points that don't rely on permit."
},
"fullyImplemented": false,
"id": 725,
"id": 791,
"linearizedBaseContracts": [
725
791
],
"name": "IERC20Permit",
"nameLocation": "639:12:3",
"nameLocation": "2123:12:4",
"nodeType": "ContractDefinition",

@@ -141,9 +141,9 @@ "nodes": [

"documentation": {
"id": 693,
"id": 759,
"nodeType": "StructuredDocumentation",
"src": "658:792:3",
"text": " @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."
"src": "2142:850:4",
"text": " @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section].\n CAUTION: See Security Considerations above."
},
"functionSelector": "d505accf",
"id": 710,
"id": 776,
"implemented": false,

@@ -153,6 +153,6 @@ "kind": "function",

"name": "permit",
"nameLocation": "1464:6:3",
"nameLocation": "3006:6:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 708,
"id": 774,
"nodeType": "ParameterList",

@@ -162,9 +162,9 @@ "parameters": [

"constant": false,
"id": 695,
"id": 761,
"mutability": "mutable",
"name": "owner",
"nameLocation": "1488:5:3",
"nameLocation": "3030:5:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1480:13:3",
"scope": 776,
"src": "3022:13:4",
"stateVariable": false,

@@ -177,6 +177,6 @@ "storageLocation": "default",

"typeName": {
"id": 694,
"id": 760,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1480:7:3",
"src": "3022:7:4",
"stateMutability": "nonpayable",

@@ -192,9 +192,9 @@ "typeDescriptions": {

"constant": false,
"id": 697,
"id": 763,
"mutability": "mutable",
"name": "spender",
"nameLocation": "1511:7:3",
"nameLocation": "3053:7:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1503:15:3",
"scope": 776,
"src": "3045:15:4",
"stateVariable": false,

@@ -207,6 +207,6 @@ "storageLocation": "default",

"typeName": {
"id": 696,
"id": 762,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1503:7:3",
"src": "3045:7:4",
"stateMutability": "nonpayable",

@@ -222,9 +222,9 @@ "typeDescriptions": {

"constant": false,
"id": 699,
"id": 765,
"mutability": "mutable",
"name": "value",
"nameLocation": "1536:5:3",
"nameLocation": "3078:5:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1528:13:3",
"scope": 776,
"src": "3070:13:4",
"stateVariable": false,

@@ -237,6 +237,6 @@ "storageLocation": "default",

"typeName": {
"id": 698,
"id": 764,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1528:7:3",
"src": "3070:7:4",
"typeDescriptions": {

@@ -251,9 +251,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 701,
"id": 767,
"mutability": "mutable",
"name": "deadline",
"nameLocation": "1559:8:3",
"nameLocation": "3101:8:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1551:16:3",
"scope": 776,
"src": "3093:16:4",
"stateVariable": false,

@@ -266,6 +266,6 @@ "storageLocation": "default",

"typeName": {
"id": 700,
"id": 766,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1551:7:3",
"src": "3093:7:4",
"typeDescriptions": {

@@ -280,9 +280,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 703,
"id": 769,
"mutability": "mutable",
"name": "v",
"nameLocation": "1583:1:3",
"nameLocation": "3125:1:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1577:7:3",
"scope": 776,
"src": "3119:7:4",
"stateVariable": false,

@@ -295,6 +295,6 @@ "storageLocation": "default",

"typeName": {
"id": 702,
"id": 768,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1577:5:3",
"src": "3119:5:4",
"typeDescriptions": {

@@ -309,9 +309,9 @@ "typeIdentifier": "t_uint8",

"constant": false,
"id": 705,
"id": 771,
"mutability": "mutable",
"name": "r",
"nameLocation": "1602:1:3",
"nameLocation": "3144:1:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1594:9:3",
"scope": 776,
"src": "3136:9:4",
"stateVariable": false,

@@ -324,6 +324,6 @@ "storageLocation": "default",

"typeName": {
"id": 704,
"id": 770,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1594:7:3",
"src": "3136:7:4",
"typeDescriptions": {

@@ -338,9 +338,9 @@ "typeIdentifier": "t_bytes32",

"constant": false,
"id": 707,
"id": 773,
"mutability": "mutable",
"name": "s",
"nameLocation": "1621:1:3",
"nameLocation": "3163:1:4",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1613:9:3",
"scope": 776,
"src": "3155:9:4",
"stateVariable": false,

@@ -353,6 +353,6 @@ "storageLocation": "default",

"typeName": {
"id": 706,
"id": 772,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1613:7:3",
"src": "3155:7:4",
"typeDescriptions": {

@@ -366,12 +366,12 @@ "typeIdentifier": "t_bytes32",

],
"src": "1470:158:3"
"src": "3012:158:4"
},
"returnParameters": {
"id": 709,
"id": 775,
"nodeType": "ParameterList",
"parameters": [],
"src": "1637:0:3"
"src": "3179:0:4"
},
"scope": 725,
"src": "1455:183:3",
"scope": 791,
"src": "2997:183:4",
"stateMutability": "nonpayable",

@@ -383,9 +383,9 @@ "virtual": false,

"documentation": {
"id": 711,
"id": 777,
"nodeType": "StructuredDocumentation",
"src": "1644:294:3",
"src": "3186:294:4",
"text": " @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."
},
"functionSelector": "7ecebe00",
"id": 718,
"id": 784,
"implemented": false,

@@ -395,6 +395,6 @@ "kind": "function",

"name": "nonces",
"nameLocation": "1952:6:3",
"nameLocation": "3494:6:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 714,
"id": 780,
"nodeType": "ParameterList",

@@ -404,9 +404,9 @@ "parameters": [

"constant": false,
"id": 713,
"id": 779,
"mutability": "mutable",
"name": "owner",
"nameLocation": "1967:5:3",
"nameLocation": "3509:5:4",
"nodeType": "VariableDeclaration",
"scope": 718,
"src": "1959:13:3",
"scope": 784,
"src": "3501:13:4",
"stateVariable": false,

@@ -419,6 +419,6 @@ "storageLocation": "default",

"typeName": {
"id": 712,
"id": 778,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1959:7:3",
"src": "3501:7:4",
"stateMutability": "nonpayable",

@@ -433,6 +433,6 @@ "typeDescriptions": {

],
"src": "1958:15:3"
"src": "3500:15:4"
},
"returnParameters": {
"id": 717,
"id": 783,
"nodeType": "ParameterList",

@@ -442,3 +442,3 @@ "parameters": [

"constant": false,
"id": 716,
"id": 782,
"mutability": "mutable",

@@ -448,4 +448,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 718,
"src": "1997:7:3",
"scope": 784,
"src": "3539:7:4",
"stateVariable": false,

@@ -458,6 +458,6 @@ "storageLocation": "default",

"typeName": {
"id": 715,
"id": 781,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1997:7:3",
"src": "3539:7:4",
"typeDescriptions": {

@@ -471,6 +471,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1996:9:3"
"src": "3538:9:4"
},
"scope": 725,
"src": "1943:63:3",
"scope": 791,
"src": "3485:63:4",
"stateMutability": "view",

@@ -482,9 +482,9 @@ "virtual": false,

"documentation": {
"id": 719,
"id": 785,
"nodeType": "StructuredDocumentation",
"src": "2012:128:3",
"src": "3554:128:4",
"text": " @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."
},
"functionSelector": "3644e515",
"id": 724,
"id": 790,
"implemented": false,

@@ -494,12 +494,12 @@ "kind": "function",

"name": "DOMAIN_SEPARATOR",
"nameLocation": "2207:16:3",
"nameLocation": "3749:16:4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 720,
"id": 786,
"nodeType": "ParameterList",
"parameters": [],
"src": "2223:2:3"
"src": "3765:2:4"
},
"returnParameters": {
"id": 723,
"id": 789,
"nodeType": "ParameterList",

@@ -509,3 +509,3 @@ "parameters": [

"constant": false,
"id": 722,
"id": 788,
"mutability": "mutable",

@@ -515,4 +515,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 724,
"src": "2249:7:3",
"scope": 790,
"src": "3791:7:4",
"stateVariable": false,

@@ -525,6 +525,6 @@ "storageLocation": "default",

"typeName": {
"id": 721,
"id": 787,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2249:7:3",
"src": "3791:7:4",
"typeDescriptions": {

@@ -538,6 +538,6 @@ "typeIdentifier": "t_bytes32",

],
"src": "2248:9:3"
"src": "3790:9:4"
},
"scope": 725,
"src": "2198:60:3",
"scope": 791,
"src": "3740:60:4",
"stateMutability": "view",

@@ -548,4 +548,4 @@ "virtual": false,

],
"scope": 726,
"src": "629:1631:3",
"scope": 792,
"src": "2113:1689:4",
"usedErrors": [],

@@ -555,13 +555,13 @@ "usedEvents": []

],
"src": "123:2138:3"
"src": "123:3680:4"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.381Z",
"updatedAt": "2023-11-18T19:59:10.450Z",
"devdoc": {
"details": "Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.",
"details": "Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. ==== Security Considerations There are two important considerations concerning the use of `permit`. The first is that a valid permit signature expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be considered as an intention to spend the allowance in any specific way. The second is that because permits have built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be generally recommended is: ```solidity function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {} doThing(..., value); } function doThing(..., uint256 value) public { token.safeTransferFrom(msg.sender, address(this), value); ... } ``` Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also {SafeERC20-safeTransferFrom}). Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so contracts should have entry points that don't rely on permit.",
"kind": "dev",

@@ -576,3 +576,3 @@ "methods": {

"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": {
"details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."
"details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."
}

@@ -579,0 +579,0 @@ },

@@ -87,3 +87,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"balanceErc20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositErc20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawErc20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc20/interfaces/IErc20Store.sol\":\"IErc20Store\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"project:/src/erc20/interfaces/IErc20Store.sol\":{\"keccak256\":\"0x2a07c218f763b60b13a1f79dc9266eb3bce33713be3afd15479e40b122234050\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d56d8ed5d287dcf1ff0cdc1a463e0eb4f836d78691094ea279d87cd4279d1a46\",\"dweb:/ipfs/QmP8Fjzwv9oER3zyf4RauJVy3dkv9g3rLgBFpCsqFSNSCW\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"balanceErc20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositErc20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawErc20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc20/interfaces/IErc20Store.sol\":\"IErc20Store\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"project:/src/erc20/interfaces/IErc20Store.sol\":{\"keccak256\":\"0x2a07c218f763b60b13a1f79dc9266eb3bce33713be3afd15479e40b122234050\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d56d8ed5d287dcf1ff0cdc1a463e0eb4f836d78691094ea279d87cd4279d1a46\",\"dweb:/ipfs/QmP8Fjzwv9oER3zyf4RauJVy3dkv9g3rLgBFpCsqFSNSCW\"]}},\"version\":1}",
"bytecode": "0x",

@@ -102,9 +102,9 @@ "deployedBytecode": "0x",

"IERC20": [
664
729
],
"IErc20Store": [
2188
2828
]
},
"id": 2189,
"id": 2829,
"license": "GPL-3.0",

@@ -114,3 +114,3 @@ "nodeType": "SourceUnit",

{
"id": 2152,
"id": 2792,
"literals": [

@@ -123,3 +123,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:13"
"src": "36:23:14"
},

@@ -129,8 +129,8 @@ {

"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 2153,
"id": 2793,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2189,
"sourceUnit": 665,
"src": "61:56:13",
"scope": 2829,
"sourceUnit": 730,
"src": "61:56:14",
"symbolAliases": [],

@@ -146,8 +146,8 @@ "unitAlias": ""

"fullyImplemented": false,
"id": 2188,
"id": 2828,
"linearizedBaseContracts": [
2188
2828
],
"name": "IErc20Store",
"nameLocation": "129:11:13",
"nameLocation": "129:11:14",
"nodeType": "ContractDefinition",

@@ -157,3 +157,3 @@ "nodes": [

"functionSelector": "6b61cecc",
"id": 2165,
"id": 2805,
"implemented": false,

@@ -163,6 +163,6 @@ "kind": "function",

"name": "depositErc20",
"nameLocation": "156:12:13",
"nameLocation": "156:12:14",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2161,
"id": 2801,
"nodeType": "ParameterList",

@@ -172,9 +172,9 @@ "parameters": [

"constant": false,
"id": 2155,
"id": 2795,
"mutability": "mutable",
"name": "id",
"nameLocation": "186:2:13",
"nameLocation": "186:2:14",
"nodeType": "VariableDeclaration",
"scope": 2165,
"src": "178:10:13",
"scope": 2805,
"src": "178:10:14",
"stateVariable": false,

@@ -187,6 +187,6 @@ "storageLocation": "default",

"typeName": {
"id": 2154,
"id": 2794,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "178:7:13",
"src": "178:7:14",
"typeDescriptions": {

@@ -201,32 +201,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2158,
"id": 2798,
"mutability": "mutable",
"name": "token",
"nameLocation": "205:5:13",
"nameLocation": "205:5:14",
"nodeType": "VariableDeclaration",
"scope": 2165,
"src": "198:12:13",
"scope": 2805,
"src": "198:12:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"
},
"typeName": {
"id": 2157,
"id": 2797,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2156,
"id": 2796,
"name": "IERC20",
"nameLocations": [
"198:6:13"
"198:6:14"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "198:6:13"
"referencedDeclaration": 729,
"src": "198:6:14"
},
"referencedDeclaration": 664,
"src": "198:6:13",
"referencedDeclaration": 729,
"src": "198:6:14",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"

@@ -239,9 +239,9 @@ }

"constant": false,
"id": 2160,
"id": 2800,
"mutability": "mutable",
"name": "amount",
"nameLocation": "228:6:13",
"nameLocation": "228:6:14",
"nodeType": "VariableDeclaration",
"scope": 2165,
"src": "220:14:13",
"scope": 2805,
"src": "220:14:14",
"stateVariable": false,

@@ -254,6 +254,6 @@ "storageLocation": "default",

"typeName": {
"id": 2159,
"id": 2799,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "220:7:13",
"src": "220:7:14",
"typeDescriptions": {

@@ -267,6 +267,6 @@ "typeIdentifier": "t_uint256",

],
"src": "168:72:13"
"src": "168:72:14"
},
"returnParameters": {
"id": 2164,
"id": 2804,
"nodeType": "ParameterList",

@@ -276,3 +276,3 @@ "parameters": [

"constant": false,
"id": 2163,
"id": 2803,
"mutability": "mutable",

@@ -282,4 +282,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2165,
"src": "259:7:13",
"scope": 2805,
"src": "259:7:14",
"stateVariable": false,

@@ -292,6 +292,6 @@ "storageLocation": "default",

"typeName": {
"id": 2162,
"id": 2802,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "259:7:13",
"src": "259:7:14",
"typeDescriptions": {

@@ -305,6 +305,6 @@ "typeIdentifier": "t_uint256",

],
"src": "258:9:13"
"src": "258:9:14"
},
"scope": 2188,
"src": "147:121:13",
"scope": 2828,
"src": "147:121:14",
"stateMutability": "nonpayable",

@@ -316,3 +316,3 @@ "virtual": false,

"functionSelector": "78015232",
"id": 2177,
"id": 2817,
"implemented": false,

@@ -322,6 +322,6 @@ "kind": "function",

"name": "withdrawErc20",
"nameLocation": "283:13:13",
"nameLocation": "283:13:14",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2173,
"id": 2813,
"nodeType": "ParameterList",

@@ -331,9 +331,9 @@ "parameters": [

"constant": false,
"id": 2167,
"id": 2807,
"mutability": "mutable",
"name": "id",
"nameLocation": "314:2:13",
"nameLocation": "314:2:14",
"nodeType": "VariableDeclaration",
"scope": 2177,
"src": "306:10:13",
"scope": 2817,
"src": "306:10:14",
"stateVariable": false,

@@ -346,6 +346,6 @@ "storageLocation": "default",

"typeName": {
"id": 2166,
"id": 2806,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "306:7:13",
"src": "306:7:14",
"typeDescriptions": {

@@ -360,32 +360,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2170,
"id": 2810,
"mutability": "mutable",
"name": "token",
"nameLocation": "333:5:13",
"nameLocation": "333:5:14",
"nodeType": "VariableDeclaration",
"scope": 2177,
"src": "326:12:13",
"scope": 2817,
"src": "326:12:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"
},
"typeName": {
"id": 2169,
"id": 2809,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2168,
"id": 2808,
"name": "IERC20",
"nameLocations": [
"326:6:13"
"326:6:14"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "326:6:13"
"referencedDeclaration": 729,
"src": "326:6:14"
},
"referencedDeclaration": 664,
"src": "326:6:13",
"referencedDeclaration": 729,
"src": "326:6:14",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"

@@ -398,9 +398,9 @@ }

"constant": false,
"id": 2172,
"id": 2812,
"mutability": "mutable",
"name": "amount",
"nameLocation": "356:6:13",
"nameLocation": "356:6:14",
"nodeType": "VariableDeclaration",
"scope": 2177,
"src": "348:14:13",
"scope": 2817,
"src": "348:14:14",
"stateVariable": false,

@@ -413,6 +413,6 @@ "storageLocation": "default",

"typeName": {
"id": 2171,
"id": 2811,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "348:7:13",
"src": "348:7:14",
"typeDescriptions": {

@@ -426,6 +426,6 @@ "typeIdentifier": "t_uint256",

],
"src": "296:72:13"
"src": "296:72:14"
},
"returnParameters": {
"id": 2176,
"id": 2816,
"nodeType": "ParameterList",

@@ -435,3 +435,3 @@ "parameters": [

"constant": false,
"id": 2175,
"id": 2815,
"mutability": "mutable",

@@ -441,4 +441,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2177,
"src": "387:7:13",
"scope": 2817,
"src": "387:7:14",
"stateVariable": false,

@@ -451,6 +451,6 @@ "storageLocation": "default",

"typeName": {
"id": 2174,
"id": 2814,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "387:7:13",
"src": "387:7:14",
"typeDescriptions": {

@@ -464,6 +464,6 @@ "typeIdentifier": "t_uint256",

],
"src": "386:9:13"
"src": "386:9:14"
},
"scope": 2188,
"src": "274:122:13",
"scope": 2828,
"src": "274:122:14",
"stateMutability": "nonpayable",

@@ -475,3 +475,3 @@ "virtual": false,

"functionSelector": "1096f22e",
"id": 2187,
"id": 2827,
"implemented": false,

@@ -481,6 +481,6 @@ "kind": "function",

"name": "balanceErc20",
"nameLocation": "411:12:13",
"nameLocation": "411:12:14",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2183,
"id": 2823,
"nodeType": "ParameterList",

@@ -490,9 +490,9 @@ "parameters": [

"constant": false,
"id": 2179,
"id": 2819,
"mutability": "mutable",
"name": "id",
"nameLocation": "432:2:13",
"nameLocation": "432:2:14",
"nodeType": "VariableDeclaration",
"scope": 2187,
"src": "424:10:13",
"scope": 2827,
"src": "424:10:14",
"stateVariable": false,

@@ -505,6 +505,6 @@ "storageLocation": "default",

"typeName": {
"id": 2178,
"id": 2818,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "424:7:13",
"src": "424:7:14",
"typeDescriptions": {

@@ -519,32 +519,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2182,
"id": 2822,
"mutability": "mutable",
"name": "token",
"nameLocation": "443:5:13",
"nameLocation": "443:5:14",
"nodeType": "VariableDeclaration",
"scope": 2187,
"src": "436:12:13",
"scope": 2827,
"src": "436:12:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"
},
"typeName": {
"id": 2181,
"id": 2821,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2180,
"id": 2820,
"name": "IERC20",
"nameLocations": [
"436:6:13"
"436:6:14"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "436:6:13"
"referencedDeclaration": 729,
"src": "436:6:14"
},
"referencedDeclaration": 664,
"src": "436:6:13",
"referencedDeclaration": 729,
"src": "436:6:14",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"

@@ -556,6 +556,6 @@ }

],
"src": "423:26:13"
"src": "423:26:14"
},
"returnParameters": {
"id": 2186,
"id": 2826,
"nodeType": "ParameterList",

@@ -565,3 +565,3 @@ "parameters": [

"constant": false,
"id": 2185,
"id": 2825,
"mutability": "mutable",

@@ -571,4 +571,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2187,
"src": "497:7:13",
"scope": 2827,
"src": "497:7:14",
"stateVariable": false,

@@ -581,6 +581,6 @@ "storageLocation": "default",

"typeName": {
"id": 2184,
"id": 2824,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "497:7:13",
"src": "497:7:14",
"typeDescriptions": {

@@ -594,6 +594,6 @@ "typeIdentifier": "t_uint256",

],
"src": "496:9:13"
"src": "496:9:14"
},
"scope": 2188,
"src": "402:104:13",
"scope": 2828,
"src": "402:104:14",
"stateMutability": "view",

@@ -604,4 +604,4 @@ "virtual": false,

],
"scope": 2189,
"src": "119:389:13",
"scope": 2829,
"src": "119:389:14",
"usedErrors": [],

@@ -611,11 +611,11 @@ "usedEvents": []

],
"src": "36:473:13"
"src": "36:473:14"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.397Z",
"updatedAt": "2023-11-18T19:59:10.462Z",
"devdoc": {

@@ -622,0 +622,0 @@ "kind": "dev",

@@ -92,3 +92,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC721\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"containsErc721\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC721\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"depositErc721\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC721\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"withdrawErc721\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc721/interfaces/IErc721Store.sol\":\"IErc721Store\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/src/erc721/interfaces/IErc721Store.sol\":{\"keccak256\":\"0x790f7b2bb1dd4d78b778a820b66144587135e9e8c3d9edf37e5dc42e7231450e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://393cb46136559c34d97f0eba08482ca1cb51282d05beed2c60f6ada4542d4e24\",\"dweb:/ipfs/QmTDoKzMmmvhi41PDVXTaSmryBEYW94RPegeTB63okAZzs\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC721\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"containsErc721\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC721\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"depositErc721\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC721\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"withdrawErc721\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc721/interfaces/IErc721Store.sol\":\"IErc721Store\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"project:/src/erc721/interfaces/IErc721Store.sol\":{\"keccak256\":\"0x790f7b2bb1dd4d78b778a820b66144587135e9e8c3d9edf37e5dc42e7231450e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://393cb46136559c34d97f0eba08482ca1cb51282d05beed2c60f6ada4542d4e24\",\"dweb:/ipfs/QmTDoKzMmmvhi41PDVXTaSmryBEYW94RPegeTB63okAZzs\"]}},\"version\":1}",
"bytecode": "0x",

@@ -107,12 +107,12 @@ "deployedBytecode": "0x",

"IERC165": [
1581
1485
],
"IERC721": [
1217
1198
],
"IErc721Store": [
2345
2985
]
},
"id": 2346,
"id": 2986,
"license": "GPL-3.0",

@@ -122,3 +122,3 @@ "nodeType": "SourceUnit",

{
"id": 2307,
"id": 2947,
"literals": [

@@ -131,3 +131,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:16"
"src": "36:23:17"
},

@@ -137,8 +137,8 @@ {

"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 2308,
"id": 2948,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2346,
"sourceUnit": 1218,
"src": "61:58:16",
"scope": 2986,
"sourceUnit": 1199,
"src": "61:58:17",
"symbolAliases": [],

@@ -154,8 +154,8 @@ "unitAlias": ""

"fullyImplemented": false,
"id": 2345,
"id": 2985,
"linearizedBaseContracts": [
2345
2985
],
"name": "IErc721Store",
"nameLocation": "131:12:16",
"nameLocation": "131:12:17",
"nodeType": "ContractDefinition",

@@ -165,3 +165,3 @@ "nodes": [

"functionSelector": "cbc238ae",
"id": 2320,
"id": 2960,
"implemented": false,

@@ -171,6 +171,6 @@ "kind": "function",

"name": "depositErc721",
"nameLocation": "159:13:16",
"nameLocation": "159:13:17",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2316,
"id": 2956,
"nodeType": "ParameterList",

@@ -180,9 +180,9 @@ "parameters": [

"constant": false,
"id": 2310,
"id": 2950,
"mutability": "mutable",
"name": "id",
"nameLocation": "190:2:16",
"nameLocation": "190:2:17",
"nodeType": "VariableDeclaration",
"scope": 2320,
"src": "182:10:16",
"scope": 2960,
"src": "182:10:17",
"stateVariable": false,

@@ -195,6 +195,6 @@ "storageLocation": "default",

"typeName": {
"id": 2309,
"id": 2949,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "182:7:16",
"src": "182:7:17",
"typeDescriptions": {

@@ -209,32 +209,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2313,
"id": 2953,
"mutability": "mutable",
"name": "token",
"nameLocation": "210:5:16",
"nameLocation": "210:5:17",
"nodeType": "VariableDeclaration",
"scope": 2320,
"src": "202:13:16",
"scope": 2960,
"src": "202:13:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2312,
"id": 2952,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2311,
"id": 2951,
"name": "IERC721",
"nameLocations": [
"202:7:16"
"202:7:17"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "202:7:16"
"referencedDeclaration": 1198,
"src": "202:7:17"
},
"referencedDeclaration": 1217,
"src": "202:7:16",
"referencedDeclaration": 1198,
"src": "202:7:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -247,9 +247,9 @@ }

"constant": false,
"id": 2315,
"id": 2955,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "233:7:16",
"nameLocation": "233:7:17",
"nodeType": "VariableDeclaration",
"scope": 2320,
"src": "225:15:16",
"scope": 2960,
"src": "225:15:17",
"stateVariable": false,

@@ -262,6 +262,6 @@ "storageLocation": "default",

"typeName": {
"id": 2314,
"id": 2954,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "225:7:16",
"src": "225:7:17",
"typeDescriptions": {

@@ -275,6 +275,6 @@ "typeIdentifier": "t_uint256",

],
"src": "172:74:16"
"src": "172:74:17"
},
"returnParameters": {
"id": 2319,
"id": 2959,
"nodeType": "ParameterList",

@@ -284,3 +284,3 @@ "parameters": [

"constant": false,
"id": 2318,
"id": 2958,
"mutability": "mutable",

@@ -290,4 +290,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2320,
"src": "265:4:16",
"scope": 2960,
"src": "265:4:17",
"stateVariable": false,

@@ -300,6 +300,6 @@ "storageLocation": "default",

"typeName": {
"id": 2317,
"id": 2957,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "265:4:16",
"src": "265:4:17",
"typeDescriptions": {

@@ -313,6 +313,6 @@ "typeIdentifier": "t_bool",

],
"src": "264:6:16"
"src": "264:6:17"
},
"scope": 2345,
"src": "150:121:16",
"scope": 2985,
"src": "150:121:17",
"stateMutability": "nonpayable",

@@ -324,3 +324,3 @@ "virtual": false,

"functionSelector": "726bf949",
"id": 2332,
"id": 2972,
"implemented": false,

@@ -330,6 +330,6 @@ "kind": "function",

"name": "withdrawErc721",
"nameLocation": "286:14:16",
"nameLocation": "286:14:17",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2328,
"id": 2968,
"nodeType": "ParameterList",

@@ -339,9 +339,9 @@ "parameters": [

"constant": false,
"id": 2322,
"id": 2962,
"mutability": "mutable",
"name": "id",
"nameLocation": "318:2:16",
"nameLocation": "318:2:17",
"nodeType": "VariableDeclaration",
"scope": 2332,
"src": "310:10:16",
"scope": 2972,
"src": "310:10:17",
"stateVariable": false,

@@ -354,6 +354,6 @@ "storageLocation": "default",

"typeName": {
"id": 2321,
"id": 2961,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "310:7:16",
"src": "310:7:17",
"typeDescriptions": {

@@ -368,32 +368,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2325,
"id": 2965,
"mutability": "mutable",
"name": "token",
"nameLocation": "338:5:16",
"nameLocation": "338:5:17",
"nodeType": "VariableDeclaration",
"scope": 2332,
"src": "330:13:16",
"scope": 2972,
"src": "330:13:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2324,
"id": 2964,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2323,
"id": 2963,
"name": "IERC721",
"nameLocations": [
"330:7:16"
"330:7:17"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "330:7:16"
"referencedDeclaration": 1198,
"src": "330:7:17"
},
"referencedDeclaration": 1217,
"src": "330:7:16",
"referencedDeclaration": 1198,
"src": "330:7:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -406,9 +406,9 @@ }

"constant": false,
"id": 2327,
"id": 2967,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "361:7:16",
"nameLocation": "361:7:17",
"nodeType": "VariableDeclaration",
"scope": 2332,
"src": "353:15:16",
"scope": 2972,
"src": "353:15:17",
"stateVariable": false,

@@ -421,6 +421,6 @@ "storageLocation": "default",

"typeName": {
"id": 2326,
"id": 2966,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "353:7:16",
"src": "353:7:17",
"typeDescriptions": {

@@ -434,6 +434,6 @@ "typeIdentifier": "t_uint256",

],
"src": "300:74:16"
"src": "300:74:17"
},
"returnParameters": {
"id": 2331,
"id": 2971,
"nodeType": "ParameterList",

@@ -443,3 +443,3 @@ "parameters": [

"constant": false,
"id": 2330,
"id": 2970,
"mutability": "mutable",

@@ -449,4 +449,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2332,
"src": "393:4:16",
"scope": 2972,
"src": "393:4:17",
"stateVariable": false,

@@ -459,6 +459,6 @@ "storageLocation": "default",

"typeName": {
"id": 2329,
"id": 2969,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "393:4:16",
"src": "393:4:17",
"typeDescriptions": {

@@ -472,6 +472,6 @@ "typeIdentifier": "t_bool",

],
"src": "392:6:16"
"src": "392:6:17"
},
"scope": 2345,
"src": "277:122:16",
"scope": 2985,
"src": "277:122:17",
"stateMutability": "nonpayable",

@@ -483,3 +483,3 @@ "virtual": false,

"functionSelector": "ec35d8f3",
"id": 2344,
"id": 2984,
"implemented": false,

@@ -489,6 +489,6 @@ "kind": "function",

"name": "containsErc721",
"nameLocation": "414:14:16",
"nameLocation": "414:14:17",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2340,
"id": 2980,
"nodeType": "ParameterList",

@@ -498,9 +498,9 @@ "parameters": [

"constant": false,
"id": 2334,
"id": 2974,
"mutability": "mutable",
"name": "id",
"nameLocation": "446:2:16",
"nameLocation": "446:2:17",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "438:10:16",
"scope": 2984,
"src": "438:10:17",
"stateVariable": false,

@@ -513,6 +513,6 @@ "storageLocation": "default",

"typeName": {
"id": 2333,
"id": 2973,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "438:7:16",
"src": "438:7:17",
"typeDescriptions": {

@@ -527,32 +527,32 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2337,
"id": 2977,
"mutability": "mutable",
"name": "token",
"nameLocation": "466:5:16",
"nameLocation": "466:5:17",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "458:13:16",
"scope": 2984,
"src": "458:13:17",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2336,
"id": 2976,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2335,
"id": 2975,
"name": "IERC721",
"nameLocations": [
"458:7:16"
"458:7:17"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "458:7:16"
"referencedDeclaration": 1198,
"src": "458:7:17"
},
"referencedDeclaration": 1217,
"src": "458:7:16",
"referencedDeclaration": 1198,
"src": "458:7:17",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeIdentifier": "t_contract$_IERC721_$1198",
"typeString": "contract IERC721"

@@ -565,9 +565,9 @@ }

"constant": false,
"id": 2339,
"id": 2979,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "489:7:16",
"nameLocation": "489:7:17",
"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "481:15:16",
"scope": 2984,
"src": "481:15:17",
"stateVariable": false,

@@ -580,6 +580,6 @@ "storageLocation": "default",

"typeName": {
"id": 2338,
"id": 2978,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "481:7:16",
"src": "481:7:17",
"typeDescriptions": {

@@ -593,6 +593,6 @@ "typeIdentifier": "t_uint256",

],
"src": "428:74:16"
"src": "428:74:17"
},
"returnParameters": {
"id": 2343,
"id": 2983,
"nodeType": "ParameterList",

@@ -602,3 +602,3 @@ "parameters": [

"constant": false,
"id": 2342,
"id": 2982,
"mutability": "mutable",

@@ -608,4 +608,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2344,
"src": "526:4:16",
"scope": 2984,
"src": "526:4:17",
"stateVariable": false,

@@ -618,6 +618,6 @@ "storageLocation": "default",

"typeName": {
"id": 2341,
"id": 2981,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "526:4:16",
"src": "526:4:17",
"typeDescriptions": {

@@ -631,6 +631,6 @@ "typeIdentifier": "t_bool",

],
"src": "525:6:16"
"src": "525:6:17"
},
"scope": 2345,
"src": "405:127:16",
"scope": 2985,
"src": "405:127:17",
"stateMutability": "view",

@@ -641,4 +641,4 @@ "virtual": false,

],
"scope": 2346,
"src": "121:413:16",
"scope": 2986,
"src": "121:413:17",
"usedErrors": [],

@@ -648,11 +648,11 @@ "usedEvents": []

],
"src": "36:499:16"
"src": "36:499:17"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.399Z",
"updatedAt": "2023-11-18T19:59:10.463Z",
"devdoc": {

@@ -659,0 +659,0 @@ "kind": "dev",

@@ -24,3 +24,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"locked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/ILockable.sol\":\"ILockable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/ILockable.sol\":{\"keccak256\":\"0x1edd3b5b19f7eeccb7a40efd61fc69bb5b973b96d45f6dcde68c079a55837dde\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ea4b61f202ff23aaf31ca8c51e6330bc7dfe05cff4ca43ea652e9caecd960f50\",\"dweb:/ipfs/QmdqmWWD4FarHkDgnZxysh4oiZjxZNo1vpHxQkdjWPqtvp\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"locked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/ILockable.sol\":\"ILockable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/ILockable.sol\":{\"keccak256\":\"0x1edd3b5b19f7eeccb7a40efd61fc69bb5b973b96d45f6dcde68c079a55837dde\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ea4b61f202ff23aaf31ca8c51e6330bc7dfe05cff4ca43ea652e9caecd960f50\",\"dweb:/ipfs/QmdqmWWD4FarHkDgnZxysh4oiZjxZNo1vpHxQkdjWPqtvp\"]}},\"version\":1}",
"bytecode": "0x",

@@ -39,6 +39,6 @@ "deployedBytecode": "0x",

"ILockable": [
2395
3035
]
},
"id": 2396,
"id": 3036,
"license": "GPL-3.0",

@@ -48,3 +48,3 @@ "nodeType": "SourceUnit",

{
"id": 2387,
"id": 3027,
"literals": [

@@ -57,3 +57,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:20"
"src": "36:23:21"
},

@@ -67,8 +67,8 @@ {

"fullyImplemented": false,
"id": 2395,
"id": 3035,
"linearizedBaseContracts": [
2395
3035
],
"name": "ILockable",
"nameLocation": "71:9:20",
"nameLocation": "71:9:21",
"nodeType": "ContractDefinition",

@@ -78,3 +78,3 @@ "nodes": [

"functionSelector": "b45a3c0e",
"id": 2394,
"id": 3034,
"implemented": false,

@@ -84,6 +84,6 @@ "kind": "function",

"name": "locked",
"nameLocation": "96:6:20",
"nameLocation": "96:6:21",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2390,
"id": 3030,
"nodeType": "ParameterList",

@@ -93,9 +93,9 @@ "parameters": [

"constant": false,
"id": 2389,
"id": 3029,
"mutability": "mutable",
"name": "id",
"nameLocation": "111:2:20",
"nameLocation": "111:2:21",
"nodeType": "VariableDeclaration",
"scope": 2394,
"src": "103:10:20",
"scope": 3034,
"src": "103:10:21",
"stateVariable": false,

@@ -108,6 +108,6 @@ "storageLocation": "default",

"typeName": {
"id": 2388,
"id": 3028,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "103:7:20",
"src": "103:7:21",
"typeDescriptions": {

@@ -121,6 +121,6 @@ "typeIdentifier": "t_uint256",

],
"src": "102:12:20"
"src": "102:12:21"
},
"returnParameters": {
"id": 2393,
"id": 3033,
"nodeType": "ParameterList",

@@ -130,3 +130,3 @@ "parameters": [

"constant": false,
"id": 2392,
"id": 3032,
"mutability": "mutable",

@@ -136,4 +136,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2394,
"src": "138:4:20",
"scope": 3034,
"src": "138:4:21",
"stateVariable": false,

@@ -146,6 +146,6 @@ "storageLocation": "default",

"typeName": {
"id": 2391,
"id": 3031,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "138:4:20",
"src": "138:4:21",
"typeDescriptions": {

@@ -159,6 +159,6 @@ "typeIdentifier": "t_bool",

],
"src": "137:6:20"
"src": "137:6:21"
},
"scope": 2395,
"src": "87:57:20",
"scope": 3035,
"src": "87:57:21",
"stateMutability": "view",

@@ -169,4 +169,4 @@ "virtual": false,

],
"scope": 2396,
"src": "61:85:20",
"scope": 3036,
"src": "61:85:21",
"usedErrors": [],

@@ -176,11 +176,11 @@ "usedEvents": []

],
"src": "36:111:20"
"src": "36:111:21"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.401Z",
"updatedAt": "2023-11-18T19:59:10.464Z",
"devdoc": {

@@ -187,0 +187,0 @@ "kind": "dev",

@@ -104,3 +104,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"setMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IMintable.sol\":\"IMintable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IMintable.sol\":{\"keccak256\":\"0x137faa8e35139c43ce36b5ad720fa189fd30ac33448aa722b447bac726a071d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://988b55cc72106037125802c00fd51ccd5e1a466afc6f67f25ddf496bf1c15856\",\"dweb:/ipfs/QmXQeU1LXVNm11Jb5P8qYEBxqXhTracfVvNa8rHiuwBBFf\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"setMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IMintable.sol\":\"IMintable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IMintable.sol\":{\"keccak256\":\"0x137faa8e35139c43ce36b5ad720fa189fd30ac33448aa722b447bac726a071d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://988b55cc72106037125802c00fd51ccd5e1a466afc6f67f25ddf496bf1c15856\",\"dweb:/ipfs/QmXQeU1LXVNm11Jb5P8qYEBxqXhTracfVvNa8rHiuwBBFf\"]}},\"version\":1}",
"bytecode": "0x",

@@ -119,6 +119,6 @@ "deployedBytecode": "0x",

"IMintable": [
2435
3075
]
},
"id": 2436,
"id": 3076,
"license": "GPL-3.0",

@@ -128,3 +128,3 @@ "nodeType": "SourceUnit",

{
"id": 2397,
"id": 3037,
"literals": [

@@ -137,3 +137,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:21"
"src": "36:23:22"
},

@@ -147,8 +147,8 @@ {

"fullyImplemented": false,
"id": 2435,
"id": 3075,
"linearizedBaseContracts": [
2435
3075
],
"name": "IMintable",
"nameLocation": "71:9:21",
"nameLocation": "71:9:22",
"nodeType": "ContractDefinition",

@@ -158,3 +158,3 @@ "nodes": [

"functionSelector": "aa271e1a",
"id": 2404,
"id": 3044,
"implemented": false,

@@ -164,6 +164,6 @@ "kind": "function",

"name": "isMinter",
"nameLocation": "96:8:21",
"nameLocation": "96:8:22",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2400,
"id": 3040,
"nodeType": "ParameterList",

@@ -173,9 +173,9 @@ "parameters": [

"constant": false,
"id": 2399,
"id": 3039,
"mutability": "mutable",
"name": "account",
"nameLocation": "113:7:21",
"nameLocation": "113:7:22",
"nodeType": "VariableDeclaration",
"scope": 2404,
"src": "105:15:21",
"scope": 3044,
"src": "105:15:22",
"stateVariable": false,

@@ -188,6 +188,6 @@ "storageLocation": "default",

"typeName": {
"id": 2398,
"id": 3038,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "105:7:21",
"src": "105:7:22",
"stateMutability": "nonpayable",

@@ -202,6 +202,6 @@ "typeDescriptions": {

],
"src": "104:17:21"
"src": "104:17:22"
},
"returnParameters": {
"id": 2403,
"id": 3043,
"nodeType": "ParameterList",

@@ -211,3 +211,3 @@ "parameters": [

"constant": false,
"id": 2402,
"id": 3042,
"mutability": "mutable",

@@ -217,4 +217,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2404,
"src": "145:4:21",
"scope": 3044,
"src": "145:4:22",
"stateVariable": false,

@@ -227,6 +227,6 @@ "storageLocation": "default",

"typeName": {
"id": 2401,
"id": 3041,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "145:4:21",
"src": "145:4:22",
"typeDescriptions": {

@@ -240,6 +240,6 @@ "typeIdentifier": "t_bool",

],
"src": "144:6:21"
"src": "144:6:22"
},
"scope": 2435,
"src": "87:64:21",
"scope": 3075,
"src": "87:64:22",
"stateMutability": "view",

@@ -251,3 +251,3 @@ "virtual": false,

"functionSelector": "fca3b5aa",
"id": 2411,
"id": 3051,
"implemented": false,

@@ -257,6 +257,6 @@ "kind": "function",

"name": "setMinter",
"nameLocation": "166:9:21",
"nameLocation": "166:9:22",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2407,
"id": 3047,
"nodeType": "ParameterList",

@@ -266,9 +266,9 @@ "parameters": [

"constant": false,
"id": 2406,
"id": 3046,
"mutability": "mutable",
"name": "minter",
"nameLocation": "184:6:21",
"nameLocation": "184:6:22",
"nodeType": "VariableDeclaration",
"scope": 2411,
"src": "176:14:21",
"scope": 3051,
"src": "176:14:22",
"stateVariable": false,

@@ -281,6 +281,6 @@ "storageLocation": "default",

"typeName": {
"id": 2405,
"id": 3045,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "176:7:21",
"src": "176:7:22",
"stateMutability": "nonpayable",

@@ -295,6 +295,6 @@ "typeDescriptions": {

],
"src": "175:16:21"
"src": "175:16:22"
},
"returnParameters": {
"id": 2410,
"id": 3050,
"nodeType": "ParameterList",

@@ -304,3 +304,3 @@ "parameters": [

"constant": false,
"id": 2409,
"id": 3049,
"mutability": "mutable",

@@ -310,4 +310,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2411,
"src": "210:4:21",
"scope": 3051,
"src": "210:4:22",
"stateVariable": false,

@@ -320,6 +320,6 @@ "storageLocation": "default",

"typeName": {
"id": 2408,
"id": 3048,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "210:4:21",
"src": "210:4:22",
"typeDescriptions": {

@@ -333,6 +333,6 @@ "typeIdentifier": "t_bool",

],
"src": "209:6:21"
"src": "209:6:22"
},
"scope": 2435,
"src": "157:59:21",
"scope": 3075,
"src": "157:59:22",
"stateMutability": "nonpayable",

@@ -344,3 +344,3 @@ "virtual": false,

"functionSelector": "07546172",
"id": 2416,
"id": 3056,
"implemented": false,

@@ -350,12 +350,12 @@ "kind": "function",

"name": "minter",
"nameLocation": "231:6:21",
"nameLocation": "231:6:22",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2412,
"id": 3052,
"nodeType": "ParameterList",
"parameters": [],
"src": "237:2:21"
"src": "237:2:22"
},
"returnParameters": {
"id": 2415,
"id": 3055,
"nodeType": "ParameterList",

@@ -365,3 +365,3 @@ "parameters": [

"constant": false,
"id": 2414,
"id": 3054,
"mutability": "mutable",

@@ -371,4 +371,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2416,
"src": "263:7:21",
"scope": 3056,
"src": "263:7:22",
"stateVariable": false,

@@ -381,6 +381,6 @@ "storageLocation": "default",

"typeName": {
"id": 2413,
"id": 3053,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "263:7:21",
"src": "263:7:22",
"stateMutability": "nonpayable",

@@ -395,6 +395,6 @@ "typeDescriptions": {

],
"src": "262:9:21"
"src": "262:9:22"
},
"scope": 2435,
"src": "222:50:21",
"scope": 3075,
"src": "222:50:22",
"stateMutability": "view",

@@ -406,3 +406,3 @@ "virtual": false,

"functionSelector": "40c10f19",
"id": 2425,
"id": 3065,
"implemented": false,

@@ -412,6 +412,6 @@ "kind": "function",

"name": "mint",
"nameLocation": "287:4:21",
"nameLocation": "287:4:22",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2421,
"id": 3061,
"nodeType": "ParameterList",

@@ -421,9 +421,9 @@ "parameters": [

"constant": false,
"id": 2418,
"id": 3058,
"mutability": "mutable",
"name": "to",
"nameLocation": "300:2:21",
"nameLocation": "300:2:22",
"nodeType": "VariableDeclaration",
"scope": 2425,
"src": "292:10:21",
"scope": 3065,
"src": "292:10:22",
"stateVariable": false,

@@ -436,6 +436,6 @@ "storageLocation": "default",

"typeName": {
"id": 2417,
"id": 3057,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "292:7:21",
"src": "292:7:22",
"stateMutability": "nonpayable",

@@ -451,9 +451,9 @@ "typeDescriptions": {

"constant": false,
"id": 2420,
"id": 3060,
"mutability": "mutable",
"name": "id",
"nameLocation": "312:2:21",
"nameLocation": "312:2:22",
"nodeType": "VariableDeclaration",
"scope": 2425,
"src": "304:10:21",
"scope": 3065,
"src": "304:10:22",
"stateVariable": false,

@@ -466,6 +466,6 @@ "storageLocation": "default",

"typeName": {
"id": 2419,
"id": 3059,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "304:7:21",
"src": "304:7:22",
"typeDescriptions": {

@@ -479,6 +479,6 @@ "typeIdentifier": "t_uint256",

],
"src": "291:24:21"
"src": "291:24:22"
},
"returnParameters": {
"id": 2424,
"id": 3064,
"nodeType": "ParameterList",

@@ -488,3 +488,3 @@ "parameters": [

"constant": false,
"id": 2423,
"id": 3063,
"mutability": "mutable",

@@ -494,4 +494,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2425,
"src": "334:4:21",
"scope": 3065,
"src": "334:4:22",
"stateVariable": false,

@@ -504,6 +504,6 @@ "storageLocation": "default",

"typeName": {
"id": 2422,
"id": 3062,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "334:4:21",
"src": "334:4:22",
"typeDescriptions": {

@@ -517,6 +517,6 @@ "typeIdentifier": "t_bool",

],
"src": "333:6:21"
"src": "333:6:22"
},
"scope": 2435,
"src": "278:62:21",
"scope": 3075,
"src": "278:62:22",
"stateMutability": "nonpayable",

@@ -528,3 +528,3 @@ "virtual": false,

"functionSelector": "a1448194",
"id": 2434,
"id": 3074,
"implemented": false,

@@ -534,6 +534,6 @@ "kind": "function",

"name": "safeMint",
"nameLocation": "355:8:21",
"nameLocation": "355:8:22",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2430,
"id": 3070,
"nodeType": "ParameterList",

@@ -543,9 +543,9 @@ "parameters": [

"constant": false,
"id": 2427,
"id": 3067,
"mutability": "mutable",
"name": "to",
"nameLocation": "372:2:21",
"nameLocation": "372:2:22",
"nodeType": "VariableDeclaration",
"scope": 2434,
"src": "364:10:21",
"scope": 3074,
"src": "364:10:22",
"stateVariable": false,

@@ -558,6 +558,6 @@ "storageLocation": "default",

"typeName": {
"id": 2426,
"id": 3066,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "364:7:21",
"src": "364:7:22",
"stateMutability": "nonpayable",

@@ -573,9 +573,9 @@ "typeDescriptions": {

"constant": false,
"id": 2429,
"id": 3069,
"mutability": "mutable",
"name": "id",
"nameLocation": "384:2:21",
"nameLocation": "384:2:22",
"nodeType": "VariableDeclaration",
"scope": 2434,
"src": "376:10:21",
"scope": 3074,
"src": "376:10:22",
"stateVariable": false,

@@ -588,6 +588,6 @@ "storageLocation": "default",

"typeName": {
"id": 2428,
"id": 3068,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "376:7:21",
"src": "376:7:22",
"typeDescriptions": {

@@ -601,6 +601,6 @@ "typeIdentifier": "t_uint256",

],
"src": "363:24:21"
"src": "363:24:22"
},
"returnParameters": {
"id": 2433,
"id": 3073,
"nodeType": "ParameterList",

@@ -610,3 +610,3 @@ "parameters": [

"constant": false,
"id": 2432,
"id": 3072,
"mutability": "mutable",

@@ -616,4 +616,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2434,
"src": "406:4:21",
"scope": 3074,
"src": "406:4:22",
"stateVariable": false,

@@ -626,6 +626,6 @@ "storageLocation": "default",

"typeName": {
"id": 2431,
"id": 3071,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "406:4:21",
"src": "406:4:22",
"typeDescriptions": {

@@ -639,6 +639,6 @@ "typeIdentifier": "t_bool",

],
"src": "405:6:21"
"src": "405:6:22"
},
"scope": 2435,
"src": "346:66:21",
"scope": 3075,
"src": "346:66:22",
"stateMutability": "nonpayable",

@@ -649,4 +649,4 @@ "virtual": false,

],
"scope": 2436,
"src": "61:353:21",
"scope": 3076,
"src": "61:353:22",
"usedErrors": [],

@@ -656,11 +656,11 @@ "usedEvents": []

],
"src": "36:379:21"
"src": "36:379:22"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.402Z",
"updatedAt": "2023-11-18T19:59:10.465Z",
"devdoc": {

@@ -667,0 +667,0 @@ "kind": "dev",

@@ -389,3 +389,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"setMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc721/interfaces/chains/IMintableErc721.sol\":\"IMintableErc721\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/src/erc721/interfaces/chains/IMintableErc721.sol\":{\"keccak256\":\"0x3aac8870a2e132c2efe5cdf38e2926cd8a98e57d1305a130d2490de4ee6c22f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://caef347faac95a5eefdaa9ffa68ae981f6ade41798198c1bd293c994c6c234cf\",\"dweb:/ipfs/QmeuFR3QNEQsZcZpf4m2mrXSm7gZFH32J3iJ8st5uGS7aR\"]},\"project:/src/interfaces/IMintable.sol\":{\"keccak256\":\"0x137faa8e35139c43ce36b5ad720fa189fd30ac33448aa722b447bac726a071d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://988b55cc72106037125802c00fd51ccd5e1a466afc6f67f25ddf496bf1c15856\",\"dweb:/ipfs/QmXQeU1LXVNm11Jb5P8qYEBxqXhTracfVvNa8rHiuwBBFf\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"setMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/erc721/interfaces/chains/IMintableErc721.sol\":\"IMintableErc721\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"project:/src/erc721/interfaces/chains/IMintableErc721.sol\":{\"keccak256\":\"0x3aac8870a2e132c2efe5cdf38e2926cd8a98e57d1305a130d2490de4ee6c22f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://caef347faac95a5eefdaa9ffa68ae981f6ade41798198c1bd293c994c6c234cf\",\"dweb:/ipfs/QmeuFR3QNEQsZcZpf4m2mrXSm7gZFH32J3iJ8st5uGS7aR\"]},\"project:/src/interfaces/IMintable.sol\":{\"keccak256\":\"0x137faa8e35139c43ce36b5ad720fa189fd30ac33448aa722b447bac726a071d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://988b55cc72106037125802c00fd51ccd5e1a466afc6f67f25ddf496bf1c15856\",\"dweb:/ipfs/QmXQeU1LXVNm11Jb5P8qYEBxqXhTracfVvNa8rHiuwBBFf\"]}},\"version\":1}",
"bytecode": "0x",

@@ -404,15 +404,15 @@ "deployedBytecode": "0x",

"IERC165": [
1581
1485
],
"IERC721": [
1217
1198
],
"IMintable": [
2435
3075
],
"IMintableErc721": [
2354
2994
]
},
"id": 2355,
"id": 2995,
"license": "GPL-3.0",

@@ -422,3 +422,3 @@ "nodeType": "SourceUnit",

{
"id": 2347,
"id": 2987,
"literals": [

@@ -431,3 +431,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:17"
"src": "36:23:18"
},

@@ -437,8 +437,8 @@ {

"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 2348,
"id": 2988,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2355,
"sourceUnit": 1218,
"src": "61:58:17",
"scope": 2995,
"sourceUnit": 1199,
"src": "61:58:18",
"symbolAliases": [],

@@ -450,8 +450,8 @@ "unitAlias": ""

"file": "../../../interfaces/IMintable.sol",
"id": 2349,
"id": 2989,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2355,
"sourceUnit": 2436,
"src": "120:43:17",
"scope": 2995,
"sourceUnit": 3076,
"src": "120:43:18",
"symbolAliases": [],

@@ -465,29 +465,29 @@ "unitAlias": ""

"baseName": {
"id": 2350,
"id": 2990,
"name": "IERC721",
"nameLocations": [
"194:7:17"
"194:7:18"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 1217,
"src": "194:7:17"
"referencedDeclaration": 1198,
"src": "194:7:18"
},
"id": 2351,
"id": 2991,
"nodeType": "InheritanceSpecifier",
"src": "194:7:17"
"src": "194:7:18"
},
{
"baseName": {
"id": 2352,
"id": 2992,
"name": "IMintable",
"nameLocations": [
"203:9:17"
"203:9:18"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 2435,
"src": "203:9:17"
"referencedDeclaration": 3075,
"src": "203:9:18"
},
"id": 2353,
"id": 2993,
"nodeType": "InheritanceSpecifier",
"src": "203:9:17"
"src": "203:9:18"
}

@@ -499,32 +499,32 @@ ],

"fullyImplemented": false,
"id": 2354,
"id": 2994,
"linearizedBaseContracts": [
2354,
2435,
1217,
1581
2994,
3075,
1198,
1485
],
"name": "IMintableErc721",
"nameLocation": "175:15:17",
"nameLocation": "175:15:18",
"nodeType": "ContractDefinition",
"nodes": [],
"scope": 2355,
"src": "165:50:17",
"scope": 2995,
"src": "165:50:18",
"usedErrors": [],
"usedEvents": [
1116,
1125,
1134
1097,
1106,
1115
]
}
],
"src": "36:180:17"
"src": "36:180:18"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.399Z",
"updatedAt": "2023-11-18T19:59:10.463Z",
"devdoc": {

@@ -560,9 +560,9 @@ "events": {

"safeTransferFrom(address,address,uint256)": {
"details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
"details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
},
"safeTransferFrom(address,address,uint256,bytes)": {
"details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
"details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
},
"setApprovalForAll(address,bool)": {
"details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."
"details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event."
},

@@ -569,0 +569,0 @@ "supportsInterface(bytes4)": {

@@ -24,3 +24,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"parentOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IParentable.sol\":\"IParentable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IParentable.sol\":{\"keccak256\":\"0xfd37ac5a80e5c9be8067ff75e198c052d0fa3381f07f6aea5d3654b7c7bcba01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b257d1c99bd688abe19064577d1de435b5bdf3aa3a441d365a5709f84368ab2f\",\"dweb:/ipfs/Qmdr5RKxzmg4m6gMmAKGQsi7YQ4mMTytcbBPpcAQMaKj5o\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"parentOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/interfaces/IParentable.sol\":\"IParentable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/interfaces/IParentable.sol\":{\"keccak256\":\"0xfd37ac5a80e5c9be8067ff75e198c052d0fa3381f07f6aea5d3654b7c7bcba01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b257d1c99bd688abe19064577d1de435b5bdf3aa3a441d365a5709f84368ab2f\",\"dweb:/ipfs/Qmdr5RKxzmg4m6gMmAKGQsi7YQ4mMTytcbBPpcAQMaKj5o\"]}},\"version\":1}",
"bytecode": "0x",

@@ -39,6 +39,6 @@ "deployedBytecode": "0x",

"IParentable": [
2445
3085
]
},
"id": 2446,
"id": 3086,
"license": "GPL-3.0",

@@ -48,3 +48,3 @@ "nodeType": "SourceUnit",

{
"id": 2437,
"id": 3077,
"literals": [

@@ -57,3 +57,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:22"
"src": "36:23:23"
},

@@ -67,8 +67,8 @@ {

"fullyImplemented": false,
"id": 2445,
"id": 3085,
"linearizedBaseContracts": [
2445
3085
],
"name": "IParentable",
"nameLocation": "71:11:22",
"nameLocation": "71:11:23",
"nodeType": "ContractDefinition",

@@ -78,3 +78,3 @@ "nodes": [

"functionSelector": "cfa3c132",
"id": 2444,
"id": 3084,
"implemented": false,

@@ -84,6 +84,6 @@ "kind": "function",

"name": "parentOf",
"nameLocation": "98:8:22",
"nameLocation": "98:8:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2440,
"id": 3080,
"nodeType": "ParameterList",

@@ -93,9 +93,9 @@ "parameters": [

"constant": false,
"id": 2439,
"id": 3079,
"mutability": "mutable",
"name": "id",
"nameLocation": "115:2:22",
"nameLocation": "115:2:23",
"nodeType": "VariableDeclaration",
"scope": 2444,
"src": "107:10:22",
"scope": 3084,
"src": "107:10:23",
"stateVariable": false,

@@ -108,6 +108,6 @@ "storageLocation": "default",

"typeName": {
"id": 2438,
"id": 3078,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "107:7:22",
"src": "107:7:23",
"typeDescriptions": {

@@ -121,6 +121,6 @@ "typeIdentifier": "t_uint256",

],
"src": "106:12:22"
"src": "106:12:23"
},
"returnParameters": {
"id": 2443,
"id": 3083,
"nodeType": "ParameterList",

@@ -130,3 +130,3 @@ "parameters": [

"constant": false,
"id": 2442,
"id": 3082,
"mutability": "mutable",

@@ -136,4 +136,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2444,
"src": "142:7:22",
"scope": 3084,
"src": "142:7:23",
"stateVariable": false,

@@ -146,6 +146,6 @@ "storageLocation": "default",

"typeName": {
"id": 2441,
"id": 3081,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "142:7:22",
"src": "142:7:23",
"typeDescriptions": {

@@ -159,6 +159,6 @@ "typeIdentifier": "t_uint256",

],
"src": "141:9:22"
"src": "141:9:23"
},
"scope": 2445,
"src": "89:62:22",
"scope": 3085,
"src": "89:62:23",
"stateMutability": "pure",

@@ -169,4 +169,4 @@ "virtual": false,

],
"scope": 2446,
"src": "61:92:22",
"scope": 3086,
"src": "61:92:23",
"usedErrors": [],

@@ -176,11 +176,11 @@ "usedEvents": []

],
"src": "36:118:22"
"src": "36:118:23"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.403Z",
"updatedAt": "2023-11-18T19:59:10.465Z",
"devdoc": {

@@ -187,0 +187,0 @@ "kind": "dev",

@@ -104,3 +104,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"answerHash\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"answer\",\"type\":\"bytes[]\"}],\"name\":\"answer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"json\",\"type\":\"bytes[]\"}],\"name\":\"challenge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"diviner\",\"type\":\"address\"}],\"name\":\"maxUnstake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/promise/interfaces/IPromises.sol\":\"IPromises\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/promise/interfaces/IPromises.sol\":{\"keccak256\":\"0x7c36aeb1e93dbdbb4662f9bd81a086a964b41f7b2d99d49289f0f59f6620c7f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a157d3bf68745e9d7aa2931d3b5fa81afbf255742e638c130396c3b3caa7681f\",\"dweb:/ipfs/QmXXYdhce49zLYziWjSio2yH8e6dPSZvLuJxZpn6XFFCfm\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"answerHash\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"answer\",\"type\":\"bytes[]\"}],\"name\":\"answer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"json\",\"type\":\"bytes[]\"}],\"name\":\"challenge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"diviner\",\"type\":\"address\"}],\"name\":\"maxUnstake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/promise/interfaces/IPromises.sol\":\"IPromises\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/promise/interfaces/IPromises.sol\":{\"keccak256\":\"0x7c36aeb1e93dbdbb4662f9bd81a086a964b41f7b2d99d49289f0f59f6620c7f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a157d3bf68745e9d7aa2931d3b5fa81afbf255742e638c130396c3b3caa7681f\",\"dweb:/ipfs/QmXXYdhce49zLYziWjSio2yH8e6dPSZvLuJxZpn6XFFCfm\"]}},\"version\":1}",
"bytecode": "0x",

@@ -119,6 +119,6 @@ "deployedBytecode": "0x",

"IPromises": [
2735
3375
]
},
"id": 2736,
"id": 3376,
"license": "GPL-3.0",

@@ -128,3 +128,3 @@ "nodeType": "SourceUnit",

{
"id": 2694,
"id": 3334,
"literals": [

@@ -137,3 +137,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:27"
"src": "36:23:28"
},

@@ -147,8 +147,8 @@ {

"fullyImplemented": false,
"id": 2735,
"id": 3375,
"linearizedBaseContracts": [
2735
3375
],
"name": "IPromises",
"nameLocation": "71:9:27",
"nameLocation": "71:9:28",
"nodeType": "ContractDefinition",

@@ -158,3 +158,3 @@ "nodes": [

"functionSelector": "d3903e4e",
"id": 2704,
"id": 3344,
"implemented": false,

@@ -164,6 +164,6 @@ "kind": "function",

"name": "answer",
"nameLocation": "96:6:27",
"nameLocation": "96:6:28",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2702,
"id": 3342,
"nodeType": "ParameterList",

@@ -173,9 +173,9 @@ "parameters": [

"constant": false,
"id": 2696,
"id": 3336,
"mutability": "mutable",
"name": "id",
"nameLocation": "120:2:27",
"nameLocation": "120:2:28",
"nodeType": "VariableDeclaration",
"scope": 2704,
"src": "112:10:27",
"scope": 3344,
"src": "112:10:28",
"stateVariable": false,

@@ -188,6 +188,6 @@ "storageLocation": "default",

"typeName": {
"id": 2695,
"id": 3335,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "112:7:27",
"src": "112:7:28",
"typeDescriptions": {

@@ -202,9 +202,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2698,
"id": 3338,
"mutability": "mutable",
"name": "answerHash",
"nameLocation": "140:10:27",
"nameLocation": "140:10:28",
"nodeType": "VariableDeclaration",
"scope": 2704,
"src": "132:18:27",
"scope": 3344,
"src": "132:18:28",
"stateVariable": false,

@@ -217,6 +217,6 @@ "storageLocation": "default",

"typeName": {
"id": 2697,
"id": 3337,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "132:7:27",
"src": "132:7:28",
"typeDescriptions": {

@@ -231,9 +231,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2701,
"id": 3341,
"mutability": "mutable",
"name": "answer",
"nameLocation": "177:6:27",
"nameLocation": "177:6:28",
"nodeType": "VariableDeclaration",
"scope": 2704,
"src": "160:23:27",
"scope": 3344,
"src": "160:23:28",
"stateVariable": false,

@@ -247,6 +247,6 @@ "storageLocation": "calldata",

"baseType": {
"id": 2699,
"id": 3339,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "160:5:27",
"src": "160:5:28",
"typeDescriptions": {

@@ -257,5 +257,5 @@ "typeIdentifier": "t_bytes_storage_ptr",

},
"id": 2700,
"id": 3340,
"nodeType": "ArrayTypeName",
"src": "160:7:27",
"src": "160:7:28",
"typeDescriptions": {

@@ -269,12 +269,12 @@ "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",

],
"src": "102:87:27"
"src": "102:87:28"
},
"returnParameters": {
"id": 2703,
"id": 3343,
"nodeType": "ParameterList",
"parameters": [],
"src": "198:0:27"
"src": "198:0:28"
},
"scope": 2735,
"src": "87:112:27",
"scope": 3375,
"src": "87:112:28",
"stateMutability": "nonpayable",

@@ -286,3 +286,3 @@ "virtual": false,

"functionSelector": "40e58ee5",
"id": 2709,
"id": 3349,
"implemented": false,

@@ -292,6 +292,6 @@ "kind": "function",

"name": "cancel",
"nameLocation": "214:6:27",
"nameLocation": "214:6:28",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2707,
"id": 3347,
"nodeType": "ParameterList",

@@ -301,9 +301,9 @@ "parameters": [

"constant": false,
"id": 2706,
"id": 3346,
"mutability": "mutable",
"name": "id",
"nameLocation": "229:2:27",
"nameLocation": "229:2:28",
"nodeType": "VariableDeclaration",
"scope": 2709,
"src": "221:10:27",
"scope": 3349,
"src": "221:10:28",
"stateVariable": false,

@@ -316,6 +316,6 @@ "storageLocation": "default",

"typeName": {
"id": 2705,
"id": 3345,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "221:7:27",
"src": "221:7:28",
"typeDescriptions": {

@@ -329,12 +329,12 @@ "typeIdentifier": "t_uint256",

],
"src": "220:12:27"
"src": "220:12:28"
},
"returnParameters": {
"id": 2708,
"id": 3348,
"nodeType": "ParameterList",
"parameters": [],
"src": "241:0:27"
"src": "241:0:28"
},
"scope": 2735,
"src": "205:37:27",
"scope": 3375,
"src": "205:37:28",
"stateMutability": "nonpayable",

@@ -346,3 +346,3 @@ "virtual": false,

"functionSelector": "1f03029b",
"id": 2717,
"id": 3357,
"implemented": false,

@@ -352,6 +352,6 @@ "kind": "function",

"name": "challenge",
"nameLocation": "257:9:27",
"nameLocation": "257:9:28",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2715,
"id": 3355,
"nodeType": "ParameterList",

@@ -361,9 +361,9 @@ "parameters": [

"constant": false,
"id": 2711,
"id": 3351,
"mutability": "mutable",
"name": "id",
"nameLocation": "275:2:27",
"nameLocation": "275:2:28",
"nodeType": "VariableDeclaration",
"scope": 2717,
"src": "267:10:27",
"scope": 3357,
"src": "267:10:28",
"stateVariable": false,

@@ -376,6 +376,6 @@ "storageLocation": "default",

"typeName": {
"id": 2710,
"id": 3350,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "267:7:27",
"src": "267:7:28",
"typeDescriptions": {

@@ -390,9 +390,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2714,
"id": 3354,
"mutability": "mutable",
"name": "json",
"nameLocation": "296:4:27",
"nameLocation": "296:4:28",
"nodeType": "VariableDeclaration",
"scope": 2717,
"src": "279:21:27",
"scope": 3357,
"src": "279:21:28",
"stateVariable": false,

@@ -406,6 +406,6 @@ "storageLocation": "calldata",

"baseType": {
"id": 2712,
"id": 3352,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "279:5:27",
"src": "279:5:28",
"typeDescriptions": {

@@ -416,5 +416,5 @@ "typeIdentifier": "t_bytes_storage_ptr",

},
"id": 2713,
"id": 3353,
"nodeType": "ArrayTypeName",
"src": "279:7:27",
"src": "279:7:28",
"typeDescriptions": {

@@ -428,12 +428,12 @@ "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",

],
"src": "266:35:27"
"src": "266:35:28"
},
"returnParameters": {
"id": 2716,
"id": 3356,
"nodeType": "ParameterList",
"parameters": [],
"src": "310:0:27"
"src": "310:0:28"
},
"scope": 2735,
"src": "248:63:27",
"scope": 3375,
"src": "248:63:28",
"stateMutability": "nonpayable",

@@ -445,3 +445,3 @@ "virtual": false,

"functionSelector": "a694fc3a",
"id": 2722,
"id": 3362,
"implemented": false,

@@ -451,6 +451,6 @@ "kind": "function",

"name": "stake",
"nameLocation": "326:5:27",
"nameLocation": "326:5:28",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2720,
"id": 3360,
"nodeType": "ParameterList",

@@ -460,9 +460,9 @@ "parameters": [

"constant": false,
"id": 2719,
"id": 3359,
"mutability": "mutable",
"name": "amount",
"nameLocation": "340:6:27",
"nameLocation": "340:6:28",
"nodeType": "VariableDeclaration",
"scope": 2722,
"src": "332:14:27",
"scope": 3362,
"src": "332:14:28",
"stateVariable": false,

@@ -475,6 +475,6 @@ "storageLocation": "default",

"typeName": {
"id": 2718,
"id": 3358,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "332:7:27",
"src": "332:7:28",
"typeDescriptions": {

@@ -488,12 +488,12 @@ "typeIdentifier": "t_uint256",

],
"src": "331:16:27"
"src": "331:16:28"
},
"returnParameters": {
"id": 2721,
"id": 3361,
"nodeType": "ParameterList",
"parameters": [],
"src": "356:0:27"
"src": "356:0:28"
},
"scope": 2735,
"src": "317:40:27",
"scope": 3375,
"src": "317:40:28",
"stateMutability": "nonpayable",

@@ -505,3 +505,3 @@ "virtual": false,

"functionSelector": "2e17de78",
"id": 2727,
"id": 3367,
"implemented": false,

@@ -511,6 +511,6 @@ "kind": "function",

"name": "unstake",
"nameLocation": "418:7:27",
"nameLocation": "418:7:28",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2725,
"id": 3365,
"nodeType": "ParameterList",

@@ -520,9 +520,9 @@ "parameters": [

"constant": false,
"id": 2724,
"id": 3364,
"mutability": "mutable",
"name": "amount",
"nameLocation": "434:6:27",
"nameLocation": "434:6:28",
"nodeType": "VariableDeclaration",
"scope": 2727,
"src": "426:14:27",
"scope": 3367,
"src": "426:14:28",
"stateVariable": false,

@@ -535,6 +535,6 @@ "storageLocation": "default",

"typeName": {
"id": 2723,
"id": 3363,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "426:7:27",
"src": "426:7:28",
"typeDescriptions": {

@@ -548,12 +548,12 @@ "typeIdentifier": "t_uint256",

],
"src": "425:16:27"
"src": "425:16:28"
},
"returnParameters": {
"id": 2726,
"id": 3366,
"nodeType": "ParameterList",
"parameters": [],
"src": "450:0:27"
"src": "450:0:28"
},
"scope": 2735,
"src": "409:42:27",
"scope": 3375,
"src": "409:42:28",
"stateMutability": "nonpayable",

@@ -565,3 +565,3 @@ "virtual": false,

"functionSelector": "559c1c4c",
"id": 2734,
"id": 3374,
"implemented": false,

@@ -571,6 +571,6 @@ "kind": "function",

"name": "maxUnstake",
"nameLocation": "539:10:27",
"nameLocation": "539:10:28",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2730,
"id": 3370,
"nodeType": "ParameterList",

@@ -580,9 +580,9 @@ "parameters": [

"constant": false,
"id": 2729,
"id": 3369,
"mutability": "mutable",
"name": "diviner",
"nameLocation": "558:7:27",
"nameLocation": "558:7:28",
"nodeType": "VariableDeclaration",
"scope": 2734,
"src": "550:15:27",
"scope": 3374,
"src": "550:15:28",
"stateVariable": false,

@@ -595,6 +595,6 @@ "storageLocation": "default",

"typeName": {
"id": 2728,
"id": 3368,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "550:7:27",
"src": "550:7:28",
"stateMutability": "nonpayable",

@@ -609,6 +609,6 @@ "typeDescriptions": {

],
"src": "549:17:27"
"src": "549:17:28"
},
"returnParameters": {
"id": 2733,
"id": 3373,
"nodeType": "ParameterList",

@@ -618,3 +618,3 @@ "parameters": [

"constant": false,
"id": 2732,
"id": 3372,
"mutability": "mutable",

@@ -624,4 +624,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2734,
"src": "585:7:27",
"scope": 3374,
"src": "585:7:28",
"stateVariable": false,

@@ -634,6 +634,6 @@ "storageLocation": "default",

"typeName": {
"id": 2731,
"id": 3371,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "585:7:27",
"src": "585:7:28",
"typeDescriptions": {

@@ -647,6 +647,6 @@ "typeIdentifier": "t_uint256",

],
"src": "584:9:27"
"src": "584:9:28"
},
"scope": 2735,
"src": "530:64:27",
"scope": 3375,
"src": "530:64:28",
"stateMutability": "nonpayable",

@@ -657,4 +657,4 @@ "virtual": false,

],
"scope": 2736,
"src": "61:535:27",
"scope": 3376,
"src": "61:535:28",
"usedErrors": [],

@@ -664,11 +664,11 @@ "usedEvents": []

],
"src": "36:561:27"
"src": "36:561:28"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.405Z",
"updatedAt": "2023-11-18T19:59:10.467Z",
"devdoc": {

@@ -675,0 +675,0 @@ "kind": "dev",

@@ -6,3 +6,3 @@ {

"inputs": [],
"name": "source",
"name": "sourceToken",
"outputs": [

@@ -20,3 +20,3 @@ {

"inputs": [],
"name": "target",
"name": "targetToken",
"outputs": [

@@ -238,3 +238,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"available\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"generate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pending\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"pendingFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"source\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"target\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"targetBalanceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unstakeAll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/unigen/IUniGenPair.sol\":\"IUniGenPair\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0x58b21219689909c4f8339af00813760337f7e2e7f169a97fe49e2896dcfb3b9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef8e012e946dec20e59f2d4446f4b44bb098f3fa8bac103b1b5112fff777447b\",\"dweb:/ipfs/QmVTooKWcLkJ9W68yNX4MgdrbAKiAXwuRN9A7f4NkdcdtQ\"]},\"project:/src/erc20/contracts/Erc20Store.sol\":{\"keccak256\":\"0x11ae39e7847e98501fff78ff30ee5a823d933b86e5fb3e88c4154655ebeebfad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://308f7cc3d07fdc334bc06c001ac95002e0e49453a864ba1bd05fbc07c3091184\",\"dweb:/ipfs/QmWvq1D4xfQcR63muk46A9Ua8G4NpnG9C8pS8Gxy6sMFwG\"]},\"project:/src/unigen/IUniGenPair.sol\":{\"keccak256\":\"0xcad8b2e1fb25761f68b43dc7a5b6c5fa65822bc3c46137cce9280b2b3d3be109\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f23b6efcfeb11c4394d60a47510379dbbf0912499a12e07336f3f3b288ea8dea\",\"dweb:/ipfs/QmNWzXUui7RaavAGEEBBfsNZg5RSy5BQzUrq7dGyimVHCv\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"available\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"generate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pending\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"pendingFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"targetBalanceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unstakeAll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/unigen/IUniGenPair.sol\":\"IUniGenPair\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0\",\"dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"project:/src/erc20/contracts/Erc20Store.sol\":{\"keccak256\":\"0xc74c61d2c011d82c6eeab552dc2c0c0e7cd4f4050f7f44dfed3bfb96ef6a59f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bd9d7c31661ceb5c99cb41c45525d11ef84ec6c33439b100edd89f43c5e63af\",\"dweb:/ipfs/QmVWKNWvEaQy61F13iXTiDAgF6moRzkXbHeqpdLhUHiXhk\"]},\"project:/src/unigen/IUniGenPair.sol\":{\"keccak256\":\"0xcee33504b84ba98ba16868f002e01e9e68cc46f6bdb39e90a44dd6027acbf484\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://379b558bc584e29a263cc8c406606781f5c54d1c1e4cc19c27a8dfdd7f0c7d75\",\"dweb:/ipfs/QmYunVwNbCBa7nVWhxFwntCuscF6VMz24zkxC1v5cfbdu7\"]}},\"version\":1}",
"bytecode": "0x",

@@ -247,3 +247,3 @@ "deployedBytecode": "0x",

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeMath.sol\";\nimport \"../erc20/contracts/Erc20Store.sol\";\n\ninterface IUniGenPair {\n /* Address of the source token */\n function source() external returns (IERC20);\n\n /* Address of the target token */\n function target() external returns (IERC20);\n\n /* Stake source tokens from caller's account */\n function stake(uint256 amount) external returns (uint256);\n\n /* Unstake some of the source tokens for caller's account */\n function unstake(uint256 amount) external returns (uint256);\n\n /* Unstake all the source tokens for caller's account */\n function unstakeAll() external returns (uint256);\n\n /* The amount of source token staked */\n function sourceBalance() external returns (uint256);\n\n /* The balance of target tokens */\n function targetBalance() external returns (uint256);\n\n /* The balance of target tokens for a specific address */\n function targetBalanceFor(address addr) external returns (uint256);\n\n // Deposit some of the realizable token [unrecoverable without stake]\n function deposit(uint256 amount) external returns (uint256);\n\n // Withdraw some of the realized target token\n function withdraw(uint256 amount) external returns (uint256);\n\n // Withdraw all of the realized token\n function withdrawAll() external returns (uint256);\n\n /* Realize the pending tokens for a specific account */\n function generate() external returns (uint256);\n\n /* Returns target tokens pending */\n function pending() external returns (uint256);\n\n /* Returns target tokens pending for a specific address*/\n function pendingFor(address addr) external returns (uint256);\n\n /* Returns target token availability - Total amount that can be generated */\n function available() external returns (uint256);\n}\n",
"source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.19;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport \"../erc20/contracts/Erc20Store.sol\";\n\ninterface IUniGenPair {\n /* Address of the source token */\n function sourceToken() external returns (IERC20);\n\n /* Address of the target token */\n function targetToken() external returns (IERC20);\n\n /* Stake source tokens from caller's account */\n function stake(uint256 amount) external returns (uint256);\n\n /* Unstake some of the source tokens for caller's account */\n function unstake(uint256 amount) external returns (uint256);\n\n /* Unstake all the source tokens for caller's account */\n function unstakeAll() external returns (uint256);\n\n /* The amount of source token staked */\n function sourceBalance() external returns (uint256);\n\n /* The balance of target tokens */\n function targetBalance() external returns (uint256);\n\n /* The balance of target tokens for a specific address */\n function targetBalanceFor(address addr) external returns (uint256);\n\n // Deposit some of the realizable token [unrecoverable without stake]\n function deposit(uint256 amount) external returns (uint256);\n\n // Withdraw some of the realized target token\n function withdraw(uint256 amount) external returns (uint256);\n\n // Withdraw all of the realized token\n function withdrawAll() external returns (uint256);\n\n /* Realize the pending tokens for a specific account */\n function generate() external returns (uint256);\n\n /* Returns target tokens pending */\n function pending() external returns (uint256);\n\n /* Returns target tokens pending for a specific address*/\n function pendingFor(address addr) external returns (uint256);\n\n /* Returns target token availability - Total amount that can be generated */\n function available() external returns (uint256);\n}\n",
"sourcePath": "/Users/arietrouw/GitHub/XYOracleNetwork/sdk-xyo-typechain/packages/solidity/src/unigen/IUniGenPair.sol",

@@ -254,24 +254,21 @@ "ast": {

"Address": [
1547
1451
],
"Erc20Store": [
2150
2790
],
"IERC20": [
664
729
],
"IERC20Permit": [
725
791
],
"IUniGenPair": [
2831
3470
],
"SafeERC20": [
1101
],
"SafeMath": [
1893
1081
]
},
"id": 2832,
"id": 3471,
"license": "GPL-3.0",

@@ -281,3 +278,3 @@ "nodeType": "SourceUnit",

{
"id": 2737,
"id": 3377,
"literals": [

@@ -287,6 +284,6 @@ "solidity",

"0.8",
".0"
".19"
],
"nodeType": "PragmaDirective",
"src": "36:23:28"
"src": "36:24:29"
},

@@ -296,8 +293,8 @@ {

"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 2738,
"id": 3378,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2832,
"sourceUnit": 665,
"src": "61:56:28",
"scope": 3471,
"sourceUnit": 730,
"src": "62:56:29",
"symbolAliases": [],

@@ -309,8 +306,8 @@ "unitAlias": ""

"file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
"id": 2739,
"id": 3379,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2832,
"sourceUnit": 1102,
"src": "118:65:28",
"scope": 3471,
"sourceUnit": 1082,
"src": "119:65:29",
"symbolAliases": [],

@@ -320,22 +317,10 @@ "unitAlias": ""

{
"absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol",
"file": "@openzeppelin/contracts/utils/math/SafeMath.sol",
"id": 2740,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2832,
"sourceUnit": 1894,
"src": "184:57:28",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "project:/src/erc20/contracts/Erc20Store.sol",
"file": "../erc20/contracts/Erc20Store.sol",
"id": 2741,
"id": 3380,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2832,
"sourceUnit": 2151,
"src": "242:43:28",
"scope": 3471,
"sourceUnit": 2791,
"src": "185:43:29",
"symbolAliases": [],

@@ -351,27 +336,27 @@ "unitAlias": ""

"fullyImplemented": false,
"id": 2831,
"id": 3470,
"linearizedBaseContracts": [
2831
3470
],
"name": "IUniGenPair",
"nameLocation": "297:11:28",
"nameLocation": "240:11:29",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "67e828bf",
"id": 2747,
"functionSelector": "5f8aaa69",
"id": 3386,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "source",
"nameLocation": "362:6:28",
"name": "sourceToken",
"nameLocation": "305:11:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2742,
"id": 3381,
"nodeType": "ParameterList",
"parameters": [],
"src": "368:2:28"
"src": "316:2:29"
},
"returnParameters": {
"id": 2746,
"id": 3385,
"nodeType": "ParameterList",

@@ -381,3 +366,3 @@ "parameters": [

"constant": false,
"id": 2745,
"id": 3384,
"mutability": "mutable",

@@ -387,27 +372,27 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2747,
"src": "389:6:28",
"scope": 3386,
"src": "337:6:29",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"
},
"typeName": {
"id": 2744,
"id": 3383,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2743,
"id": 3382,
"name": "IERC20",
"nameLocations": [
"389:6:28"
"337:6:29"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "389:6:28"
"referencedDeclaration": 729,
"src": "337:6:29"
},
"referencedDeclaration": 664,
"src": "389:6:28",
"referencedDeclaration": 729,
"src": "337:6:29",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"

@@ -419,6 +404,6 @@ }

],
"src": "388:8:28"
"src": "336:8:29"
},
"scope": 2831,
"src": "353:44:28",
"scope": 3470,
"src": "296:49:29",
"stateMutability": "nonpayable",

@@ -429,18 +414,18 @@ "virtual": false,

{
"functionSelector": "d4b83992",
"id": 2753,
"functionSelector": "327107f7",
"id": 3392,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "target",
"nameLocation": "450:6:28",
"name": "targetToken",
"nameLocation": "398:11:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2748,
"id": 3387,
"nodeType": "ParameterList",
"parameters": [],
"src": "456:2:28"
"src": "409:2:29"
},
"returnParameters": {
"id": 2752,
"id": 3391,
"nodeType": "ParameterList",

@@ -450,3 +435,3 @@ "parameters": [

"constant": false,
"id": 2751,
"id": 3390,
"mutability": "mutable",

@@ -456,27 +441,27 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2753,
"src": "477:6:28",
"scope": 3392,
"src": "430:6:29",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"
},
"typeName": {
"id": 2750,
"id": 3389,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2749,
"id": 3388,
"name": "IERC20",
"nameLocations": [
"477:6:28"
"430:6:29"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 664,
"src": "477:6:28"
"referencedDeclaration": 729,
"src": "430:6:29"
},
"referencedDeclaration": 664,
"src": "477:6:28",
"referencedDeclaration": 729,
"src": "430:6:29",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$664",
"typeIdentifier": "t_contract$_IERC20_$729",
"typeString": "contract IERC20"

@@ -488,6 +473,6 @@ }

],
"src": "476:8:28"
"src": "429:8:29"
},
"scope": 2831,
"src": "441:44:28",
"scope": 3470,
"src": "389:49:29",
"stateMutability": "nonpayable",

@@ -499,3 +484,3 @@ "virtual": false,

"functionSelector": "a694fc3a",
"id": 2760,
"id": 3399,
"implemented": false,

@@ -505,6 +490,6 @@ "kind": "function",

"name": "stake",
"nameLocation": "552:5:28",
"nameLocation": "505:5:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2756,
"id": 3395,
"nodeType": "ParameterList",

@@ -514,9 +499,9 @@ "parameters": [

"constant": false,
"id": 2755,
"id": 3394,
"mutability": "mutable",
"name": "amount",
"nameLocation": "566:6:28",
"nameLocation": "519:6:29",
"nodeType": "VariableDeclaration",
"scope": 2760,
"src": "558:14:28",
"scope": 3399,
"src": "511:14:29",
"stateVariable": false,

@@ -529,6 +514,6 @@ "storageLocation": "default",

"typeName": {
"id": 2754,
"id": 3393,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "558:7:28",
"src": "511:7:29",
"typeDescriptions": {

@@ -542,6 +527,6 @@ "typeIdentifier": "t_uint256",

],
"src": "557:16:28"
"src": "510:16:29"
},
"returnParameters": {
"id": 2759,
"id": 3398,
"nodeType": "ParameterList",

@@ -551,3 +536,3 @@ "parameters": [

"constant": false,
"id": 2758,
"id": 3397,
"mutability": "mutable",

@@ -557,4 +542,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2760,
"src": "592:7:28",
"scope": 3399,
"src": "545:7:29",
"stateVariable": false,

@@ -567,6 +552,6 @@ "storageLocation": "default",

"typeName": {
"id": 2757,
"id": 3396,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "592:7:28",
"src": "545:7:29",
"typeDescriptions": {

@@ -580,6 +565,6 @@ "typeIdentifier": "t_uint256",

],
"src": "591:9:28"
"src": "544:9:29"
},
"scope": 2831,
"src": "543:58:28",
"scope": 3470,
"src": "496:58:29",
"stateMutability": "nonpayable",

@@ -591,3 +576,3 @@ "virtual": false,

"functionSelector": "2e17de78",
"id": 2767,
"id": 3406,
"implemented": false,

@@ -597,6 +582,6 @@ "kind": "function",

"name": "unstake",
"nameLocation": "681:7:28",
"nameLocation": "634:7:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2763,
"id": 3402,
"nodeType": "ParameterList",

@@ -606,9 +591,9 @@ "parameters": [

"constant": false,
"id": 2762,
"id": 3401,
"mutability": "mutable",
"name": "amount",
"nameLocation": "697:6:28",
"nameLocation": "650:6:29",
"nodeType": "VariableDeclaration",
"scope": 2767,
"src": "689:14:28",
"scope": 3406,
"src": "642:14:29",
"stateVariable": false,

@@ -621,6 +606,6 @@ "storageLocation": "default",

"typeName": {
"id": 2761,
"id": 3400,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "689:7:28",
"src": "642:7:29",
"typeDescriptions": {

@@ -634,6 +619,6 @@ "typeIdentifier": "t_uint256",

],
"src": "688:16:28"
"src": "641:16:29"
},
"returnParameters": {
"id": 2766,
"id": 3405,
"nodeType": "ParameterList",

@@ -643,3 +628,3 @@ "parameters": [

"constant": false,
"id": 2765,
"id": 3404,
"mutability": "mutable",

@@ -649,4 +634,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2767,
"src": "723:7:28",
"scope": 3406,
"src": "676:7:29",
"stateVariable": false,

@@ -659,6 +644,6 @@ "storageLocation": "default",

"typeName": {
"id": 2764,
"id": 3403,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "723:7:28",
"src": "676:7:29",
"typeDescriptions": {

@@ -672,6 +657,6 @@ "typeIdentifier": "t_uint256",

],
"src": "722:9:28"
"src": "675:9:29"
},
"scope": 2831,
"src": "672:60:28",
"scope": 3470,
"src": "625:60:29",
"stateMutability": "nonpayable",

@@ -683,3 +668,3 @@ "virtual": false,

"functionSelector": "35322f37",
"id": 2772,
"id": 3411,
"implemented": false,

@@ -689,12 +674,12 @@ "kind": "function",

"name": "unstakeAll",
"nameLocation": "808:10:28",
"nameLocation": "761:10:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2768,
"id": 3407,
"nodeType": "ParameterList",
"parameters": [],
"src": "818:2:28"
"src": "771:2:29"
},
"returnParameters": {
"id": 2771,
"id": 3410,
"nodeType": "ParameterList",

@@ -704,3 +689,3 @@ "parameters": [

"constant": false,
"id": 2770,
"id": 3409,
"mutability": "mutable",

@@ -710,4 +695,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2772,
"src": "839:7:28",
"scope": 3411,
"src": "792:7:29",
"stateVariable": false,

@@ -720,6 +705,6 @@ "storageLocation": "default",

"typeName": {
"id": 2769,
"id": 3408,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "839:7:28",
"src": "792:7:29",
"typeDescriptions": {

@@ -733,6 +718,6 @@ "typeIdentifier": "t_uint256",

],
"src": "838:9:28"
"src": "791:9:29"
},
"scope": 2831,
"src": "799:49:28",
"scope": 3470,
"src": "752:49:29",
"stateMutability": "nonpayable",

@@ -744,3 +729,3 @@ "virtual": false,

"functionSelector": "7caa7230",
"id": 2777,
"id": 3416,
"implemented": false,

@@ -750,12 +735,12 @@ "kind": "function",

"name": "sourceBalance",
"nameLocation": "907:13:28",
"nameLocation": "860:13:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2773,
"id": 3412,
"nodeType": "ParameterList",
"parameters": [],
"src": "920:2:28"
"src": "873:2:29"
},
"returnParameters": {
"id": 2776,
"id": 3415,
"nodeType": "ParameterList",

@@ -765,3 +750,3 @@ "parameters": [

"constant": false,
"id": 2775,
"id": 3414,
"mutability": "mutable",

@@ -771,4 +756,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2777,
"src": "941:7:28",
"scope": 3416,
"src": "894:7:29",
"stateVariable": false,

@@ -781,6 +766,6 @@ "storageLocation": "default",

"typeName": {
"id": 2774,
"id": 3413,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "941:7:28",
"src": "894:7:29",
"typeDescriptions": {

@@ -794,6 +779,6 @@ "typeIdentifier": "t_uint256",

],
"src": "940:9:28"
"src": "893:9:29"
},
"scope": 2831,
"src": "898:52:28",
"scope": 3470,
"src": "851:52:29",
"stateMutability": "nonpayable",

@@ -805,3 +790,3 @@ "virtual": false,

"functionSelector": "43cce08e",
"id": 2782,
"id": 3421,
"implemented": false,

@@ -811,12 +796,12 @@ "kind": "function",

"name": "targetBalance",
"nameLocation": "1004:13:28",
"nameLocation": "957:13:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2778,
"id": 3417,
"nodeType": "ParameterList",
"parameters": [],
"src": "1017:2:28"
"src": "970:2:29"
},
"returnParameters": {
"id": 2781,
"id": 3420,
"nodeType": "ParameterList",

@@ -826,3 +811,3 @@ "parameters": [

"constant": false,
"id": 2780,
"id": 3419,
"mutability": "mutable",

@@ -832,4 +817,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2782,
"src": "1038:7:28",
"scope": 3421,
"src": "991:7:29",
"stateVariable": false,

@@ -842,6 +827,6 @@ "storageLocation": "default",

"typeName": {
"id": 2779,
"id": 3418,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1038:7:28",
"src": "991:7:29",
"typeDescriptions": {

@@ -855,6 +840,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1037:9:28"
"src": "990:9:29"
},
"scope": 2831,
"src": "995:52:28",
"scope": 3470,
"src": "948:52:29",
"stateMutability": "nonpayable",

@@ -866,3 +851,3 @@ "virtual": false,

"functionSelector": "72594198",
"id": 2789,
"id": 3428,
"implemented": false,

@@ -872,6 +857,6 @@ "kind": "function",

"name": "targetBalanceFor",
"nameLocation": "1124:16:28",
"nameLocation": "1077:16:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2785,
"id": 3424,
"nodeType": "ParameterList",

@@ -881,9 +866,9 @@ "parameters": [

"constant": false,
"id": 2784,
"id": 3423,
"mutability": "mutable",
"name": "addr",
"nameLocation": "1149:4:28",
"nameLocation": "1102:4:29",
"nodeType": "VariableDeclaration",
"scope": 2789,
"src": "1141:12:28",
"scope": 3428,
"src": "1094:12:29",
"stateVariable": false,

@@ -896,6 +881,6 @@ "storageLocation": "default",

"typeName": {
"id": 2783,
"id": 3422,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1141:7:28",
"src": "1094:7:29",
"stateMutability": "nonpayable",

@@ -910,6 +895,6 @@ "typeDescriptions": {

],
"src": "1140:14:28"
"src": "1093:14:29"
},
"returnParameters": {
"id": 2788,
"id": 3427,
"nodeType": "ParameterList",

@@ -919,3 +904,3 @@ "parameters": [

"constant": false,
"id": 2787,
"id": 3426,
"mutability": "mutable",

@@ -925,4 +910,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2789,
"src": "1173:7:28",
"scope": 3428,
"src": "1126:7:29",
"stateVariable": false,

@@ -935,6 +920,6 @@ "storageLocation": "default",

"typeName": {
"id": 2786,
"id": 3425,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1173:7:28",
"src": "1126:7:29",
"typeDescriptions": {

@@ -948,6 +933,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1172:9:28"
"src": "1125:9:29"
},
"scope": 2831,
"src": "1115:67:28",
"scope": 3470,
"src": "1068:67:29",
"stateMutability": "nonpayable",

@@ -959,3 +944,3 @@ "virtual": false,

"functionSelector": "b6b55f25",
"id": 2796,
"id": 3435,
"implemented": false,

@@ -965,6 +950,6 @@ "kind": "function",

"name": "deposit",
"nameLocation": "1271:7:28",
"nameLocation": "1224:7:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2792,
"id": 3431,
"nodeType": "ParameterList",

@@ -974,9 +959,9 @@ "parameters": [

"constant": false,
"id": 2791,
"id": 3430,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1287:6:28",
"nameLocation": "1240:6:29",
"nodeType": "VariableDeclaration",
"scope": 2796,
"src": "1279:14:28",
"scope": 3435,
"src": "1232:14:29",
"stateVariable": false,

@@ -989,6 +974,6 @@ "storageLocation": "default",

"typeName": {
"id": 2790,
"id": 3429,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1279:7:28",
"src": "1232:7:29",
"typeDescriptions": {

@@ -1002,6 +987,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1278:16:28"
"src": "1231:16:29"
},
"returnParameters": {
"id": 2795,
"id": 3434,
"nodeType": "ParameterList",

@@ -1011,3 +996,3 @@ "parameters": [

"constant": false,
"id": 2794,
"id": 3433,
"mutability": "mutable",

@@ -1017,4 +1002,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2796,
"src": "1313:7:28",
"scope": 3435,
"src": "1266:7:29",
"stateVariable": false,

@@ -1027,6 +1012,6 @@ "storageLocation": "default",

"typeName": {
"id": 2793,
"id": 3432,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1313:7:28",
"src": "1266:7:29",
"typeDescriptions": {

@@ -1040,6 +1025,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1312:9:28"
"src": "1265:9:29"
},
"scope": 2831,
"src": "1262:60:28",
"scope": 3470,
"src": "1215:60:29",
"stateMutability": "nonpayable",

@@ -1051,3 +1036,3 @@ "virtual": false,

"functionSelector": "2e1a7d4d",
"id": 2803,
"id": 3442,
"implemented": false,

@@ -1057,6 +1042,6 @@ "kind": "function",

"name": "withdraw",
"nameLocation": "1387:8:28",
"nameLocation": "1340:8:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2799,
"id": 3438,
"nodeType": "ParameterList",

@@ -1066,9 +1051,9 @@ "parameters": [

"constant": false,
"id": 2798,
"id": 3437,
"mutability": "mutable",
"name": "amount",
"nameLocation": "1404:6:28",
"nameLocation": "1357:6:29",
"nodeType": "VariableDeclaration",
"scope": 2803,
"src": "1396:14:28",
"scope": 3442,
"src": "1349:14:29",
"stateVariable": false,

@@ -1081,6 +1066,6 @@ "storageLocation": "default",

"typeName": {
"id": 2797,
"id": 3436,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1396:7:28",
"src": "1349:7:29",
"typeDescriptions": {

@@ -1094,6 +1079,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1395:16:28"
"src": "1348:16:29"
},
"returnParameters": {
"id": 2802,
"id": 3441,
"nodeType": "ParameterList",

@@ -1103,3 +1088,3 @@ "parameters": [

"constant": false,
"id": 2801,
"id": 3440,
"mutability": "mutable",

@@ -1109,4 +1094,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2803,
"src": "1430:7:28",
"scope": 3442,
"src": "1383:7:29",
"stateVariable": false,

@@ -1119,6 +1104,6 @@ "storageLocation": "default",

"typeName": {
"id": 2800,
"id": 3439,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1430:7:28",
"src": "1383:7:29",
"typeDescriptions": {

@@ -1132,6 +1117,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1429:9:28"
"src": "1382:9:29"
},
"scope": 2831,
"src": "1378:61:28",
"scope": 3470,
"src": "1331:61:29",
"stateMutability": "nonpayable",

@@ -1143,3 +1128,3 @@ "virtual": false,

"functionSelector": "853828b6",
"id": 2808,
"id": 3447,
"implemented": false,

@@ -1149,12 +1134,12 @@ "kind": "function",

"name": "withdrawAll",
"nameLocation": "1496:11:28",
"nameLocation": "1449:11:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2804,
"id": 3443,
"nodeType": "ParameterList",
"parameters": [],
"src": "1507:2:28"
"src": "1460:2:29"
},
"returnParameters": {
"id": 2807,
"id": 3446,
"nodeType": "ParameterList",

@@ -1164,3 +1149,3 @@ "parameters": [

"constant": false,
"id": 2806,
"id": 3445,
"mutability": "mutable",

@@ -1170,4 +1155,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2808,
"src": "1528:7:28",
"scope": 3447,
"src": "1481:7:29",
"stateVariable": false,

@@ -1180,6 +1165,6 @@ "storageLocation": "default",

"typeName": {
"id": 2805,
"id": 3444,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1528:7:28",
"src": "1481:7:29",
"typeDescriptions": {

@@ -1193,6 +1178,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1527:9:28"
"src": "1480:9:29"
},
"scope": 2831,
"src": "1487:50:28",
"scope": 3470,
"src": "1440:50:29",
"stateMutability": "nonpayable",

@@ -1204,3 +1189,3 @@ "virtual": false,

"functionSelector": "2a1bbc34",
"id": 2813,
"id": 3452,
"implemented": false,

@@ -1210,12 +1195,12 @@ "kind": "function",

"name": "generate",
"nameLocation": "1612:8:28",
"nameLocation": "1565:8:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2809,
"id": 3448,
"nodeType": "ParameterList",
"parameters": [],
"src": "1620:2:28"
"src": "1573:2:29"
},
"returnParameters": {
"id": 2812,
"id": 3451,
"nodeType": "ParameterList",

@@ -1225,3 +1210,3 @@ "parameters": [

"constant": false,
"id": 2811,
"id": 3450,
"mutability": "mutable",

@@ -1231,4 +1216,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2813,
"src": "1641:7:28",
"scope": 3452,
"src": "1594:7:29",
"stateVariable": false,

@@ -1241,6 +1226,6 @@ "storageLocation": "default",

"typeName": {
"id": 2810,
"id": 3449,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1641:7:28",
"src": "1594:7:29",
"typeDescriptions": {

@@ -1254,6 +1239,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1640:9:28"
"src": "1593:9:29"
},
"scope": 2831,
"src": "1603:47:28",
"scope": 3470,
"src": "1556:47:29",
"stateMutability": "nonpayable",

@@ -1265,3 +1250,3 @@ "virtual": false,

"functionSelector": "e20ccec3",
"id": 2818,
"id": 3457,
"implemented": false,

@@ -1271,12 +1256,12 @@ "kind": "function",

"name": "pending",
"nameLocation": "1705:7:28",
"nameLocation": "1658:7:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2814,
"id": 3453,
"nodeType": "ParameterList",
"parameters": [],
"src": "1712:2:28"
"src": "1665:2:29"
},
"returnParameters": {
"id": 2817,
"id": 3456,
"nodeType": "ParameterList",

@@ -1286,3 +1271,3 @@ "parameters": [

"constant": false,
"id": 2816,
"id": 3455,
"mutability": "mutable",

@@ -1292,4 +1277,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2818,
"src": "1733:7:28",
"scope": 3457,
"src": "1686:7:29",
"stateVariable": false,

@@ -1302,6 +1287,6 @@ "storageLocation": "default",

"typeName": {
"id": 2815,
"id": 3454,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1733:7:28",
"src": "1686:7:29",
"typeDescriptions": {

@@ -1315,6 +1300,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1732:9:28"
"src": "1685:9:29"
},
"scope": 2831,
"src": "1696:46:28",
"scope": 3470,
"src": "1649:46:29",
"stateMutability": "nonpayable",

@@ -1326,3 +1311,3 @@ "virtual": false,

"functionSelector": "d7820452",
"id": 2825,
"id": 3464,
"implemented": false,

@@ -1332,6 +1317,6 @@ "kind": "function",

"name": "pendingFor",
"nameLocation": "1819:10:28",
"nameLocation": "1772:10:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2821,
"id": 3460,
"nodeType": "ParameterList",

@@ -1341,9 +1326,9 @@ "parameters": [

"constant": false,
"id": 2820,
"id": 3459,
"mutability": "mutable",
"name": "addr",
"nameLocation": "1838:4:28",
"nameLocation": "1791:4:29",
"nodeType": "VariableDeclaration",
"scope": 2825,
"src": "1830:12:28",
"scope": 3464,
"src": "1783:12:29",
"stateVariable": false,

@@ -1356,6 +1341,6 @@ "storageLocation": "default",

"typeName": {
"id": 2819,
"id": 3458,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1830:7:28",
"src": "1783:7:29",
"stateMutability": "nonpayable",

@@ -1370,6 +1355,6 @@ "typeDescriptions": {

],
"src": "1829:14:28"
"src": "1782:14:29"
},
"returnParameters": {
"id": 2824,
"id": 3463,
"nodeType": "ParameterList",

@@ -1379,3 +1364,3 @@ "parameters": [

"constant": false,
"id": 2823,
"id": 3462,
"mutability": "mutable",

@@ -1385,4 +1370,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2825,
"src": "1862:7:28",
"scope": 3464,
"src": "1815:7:29",
"stateVariable": false,

@@ -1395,6 +1380,6 @@ "storageLocation": "default",

"typeName": {
"id": 2822,
"id": 3461,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1862:7:28",
"src": "1815:7:29",
"typeDescriptions": {

@@ -1408,6 +1393,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1861:9:28"
"src": "1814:9:29"
},
"scope": 2831,
"src": "1810:61:28",
"scope": 3470,
"src": "1763:61:29",
"stateMutability": "nonpayable",

@@ -1419,3 +1404,3 @@ "virtual": false,

"functionSelector": "48a0d754",
"id": 2830,
"id": 3469,
"implemented": false,

@@ -1425,12 +1410,12 @@ "kind": "function",

"name": "available",
"nameLocation": "1967:9:28",
"nameLocation": "1920:9:29",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2826,
"id": 3465,
"nodeType": "ParameterList",
"parameters": [],
"src": "1976:2:28"
"src": "1929:2:29"
},
"returnParameters": {
"id": 2829,
"id": 3468,
"nodeType": "ParameterList",

@@ -1440,3 +1425,3 @@ "parameters": [

"constant": false,
"id": 2828,
"id": 3467,
"mutability": "mutable",

@@ -1446,4 +1431,4 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2830,
"src": "1997:7:28",
"scope": 3469,
"src": "1950:7:29",
"stateVariable": false,

@@ -1456,6 +1441,6 @@ "storageLocation": "default",

"typeName": {
"id": 2827,
"id": 3466,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1997:7:28",
"src": "1950:7:29",
"typeDescriptions": {

@@ -1469,6 +1454,6 @@ "typeIdentifier": "t_uint256",

],
"src": "1996:9:28"
"src": "1949:9:29"
},
"scope": 2831,
"src": "1958:48:28",
"scope": 3470,
"src": "1911:48:29",
"stateMutability": "nonpayable",

@@ -1479,4 +1464,4 @@ "virtual": false,

],
"scope": 2832,
"src": "287:1721:28",
"scope": 3471,
"src": "230:1731:29",
"usedErrors": [],

@@ -1486,11 +1471,11 @@ "usedEvents": []

],
"src": "36:1973:28"
"src": "36:1926:29"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.406Z",
"updatedAt": "2023-11-18T19:59:10.467Z",
"devdoc": {

@@ -1497,0 +1482,0 @@ "kind": "dev",

{
"contractName": "PercentConstants",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/libraries/PercentConstants.sol\":\"PercentConstants\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/libraries/PercentConstants.sol\":{\"keccak256\":\"0x998e958c829d53ada3fbcc4503b94e64b0ad0750115db7a3daee413ba0d0cc7a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03199abe5617a199341a0bd6dedd14dc380a264765351d635f7d31ea401b53e4\",\"dweb:/ipfs/QmTm5JK7BVdxcje9ad5R1Aq84WTauo6GBuku9hJHayDRhA\"]}},\"version\":1}",
"bytecode": "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a54a27bad292ac4b91b18f8e722e7a308a5776635fc63e27e829a7fc1500735964736f6c63430008160033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a54a27bad292ac4b91b18f8e722e7a308a5776635fc63e27e829a7fc1500735964736f6c63430008160033",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/libraries/PercentConstants.sol\":\"PercentConstants\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/libraries/PercentConstants.sol\":{\"keccak256\":\"0x998e958c829d53ada3fbcc4503b94e64b0ad0750115db7a3daee413ba0d0cc7a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03199abe5617a199341a0bd6dedd14dc380a264765351d635f7d31ea401b53e4\",\"dweb:/ipfs/QmTm5JK7BVdxcje9ad5R1Aq84WTauo6GBuku9hJHayDRhA\"]}},\"version\":1}",
"bytecode": "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fa6a87fef53ee61825d5aa56e15a4833b762dd2c2869da69ed6fa2722c91542f64736f6c63430008170033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fa6a87fef53ee61825d5aa56e15a4833b762dd2c2869da69ed6fa2722c91542f64736f6c63430008170033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "61:117:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "61:117:23:-:0;;;;;;;;",
"sourceMap": "61:117:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "61:117:24:-:0;;;;;;;;",
"source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.0;\n\nlibrary PercentConstants {\n uint256 constant PERCENT_DIV = 100;\n uint256 constant MICRO_PERCENT_DIV = 100000;\n}\n",

@@ -18,6 +18,6 @@ "sourcePath": "/Users/arietrouw/GitHub/XYOracleNetwork/sdk-xyo-typechain/packages/solidity/src/libraries/PercentConstants.sol",

"PercentConstants": [
2454
3094
]
},
"id": 2455,
"id": 3095,
"license": "GPL-3.0",

@@ -27,3 +27,3 @@ "nodeType": "SourceUnit",

{
"id": 2447,
"id": 3087,
"literals": [

@@ -36,3 +36,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:23"
"src": "36:23:24"
},

@@ -46,8 +46,8 @@ {

"fullyImplemented": true,
"id": 2454,
"id": 3094,
"linearizedBaseContracts": [
2454
3094
],
"name": "PercentConstants",
"nameLocation": "69:16:23",
"nameLocation": "69:16:24",
"nodeType": "ContractDefinition",

@@ -57,9 +57,9 @@ "nodes": [

"constant": true,
"id": 2450,
"id": 3090,
"mutability": "constant",
"name": "PERCENT_DIV",
"nameLocation": "109:11:23",
"nameLocation": "109:11:24",
"nodeType": "VariableDeclaration",
"scope": 2454,
"src": "92:34:23",
"scope": 3094,
"src": "92:34:24",
"stateVariable": true,

@@ -72,6 +72,6 @@ "storageLocation": "default",

"typeName": {
"id": 2448,
"id": 3088,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "92:7:23",
"src": "92:7:24",
"typeDescriptions": {

@@ -84,3 +84,3 @@ "typeIdentifier": "t_uint256",

"hexValue": "313030",
"id": 2449,
"id": 3089,
"isConstant": false,

@@ -92,3 +92,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "123:3:23",
"src": "123:3:24",
"typeDescriptions": {

@@ -104,9 +104,9 @@ "typeIdentifier": "t_rational_100_by_1",

"constant": true,
"id": 2453,
"id": 3093,
"mutability": "constant",
"name": "MICRO_PERCENT_DIV",
"nameLocation": "149:17:23",
"nameLocation": "149:17:24",
"nodeType": "VariableDeclaration",
"scope": 2454,
"src": "132:43:23",
"scope": 3094,
"src": "132:43:24",
"stateVariable": true,

@@ -119,6 +119,6 @@ "storageLocation": "default",

"typeName": {
"id": 2451,
"id": 3091,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "132:7:23",
"src": "132:7:24",
"typeDescriptions": {

@@ -131,3 +131,3 @@ "typeIdentifier": "t_uint256",

"hexValue": "313030303030",
"id": 2452,
"id": 3092,
"isConstant": false,

@@ -139,3 +139,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "169:6:23",
"src": "169:6:24",
"typeDescriptions": {

@@ -150,4 +150,4 @@ "typeIdentifier": "t_rational_100000_by_1",

],
"scope": 2455,
"src": "61:117:23",
"scope": 3095,
"src": "61:117:24",
"usedErrors": [],

@@ -157,11 +157,11 @@ "usedEvents": []

],
"src": "36:143:23"
"src": "36:143:24"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.403Z",
"updatedAt": "2023-11-18T19:59:10.465Z",
"devdoc": {

@@ -168,0 +168,0 @@ "kind": "dev",

@@ -138,3 +138,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"answerHash\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"answer\",\"type\":\"bytes[]\"}],\"name\":\"answer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"json\",\"type\":\"bytes[]\"}],\"name\":\"challenge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"diviner\",\"type\":\"address\"}],\"name\":\"maxUnstake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"promises\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumStake\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"verifyDelay\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDelay\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"answerHash\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/promise/contracts/Promises.sol\":\"Promises\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/promise/contracts/Promises.sol\":{\"keccak256\":\"0x93bb4c48b68b164f0491eebb37155cf0e97d84d6f768bdac805af09317851044\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8d52608667c752175421240e8209a4742873b973f460d199229d29193cb6e020\",\"dweb:/ipfs/QmWZnaUor1ZvKbRtbu69zxzR4NffcnCihdW1zeqz11sV1Q\"]},\"project:/src/promise/interfaces/IPromises.sol\":{\"keccak256\":\"0x7c36aeb1e93dbdbb4662f9bd81a086a964b41f7b2d99d49289f0f59f6620c7f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a157d3bf68745e9d7aa2931d3b5fa81afbf255742e638c130396c3b3caa7681f\",\"dweb:/ipfs/QmXXYdhce49zLYziWjSio2yH8e6dPSZvLuJxZpn6XFFCfm\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"answerHash\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"answer\",\"type\":\"bytes[]\"}],\"name\":\"answer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"json\",\"type\":\"bytes[]\"}],\"name\":\"challenge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"diviner\",\"type\":\"address\"}],\"name\":\"maxUnstake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"promises\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minimumStake\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"verifyDelay\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDelay\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"answerHash\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/promise/contracts/Promises.sol\":\"Promises\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/promise/contracts/Promises.sol\":{\"keccak256\":\"0x93bb4c48b68b164f0491eebb37155cf0e97d84d6f768bdac805af09317851044\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8d52608667c752175421240e8209a4742873b973f460d199229d29193cb6e020\",\"dweb:/ipfs/QmWZnaUor1ZvKbRtbu69zxzR4NffcnCihdW1zeqz11sV1Q\"]},\"project:/src/promise/interfaces/IPromises.sol\":{\"keccak256\":\"0x7c36aeb1e93dbdbb4662f9bd81a086a964b41f7b2d99d49289f0f59f6620c7f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a157d3bf68745e9d7aa2931d3b5fa81afbf255742e638c130396c3b3caa7681f\",\"dweb:/ipfs/QmXXYdhce49zLYziWjSio2yH8e6dPSZvLuJxZpn6XFFCfm\"]}},\"version\":1}",
"bytecode": "0x",

@@ -153,9 +153,9 @@ "deployedBytecode": "0x",

"IPromises": [
2735
3375
],
"Promises": [
2692
3332
]
},
"id": 2693,
"id": 3333,
"license": "GPL-3.0",

@@ -165,3 +165,3 @@ "nodeType": "SourceUnit",

{
"id": 2668,
"id": 3308,
"literals": [

@@ -174,3 +174,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:26"
"src": "36:23:27"
},

@@ -180,8 +180,8 @@ {

"file": "../interfaces/IPromises.sol",
"id": 2669,
"id": 3309,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2693,
"sourceUnit": 2736,
"src": "61:37:26",
"scope": 3333,
"sourceUnit": 3376,
"src": "61:37:27",
"symbolAliases": [],

@@ -195,14 +195,14 @@ "unitAlias": ""

"baseName": {
"id": 2670,
"id": 3310,
"name": "IPromises",
"nameLocations": [
"130:9:26"
"130:9:27"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 2735,
"src": "130:9:26"
"referencedDeclaration": 3375,
"src": "130:9:27"
},
"id": 2671,
"id": 3311,
"nodeType": "InheritanceSpecifier",
"src": "130:9:26"
"src": "130:9:27"
}

@@ -214,9 +214,9 @@ ],

"fullyImplemented": false,
"id": 2692,
"id": 3332,
"linearizedBaseContracts": [
2692,
2735
3332,
3375
],
"name": "Promises",
"nameLocation": "118:8:26",
"nameLocation": "118:8:27",
"nodeType": "ContractDefinition",

@@ -226,13 +226,13 @@ "nodes": [

"canonicalName": "Promises.Promise",
"id": 2686,
"id": 3326,
"members": [
{
"constant": false,
"id": 2673,
"id": 3313,
"mutability": "mutable",
"name": "minimumStake",
"nameLocation": "269:12:26",
"nameLocation": "269:12:27",
"nodeType": "VariableDeclaration",
"scope": 2686,
"src": "261:20:26",
"scope": 3326,
"src": "261:20:27",
"stateVariable": false,

@@ -245,6 +245,6 @@ "storageLocation": "default",

"typeName": {
"id": 2672,
"id": 3312,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "261:7:26",
"src": "261:7:27",
"typeDescriptions": {

@@ -259,9 +259,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2675,
"id": 3315,
"mutability": "mutable",
"name": "verifyDelay",
"nameLocation": "397:11:26",
"nameLocation": "397:11:27",
"nodeType": "VariableDeclaration",
"scope": 2686,
"src": "390:18:26",
"scope": 3326,
"src": "390:18:27",
"stateVariable": false,

@@ -274,6 +274,6 @@ "storageLocation": "default",

"typeName": {
"id": 2674,
"id": 3314,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "390:6:26",
"src": "390:6:27",
"typeDescriptions": {

@@ -288,9 +288,9 @@ "typeIdentifier": "t_uint32",

"constant": false,
"id": 2677,
"id": 3317,
"mutability": "mutable",
"name": "expireDelay",
"nameLocation": "507:11:26",
"nameLocation": "507:11:27",
"nodeType": "VariableDeclaration",
"scope": 2686,
"src": "500:18:26",
"scope": 3326,
"src": "500:18:27",
"stateVariable": false,

@@ -303,6 +303,6 @@ "storageLocation": "default",

"typeName": {
"id": 2676,
"id": 3316,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "500:6:26",
"src": "500:6:27",
"typeDescriptions": {

@@ -317,9 +317,9 @@ "typeIdentifier": "t_uint32",

"constant": false,
"id": 2679,
"id": 3319,
"mutability": "mutable",
"name": "answerHash",
"nameLocation": "536:10:26",
"nameLocation": "536:10:27",
"nodeType": "VariableDeclaration",
"scope": 2686,
"src": "528:18:26",
"scope": 3326,
"src": "528:18:27",
"stateVariable": false,

@@ -332,6 +332,6 @@ "storageLocation": "default",

"typeName": {
"id": 2678,
"id": 3318,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "528:7:26",
"src": "528:7:27",
"typeDescriptions": {

@@ -346,9 +346,9 @@ "typeIdentifier": "t_uint256",

"constant": false,
"id": 2682,
"id": 3322,
"mutability": "mutable",
"name": "answer",
"nameLocation": "566:6:26",
"nameLocation": "566:6:27",
"nodeType": "VariableDeclaration",
"scope": 2686,
"src": "556:16:26",
"scope": 3326,
"src": "556:16:27",
"stateVariable": false,

@@ -362,6 +362,6 @@ "storageLocation": "default",

"baseType": {
"id": 2680,
"id": 3320,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "556:7:26",
"src": "556:7:27",
"typeDescriptions": {

@@ -372,5 +372,5 @@ "typeIdentifier": "t_uint256",

},
"id": 2681,
"id": 3321,
"nodeType": "ArrayTypeName",
"src": "556:9:26",
"src": "556:9:27",
"typeDescriptions": {

@@ -385,9 +385,9 @@ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",

"constant": false,
"id": 2685,
"id": 3325,
"mutability": "mutable",
"name": "paths",
"nameLocation": "639:5:26",
"nameLocation": "639:5:27",
"nodeType": "VariableDeclaration",
"scope": 2686,
"src": "631:13:26",
"scope": 3326,
"src": "631:13:27",
"stateVariable": false,

@@ -401,6 +401,6 @@ "storageLocation": "default",

"baseType": {
"id": 2683,
"id": 3323,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "631:5:26",
"src": "631:5:27",
"typeDescriptions": {

@@ -411,5 +411,5 @@ "typeIdentifier": "t_bytes_storage_ptr",

},
"id": 2684,
"id": 3324,
"nodeType": "ArrayTypeName",
"src": "631:7:26",
"src": "631:7:27",
"typeDescriptions": {

@@ -424,6 +424,6 @@ "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",

"name": "Promise",
"nameLocation": "153:7:26",
"nameLocation": "153:7:27",
"nodeType": "StructDefinition",
"scope": 2692,
"src": "146:505:26",
"scope": 3332,
"src": "146:505:27",
"visibility": "public"

@@ -434,24 +434,24 @@ },

"functionSelector": "1f06c859",
"id": 2691,
"id": 3331,
"mutability": "mutable",
"name": "promises",
"nameLocation": "692:8:26",
"nameLocation": "692:8:27",
"nodeType": "VariableDeclaration",
"scope": 2692,
"src": "657:43:26",
"scope": 3332,
"src": "657:43:27",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$2686_storage_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$3326_storage_$",
"typeString": "mapping(uint256 => struct Promises.Promise)"
},
"typeName": {
"id": 2690,
"id": 3330,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2687,
"id": 3327,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "665:7:26",
"src": "665:7:27",
"typeDescriptions": {

@@ -463,5 +463,5 @@ "typeIdentifier": "t_uint256",

"nodeType": "Mapping",
"src": "657:27:26",
"src": "657:27:27",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$2686_storage_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$3326_storage_$",
"typeString": "mapping(uint256 => struct Promises.Promise)"

@@ -472,18 +472,18 @@ },

"valueType": {
"id": 2689,
"id": 3329,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2688,
"id": 3328,
"name": "Promise",
"nameLocations": [
"676:7:26"
"676:7:27"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 2686,
"src": "676:7:26"
"referencedDeclaration": 3326,
"src": "676:7:27"
},
"referencedDeclaration": 2686,
"src": "676:7:26",
"referencedDeclaration": 3326,
"src": "676:7:27",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Promise_$2686_storage_ptr",
"typeIdentifier": "t_struct$_Promise_$3326_storage_ptr",
"typeString": "struct Promises.Promise"

@@ -496,4 +496,4 @@ }

],
"scope": 2693,
"src": "100:603:26",
"scope": 3333,
"src": "100:603:27",
"usedErrors": [],

@@ -503,11 +503,11 @@ "usedEvents": []

],
"src": "36:668:26"
"src": "36:668:27"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.405Z",
"updatedAt": "2023-11-18T19:59:10.466Z",
"devdoc": {

@@ -514,0 +514,0 @@ "kind": "dev",

{
"contractName": "TimeConstants",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/libraries/TimeConstants.sol\":\"TimeConstants\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/libraries/TimeConstants.sol\":{\"keccak256\":\"0xbd6b757282bb1932d10ca2e5cb8cdeaa5836fd7ca54077394359676f527e951a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://325424e5edf837871505b88252835a2afe5e367a59d657dccb31b74b12ab2101\",\"dweb:/ipfs/QmPhE8ZpYBUvFUg1ztVhiLCeUoVrw4JgwFZC7NxmMiSBs9\"]}},\"version\":1}",
"bytecode": "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a2447eb4aa6549ebaf2b54f60e750dac73747dd5ea9568e6ead2442e429f700264736f6c63430008160033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a2447eb4aa6549ebaf2b54f60e750dac73747dd5ea9568e6ead2442e429f700264736f6c63430008160033",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/src/libraries/TimeConstants.sol\":\"TimeConstants\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/src/libraries/TimeConstants.sol\":{\"keccak256\":\"0xbd6b757282bb1932d10ca2e5cb8cdeaa5836fd7ca54077394359676f527e951a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://325424e5edf837871505b88252835a2afe5e367a59d657dccb31b74b12ab2101\",\"dweb:/ipfs/QmPhE8ZpYBUvFUg1ztVhiLCeUoVrw4JgwFZC7NxmMiSBs9\"]}},\"version\":1}",
"bytecode": "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202fbd05ed0a6a4e51c58b45f07a78e512be1994ed2e6b387015fccfd1b16b0ad364736f6c63430008170033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202fbd05ed0a6a4e51c58b45f07a78e512be1994ed2e6b387015fccfd1b16b0ad364736f6c63430008170033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "61:353:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "61:353:25:-:0;;;;;;;;",
"sourceMap": "61:353:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "61:353:26:-:0;;;;;;;;",
"source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.0;\n\nlibrary TimeConstants {\n uint32 constant SECONDS_IN_MINUTE = 60;\n uint32 constant MINUTES_IN_HOUR = 60;\n uint32 constant MINUTES_IN_DAY = 24 * MINUTES_IN_HOUR;\n uint32 constant MINUTES_IN_WEEK = 7 * MINUTES_IN_DAY;\n uint32 constant MINUTES_IN_QUARTER = 13 * MINUTES_IN_WEEK;\n uint32 constant MINUTES_IN_YEAR = 4 * MINUTES_IN_QUARTER;\n}\n",

@@ -18,6 +18,6 @@ "sourcePath": "/Users/arietrouw/GitHub/XYOracleNetwork/sdk-xyo-typechain/packages/solidity/src/libraries/TimeConstants.sol",

"TimeConstants": [
2666
3306
]
},
"id": 2667,
"id": 3307,
"license": "GPL-3.0",

@@ -27,3 +27,3 @@ "nodeType": "SourceUnit",

{
"id": 2639,
"id": 3279,
"literals": [

@@ -36,3 +36,3 @@ "solidity",

"nodeType": "PragmaDirective",
"src": "36:23:25"
"src": "36:23:26"
},

@@ -46,8 +46,8 @@ {

"fullyImplemented": true,
"id": 2666,
"id": 3306,
"linearizedBaseContracts": [
2666
3306
],
"name": "TimeConstants",
"nameLocation": "69:13:25",
"nameLocation": "69:13:26",
"nodeType": "ContractDefinition",

@@ -57,9 +57,9 @@ "nodes": [

"constant": true,
"id": 2642,
"id": 3282,
"mutability": "constant",
"name": "SECONDS_IN_MINUTE",
"nameLocation": "105:17:25",
"nameLocation": "105:17:26",
"nodeType": "VariableDeclaration",
"scope": 2666,
"src": "89:38:25",
"scope": 3306,
"src": "89:38:26",
"stateVariable": true,

@@ -72,6 +72,6 @@ "storageLocation": "default",

"typeName": {
"id": 2640,
"id": 3280,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "89:6:25",
"src": "89:6:26",
"typeDescriptions": {

@@ -84,3 +84,3 @@ "typeIdentifier": "t_uint32",

"hexValue": "3630",
"id": 2641,
"id": 3281,
"isConstant": false,

@@ -92,3 +92,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "125:2:25",
"src": "125:2:26",
"typeDescriptions": {

@@ -104,9 +104,9 @@ "typeIdentifier": "t_rational_60_by_1",

"constant": true,
"id": 2645,
"id": 3285,
"mutability": "constant",
"name": "MINUTES_IN_HOUR",
"nameLocation": "149:15:25",
"nameLocation": "149:15:26",
"nodeType": "VariableDeclaration",
"scope": 2666,
"src": "133:36:25",
"scope": 3306,
"src": "133:36:26",
"stateVariable": true,

@@ -119,6 +119,6 @@ "storageLocation": "default",

"typeName": {
"id": 2643,
"id": 3283,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "133:6:25",
"src": "133:6:26",
"typeDescriptions": {

@@ -131,3 +131,3 @@ "typeIdentifier": "t_uint32",

"hexValue": "3630",
"id": 2644,
"id": 3284,
"isConstant": false,

@@ -139,3 +139,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "167:2:25",
"src": "167:2:26",
"typeDescriptions": {

@@ -151,9 +151,9 @@ "typeIdentifier": "t_rational_60_by_1",

"constant": true,
"id": 2650,
"id": 3290,
"mutability": "constant",
"name": "MINUTES_IN_DAY",
"nameLocation": "191:14:25",
"nameLocation": "191:14:26",
"nodeType": "VariableDeclaration",
"scope": 2666,
"src": "175:53:25",
"scope": 3306,
"src": "175:53:26",
"stateVariable": true,

@@ -166,6 +166,6 @@ "storageLocation": "default",

"typeName": {
"id": 2646,
"id": 3286,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "175:6:25",
"src": "175:6:26",
"typeDescriptions": {

@@ -181,3 +181,3 @@ "typeIdentifier": "t_uint32",

},
"id": 2649,
"id": 3289,
"isConstant": false,

@@ -189,3 +189,3 @@ "isLValue": false,

"hexValue": "3234",
"id": 2647,
"id": 3287,
"isConstant": false,

@@ -197,3 +197,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "208:2:25",
"src": "208:2:26",
"typeDescriptions": {

@@ -208,8 +208,8 @@ "typeIdentifier": "t_rational_24_by_1",

"rightExpression": {
"id": 2648,
"id": 3288,
"name": "MINUTES_IN_HOUR",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2645,
"src": "213:15:25",
"referencedDeclaration": 3285,
"src": "213:15:26",
"typeDescriptions": {

@@ -220,3 +220,3 @@ "typeIdentifier": "t_uint32",

},
"src": "208:20:25",
"src": "208:20:26",
"typeDescriptions": {

@@ -231,9 +231,9 @@ "typeIdentifier": "t_uint32",

"constant": true,
"id": 2655,
"id": 3295,
"mutability": "constant",
"name": "MINUTES_IN_WEEK",
"nameLocation": "250:15:25",
"nameLocation": "250:15:26",
"nodeType": "VariableDeclaration",
"scope": 2666,
"src": "234:52:25",
"scope": 3306,
"src": "234:52:26",
"stateVariable": true,

@@ -246,6 +246,6 @@ "storageLocation": "default",

"typeName": {
"id": 2651,
"id": 3291,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "234:6:25",
"src": "234:6:26",
"typeDescriptions": {

@@ -261,3 +261,3 @@ "typeIdentifier": "t_uint32",

},
"id": 2654,
"id": 3294,
"isConstant": false,

@@ -269,3 +269,3 @@ "isLValue": false,

"hexValue": "37",
"id": 2652,
"id": 3292,
"isConstant": false,

@@ -277,3 +277,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "268:1:25",
"src": "268:1:26",
"typeDescriptions": {

@@ -288,8 +288,8 @@ "typeIdentifier": "t_rational_7_by_1",

"rightExpression": {
"id": 2653,
"id": 3293,
"name": "MINUTES_IN_DAY",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2650,
"src": "272:14:25",
"referencedDeclaration": 3290,
"src": "272:14:26",
"typeDescriptions": {

@@ -300,3 +300,3 @@ "typeIdentifier": "t_uint32",

},
"src": "268:18:25",
"src": "268:18:26",
"typeDescriptions": {

@@ -311,9 +311,9 @@ "typeIdentifier": "t_uint32",

"constant": true,
"id": 2660,
"id": 3300,
"mutability": "constant",
"name": "MINUTES_IN_QUARTER",
"nameLocation": "308:18:25",
"nameLocation": "308:18:26",
"nodeType": "VariableDeclaration",
"scope": 2666,
"src": "292:57:25",
"scope": 3306,
"src": "292:57:26",
"stateVariable": true,

@@ -326,6 +326,6 @@ "storageLocation": "default",

"typeName": {
"id": 2656,
"id": 3296,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "292:6:25",
"src": "292:6:26",
"typeDescriptions": {

@@ -341,3 +341,3 @@ "typeIdentifier": "t_uint32",

},
"id": 2659,
"id": 3299,
"isConstant": false,

@@ -349,3 +349,3 @@ "isLValue": false,

"hexValue": "3133",
"id": 2657,
"id": 3297,
"isConstant": false,

@@ -357,3 +357,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "329:2:25",
"src": "329:2:26",
"typeDescriptions": {

@@ -368,8 +368,8 @@ "typeIdentifier": "t_rational_13_by_1",

"rightExpression": {
"id": 2658,
"id": 3298,
"name": "MINUTES_IN_WEEK",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2655,
"src": "334:15:25",
"referencedDeclaration": 3295,
"src": "334:15:26",
"typeDescriptions": {

@@ -380,3 +380,3 @@ "typeIdentifier": "t_uint32",

},
"src": "329:20:25",
"src": "329:20:26",
"typeDescriptions": {

@@ -391,9 +391,9 @@ "typeIdentifier": "t_uint32",

"constant": true,
"id": 2665,
"id": 3305,
"mutability": "constant",
"name": "MINUTES_IN_YEAR",
"nameLocation": "371:15:25",
"nameLocation": "371:15:26",
"nodeType": "VariableDeclaration",
"scope": 2666,
"src": "355:56:25",
"scope": 3306,
"src": "355:56:26",
"stateVariable": true,

@@ -406,6 +406,6 @@ "storageLocation": "default",

"typeName": {
"id": 2661,
"id": 3301,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "355:6:25",
"src": "355:6:26",
"typeDescriptions": {

@@ -421,3 +421,3 @@ "typeIdentifier": "t_uint32",

},
"id": 2664,
"id": 3304,
"isConstant": false,

@@ -429,3 +429,3 @@ "isLValue": false,

"hexValue": "34",
"id": 2662,
"id": 3302,
"isConstant": false,

@@ -437,3 +437,3 @@ "isLValue": false,

"nodeType": "Literal",
"src": "389:1:25",
"src": "389:1:26",
"typeDescriptions": {

@@ -448,8 +448,8 @@ "typeIdentifier": "t_rational_4_by_1",

"rightExpression": {
"id": 2663,
"id": 3303,
"name": "MINUTES_IN_QUARTER",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2660,
"src": "393:18:25",
"referencedDeclaration": 3300,
"src": "393:18:26",
"typeDescriptions": {

@@ -460,3 +460,3 @@ "typeIdentifier": "t_uint32",

},
"src": "389:22:25",
"src": "389:22:26",
"typeDescriptions": {

@@ -470,4 +470,4 @@ "typeIdentifier": "t_uint32",

],
"scope": 2667,
"src": "61:353:25",
"scope": 3307,
"src": "61:353:26",
"usedErrors": [],

@@ -477,11 +477,11 @@ "usedEvents": []

],
"src": "36:379:25"
"src": "36:379:26"
},
"compiler": {
"name": "solc",
"version": "0.8.22+commit.4fc1097e.Emscripten.clang"
"version": "0.8.23+commit.f704f362.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.16",
"updatedAt": "2023-10-27T00:48:29.405Z",
"updatedAt": "2023-11-18T19:59:10.466Z",
"devdoc": {

@@ -488,0 +488,0 @@ "kind": "dev",

{
"name": "@xyo-network/solidity",
"dependencies": {
"@openzeppelin/contracts": "^4.9.3"
"@openzeppelin/contracts": "^5.0.0"
},

@@ -23,3 +23,3 @@ "author": {

"devDependencies": {
"@xylabs/ts-scripts-yarn3": "^3.1.13",
"@xylabs/ts-scripts-yarn3": "^3.2.2",
"rimraf": "^5.0.5",

@@ -38,3 +38,3 @@ "truffle": "^5.11.5"

"sideEffects": false,
"version": "2.2.11"
"version": "3.0.0"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc