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.1.6 to 2.2.0

73

build/contracts/Context.json
{
"contractName": "Context",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

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

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

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

@@ -45,3 +45,3 @@ "solidity",

"documentation": {
"id": 1455,
"id": 1550,
"nodeType": "StructuredDocumentation",

@@ -52,5 +52,5 @@ "src": "111:496:7",

"fullyImplemented": true,
"id": 1474,
"id": 1569,
"linearizedBaseContracts": [
1474
1569
],

@@ -63,3 +63,3 @@ "name": "Context",

"body": {
"id": 1463,
"id": 1558,
"nodeType": "Block",

@@ -71,3 +71,3 @@ "src": "702:34:7",

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

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

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

@@ -98,4 +98,4 @@ "isLValue": false,

},
"functionReturnParameters": 1459,
"id": 1462,
"functionReturnParameters": 1554,
"id": 1557,
"nodeType": "Return",

@@ -106,3 +106,3 @@ "src": "712:17:7"

},
"id": 1464,
"id": 1559,
"implemented": true,

@@ -115,3 +115,3 @@ "kind": "function",

"parameters": {
"id": 1456,
"id": 1551,
"nodeType": "ParameterList",

@@ -122,3 +122,3 @@ "parameters": [],

"returnParameters": {
"id": 1459,
"id": 1554,
"nodeType": "ParameterList",

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

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

@@ -134,3 +134,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1464,
"scope": 1559,
"src": "693:7:7",

@@ -144,3 +144,3 @@ "stateVariable": false,

"typeName": {
"id": 1457,
"id": 1552,
"name": "address",

@@ -160,3 +160,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 1474,
"scope": 1569,
"src": "640:96:7",

@@ -169,3 +169,3 @@ "stateMutability": "view",

"body": {
"id": 1472,
"id": 1567,
"nodeType": "Block",

@@ -177,3 +177,3 @@ "src": "809:32:7",

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

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

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

@@ -204,4 +204,4 @@ "isLValue": false,

},
"functionReturnParameters": 1468,
"id": 1471,
"functionReturnParameters": 1563,
"id": 1566,
"nodeType": "Return",

@@ -212,3 +212,3 @@ "src": "819:15:7"

},
"id": 1473,
"id": 1568,
"implemented": true,

@@ -221,3 +221,3 @@ "kind": "function",

"parameters": {
"id": 1465,
"id": 1560,
"nodeType": "ParameterList",

@@ -228,3 +228,3 @@ "parameters": [],

"returnParameters": {
"id": 1468,
"id": 1563,
"nodeType": "ParameterList",

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

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

@@ -240,3 +240,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1473,
"scope": 1568,
"src": "793:14:7",

@@ -250,3 +250,3 @@ "stateVariable": false,

"typeName": {
"id": 1466,
"id": 1561,
"name": "bytes",

@@ -265,3 +265,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 1474,
"scope": 1569,
"src": "742:99:7",

@@ -273,5 +273,6 @@ "stateMutability": "view",

],
"scope": 1475,
"scope": 1570,
"src": "608:235:7",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -283,7 +284,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.212Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.741Z",
"devdoc": {

@@ -290,0 +291,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.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
1863
1958
]
},
"id": 1864,
"id": 1959,
"license": "GPL-3.0",

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

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

@@ -78,5 +78,5 @@ "solidity",

"fullyImplemented": true,
"id": 1863,
"id": 1958,
"linearizedBaseContracts": [
1863
1958
],

@@ -89,3 +89,3 @@ "name": "DataStore",

"constant": false,
"id": 1806,
"id": 1901,
"mutability": "mutable",

@@ -95,3 +95,3 @@ "name": "_data",

"nodeType": "VariableDeclaration",
"scope": 1863,
"scope": 1958,
"src": "95:61:10",

@@ -105,7 +105,7 @@ "stateVariable": true,

"typeName": {
"id": 1805,
"id": 1900,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 1801,
"id": 1896,
"name": "uint256",

@@ -128,7 +128,7 @@ "nodeType": "ElementaryTypeName",

"valueType": {
"id": 1804,
"id": 1899,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 1802,
"id": 1897,
"name": "uint256",

@@ -151,3 +151,3 @@ "nodeType": "ElementaryTypeName",

"valueType": {
"id": 1803,
"id": 1898,
"name": "uint256",

@@ -167,3 +167,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 1821,
"id": 1916,
"nodeType": "Block",

@@ -176,7 +176,7 @@ "src": "267:39:10",

"baseExpression": {
"id": 1815,
"id": 1910,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1806,
"referencedDeclaration": 1901,
"src": "284:5:10",

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

},
"id": 1817,
"id": 1912,
"indexExpression": {
"id": 1816,
"id": 1911,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1808,
"referencedDeclaration": 1903,
"src": "290:2:10",

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

},
"id": 1819,
"id": 1914,
"indexExpression": {
"id": 1818,
"id": 1913,
"name": "slot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1810,
"referencedDeclaration": 1905,
"src": "294:4:10",

@@ -238,4 +238,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 1814,
"id": 1820,
"functionReturnParameters": 1909,
"id": 1915,
"nodeType": "Return",

@@ -246,3 +246,3 @@ "src": "277:22:10"

},
"id": 1822,
"id": 1917,
"implemented": true,

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

"parameters": {
"id": 1811,
"id": 1906,
"nodeType": "ParameterList",

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

"constant": false,
"id": 1808,
"id": 1903,
"mutability": "mutable",

@@ -267,3 +267,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 1822,
"scope": 1917,
"src": "181:10:10",

@@ -277,3 +277,3 @@ "stateVariable": false,

"typeName": {
"id": 1807,
"id": 1902,
"name": "uint256",

@@ -291,3 +291,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 1810,
"id": 1905,
"mutability": "mutable",

@@ -297,3 +297,3 @@ "name": "slot",

"nodeType": "VariableDeclaration",
"scope": 1822,
"scope": 1917,
"src": "193:12:10",

@@ -307,3 +307,3 @@ "stateVariable": false,

"typeName": {
"id": 1809,
"id": 1904,
"name": "uint256",

@@ -323,3 +323,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 1814,
"id": 1909,
"nodeType": "ParameterList",

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

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

@@ -335,3 +335,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1822,
"scope": 1917,
"src": "254:7:10",

@@ -345,3 +345,3 @@ "stateVariable": false,

"typeName": {
"id": 1812,
"id": 1907,
"name": "uint256",

@@ -360,3 +360,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 1863,
"scope": 1958,
"src": "163:143:10",

@@ -370,3 +370,3 @@ "stateMutability": "view",

"eventSelector": "91c51378108a32c94a7a206cd1e68deeb791b7e05c013442933b92b71401011c",
"id": 1832,
"id": 1927,
"name": "DataSet",

@@ -376,3 +376,3 @@ "nameLocation": "318:7:10",

"parameters": {
"id": 1831,
"id": 1926,
"nodeType": "ParameterList",

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

"constant": false,
"id": 1824,
"id": 1919,
"indexed": true,

@@ -389,3 +389,3 @@ "mutability": "mutable",

"nodeType": "VariableDeclaration",
"scope": 1832,
"scope": 1927,
"src": "335:18:10",

@@ -399,3 +399,3 @@ "stateVariable": false,

"typeName": {
"id": 1823,
"id": 1918,
"name": "address",

@@ -414,3 +414,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 1826,
"id": 1921,
"indexed": true,

@@ -421,3 +421,3 @@ "mutability": "mutable",

"nodeType": "VariableDeclaration",
"scope": 1832,
"scope": 1927,
"src": "363:18:10",

@@ -431,3 +431,3 @@ "stateVariable": false,

"typeName": {
"id": 1825,
"id": 1920,
"name": "uint256",

@@ -445,3 +445,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 1828,
"id": 1923,
"indexed": true,

@@ -452,3 +452,3 @@ "mutability": "mutable",

"nodeType": "VariableDeclaration",
"scope": 1832,
"scope": 1927,
"src": "391:20:10",

@@ -462,3 +462,3 @@ "stateVariable": false,

"typeName": {
"id": 1827,
"id": 1922,
"name": "uint256",

@@ -476,3 +476,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 1830,
"id": 1925,
"indexed": false,

@@ -483,3 +483,3 @@ "mutability": "mutable",

"nodeType": "VariableDeclaration",
"scope": 1832,
"scope": 1927,
"src": "421:13:10",

@@ -493,3 +493,3 @@ "stateVariable": false,

"typeName": {
"id": 1829,
"id": 1924,
"name": "uint256",

@@ -512,3 +512,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 1861,
"id": 1956,
"nodeType": "Block",

@@ -519,3 +519,3 @@ "src": "560:112:10",

"expression": {
"id": 1849,
"id": 1944,
"isConstant": false,

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

"baseExpression": {
"id": 1843,
"id": 1938,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1806,
"referencedDeclaration": 1901,
"src": "570:5:10",

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

},
"id": 1846,
"id": 1941,
"indexExpression": {
"id": 1844,
"id": 1939,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1834,
"referencedDeclaration": 1929,
"src": "576:2:10",

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

},
"id": 1847,
"id": 1942,
"indexExpression": {
"id": 1845,
"id": 1940,
"name": "slot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1836,
"referencedDeclaration": 1931,
"src": "580:4:10",

@@ -593,7 +593,7 @@ "typeDescriptions": {

"rightHandSide": {
"id": 1848,
"id": 1943,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1838,
"referencedDeclaration": 1933,
"src": "588:5:10",

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

},
"id": 1850,
"id": 1945,
"nodeType": "ExpressionStatement",

@@ -621,3 +621,3 @@ "src": "570:23:10"

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

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

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

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

{
"id": 1854,
"id": 1949,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1834,
"referencedDeclaration": 1929,
"src": "628:2:10",

@@ -662,7 +662,7 @@ "typeDescriptions": {

{
"id": 1855,
"id": 1950,
"name": "slot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1836,
"referencedDeclaration": 1931,
"src": "632:4:10",

@@ -675,7 +675,7 @@ "typeDescriptions": {

{
"id": 1856,
"id": 1951,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1838,
"referencedDeclaration": 1933,
"src": "638:5:10",

@@ -707,7 +707,7 @@ "typeDescriptions": {

],
"id": 1851,
"id": 1946,
"name": "DataSet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1832,
"referencedDeclaration": 1927,
"src": "608:7:10",

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

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

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

},
"id": 1858,
"id": 1953,
"nodeType": "EmitStatement",

@@ -744,3 +744,3 @@ "src": "603:41:10"

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

@@ -759,4 +759,4 @@ "isLValue": false,

},
"functionReturnParameters": 1842,
"id": 1860,
"functionReturnParameters": 1937,
"id": 1955,
"nodeType": "Return",

@@ -767,3 +767,3 @@ "src": "654:11:10"

},
"id": 1862,
"id": 1957,
"implemented": true,

@@ -776,3 +776,3 @@ "kind": "function",

"parameters": {
"id": 1839,
"id": 1934,
"nodeType": "ParameterList",

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

"constant": false,
"id": 1834,
"id": 1929,
"mutability": "mutable",

@@ -788,3 +788,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 1862,
"scope": 1957,
"src": "474:10:10",

@@ -798,3 +798,3 @@ "stateVariable": false,

"typeName": {
"id": 1833,
"id": 1928,
"name": "uint256",

@@ -812,3 +812,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 1836,
"id": 1931,
"mutability": "mutable",

@@ -818,3 +818,3 @@ "name": "slot",

"nodeType": "VariableDeclaration",
"scope": 1862,
"scope": 1957,
"src": "494:12:10",

@@ -828,3 +828,3 @@ "stateVariable": false,

"typeName": {
"id": 1835,
"id": 1930,
"name": "uint256",

@@ -842,3 +842,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 1838,
"id": 1933,
"mutability": "mutable",

@@ -848,3 +848,3 @@ "name": "value",

"nodeType": "VariableDeclaration",
"scope": 1862,
"scope": 1957,
"src": "516:13:10",

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

"typeName": {
"id": 1837,
"id": 1932,
"name": "uint256",

@@ -874,3 +874,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 1842,
"id": 1937,
"nodeType": "ParameterList",

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

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

@@ -886,3 +886,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1862,
"scope": 1957,
"src": "554:4:10",

@@ -896,3 +896,3 @@ "stateVariable": false,

"typeName": {
"id": 1840,
"id": 1935,
"name": "bool",

@@ -911,3 +911,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 1863,
"scope": 1958,
"src": "447:225:10",

@@ -919,5 +919,8 @@ "stateMutability": "nonpayable",

],
"scope": 1864,
"scope": 1959,
"src": "61:613:10",
"usedErrors": []
"usedErrors": [],
"usedEvents": [
1927
]
}

@@ -929,7 +932,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.213Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.743Z",
"devdoc": {

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

{
"contractName": "Erc721Store",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"Erc721Store": [
2210
2305
],
"IERC165": [
1486
1581
],
"IERC721": [
1122
1217
]
},
"id": 2211,
"id": 2306,
"license": "GPL-3.0",

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

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

@@ -47,7 +47,7 @@ "solidity",

"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 2105,
"id": 2200,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2211,
"sourceUnit": 1123,
"scope": 2306,
"sourceUnit": 1218,
"src": "61:58:15",

@@ -64,5 +64,5 @@ "symbolAliases": [],

"fullyImplemented": true,
"id": 2210,
"id": 2305,
"linearizedBaseContracts": [
2210
2305
],

@@ -75,3 +75,3 @@ "name": "Erc721Store",

"constant": false,
"id": 2114,
"id": 2209,
"mutability": "mutable",

@@ -81,3 +81,3 @@ "name": "_erc721tokenStore",

"nodeType": "VariableDeclaration",
"scope": 2210,
"scope": 2305,
"src": "157:98:15",

@@ -87,11 +87,11 @@ "stateVariable": true,

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
},
"typeName": {
"id": 2113,
"id": 2208,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2106,
"id": 2201,
"name": "uint256",

@@ -108,3 +108,3 @@ "nodeType": "ElementaryTypeName",

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"

@@ -115,10 +115,10 @@ },

"valueType": {
"id": 2112,
"id": 2207,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2108,
"id": 2203,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2107,
"id": 2202,
"name": "IERC721",

@@ -129,9 +129,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "184:7:15"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "184:7:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -143,3 +143,3 @@ }

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"

@@ -150,7 +150,7 @@ },

"valueType": {
"id": 2111,
"id": 2206,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2109,
"id": 2204,
"name": "uint256",

@@ -173,3 +173,3 @@ "nodeType": "ElementaryTypeName",

"valueType": {
"id": 2110,
"id": 2205,
"name": "bool",

@@ -190,3 +190,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 2150,
"id": 2245,
"nodeType": "Block",

@@ -200,3 +200,3 @@ "src": "384:150:15",

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

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

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

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

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

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

"typeDescriptions": {
"typeIdentifier": "t_contract$_Erc721Store_$2210",
"typeIdentifier": "t_contract$_Erc721Store_$2305",
"typeString": "contract Erc721Store"

@@ -247,7 +247,7 @@ }

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

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

"typeName": {
"id": 2131,
"id": 2226,
"name": "address",

@@ -272,3 +272,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2134,
"id": 2229,
"isConstant": false,

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

{
"id": 2135,
"id": 2230,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2121,
"referencedDeclaration": 2216,
"src": "444:7:15",

@@ -319,14 +319,14 @@ "typeDescriptions": {

"expression": {
"id": 2126,
"id": 2221,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2119,
"referencedDeclaration": 2214,
"src": "394:5:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
}
},
"id": 2128,
"id": 2223,
"isConstant": false,

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

"nodeType": "MemberAccess",
"referencedDeclaration": 1077,
"referencedDeclaration": 1172,
"src": "394:22:15",

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

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

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

},
"id": 2137,
"id": 2232,
"nodeType": "ExpressionStatement",

@@ -371,3 +371,3 @@ "src": "394:58:15"

"expression": {
"id": 2146,
"id": 2241,
"isConstant": false,

@@ -381,20 +381,20 @@ "isLValue": false,

"baseExpression": {
"id": 2138,
"id": 2233,
"name": "_erc721tokenStore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"referencedDeclaration": 2209,
"src": "462:17:15",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
}
},
"id": 2142,
"id": 2237,
"indexExpression": {
"id": 2139,
"id": 2234,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2116,
"referencedDeclaration": 2211,
"src": "480:2:15",

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

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"
}
},
"id": 2143,
"id": 2238,
"indexExpression": {
"id": 2140,
"id": 2235,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2119,
"referencedDeclaration": 2214,
"src": "484:5:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -442,9 +442,9 @@ }

},
"id": 2144,
"id": 2239,
"indexExpression": {
"id": 2141,
"id": 2236,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2121,
"referencedDeclaration": 2216,
"src": "491:7:15",

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

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

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

},
"id": 2147,
"id": 2242,
"nodeType": "ExpressionStatement",

@@ -500,3 +500,3 @@ "src": "462:44:15"

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

@@ -515,4 +515,4 @@ "isLValue": false,

},
"functionReturnParameters": 2125,
"id": 2149,
"functionReturnParameters": 2220,
"id": 2244,
"nodeType": "Return",

@@ -523,3 +523,3 @@ "src": "516:11:15"

},
"id": 2151,
"id": 2246,
"implemented": true,

@@ -532,3 +532,3 @@ "kind": "function",

"parameters": {
"id": 2122,
"id": 2217,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2116,
"id": 2211,
"mutability": "mutable",

@@ -544,3 +544,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2151,
"scope": 2246,
"src": "295:10:15",

@@ -554,3 +554,3 @@ "stateVariable": false,

"typeName": {
"id": 2115,
"id": 2210,
"name": "uint256",

@@ -568,3 +568,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2119,
"id": 2214,
"mutability": "mutable",

@@ -574,3 +574,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2151,
"scope": 2246,
"src": "315:13:15",

@@ -580,10 +580,10 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2118,
"id": 2213,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2117,
"id": 2212,
"name": "IERC721",

@@ -594,9 +594,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "315:7:15"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "315:7:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -609,3 +609,3 @@ }

"constant": false,
"id": 2121,
"id": 2216,
"mutability": "mutable",

@@ -615,3 +615,3 @@ "name": "tokenId",

"nodeType": "VariableDeclaration",
"scope": 2151,
"scope": 2246,
"src": "338:15:15",

@@ -625,3 +625,3 @@ "stateVariable": false,

"typeName": {
"id": 2120,
"id": 2215,
"name": "uint256",

@@ -641,3 +641,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2125,
"id": 2220,
"nodeType": "ParameterList",

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

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

@@ -653,3 +653,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2151,
"scope": 2246,
"src": "378:4:15",

@@ -663,3 +663,3 @@ "stateVariable": false,

"typeName": {
"id": 2123,
"id": 2218,
"name": "bool",

@@ -678,3 +678,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2210,
"scope": 2305,
"src": "262:272:15",

@@ -687,3 +687,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 2187,
"id": 2282,
"nodeType": "Block",

@@ -694,3 +694,3 @@ "src": "663:151:15",

"expression": {
"id": 2171,
"id": 2266,
"isConstant": false,

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

"baseExpression": {
"id": 2163,
"id": 2258,
"name": "_erc721tokenStore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"referencedDeclaration": 2209,
"src": "673:17:15",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
}
},
"id": 2167,
"id": 2262,
"indexExpression": {
"id": 2164,
"id": 2259,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2153,
"referencedDeclaration": 2248,
"src": "691:2:15",

@@ -736,16 +736,16 @@ "typeDescriptions": {

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"
}
},
"id": 2168,
"id": 2263,
"indexExpression": {
"id": 2165,
"id": 2260,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2156,
"referencedDeclaration": 2251,
"src": "695:5:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -765,9 +765,9 @@ }

},
"id": 2169,
"id": 2264,
"indexExpression": {
"id": 2166,
"id": 2261,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2158,
"referencedDeclaration": 2253,
"src": "702:7:15",

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

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

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

},
"id": 2172,
"id": 2267,
"nodeType": "ExpressionStatement",

@@ -826,3 +826,3 @@ "src": "673:45:15"

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

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

"typeDescriptions": {
"typeIdentifier": "t_contract$_Erc721Store_$2210",
"typeIdentifier": "t_contract$_Erc721Store_$2305",
"typeString": "contract Erc721Store"

@@ -843,7 +843,7 @@ }

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

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

"typeName": {
"id": 2176,
"id": 2271,
"name": "address",

@@ -868,3 +868,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2179,
"id": 2274,
"isConstant": false,

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

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

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

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

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

{
"id": 2182,
"id": 2277,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2158,
"referencedDeclaration": 2253,
"src": "778:7:15",

@@ -944,14 +944,14 @@ "typeDescriptions": {

"expression": {
"id": 2173,
"id": 2268,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2156,
"referencedDeclaration": 2251,
"src": "728:5:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
}
},
"id": 2175,
"id": 2270,
"isConstant": false,

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

"nodeType": "MemberAccess",
"referencedDeclaration": 1077,
"referencedDeclaration": 1172,
"src": "728:22:15",

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

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

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

},
"id": 2184,
"id": 2279,
"nodeType": "ExpressionStatement",

@@ -997,3 +997,3 @@ "src": "728:58:15"

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

@@ -1012,4 +1012,4 @@ "isLValue": false,

},
"functionReturnParameters": 2162,
"id": 2186,
"functionReturnParameters": 2257,
"id": 2281,
"nodeType": "Return",

@@ -1020,3 +1020,3 @@ "src": "796:11:15"

},
"id": 2188,
"id": 2283,
"implemented": true,

@@ -1029,3 +1029,3 @@ "kind": "function",

"parameters": {
"id": 2159,
"id": 2254,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2153,
"id": 2248,
"mutability": "mutable",

@@ -1041,3 +1041,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2188,
"scope": 2283,
"src": "574:10:15",

@@ -1051,3 +1051,3 @@ "stateVariable": false,

"typeName": {
"id": 2152,
"id": 2247,
"name": "uint256",

@@ -1065,3 +1065,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2156,
"id": 2251,
"mutability": "mutable",

@@ -1071,3 +1071,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2188,
"scope": 2283,
"src": "594:13:15",

@@ -1077,10 +1077,10 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2155,
"id": 2250,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2154,
"id": 2249,
"name": "IERC721",

@@ -1091,9 +1091,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "594:7:15"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "594:7:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -1106,3 +1106,3 @@ }

"constant": false,
"id": 2158,
"id": 2253,
"mutability": "mutable",

@@ -1112,3 +1112,3 @@ "name": "tokenId",

"nodeType": "VariableDeclaration",
"scope": 2188,
"scope": 2283,
"src": "617:15:15",

@@ -1122,3 +1122,3 @@ "stateVariable": false,

"typeName": {
"id": 2157,
"id": 2252,
"name": "uint256",

@@ -1138,3 +1138,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2162,
"id": 2257,
"nodeType": "ParameterList",

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

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

@@ -1150,3 +1150,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2188,
"scope": 2283,
"src": "657:4:15",

@@ -1160,3 +1160,3 @@ "stateVariable": false,

"typeName": {
"id": 2160,
"id": 2255,
"name": "bool",

@@ -1175,3 +1175,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2210,
"scope": 2305,
"src": "540:274:15",

@@ -1184,3 +1184,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 2208,
"id": 2303,
"nodeType": "Block",

@@ -1194,20 +1194,20 @@ "src": "948:61:15",

"baseExpression": {
"id": 2200,
"id": 2295,
"name": "_erc721tokenStore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"referencedDeclaration": 2209,
"src": "965:17:15",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$_$",
"typeString": "mapping(uint256 => mapping(contract IERC721 => mapping(uint256 => bool)))"
}
},
"id": 2202,
"id": 2297,
"indexExpression": {
"id": 2201,
"id": 2296,
"name": "id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2190,
"referencedDeclaration": 2285,
"src": "983:2:15",

@@ -1226,16 +1226,16 @@ "typeDescriptions": {

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1122_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeIdentifier": "t_mapping$_t_contract$_IERC721_$1217_$_t_mapping$_t_uint256_$_t_bool_$_$",
"typeString": "mapping(contract IERC721 => mapping(uint256 => bool))"
}
},
"id": 2204,
"id": 2299,
"indexExpression": {
"id": 2203,
"id": 2298,
"name": "token",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2193,
"referencedDeclaration": 2288,
"src": "987:5:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -1255,9 +1255,9 @@ }

},
"id": 2206,
"id": 2301,
"indexExpression": {
"id": 2205,
"id": 2300,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2195,
"referencedDeclaration": 2290,
"src": "994:7:15",

@@ -1280,4 +1280,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 2199,
"id": 2207,
"functionReturnParameters": 2294,
"id": 2302,
"nodeType": "Return",

@@ -1288,3 +1288,3 @@ "src": "958:44:15"

},
"id": 2209,
"id": 2304,
"implemented": true,

@@ -1297,3 +1297,3 @@ "kind": "function",

"parameters": {
"id": 2196,
"id": 2291,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2190,
"id": 2285,
"mutability": "mutable",

@@ -1309,3 +1309,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2209,
"scope": 2304,
"src": "854:10:15",

@@ -1319,3 +1319,3 @@ "stateVariable": false,

"typeName": {
"id": 2189,
"id": 2284,
"name": "uint256",

@@ -1333,3 +1333,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2193,
"id": 2288,
"mutability": "mutable",

@@ -1339,3 +1339,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2209,
"scope": 2304,
"src": "874:13:15",

@@ -1345,10 +1345,10 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2192,
"id": 2287,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2191,
"id": 2286,
"name": "IERC721",

@@ -1359,9 +1359,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "874:7:15"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "874:7:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -1374,3 +1374,3 @@ }

"constant": false,
"id": 2195,
"id": 2290,
"mutability": "mutable",

@@ -1380,3 +1380,3 @@ "name": "tokenId",

"nodeType": "VariableDeclaration",
"scope": 2209,
"scope": 2304,
"src": "897:15:15",

@@ -1390,3 +1390,3 @@ "stateVariable": false,

"typeName": {
"id": 2194,
"id": 2289,
"name": "uint256",

@@ -1406,3 +1406,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2199,
"id": 2294,
"nodeType": "ParameterList",

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

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

@@ -1418,3 +1418,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2209,
"scope": 2304,
"src": "942:4:15",

@@ -1428,3 +1428,3 @@ "stateVariable": false,

"typeName": {
"id": 2197,
"id": 2292,
"name": "bool",

@@ -1443,3 +1443,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2210,
"scope": 2305,
"src": "820:189:15",

@@ -1451,5 +1451,6 @@ "stateMutability": "view",

],
"scope": 2211,
"scope": 2306,
"src": "121:890:15",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -1461,7 +1462,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.218Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.747Z",
"devdoc": {

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

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

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2267
2362
]
},
"id": 2268,
"id": 2363,
"license": "GPL-3.0",

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

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

@@ -60,5 +60,5 @@ "solidity",

"fullyImplemented": false,
"id": 2267,
"id": 2362,
"linearizedBaseContracts": [
2267
2362
],

@@ -71,3 +71,3 @@ "name": "IBurnable",

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

@@ -80,3 +80,3 @@ "kind": "function",

"parameters": {
"id": 2264,
"id": 2359,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2263,
"id": 2358,
"mutability": "mutable",

@@ -92,3 +92,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2266,
"scope": 2361,
"src": "101:14:18",

@@ -102,3 +102,3 @@ "stateVariable": false,

"typeName": {
"id": 2262,
"id": 2357,
"name": "uint256",

@@ -118,3 +118,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2265,
"id": 2360,
"nodeType": "ParameterList",

@@ -124,3 +124,3 @@ "parameters": [],

},
"scope": 2267,
"scope": 2362,
"src": "87:39:18",

@@ -132,5 +132,6 @@ "stateMutability": "nonpayable",

],
"scope": 2268,
"scope": 2363,
"src": "61:67:18",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -142,7 +143,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.219Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.748Z",
"devdoc": {

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

@@ -201,3 +201,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"IBurnable": [
2267
2362
],
"IBurnableErc20": [
2102
2197
],

@@ -226,3 +226,3 @@ "IERC20": [

},
"id": 2103,
"id": 2198,
"license": "GPL-3.0",

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

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

@@ -246,6 +246,6 @@ "solidity",

"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 2096,
"id": 2191,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2103,
"scope": 2198,
"sourceUnit": 665,

@@ -259,7 +259,7 @@ "src": "61:56:14",

"file": "../../../interfaces/IBurnable.sol",
"id": 2097,
"id": 2192,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2103,
"sourceUnit": 2268,
"scope": 2198,
"sourceUnit": 2363,
"src": "118:43:14",

@@ -274,3 +274,3 @@ "symbolAliases": [],

"baseName": {
"id": 2098,
"id": 2193,
"name": "IERC20",

@@ -284,3 +284,3 @@ "nameLocations": [

},
"id": 2099,
"id": 2194,
"nodeType": "InheritanceSpecifier",

@@ -291,3 +291,3 @@ "src": "191:6:14"

"baseName": {
"id": 2100,
"id": 2195,
"name": "IBurnable",

@@ -298,6 +298,6 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 2267,
"referencedDeclaration": 2362,
"src": "199:9:14"
},
"id": 2101,
"id": 2196,
"nodeType": "InheritanceSpecifier",

@@ -311,6 +311,6 @@ "src": "199:9:14"

"fullyImplemented": false,
"id": 2102,
"id": 2197,
"linearizedBaseContracts": [
2102,
2267,
2197,
2362,
664

@@ -322,5 +322,9 @@ ],

"nodes": [],
"scope": 2103,
"scope": 2198,
"src": "163:48:14",
"usedErrors": []
"usedErrors": [],
"usedEvents": [
598,
607
]
}

@@ -332,7 +336,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.218Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.747Z",
"devdoc": {

@@ -339,0 +343,0 @@ "events": {

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

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2290
2385
]
},
"id": 2291,
"id": 2386,
"license": "GPL-3.0",

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

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

@@ -100,5 +100,5 @@ "solidity",

"fullyImplemented": false,
"id": 2290,
"id": 2385,
"linearizedBaseContracts": [
2290
2385
],

@@ -111,3 +111,3 @@ "name": "IDataStore",

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

@@ -120,3 +120,3 @@ "kind": "function",

"parameters": {
"id": 2274,
"id": 2369,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2271,
"id": 2366,
"mutability": "mutable",

@@ -132,3 +132,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2278,
"scope": 2373,
"src": "102:10:19",

@@ -142,3 +142,3 @@ "stateVariable": false,

"typeName": {
"id": 2270,
"id": 2365,
"name": "uint256",

@@ -156,3 +156,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2273,
"id": 2368,
"mutability": "mutable",

@@ -162,3 +162,3 @@ "name": "slot",

"nodeType": "VariableDeclaration",
"scope": 2278,
"scope": 2373,
"src": "114:12:19",

@@ -172,3 +172,3 @@ "stateVariable": false,

"typeName": {
"id": 2272,
"id": 2367,
"name": "uint256",

@@ -188,3 +188,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2277,
"id": 2372,
"nodeType": "ParameterList",

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

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

@@ -200,3 +200,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2278,
"scope": 2373,
"src": "151:7:19",

@@ -210,3 +210,3 @@ "stateVariable": false,

"typeName": {
"id": 2275,
"id": 2370,
"name": "uint256",

@@ -225,3 +225,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2290,
"scope": 2385,
"src": "88:72:19",

@@ -234,3 +234,3 @@ "stateMutability": "view",

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

@@ -243,3 +243,3 @@ "kind": "function",

"parameters": {
"id": 2285,
"id": 2380,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2280,
"id": 2375,
"mutability": "mutable",

@@ -255,3 +255,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2289,
"scope": 2384,
"src": "192:10:19",

@@ -265,3 +265,3 @@ "stateVariable": false,

"typeName": {
"id": 2279,
"id": 2374,
"name": "uint256",

@@ -279,3 +279,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2282,
"id": 2377,
"mutability": "mutable",

@@ -285,3 +285,3 @@ "name": "slot",

"nodeType": "VariableDeclaration",
"scope": 2289,
"scope": 2384,
"src": "212:12:19",

@@ -295,3 +295,3 @@ "stateVariable": false,

"typeName": {
"id": 2281,
"id": 2376,
"name": "uint256",

@@ -309,3 +309,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2284,
"id": 2379,
"mutability": "mutable",

@@ -315,3 +315,3 @@ "name": "value",

"nodeType": "VariableDeclaration",
"scope": 2289,
"scope": 2384,
"src": "234:13:19",

@@ -325,3 +325,3 @@ "stateVariable": false,

"typeName": {
"id": 2283,
"id": 2378,
"name": "uint256",

@@ -341,3 +341,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2288,
"id": 2383,
"nodeType": "ParameterList",

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

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

@@ -353,3 +353,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2289,
"scope": 2384,
"src": "272:4:19",

@@ -363,3 +363,3 @@ "stateVariable": false,

"typeName": {
"id": 2286,
"id": 2381,
"name": "bool",

@@ -378,3 +378,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2290,
"scope": 2385,
"src": "166:112:19",

@@ -386,5 +386,6 @@ "stateMutability": "nonpayable",

],
"scope": 2291,
"scope": 2386,
"src": "61:219:19",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -396,7 +397,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.219Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.748Z",
"devdoc": {

@@ -403,0 +404,0 @@ "kind": "dev",

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

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

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

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

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

@@ -66,3 +66,3 @@ "solidity",

"documentation": {
"id": 1477,
"id": 1572,
"nodeType": "StructuredDocumentation",

@@ -73,5 +73,5 @@ "src": "125:279:8",

"fullyImplemented": false,
"id": 1486,
"id": 1581,
"linearizedBaseContracts": [
1486
1581
],

@@ -84,3 +84,3 @@ "name": "IERC165",

"documentation": {
"id": 1478,
"id": 1573,
"nodeType": "StructuredDocumentation",

@@ -91,3 +91,3 @@ "src": "429:340:8",

"functionSelector": "01ffc9a7",
"id": 1485,
"id": 1580,
"implemented": false,

@@ -100,3 +100,3 @@ "kind": "function",

"parameters": {
"id": 1481,
"id": 1576,
"nodeType": "ParameterList",

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

"constant": false,
"id": 1480,
"id": 1575,
"mutability": "mutable",

@@ -112,3 +112,3 @@ "name": "interfaceId",

"nodeType": "VariableDeclaration",
"scope": 1485,
"scope": 1580,
"src": "801:18:8",

@@ -122,3 +122,3 @@ "stateVariable": false,

"typeName": {
"id": 1479,
"id": 1574,
"name": "bytes4",

@@ -138,3 +138,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 1484,
"id": 1579,
"nodeType": "ParameterList",

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

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

@@ -150,3 +150,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 1485,
"scope": 1580,
"src": "844:4:8",

@@ -160,3 +160,3 @@ "stateVariable": false,

"typeName": {
"id": 1482,
"id": 1577,
"name": "bool",

@@ -175,3 +175,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 1486,
"scope": 1581,
"src": "774:76:8",

@@ -183,5 +183,6 @@ "stateMutability": "view",

],
"scope": 1487,
"scope": 1582,
"src": "405:447:8",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -193,7 +194,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.212Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.741Z",
"devdoc": {

@@ -200,0 +201,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}.",

@@ -188,3 +188,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.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(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n",
"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",
"sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",

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

"name": "from",
"nameLocation": "2685:4:1",
"nameLocation": "2676:4:1",
"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2677:12:1",
"src": "2668:12:1",
"stateVariable": false,

@@ -1001,3 +1001,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "2677:7:1",
"src": "2668:7:1",
"stateMutability": "nonpayable",

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

"name": "to",
"nameLocation": "2707:2:1",
"nameLocation": "2690:2:1",
"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2699:10:1",
"src": "2682:10:1",
"stateVariable": false,

@@ -1031,3 +1031,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "2699:7:1",
"src": "2682:7:1",
"stateMutability": "nonpayable",

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

"name": "amount",
"nameLocation": "2727:6:1",
"nameLocation": "2702:6:1",
"nodeType": "VariableDeclaration",
"scope": 663,
"src": "2719:14:1",
"src": "2694:14:1",
"stateVariable": false,

@@ -1061,3 +1061,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "2719:7:1",
"src": "2694:7:1",
"typeDescriptions": {

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

],
"src": "2667:72:1"
"src": "2667:42:1"
},

@@ -1086,3 +1086,3 @@ "returnParameters": {

"scope": 663,
"src": "2758:4:1",
"src": "2728:4:1",
"stateVariable": false,

@@ -1098,3 +1098,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "2758:4:1",
"src": "2728:4:1",
"typeDescriptions": {

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

],
"src": "2757:6:1"
"src": "2727:6:1"
},
"scope": 664,
"src": "2646:118:1",
"src": "2646:88:1",
"stateMutability": "nonpayable",

@@ -1119,15 +1119,19 @@ "virtual": false,

"scope": 665,
"src": "202:2564:1",
"usedErrors": []
"src": "202:2534:1",
"usedErrors": [],
"usedEvents": [
598,
607
]
}
],
"src": "106:2661:1"
"src": "106:2631:1"
},
"compiler": {
"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.208Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.736Z",
"devdoc": {

@@ -1134,0 +1138,0 @@ "details": "Interface of the ERC20 standard as defined in the EIP.",

@@ -227,3 +227,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

@@ -499,3 +499,7 @@ "deployedBytecode": "0x",

"src": "277:405:2",
"usedErrors": []
"usedErrors": [],
"usedEvents": [
598,
607
]
}

@@ -507,7 +511,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.209Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.738Z",
"devdoc": {

@@ -514,0 +518,0 @@ "details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._",

@@ -80,3 +80,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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/draft-IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]}},\"version\":1}",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-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",
"sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol",
"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",
"sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol",
"absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
"exportedSymbols": {

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

"nodeType": "PragmaDirective",
"src": "114:23:3"
"src": "123:23:3"
},

@@ -124,3 +124,3 @@ {

"nodeType": "StructuredDocumentation",
"src": "139:480:3",
"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."

@@ -134,3 +134,3 @@ },

"name": "IERC20Permit",
"nameLocation": "630:12:3",
"nameLocation": "639:12:3",
"nodeType": "ContractDefinition",

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

"nodeType": "StructuredDocumentation",
"src": "649:792:3",
"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]."

@@ -152,3 +152,3 @@ },

"name": "permit",
"nameLocation": "1455:6:3",
"nameLocation": "1464:6:3",
"nodeType": "FunctionDefinition",

@@ -164,6 +164,6 @@ "parameters": {

"name": "owner",
"nameLocation": "1479:5:3",
"nameLocation": "1488:5:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1471:13:3",
"src": "1480:13:3",
"stateVariable": false,

@@ -179,3 +179,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1471:7:3",
"src": "1480:7:3",
"stateMutability": "nonpayable",

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

"name": "spender",
"nameLocation": "1502:7:3",
"nameLocation": "1511:7:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1494:15:3",
"src": "1503:15:3",
"stateVariable": false,

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

"nodeType": "ElementaryTypeName",
"src": "1494:7:3",
"src": "1503:7:3",
"stateMutability": "nonpayable",

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

"name": "value",
"nameLocation": "1527:5:3",
"nameLocation": "1536:5:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1519:13:3",
"src": "1528:13:3",
"stateVariable": false,

@@ -239,3 +239,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1519:7:3",
"src": "1528:7:3",
"typeDescriptions": {

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

"name": "deadline",
"nameLocation": "1550:8:3",
"nameLocation": "1559:8:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1542:16:3",
"src": "1551:16:3",
"stateVariable": false,

@@ -268,3 +268,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1542:7:3",
"src": "1551:7:3",
"typeDescriptions": {

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

"name": "v",
"nameLocation": "1574:1:3",
"nameLocation": "1583:1:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1568:7:3",
"src": "1577:7:3",
"stateVariable": false,

@@ -297,3 +297,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1568:5:3",
"src": "1577:5:3",
"typeDescriptions": {

@@ -311,6 +311,6 @@ "typeIdentifier": "t_uint8",

"name": "r",
"nameLocation": "1593:1:3",
"nameLocation": "1602:1:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1585:9:3",
"src": "1594:9:3",
"stateVariable": false,

@@ -326,3 +326,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1585:7:3",
"src": "1594:7:3",
"typeDescriptions": {

@@ -340,6 +340,6 @@ "typeIdentifier": "t_bytes32",

"name": "s",
"nameLocation": "1612:1:3",
"nameLocation": "1621:1:3",
"nodeType": "VariableDeclaration",
"scope": 710,
"src": "1604:9:3",
"src": "1613:9:3",
"stateVariable": false,

@@ -355,3 +355,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1604:7:3",
"src": "1613:7:3",
"typeDescriptions": {

@@ -365,3 +365,3 @@ "typeIdentifier": "t_bytes32",

],
"src": "1461:158:3"
"src": "1470:158:3"
},

@@ -372,6 +372,6 @@ "returnParameters": {

"parameters": [],
"src": "1628:0:3"
"src": "1637:0:3"
},
"scope": 725,
"src": "1446:183:3",
"src": "1455:183:3",
"stateMutability": "nonpayable",

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

"nodeType": "StructuredDocumentation",
"src": "1635:294:3",
"src": "1644:294:3",
"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."

@@ -395,3 +395,3 @@ },

"name": "nonces",
"nameLocation": "1943:6:3",
"nameLocation": "1952:6:3",
"nodeType": "FunctionDefinition",

@@ -407,6 +407,6 @@ "parameters": {

"name": "owner",
"nameLocation": "1958:5:3",
"nameLocation": "1967:5:3",
"nodeType": "VariableDeclaration",
"scope": 718,
"src": "1950:13:3",
"src": "1959:13:3",
"stateVariable": false,

@@ -422,3 +422,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1950:7:3",
"src": "1959:7:3",
"stateMutability": "nonpayable",

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

],
"src": "1949:15:3"
"src": "1958:15:3"
},

@@ -448,3 +448,3 @@ "returnParameters": {

"scope": 718,
"src": "1988:7:3",
"src": "1997:7:3",
"stateVariable": false,

@@ -460,3 +460,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "1988:7:3",
"src": "1997:7:3",
"typeDescriptions": {

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

],
"src": "1987:9:3"
"src": "1996:9:3"
},
"scope": 725,
"src": "1934:63:3",
"src": "1943:63:3",
"stateMutability": "view",

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

"nodeType": "StructuredDocumentation",
"src": "2003:128:3",
"src": "2012:128:3",
"text": " @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."

@@ -493,3 +493,3 @@ },

"name": "DOMAIN_SEPARATOR",
"nameLocation": "2198:16:3",
"nameLocation": "2207:16:3",
"nodeType": "FunctionDefinition",

@@ -500,3 +500,3 @@ "parameters": {

"parameters": [],
"src": "2214:2:3"
"src": "2223:2:3"
},

@@ -515,3 +515,3 @@ "returnParameters": {

"scope": 724,
"src": "2240:7:3",
"src": "2249:7:3",
"stateVariable": false,

@@ -527,3 +527,3 @@ "storageLocation": "default",

"nodeType": "ElementaryTypeName",
"src": "2240:7:3",
"src": "2249:7:3",
"typeDescriptions": {

@@ -537,6 +537,6 @@ "typeIdentifier": "t_bytes32",

],
"src": "2239:9:3"
"src": "2248:9:3"
},
"scope": 725,
"src": "2189:60:3",
"src": "2198:60:3",
"stateMutability": "view",

@@ -548,15 +548,16 @@ "virtual": false,

"scope": 726,
"src": "620:1631:3",
"usedErrors": []
"src": "629:1631:3",
"usedErrors": [],
"usedEvents": []
}
],
"src": "114:2138:3"
"src": "123:2138:3"
},
"compiler": {
"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.209Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.738Z",
"devdoc": {

@@ -563,0 +564,0 @@ "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.",

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

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"IErc20Store": [
2093
2188
]
},
"id": 2094,
"id": 2189,
"license": "GPL-3.0",

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

{
"id": 2057,
"id": 2152,
"literals": [

@@ -128,6 +128,6 @@ "solidity",

"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 2058,
"id": 2153,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2094,
"scope": 2189,
"sourceUnit": 665,

@@ -145,5 +145,5 @@ "src": "61:56:13",

"fullyImplemented": false,
"id": 2093,
"id": 2188,
"linearizedBaseContracts": [
2093
2188
],

@@ -156,3 +156,3 @@ "name": "IErc20Store",

"functionSelector": "6b61cecc",
"id": 2070,
"id": 2165,
"implemented": false,

@@ -165,3 +165,3 @@ "kind": "function",

"parameters": {
"id": 2066,
"id": 2161,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2060,
"id": 2155,
"mutability": "mutable",

@@ -177,3 +177,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2070,
"scope": 2165,
"src": "178:10:13",

@@ -187,3 +187,3 @@ "stateVariable": false,

"typeName": {
"id": 2059,
"id": 2154,
"name": "uint256",

@@ -201,3 +201,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2063,
"id": 2158,
"mutability": "mutable",

@@ -207,3 +207,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2070,
"scope": 2165,
"src": "198:12:13",

@@ -217,6 +217,6 @@ "stateVariable": false,

"typeName": {
"id": 2062,
"id": 2157,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2061,
"id": 2156,
"name": "IERC20",

@@ -241,3 +241,3 @@ "nameLocations": [

"constant": false,
"id": 2065,
"id": 2160,
"mutability": "mutable",

@@ -247,3 +247,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2070,
"scope": 2165,
"src": "220:14:13",

@@ -257,3 +257,3 @@ "stateVariable": false,

"typeName": {
"id": 2064,
"id": 2159,
"name": "uint256",

@@ -273,3 +273,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2069,
"id": 2164,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2068,
"id": 2163,
"mutability": "mutable",

@@ -285,3 +285,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2070,
"scope": 2165,
"src": "259:7:13",

@@ -295,3 +295,3 @@ "stateVariable": false,

"typeName": {
"id": 2067,
"id": 2162,
"name": "uint256",

@@ -310,3 +310,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2093,
"scope": 2188,
"src": "147:121:13",

@@ -319,3 +319,3 @@ "stateMutability": "nonpayable",

"functionSelector": "78015232",
"id": 2082,
"id": 2177,
"implemented": false,

@@ -328,3 +328,3 @@ "kind": "function",

"parameters": {
"id": 2078,
"id": 2173,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2072,
"id": 2167,
"mutability": "mutable",

@@ -340,3 +340,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2082,
"scope": 2177,
"src": "306:10:13",

@@ -350,3 +350,3 @@ "stateVariable": false,

"typeName": {
"id": 2071,
"id": 2166,
"name": "uint256",

@@ -364,3 +364,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2075,
"id": 2170,
"mutability": "mutable",

@@ -370,3 +370,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2082,
"scope": 2177,
"src": "326:12:13",

@@ -380,6 +380,6 @@ "stateVariable": false,

"typeName": {
"id": 2074,
"id": 2169,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2073,
"id": 2168,
"name": "IERC20",

@@ -404,3 +404,3 @@ "nameLocations": [

"constant": false,
"id": 2077,
"id": 2172,
"mutability": "mutable",

@@ -410,3 +410,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2082,
"scope": 2177,
"src": "348:14:13",

@@ -420,3 +420,3 @@ "stateVariable": false,

"typeName": {
"id": 2076,
"id": 2171,
"name": "uint256",

@@ -436,3 +436,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2081,
"id": 2176,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2080,
"id": 2175,
"mutability": "mutable",

@@ -448,3 +448,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2082,
"scope": 2177,
"src": "387:7:13",

@@ -458,3 +458,3 @@ "stateVariable": false,

"typeName": {
"id": 2079,
"id": 2174,
"name": "uint256",

@@ -473,3 +473,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2093,
"scope": 2188,
"src": "274:122:13",

@@ -482,3 +482,3 @@ "stateMutability": "nonpayable",

"functionSelector": "1096f22e",
"id": 2092,
"id": 2187,
"implemented": false,

@@ -491,3 +491,3 @@ "kind": "function",

"parameters": {
"id": 2088,
"id": 2183,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2084,
"id": 2179,
"mutability": "mutable",

@@ -503,3 +503,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2092,
"scope": 2187,
"src": "424:10:13",

@@ -513,3 +513,3 @@ "stateVariable": false,

"typeName": {
"id": 2083,
"id": 2178,
"name": "uint256",

@@ -527,3 +527,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2087,
"id": 2182,
"mutability": "mutable",

@@ -533,3 +533,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2092,
"scope": 2187,
"src": "436:12:13",

@@ -543,6 +543,6 @@ "stateVariable": false,

"typeName": {
"id": 2086,
"id": 2181,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2085,
"id": 2180,
"name": "IERC20",

@@ -569,3 +569,3 @@ "nameLocations": [

"returnParameters": {
"id": 2091,
"id": 2186,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2090,
"id": 2185,
"mutability": "mutable",

@@ -581,3 +581,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2092,
"scope": 2187,
"src": "497:7:13",

@@ -591,3 +591,3 @@ "stateVariable": false,

"typeName": {
"id": 2089,
"id": 2184,
"name": "uint256",

@@ -606,3 +606,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2093,
"scope": 2188,
"src": "402:104:13",

@@ -614,5 +614,6 @@ "stateMutability": "view",

],
"scope": 2094,
"scope": 2189,
"src": "119:389:13",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -624,7 +625,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.217Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.747Z",
"devdoc": {

@@ -631,0 +632,0 @@ "kind": "dev",

@@ -92,3 +92,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"IERC165": [
1486
1581
],
"IERC721": [
1122
1217
],
"IErc721Store": [
2250
2345
]
},
"id": 2251,
"id": 2346,
"license": "GPL-3.0",

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

{
"id": 2212,
"id": 2307,
"literals": [

@@ -136,7 +136,7 @@ "solidity",

"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 2213,
"id": 2308,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2251,
"sourceUnit": 1123,
"scope": 2346,
"sourceUnit": 1218,
"src": "61:58:16",

@@ -153,5 +153,5 @@ "symbolAliases": [],

"fullyImplemented": false,
"id": 2250,
"id": 2345,
"linearizedBaseContracts": [
2250
2345
],

@@ -164,3 +164,3 @@ "name": "IErc721Store",

"functionSelector": "cbc238ae",
"id": 2225,
"id": 2320,
"implemented": false,

@@ -173,3 +173,3 @@ "kind": "function",

"parameters": {
"id": 2221,
"id": 2316,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2215,
"id": 2310,
"mutability": "mutable",

@@ -185,3 +185,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2225,
"scope": 2320,
"src": "182:10:16",

@@ -195,3 +195,3 @@ "stateVariable": false,

"typeName": {
"id": 2214,
"id": 2309,
"name": "uint256",

@@ -209,3 +209,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2218,
"id": 2313,
"mutability": "mutable",

@@ -215,3 +215,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2225,
"scope": 2320,
"src": "202:13:16",

@@ -221,10 +221,10 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2217,
"id": 2312,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2216,
"id": 2311,
"name": "IERC721",

@@ -235,9 +235,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "202:7:16"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "202:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -250,3 +250,3 @@ }

"constant": false,
"id": 2220,
"id": 2315,
"mutability": "mutable",

@@ -256,3 +256,3 @@ "name": "tokenId",

"nodeType": "VariableDeclaration",
"scope": 2225,
"scope": 2320,
"src": "225:15:16",

@@ -266,3 +266,3 @@ "stateVariable": false,

"typeName": {
"id": 2219,
"id": 2314,
"name": "uint256",

@@ -282,3 +282,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2224,
"id": 2319,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2223,
"id": 2318,
"mutability": "mutable",

@@ -294,3 +294,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2225,
"scope": 2320,
"src": "265:4:16",

@@ -304,3 +304,3 @@ "stateVariable": false,

"typeName": {
"id": 2222,
"id": 2317,
"name": "bool",

@@ -319,3 +319,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2250,
"scope": 2345,
"src": "150:121:16",

@@ -328,3 +328,3 @@ "stateMutability": "nonpayable",

"functionSelector": "726bf949",
"id": 2237,
"id": 2332,
"implemented": false,

@@ -337,3 +337,3 @@ "kind": "function",

"parameters": {
"id": 2233,
"id": 2328,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2227,
"id": 2322,
"mutability": "mutable",

@@ -349,3 +349,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2237,
"scope": 2332,
"src": "310:10:16",

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

"typeName": {
"id": 2226,
"id": 2321,
"name": "uint256",

@@ -373,3 +373,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2230,
"id": 2325,
"mutability": "mutable",

@@ -379,3 +379,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2237,
"scope": 2332,
"src": "330:13:16",

@@ -385,10 +385,10 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2229,
"id": 2324,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2228,
"id": 2323,
"name": "IERC721",

@@ -399,9 +399,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "330:7:16"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "330:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -414,3 +414,3 @@ }

"constant": false,
"id": 2232,
"id": 2327,
"mutability": "mutable",

@@ -420,3 +420,3 @@ "name": "tokenId",

"nodeType": "VariableDeclaration",
"scope": 2237,
"scope": 2332,
"src": "353:15:16",

@@ -430,3 +430,3 @@ "stateVariable": false,

"typeName": {
"id": 2231,
"id": 2326,
"name": "uint256",

@@ -446,3 +446,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2236,
"id": 2331,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2235,
"id": 2330,
"mutability": "mutable",

@@ -458,3 +458,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2237,
"scope": 2332,
"src": "393:4:16",

@@ -468,3 +468,3 @@ "stateVariable": false,

"typeName": {
"id": 2234,
"id": 2329,
"name": "bool",

@@ -483,3 +483,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2250,
"scope": 2345,
"src": "277:122:16",

@@ -492,3 +492,3 @@ "stateMutability": "nonpayable",

"functionSelector": "ec35d8f3",
"id": 2249,
"id": 2344,
"implemented": false,

@@ -501,3 +501,3 @@ "kind": "function",

"parameters": {
"id": 2245,
"id": 2340,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2239,
"id": 2334,
"mutability": "mutable",

@@ -513,3 +513,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2249,
"scope": 2344,
"src": "438:10:16",

@@ -523,3 +523,3 @@ "stateVariable": false,

"typeName": {
"id": 2238,
"id": 2333,
"name": "uint256",

@@ -537,3 +537,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2242,
"id": 2337,
"mutability": "mutable",

@@ -543,3 +543,3 @@ "name": "token",

"nodeType": "VariableDeclaration",
"scope": 2249,
"scope": 2344,
"src": "458:13:16",

@@ -549,10 +549,10 @@ "stateVariable": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"
},
"typeName": {
"id": 2241,
"id": 2336,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2240,
"id": 2335,
"name": "IERC721",

@@ -563,9 +563,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "458:7:16"
},
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "458:7:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$1122",
"typeIdentifier": "t_contract$_IERC721_$1217",
"typeString": "contract IERC721"

@@ -578,3 +578,3 @@ }

"constant": false,
"id": 2244,
"id": 2339,
"mutability": "mutable",

@@ -584,3 +584,3 @@ "name": "tokenId",

"nodeType": "VariableDeclaration",
"scope": 2249,
"scope": 2344,
"src": "481:15:16",

@@ -594,3 +594,3 @@ "stateVariable": false,

"typeName": {
"id": 2243,
"id": 2338,
"name": "uint256",

@@ -610,3 +610,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2248,
"id": 2343,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2247,
"id": 2342,
"mutability": "mutable",

@@ -622,3 +622,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2249,
"scope": 2344,
"src": "526:4:16",

@@ -632,3 +632,3 @@ "stateVariable": false,

"typeName": {
"id": 2246,
"id": 2341,
"name": "bool",

@@ -647,3 +647,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2250,
"scope": 2345,
"src": "405:127:16",

@@ -655,5 +655,6 @@ "stateMutability": "view",

],
"scope": 2251,
"scope": 2346,
"src": "121:413:16",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -665,7 +666,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.218Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.748Z",
"devdoc": {

@@ -672,0 +673,0 @@ "kind": "dev",

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

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2300
2395
]
},
"id": 2301,
"id": 2396,
"license": "GPL-3.0",

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

{
"id": 2292,
"id": 2387,
"literals": [

@@ -66,5 +66,5 @@ "solidity",

"fullyImplemented": false,
"id": 2300,
"id": 2395,
"linearizedBaseContracts": [
2300
2395
],

@@ -77,3 +77,3 @@ "name": "ILockable",

"functionSelector": "b45a3c0e",
"id": 2299,
"id": 2394,
"implemented": false,

@@ -86,3 +86,3 @@ "kind": "function",

"parameters": {
"id": 2295,
"id": 2390,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2294,
"id": 2389,
"mutability": "mutable",

@@ -98,3 +98,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2299,
"scope": 2394,
"src": "103:10:20",

@@ -108,3 +108,3 @@ "stateVariable": false,

"typeName": {
"id": 2293,
"id": 2388,
"name": "uint256",

@@ -124,3 +124,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2298,
"id": 2393,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2297,
"id": 2392,
"mutability": "mutable",

@@ -136,3 +136,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2299,
"scope": 2394,
"src": "138:4:20",

@@ -146,3 +146,3 @@ "stateVariable": false,

"typeName": {
"id": 2296,
"id": 2391,
"name": "bool",

@@ -161,3 +161,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2300,
"scope": 2395,
"src": "87:57:20",

@@ -169,5 +169,6 @@ "stateMutability": "view",

],
"scope": 2301,
"scope": 2396,
"src": "61:85:20",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -179,7 +180,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.219Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.749Z",
"devdoc": {

@@ -186,0 +187,0 @@ "kind": "dev",

@@ -104,3 +104,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2340
2435
]
},
"id": 2341,
"id": 2436,
"license": "GPL-3.0",

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

{
"id": 2302,
"id": 2397,
"literals": [

@@ -146,5 +146,5 @@ "solidity",

"fullyImplemented": false,
"id": 2340,
"id": 2435,
"linearizedBaseContracts": [
2340
2435
],

@@ -157,3 +157,3 @@ "name": "IMintable",

"functionSelector": "aa271e1a",
"id": 2309,
"id": 2404,
"implemented": false,

@@ -166,3 +166,3 @@ "kind": "function",

"parameters": {
"id": 2305,
"id": 2400,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2304,
"id": 2399,
"mutability": "mutable",

@@ -178,3 +178,3 @@ "name": "account",

"nodeType": "VariableDeclaration",
"scope": 2309,
"scope": 2404,
"src": "105:15:21",

@@ -188,3 +188,3 @@ "stateVariable": false,

"typeName": {
"id": 2303,
"id": 2398,
"name": "address",

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

"returnParameters": {
"id": 2308,
"id": 2403,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2307,
"id": 2402,
"mutability": "mutable",

@@ -217,3 +217,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2309,
"scope": 2404,
"src": "145:4:21",

@@ -227,3 +227,3 @@ "stateVariable": false,

"typeName": {
"id": 2306,
"id": 2401,
"name": "bool",

@@ -242,3 +242,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2340,
"scope": 2435,
"src": "87:64:21",

@@ -251,3 +251,3 @@ "stateMutability": "view",

"functionSelector": "fca3b5aa",
"id": 2316,
"id": 2411,
"implemented": false,

@@ -260,3 +260,3 @@ "kind": "function",

"parameters": {
"id": 2312,
"id": 2407,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2311,
"id": 2406,
"mutability": "mutable",

@@ -272,3 +272,3 @@ "name": "minter",

"nodeType": "VariableDeclaration",
"scope": 2316,
"scope": 2411,
"src": "176:14:21",

@@ -282,3 +282,3 @@ "stateVariable": false,

"typeName": {
"id": 2310,
"id": 2405,
"name": "address",

@@ -299,3 +299,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2315,
"id": 2410,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2314,
"id": 2409,
"mutability": "mutable",

@@ -311,3 +311,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2316,
"scope": 2411,
"src": "210:4:21",

@@ -321,3 +321,3 @@ "stateVariable": false,

"typeName": {
"id": 2313,
"id": 2408,
"name": "bool",

@@ -336,3 +336,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2340,
"scope": 2435,
"src": "157:59:21",

@@ -345,3 +345,3 @@ "stateMutability": "nonpayable",

"functionSelector": "07546172",
"id": 2321,
"id": 2416,
"implemented": false,

@@ -354,3 +354,3 @@ "kind": "function",

"parameters": {
"id": 2317,
"id": 2412,
"nodeType": "ParameterList",

@@ -361,3 +361,3 @@ "parameters": [],

"returnParameters": {
"id": 2320,
"id": 2415,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2319,
"id": 2414,
"mutability": "mutable",

@@ -373,3 +373,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2321,
"scope": 2416,
"src": "263:7:21",

@@ -383,3 +383,3 @@ "stateVariable": false,

"typeName": {
"id": 2318,
"id": 2413,
"name": "address",

@@ -399,3 +399,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2340,
"scope": 2435,
"src": "222:50:21",

@@ -408,3 +408,3 @@ "stateMutability": "view",

"functionSelector": "40c10f19",
"id": 2330,
"id": 2425,
"implemented": false,

@@ -417,3 +417,3 @@ "kind": "function",

"parameters": {
"id": 2326,
"id": 2421,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2323,
"id": 2418,
"mutability": "mutable",

@@ -429,3 +429,3 @@ "name": "to",

"nodeType": "VariableDeclaration",
"scope": 2330,
"scope": 2425,
"src": "292:10:21",

@@ -439,3 +439,3 @@ "stateVariable": false,

"typeName": {
"id": 2322,
"id": 2417,
"name": "address",

@@ -454,3 +454,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2325,
"id": 2420,
"mutability": "mutable",

@@ -460,3 +460,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2330,
"scope": 2425,
"src": "304:10:21",

@@ -470,3 +470,3 @@ "stateVariable": false,

"typeName": {
"id": 2324,
"id": 2419,
"name": "uint256",

@@ -486,3 +486,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2329,
"id": 2424,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2328,
"id": 2423,
"mutability": "mutable",

@@ -498,3 +498,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2330,
"scope": 2425,
"src": "334:4:21",

@@ -508,3 +508,3 @@ "stateVariable": false,

"typeName": {
"id": 2327,
"id": 2422,
"name": "bool",

@@ -523,3 +523,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2340,
"scope": 2435,
"src": "278:62:21",

@@ -532,3 +532,3 @@ "stateMutability": "nonpayable",

"functionSelector": "a1448194",
"id": 2339,
"id": 2434,
"implemented": false,

@@ -541,3 +541,3 @@ "kind": "function",

"parameters": {
"id": 2335,
"id": 2430,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2332,
"id": 2427,
"mutability": "mutable",

@@ -553,3 +553,3 @@ "name": "to",

"nodeType": "VariableDeclaration",
"scope": 2339,
"scope": 2434,
"src": "364:10:21",

@@ -563,3 +563,3 @@ "stateVariable": false,

"typeName": {
"id": 2331,
"id": 2426,
"name": "address",

@@ -578,3 +578,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2334,
"id": 2429,
"mutability": "mutable",

@@ -584,3 +584,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2339,
"scope": 2434,
"src": "376:10:21",

@@ -594,3 +594,3 @@ "stateVariable": false,

"typeName": {
"id": 2333,
"id": 2428,
"name": "uint256",

@@ -610,3 +610,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2338,
"id": 2433,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2337,
"id": 2432,
"mutability": "mutable",

@@ -622,3 +622,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2339,
"scope": 2434,
"src": "406:4:21",

@@ -632,3 +632,3 @@ "stateVariable": false,

"typeName": {
"id": 2336,
"id": 2431,
"name": "bool",

@@ -647,3 +647,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2340,
"scope": 2435,
"src": "346:66:21",

@@ -655,5 +655,6 @@ "stateMutability": "nonpayable",

],
"scope": 2341,
"scope": 2436,
"src": "61:353:21",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -665,7 +666,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.219Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.749Z",
"devdoc": {

@@ -672,0 +673,0 @@ "kind": "dev",

@@ -318,3 +318,3 @@ {

"internalType": "bool",
"name": "_approved",
"name": "approved",
"type": "bool"

@@ -390,3 +390,3 @@ }

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

@@ -405,15 +405,15 @@ "deployedBytecode": "0x",

"IERC165": [
1486
1581
],
"IERC721": [
1122
1217
],
"IMintable": [
2340
2435
],
"IMintableErc721": [
2259
2354
]
},
"id": 2260,
"id": 2355,
"license": "GPL-3.0",

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

{
"id": 2252,
"id": 2347,
"literals": [

@@ -437,7 +437,7 @@ "solidity",

"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 2253,
"id": 2348,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2260,
"sourceUnit": 1123,
"scope": 2355,
"sourceUnit": 1218,
"src": "61:58:17",

@@ -450,7 +450,7 @@ "symbolAliases": [],

"file": "../../../interfaces/IMintable.sol",
"id": 2254,
"id": 2349,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2260,
"sourceUnit": 2341,
"scope": 2355,
"sourceUnit": 2436,
"src": "120:43:17",

@@ -465,3 +465,3 @@ "symbolAliases": [],

"baseName": {
"id": 2255,
"id": 2350,
"name": "IERC721",

@@ -472,6 +472,6 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 1122,
"referencedDeclaration": 1217,
"src": "194:7:17"
},
"id": 2256,
"id": 2351,
"nodeType": "InheritanceSpecifier",

@@ -482,3 +482,3 @@ "src": "194:7:17"

"baseName": {
"id": 2257,
"id": 2352,
"name": "IMintable",

@@ -489,6 +489,6 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 2340,
"referencedDeclaration": 2435,
"src": "203:9:17"
},
"id": 2258,
"id": 2353,
"nodeType": "InheritanceSpecifier",

@@ -502,8 +502,8 @@ "src": "203:9:17"

"fullyImplemented": false,
"id": 2259,
"id": 2354,
"linearizedBaseContracts": [
2259,
2340,
1122,
1486
2354,
2435,
1217,
1581
],

@@ -514,5 +514,10 @@ "name": "IMintableErc721",

"nodes": [],
"scope": 2260,
"scope": 2355,
"src": "165:50:17",
"usedErrors": []
"usedErrors": [],
"usedEvents": [
1116,
1125,
1134
]
}

@@ -524,7 +529,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.218Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.748Z",
"devdoc": {

@@ -531,0 +536,0 @@ "events": {

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

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2350
2445
]
},
"id": 2351,
"id": 2446,
"license": "GPL-3.0",

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

{
"id": 2342,
"id": 2437,
"literals": [

@@ -66,5 +66,5 @@ "solidity",

"fullyImplemented": false,
"id": 2350,
"id": 2445,
"linearizedBaseContracts": [
2350
2445
],

@@ -77,3 +77,3 @@ "name": "IParentable",

"functionSelector": "cfa3c132",
"id": 2349,
"id": 2444,
"implemented": false,

@@ -86,3 +86,3 @@ "kind": "function",

"parameters": {
"id": 2345,
"id": 2440,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2344,
"id": 2439,
"mutability": "mutable",

@@ -98,3 +98,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2349,
"scope": 2444,
"src": "107:10:22",

@@ -108,3 +108,3 @@ "stateVariable": false,

"typeName": {
"id": 2343,
"id": 2438,
"name": "uint256",

@@ -124,3 +124,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2348,
"id": 2443,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2347,
"id": 2442,
"mutability": "mutable",

@@ -136,3 +136,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2349,
"scope": 2444,
"src": "142:7:22",

@@ -146,3 +146,3 @@ "stateVariable": false,

"typeName": {
"id": 2346,
"id": 2441,
"name": "uint256",

@@ -161,3 +161,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2350,
"scope": 2445,
"src": "89:62:22",

@@ -169,5 +169,6 @@ "stateMutability": "pure",

],
"scope": 2351,
"scope": 2446,
"src": "61:92:22",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -179,7 +180,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.219Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.749Z",
"devdoc": {

@@ -186,0 +187,0 @@ "kind": "dev",

@@ -104,3 +104,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2640
2735
]
},
"id": 2641,
"id": 2736,
"license": "GPL-3.0",

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

{
"id": 2599,
"id": 2694,
"literals": [

@@ -146,5 +146,5 @@ "solidity",

"fullyImplemented": false,
"id": 2640,
"id": 2735,
"linearizedBaseContracts": [
2640
2735
],

@@ -157,3 +157,3 @@ "name": "IPromises",

"functionSelector": "d3903e4e",
"id": 2609,
"id": 2704,
"implemented": false,

@@ -166,3 +166,3 @@ "kind": "function",

"parameters": {
"id": 2607,
"id": 2702,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2601,
"id": 2696,
"mutability": "mutable",

@@ -178,3 +178,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2609,
"scope": 2704,
"src": "112:10:27",

@@ -188,3 +188,3 @@ "stateVariable": false,

"typeName": {
"id": 2600,
"id": 2695,
"name": "uint256",

@@ -202,3 +202,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2603,
"id": 2698,
"mutability": "mutable",

@@ -208,3 +208,3 @@ "name": "answerHash",

"nodeType": "VariableDeclaration",
"scope": 2609,
"scope": 2704,
"src": "132:18:27",

@@ -218,3 +218,3 @@ "stateVariable": false,

"typeName": {
"id": 2602,
"id": 2697,
"name": "uint256",

@@ -232,3 +232,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2606,
"id": 2701,
"mutability": "mutable",

@@ -238,3 +238,3 @@ "name": "answer",

"nodeType": "VariableDeclaration",
"scope": 2609,
"scope": 2704,
"src": "160:23:27",

@@ -249,3 +249,3 @@ "stateVariable": false,

"baseType": {
"id": 2604,
"id": 2699,
"name": "bytes",

@@ -259,3 +259,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2605,
"id": 2700,
"nodeType": "ArrayTypeName",

@@ -274,3 +274,3 @@ "src": "160:7:27",

"returnParameters": {
"id": 2608,
"id": 2703,
"nodeType": "ParameterList",

@@ -280,3 +280,3 @@ "parameters": [],

},
"scope": 2640,
"scope": 2735,
"src": "87:112:27",

@@ -289,3 +289,3 @@ "stateMutability": "nonpayable",

"functionSelector": "40e58ee5",
"id": 2614,
"id": 2709,
"implemented": false,

@@ -298,3 +298,3 @@ "kind": "function",

"parameters": {
"id": 2612,
"id": 2707,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2611,
"id": 2706,
"mutability": "mutable",

@@ -310,3 +310,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2614,
"scope": 2709,
"src": "221:10:27",

@@ -320,3 +320,3 @@ "stateVariable": false,

"typeName": {
"id": 2610,
"id": 2705,
"name": "uint256",

@@ -336,3 +336,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2613,
"id": 2708,
"nodeType": "ParameterList",

@@ -342,3 +342,3 @@ "parameters": [],

},
"scope": 2640,
"scope": 2735,
"src": "205:37:27",

@@ -351,3 +351,3 @@ "stateMutability": "nonpayable",

"functionSelector": "1f03029b",
"id": 2622,
"id": 2717,
"implemented": false,

@@ -360,3 +360,3 @@ "kind": "function",

"parameters": {
"id": 2620,
"id": 2715,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2616,
"id": 2711,
"mutability": "mutable",

@@ -372,3 +372,3 @@ "name": "id",

"nodeType": "VariableDeclaration",
"scope": 2622,
"scope": 2717,
"src": "267:10:27",

@@ -382,3 +382,3 @@ "stateVariable": false,

"typeName": {
"id": 2615,
"id": 2710,
"name": "uint256",

@@ -396,3 +396,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2619,
"id": 2714,
"mutability": "mutable",

@@ -402,3 +402,3 @@ "name": "json",

"nodeType": "VariableDeclaration",
"scope": 2622,
"scope": 2717,
"src": "279:21:27",

@@ -413,3 +413,3 @@ "stateVariable": false,

"baseType": {
"id": 2617,
"id": 2712,
"name": "bytes",

@@ -423,3 +423,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2618,
"id": 2713,
"nodeType": "ArrayTypeName",

@@ -438,3 +438,3 @@ "src": "279:7:27",

"returnParameters": {
"id": 2621,
"id": 2716,
"nodeType": "ParameterList",

@@ -444,3 +444,3 @@ "parameters": [],

},
"scope": 2640,
"scope": 2735,
"src": "248:63:27",

@@ -453,3 +453,3 @@ "stateMutability": "nonpayable",

"functionSelector": "a694fc3a",
"id": 2627,
"id": 2722,
"implemented": false,

@@ -462,3 +462,3 @@ "kind": "function",

"parameters": {
"id": 2625,
"id": 2720,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2624,
"id": 2719,
"mutability": "mutable",

@@ -474,3 +474,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2627,
"scope": 2722,
"src": "332:14:27",

@@ -484,3 +484,3 @@ "stateVariable": false,

"typeName": {
"id": 2623,
"id": 2718,
"name": "uint256",

@@ -500,3 +500,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2626,
"id": 2721,
"nodeType": "ParameterList",

@@ -506,3 +506,3 @@ "parameters": [],

},
"scope": 2640,
"scope": 2735,
"src": "317:40:27",

@@ -515,3 +515,3 @@ "stateMutability": "nonpayable",

"functionSelector": "2e17de78",
"id": 2632,
"id": 2727,
"implemented": false,

@@ -524,3 +524,3 @@ "kind": "function",

"parameters": {
"id": 2630,
"id": 2725,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2629,
"id": 2724,
"mutability": "mutable",

@@ -536,3 +536,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2632,
"scope": 2727,
"src": "426:14:27",

@@ -546,3 +546,3 @@ "stateVariable": false,

"typeName": {
"id": 2628,
"id": 2723,
"name": "uint256",

@@ -562,3 +562,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2631,
"id": 2726,
"nodeType": "ParameterList",

@@ -568,3 +568,3 @@ "parameters": [],

},
"scope": 2640,
"scope": 2735,
"src": "409:42:27",

@@ -577,3 +577,3 @@ "stateMutability": "nonpayable",

"functionSelector": "559c1c4c",
"id": 2639,
"id": 2734,
"implemented": false,

@@ -586,3 +586,3 @@ "kind": "function",

"parameters": {
"id": 2635,
"id": 2730,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2634,
"id": 2729,
"mutability": "mutable",

@@ -598,3 +598,3 @@ "name": "diviner",

"nodeType": "VariableDeclaration",
"scope": 2639,
"scope": 2734,
"src": "550:15:27",

@@ -608,3 +608,3 @@ "stateVariable": false,

"typeName": {
"id": 2633,
"id": 2728,
"name": "address",

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

"returnParameters": {
"id": 2638,
"id": 2733,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2637,
"id": 2732,
"mutability": "mutable",

@@ -637,3 +637,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2639,
"scope": 2734,
"src": "585:7:27",

@@ -647,3 +647,3 @@ "stateVariable": false,

"typeName": {
"id": 2636,
"id": 2731,
"name": "uint256",

@@ -662,3 +662,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2640,
"scope": 2735,
"src": "530:64:27",

@@ -670,5 +670,6 @@ "stateMutability": "nonpayable",

],
"scope": 2641,
"scope": 2736,
"src": "61:535:27",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -680,7 +681,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.221Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.750Z",
"devdoc": {

@@ -687,0 +688,0 @@ "kind": "dev",

@@ -236,3 +236,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0x0f633a0223d9a1dcccfcf38a64c9de0874dfcbfac0c6941ccf074d63a2ce0e1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://864a40efcffdf408044c332a5aa38ec5618ed7b4eecb8f65faf45671bd6cdc65\",\"dweb:/ipfs/QmQJquTMtc6fgm5JQzGdsGpA2fqBe3MHWEdt2qzaLySMdN\"]},\"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.21+commit.d9974bed\"},\"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}",
"bytecode": "0x",

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

"Address": [
1452
1547
],
"Erc20Store": [
2055
2150
],

@@ -264,12 +264,12 @@ "IERC20": [

"IUniGenPair": [
2736
2831
],
"SafeERC20": [
1006
1101
],
"SafeMath": [
1798
1893
]
},
"id": 2737,
"id": 2832,
"license": "GPL-3.0",

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

{
"id": 2642,
"id": 2737,
"literals": [

@@ -293,6 +293,6 @@ "solidity",

"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 2643,
"id": 2738,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2737,
"scope": 2832,
"sourceUnit": 665,

@@ -306,7 +306,7 @@ "src": "61:56:28",

"file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
"id": 2644,
"id": 2739,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2737,
"sourceUnit": 1007,
"scope": 2832,
"sourceUnit": 1102,
"src": "118:65:28",

@@ -319,7 +319,7 @@ "symbolAliases": [],

"file": "@openzeppelin/contracts/utils/math/SafeMath.sol",
"id": 2645,
"id": 2740,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2737,
"sourceUnit": 1799,
"scope": 2832,
"sourceUnit": 1894,
"src": "184:57:28",

@@ -332,7 +332,7 @@ "symbolAliases": [],

"file": "../erc20/contracts/Erc20Store.sol",
"id": 2646,
"id": 2741,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2737,
"sourceUnit": 2056,
"scope": 2832,
"sourceUnit": 2151,
"src": "242:43:28",

@@ -349,5 +349,5 @@ "symbolAliases": [],

"fullyImplemented": false,
"id": 2736,
"id": 2831,
"linearizedBaseContracts": [
2736
2831
],

@@ -360,3 +360,3 @@ "name": "IUniGenPair",

"functionSelector": "67e828bf",
"id": 2652,
"id": 2747,
"implemented": false,

@@ -369,3 +369,3 @@ "kind": "function",

"parameters": {
"id": 2647,
"id": 2742,
"nodeType": "ParameterList",

@@ -376,3 +376,3 @@ "parameters": [],

"returnParameters": {
"id": 2651,
"id": 2746,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2650,
"id": 2745,
"mutability": "mutable",

@@ -388,3 +388,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2652,
"scope": 2747,
"src": "389:6:28",

@@ -398,6 +398,6 @@ "stateVariable": false,

"typeName": {
"id": 2649,
"id": 2744,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2648,
"id": 2743,
"name": "IERC20",

@@ -423,3 +423,3 @@ "nameLocations": [

},
"scope": 2736,
"scope": 2831,
"src": "353:44:28",

@@ -432,3 +432,3 @@ "stateMutability": "nonpayable",

"functionSelector": "d4b83992",
"id": 2658,
"id": 2753,
"implemented": false,

@@ -441,3 +441,3 @@ "kind": "function",

"parameters": {
"id": 2653,
"id": 2748,
"nodeType": "ParameterList",

@@ -448,3 +448,3 @@ "parameters": [],

"returnParameters": {
"id": 2657,
"id": 2752,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2656,
"id": 2751,
"mutability": "mutable",

@@ -460,3 +460,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2658,
"scope": 2753,
"src": "477:6:28",

@@ -470,6 +470,6 @@ "stateVariable": false,

"typeName": {
"id": 2655,
"id": 2750,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2654,
"id": 2749,
"name": "IERC20",

@@ -495,3 +495,3 @@ "nameLocations": [

},
"scope": 2736,
"scope": 2831,
"src": "441:44:28",

@@ -504,3 +504,3 @@ "stateMutability": "nonpayable",

"functionSelector": "a694fc3a",
"id": 2665,
"id": 2760,
"implemented": false,

@@ -513,3 +513,3 @@ "kind": "function",

"parameters": {
"id": 2661,
"id": 2756,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2660,
"id": 2755,
"mutability": "mutable",

@@ -525,3 +525,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2665,
"scope": 2760,
"src": "558:14:28",

@@ -535,3 +535,3 @@ "stateVariable": false,

"typeName": {
"id": 2659,
"id": 2754,
"name": "uint256",

@@ -551,3 +551,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2664,
"id": 2759,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2663,
"id": 2758,
"mutability": "mutable",

@@ -563,3 +563,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2665,
"scope": 2760,
"src": "592:7:28",

@@ -573,3 +573,3 @@ "stateVariable": false,

"typeName": {
"id": 2662,
"id": 2757,
"name": "uint256",

@@ -588,3 +588,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "543:58:28",

@@ -597,3 +597,3 @@ "stateMutability": "nonpayable",

"functionSelector": "2e17de78",
"id": 2672,
"id": 2767,
"implemented": false,

@@ -606,3 +606,3 @@ "kind": "function",

"parameters": {
"id": 2668,
"id": 2763,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2667,
"id": 2762,
"mutability": "mutable",

@@ -618,3 +618,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2672,
"scope": 2767,
"src": "689:14:28",

@@ -628,3 +628,3 @@ "stateVariable": false,

"typeName": {
"id": 2666,
"id": 2761,
"name": "uint256",

@@ -644,3 +644,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2671,
"id": 2766,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2670,
"id": 2765,
"mutability": "mutable",

@@ -656,3 +656,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2672,
"scope": 2767,
"src": "723:7:28",

@@ -666,3 +666,3 @@ "stateVariable": false,

"typeName": {
"id": 2669,
"id": 2764,
"name": "uint256",

@@ -681,3 +681,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "672:60:28",

@@ -690,3 +690,3 @@ "stateMutability": "nonpayable",

"functionSelector": "35322f37",
"id": 2677,
"id": 2772,
"implemented": false,

@@ -699,3 +699,3 @@ "kind": "function",

"parameters": {
"id": 2673,
"id": 2768,
"nodeType": "ParameterList",

@@ -706,3 +706,3 @@ "parameters": [],

"returnParameters": {
"id": 2676,
"id": 2771,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2675,
"id": 2770,
"mutability": "mutable",

@@ -718,3 +718,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2677,
"scope": 2772,
"src": "839:7:28",

@@ -728,3 +728,3 @@ "stateVariable": false,

"typeName": {
"id": 2674,
"id": 2769,
"name": "uint256",

@@ -743,3 +743,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "799:49:28",

@@ -752,3 +752,3 @@ "stateMutability": "nonpayable",

"functionSelector": "7caa7230",
"id": 2682,
"id": 2777,
"implemented": false,

@@ -761,3 +761,3 @@ "kind": "function",

"parameters": {
"id": 2678,
"id": 2773,
"nodeType": "ParameterList",

@@ -768,3 +768,3 @@ "parameters": [],

"returnParameters": {
"id": 2681,
"id": 2776,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2680,
"id": 2775,
"mutability": "mutable",

@@ -780,3 +780,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2682,
"scope": 2777,
"src": "941:7:28",

@@ -790,3 +790,3 @@ "stateVariable": false,

"typeName": {
"id": 2679,
"id": 2774,
"name": "uint256",

@@ -805,3 +805,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "898:52:28",

@@ -814,3 +814,3 @@ "stateMutability": "nonpayable",

"functionSelector": "43cce08e",
"id": 2687,
"id": 2782,
"implemented": false,

@@ -823,3 +823,3 @@ "kind": "function",

"parameters": {
"id": 2683,
"id": 2778,
"nodeType": "ParameterList",

@@ -830,3 +830,3 @@ "parameters": [],

"returnParameters": {
"id": 2686,
"id": 2781,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2685,
"id": 2780,
"mutability": "mutable",

@@ -842,3 +842,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2687,
"scope": 2782,
"src": "1038:7:28",

@@ -852,3 +852,3 @@ "stateVariable": false,

"typeName": {
"id": 2684,
"id": 2779,
"name": "uint256",

@@ -867,3 +867,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "995:52:28",

@@ -876,3 +876,3 @@ "stateMutability": "nonpayable",

"functionSelector": "72594198",
"id": 2694,
"id": 2789,
"implemented": false,

@@ -885,3 +885,3 @@ "kind": "function",

"parameters": {
"id": 2690,
"id": 2785,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2689,
"id": 2784,
"mutability": "mutable",

@@ -897,3 +897,3 @@ "name": "addr",

"nodeType": "VariableDeclaration",
"scope": 2694,
"scope": 2789,
"src": "1141:12:28",

@@ -907,3 +907,3 @@ "stateVariable": false,

"typeName": {
"id": 2688,
"id": 2783,
"name": "address",

@@ -924,3 +924,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2693,
"id": 2788,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2692,
"id": 2787,
"mutability": "mutable",

@@ -936,3 +936,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2694,
"scope": 2789,
"src": "1173:7:28",

@@ -946,3 +946,3 @@ "stateVariable": false,

"typeName": {
"id": 2691,
"id": 2786,
"name": "uint256",

@@ -961,3 +961,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1115:67:28",

@@ -970,3 +970,3 @@ "stateMutability": "nonpayable",

"functionSelector": "b6b55f25",
"id": 2701,
"id": 2796,
"implemented": false,

@@ -979,3 +979,3 @@ "kind": "function",

"parameters": {
"id": 2697,
"id": 2792,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2696,
"id": 2791,
"mutability": "mutable",

@@ -991,3 +991,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2701,
"scope": 2796,
"src": "1279:14:28",

@@ -1001,3 +1001,3 @@ "stateVariable": false,

"typeName": {
"id": 2695,
"id": 2790,
"name": "uint256",

@@ -1017,3 +1017,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2700,
"id": 2795,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2699,
"id": 2794,
"mutability": "mutable",

@@ -1029,3 +1029,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2701,
"scope": 2796,
"src": "1313:7:28",

@@ -1039,3 +1039,3 @@ "stateVariable": false,

"typeName": {
"id": 2698,
"id": 2793,
"name": "uint256",

@@ -1054,3 +1054,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1262:60:28",

@@ -1063,3 +1063,3 @@ "stateMutability": "nonpayable",

"functionSelector": "2e1a7d4d",
"id": 2708,
"id": 2803,
"implemented": false,

@@ -1072,3 +1072,3 @@ "kind": "function",

"parameters": {
"id": 2704,
"id": 2799,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2703,
"id": 2798,
"mutability": "mutable",

@@ -1084,3 +1084,3 @@ "name": "amount",

"nodeType": "VariableDeclaration",
"scope": 2708,
"scope": 2803,
"src": "1396:14:28",

@@ -1094,3 +1094,3 @@ "stateVariable": false,

"typeName": {
"id": 2702,
"id": 2797,
"name": "uint256",

@@ -1110,3 +1110,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2707,
"id": 2802,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2706,
"id": 2801,
"mutability": "mutable",

@@ -1122,3 +1122,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2708,
"scope": 2803,
"src": "1430:7:28",

@@ -1132,3 +1132,3 @@ "stateVariable": false,

"typeName": {
"id": 2705,
"id": 2800,
"name": "uint256",

@@ -1147,3 +1147,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1378:61:28",

@@ -1156,3 +1156,3 @@ "stateMutability": "nonpayable",

"functionSelector": "853828b6",
"id": 2713,
"id": 2808,
"implemented": false,

@@ -1165,3 +1165,3 @@ "kind": "function",

"parameters": {
"id": 2709,
"id": 2804,
"nodeType": "ParameterList",

@@ -1172,3 +1172,3 @@ "parameters": [],

"returnParameters": {
"id": 2712,
"id": 2807,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2711,
"id": 2806,
"mutability": "mutable",

@@ -1184,3 +1184,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2713,
"scope": 2808,
"src": "1528:7:28",

@@ -1194,3 +1194,3 @@ "stateVariable": false,

"typeName": {
"id": 2710,
"id": 2805,
"name": "uint256",

@@ -1209,3 +1209,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1487:50:28",

@@ -1218,3 +1218,3 @@ "stateMutability": "nonpayable",

"functionSelector": "2a1bbc34",
"id": 2718,
"id": 2813,
"implemented": false,

@@ -1227,3 +1227,3 @@ "kind": "function",

"parameters": {
"id": 2714,
"id": 2809,
"nodeType": "ParameterList",

@@ -1234,3 +1234,3 @@ "parameters": [],

"returnParameters": {
"id": 2717,
"id": 2812,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2716,
"id": 2811,
"mutability": "mutable",

@@ -1246,3 +1246,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2718,
"scope": 2813,
"src": "1641:7:28",

@@ -1256,3 +1256,3 @@ "stateVariable": false,

"typeName": {
"id": 2715,
"id": 2810,
"name": "uint256",

@@ -1271,3 +1271,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1603:47:28",

@@ -1280,3 +1280,3 @@ "stateMutability": "nonpayable",

"functionSelector": "e20ccec3",
"id": 2723,
"id": 2818,
"implemented": false,

@@ -1289,3 +1289,3 @@ "kind": "function",

"parameters": {
"id": 2719,
"id": 2814,
"nodeType": "ParameterList",

@@ -1296,3 +1296,3 @@ "parameters": [],

"returnParameters": {
"id": 2722,
"id": 2817,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2721,
"id": 2816,
"mutability": "mutable",

@@ -1308,3 +1308,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2723,
"scope": 2818,
"src": "1733:7:28",

@@ -1318,3 +1318,3 @@ "stateVariable": false,

"typeName": {
"id": 2720,
"id": 2815,
"name": "uint256",

@@ -1333,3 +1333,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1696:46:28",

@@ -1342,3 +1342,3 @@ "stateMutability": "nonpayable",

"functionSelector": "d7820452",
"id": 2730,
"id": 2825,
"implemented": false,

@@ -1351,3 +1351,3 @@ "kind": "function",

"parameters": {
"id": 2726,
"id": 2821,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2725,
"id": 2820,
"mutability": "mutable",

@@ -1363,3 +1363,3 @@ "name": "addr",

"nodeType": "VariableDeclaration",
"scope": 2730,
"scope": 2825,
"src": "1830:12:28",

@@ -1373,3 +1373,3 @@ "stateVariable": false,

"typeName": {
"id": 2724,
"id": 2819,
"name": "address",

@@ -1390,3 +1390,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 2729,
"id": 2824,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2728,
"id": 2823,
"mutability": "mutable",

@@ -1402,3 +1402,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2730,
"scope": 2825,
"src": "1862:7:28",

@@ -1412,3 +1412,3 @@ "stateVariable": false,

"typeName": {
"id": 2727,
"id": 2822,
"name": "uint256",

@@ -1427,3 +1427,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1810:61:28",

@@ -1436,3 +1436,3 @@ "stateMutability": "nonpayable",

"functionSelector": "48a0d754",
"id": 2735,
"id": 2830,
"implemented": false,

@@ -1445,3 +1445,3 @@ "kind": "function",

"parameters": {
"id": 2731,
"id": 2826,
"nodeType": "ParameterList",

@@ -1452,3 +1452,3 @@ "parameters": [],

"returnParameters": {
"id": 2734,
"id": 2829,
"nodeType": "ParameterList",

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

"constant": false,
"id": 2733,
"id": 2828,
"mutability": "mutable",

@@ -1464,3 +1464,3 @@ "name": "",

"nodeType": "VariableDeclaration",
"scope": 2735,
"scope": 2830,
"src": "1997:7:28",

@@ -1474,3 +1474,3 @@ "stateVariable": false,

"typeName": {
"id": 2732,
"id": 2827,
"name": "uint256",

@@ -1489,3 +1489,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 2736,
"scope": 2831,
"src": "1958:48:28",

@@ -1497,5 +1497,6 @@ "stateMutability": "nonpayable",

],
"scope": 2737,
"scope": 2832,
"src": "287:1721:28",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -1507,7 +1508,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.221Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.750Z",
"devdoc": {

@@ -1514,0 +1515,0 @@ "kind": "dev",

{
"contractName": "PercentConstants",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e6bf5b0a9b144343798f8ff53d1d23a8c67c2440567feb760fb6df777f3f429664736f6c63430008130033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e6bf5b0a9b144343798f8ff53d1d23a8c67c2440567feb760fb6df777f3f429664736f6c63430008130033",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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": "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b7634a07a908e7a6901e89dd8aa357f30fa5f6ec7c117ecca48d8bf6e217d7e164736f6c63430008150033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b7634a07a908e7a6901e89dd8aa357f30fa5f6ec7c117ecca48d8bf6e217d7e164736f6c63430008150033",
"immutableReferences": {},

@@ -18,6 +18,6 @@ "generatedSources": [],

"PercentConstants": [
2359
2454
]
},
"id": 2360,
"id": 2455,
"license": "GPL-3.0",

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

{
"id": 2352,
"id": 2447,
"literals": [

@@ -45,5 +45,5 @@ "solidity",

"fullyImplemented": true,
"id": 2359,
"id": 2454,
"linearizedBaseContracts": [
2359
2454
],

@@ -56,3 +56,3 @@ "name": "PercentConstants",

"constant": true,
"id": 2355,
"id": 2450,
"mutability": "constant",

@@ -62,3 +62,3 @@ "name": "PERCENT_DIV",

"nodeType": "VariableDeclaration",
"scope": 2359,
"scope": 2454,
"src": "92:34:23",

@@ -72,3 +72,3 @@ "stateVariable": true,

"typeName": {
"id": 2353,
"id": 2448,
"name": "uint256",

@@ -84,3 +84,3 @@ "nodeType": "ElementaryTypeName",

"hexValue": "313030",
"id": 2354,
"id": 2449,
"isConstant": false,

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

"constant": true,
"id": 2358,
"id": 2453,
"mutability": "constant",

@@ -109,3 +109,3 @@ "name": "MICRO_PERCENT_DIV",

"nodeType": "VariableDeclaration",
"scope": 2359,
"scope": 2454,
"src": "132:43:23",

@@ -119,3 +119,3 @@ "stateVariable": true,

"typeName": {
"id": 2356,
"id": 2451,
"name": "uint256",

@@ -131,3 +131,3 @@ "nodeType": "ElementaryTypeName",

"hexValue": "313030303030",
"id": 2357,
"id": 2452,
"isConstant": false,

@@ -149,5 +149,6 @@ "isLValue": false,

],
"scope": 2360,
"scope": 2455,
"src": "61:117:23",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -159,7 +160,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.220Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.749Z",
"devdoc": {

@@ -166,0 +167,0 @@ "kind": "dev",

@@ -138,3 +138,3 @@ {

],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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.21+commit.d9974bed\"},\"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": [
2640
2735
],
"Promises": [
2597
2692
]
},
"id": 2598,
"id": 2693,
"license": "GPL-3.0",

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

{
"id": 2573,
"id": 2668,
"literals": [

@@ -179,7 +179,7 @@ "solidity",

"file": "../interfaces/IPromises.sol",
"id": 2574,
"id": 2669,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2598,
"sourceUnit": 2641,
"scope": 2693,
"sourceUnit": 2736,
"src": "61:37:26",

@@ -194,3 +194,3 @@ "symbolAliases": [],

"baseName": {
"id": 2575,
"id": 2670,
"name": "IPromises",

@@ -201,6 +201,6 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 2640,
"referencedDeclaration": 2735,
"src": "130:9:26"
},
"id": 2576,
"id": 2671,
"nodeType": "InheritanceSpecifier",

@@ -214,6 +214,6 @@ "src": "130:9:26"

"fullyImplemented": false,
"id": 2597,
"id": 2692,
"linearizedBaseContracts": [
2597,
2640
2692,
2735
],

@@ -226,7 +226,7 @@ "name": "Promises",

"canonicalName": "Promises.Promise",
"id": 2591,
"id": 2686,
"members": [
{
"constant": false,
"id": 2578,
"id": 2673,
"mutability": "mutable",

@@ -236,3 +236,3 @@ "name": "minimumStake",

"nodeType": "VariableDeclaration",
"scope": 2591,
"scope": 2686,
"src": "261:20:26",

@@ -246,3 +246,3 @@ "stateVariable": false,

"typeName": {
"id": 2577,
"id": 2672,
"name": "uint256",

@@ -260,3 +260,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2580,
"id": 2675,
"mutability": "mutable",

@@ -266,3 +266,3 @@ "name": "verifyDelay",

"nodeType": "VariableDeclaration",
"scope": 2591,
"scope": 2686,
"src": "390:18:26",

@@ -276,3 +276,3 @@ "stateVariable": false,

"typeName": {
"id": 2579,
"id": 2674,
"name": "uint32",

@@ -290,3 +290,3 @@ "nodeType": "ElementaryTypeName",

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

@@ -296,3 +296,3 @@ "name": "expireDelay",

"nodeType": "VariableDeclaration",
"scope": 2591,
"scope": 2686,
"src": "500:18:26",

@@ -306,3 +306,3 @@ "stateVariable": false,

"typeName": {
"id": 2581,
"id": 2676,
"name": "uint32",

@@ -320,3 +320,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2584,
"id": 2679,
"mutability": "mutable",

@@ -326,3 +326,3 @@ "name": "answerHash",

"nodeType": "VariableDeclaration",
"scope": 2591,
"scope": 2686,
"src": "528:18:26",

@@ -336,3 +336,3 @@ "stateVariable": false,

"typeName": {
"id": 2583,
"id": 2678,
"name": "uint256",

@@ -350,3 +350,3 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 2587,
"id": 2682,
"mutability": "mutable",

@@ -356,3 +356,3 @@ "name": "answer",

"nodeType": "VariableDeclaration",
"scope": 2591,
"scope": 2686,
"src": "556:16:26",

@@ -367,3 +367,3 @@ "stateVariable": false,

"baseType": {
"id": 2585,
"id": 2680,
"name": "uint256",

@@ -377,3 +377,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2586,
"id": 2681,
"nodeType": "ArrayTypeName",

@@ -390,3 +390,3 @@ "src": "556:9:26",

"constant": false,
"id": 2590,
"id": 2685,
"mutability": "mutable",

@@ -396,3 +396,3 @@ "name": "paths",

"nodeType": "VariableDeclaration",
"scope": 2591,
"scope": 2686,
"src": "631:13:26",

@@ -407,3 +407,3 @@ "stateVariable": false,

"baseType": {
"id": 2588,
"id": 2683,
"name": "bytes",

@@ -417,3 +417,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2589,
"id": 2684,
"nodeType": "ArrayTypeName",

@@ -432,3 +432,3 @@ "src": "631:7:26",

"nodeType": "StructDefinition",
"scope": 2597,
"scope": 2692,
"src": "146:505:26",

@@ -440,3 +440,3 @@ "visibility": "public"

"functionSelector": "1f06c859",
"id": 2596,
"id": 2691,
"mutability": "mutable",

@@ -446,3 +446,3 @@ "name": "promises",

"nodeType": "VariableDeclaration",
"scope": 2597,
"scope": 2692,
"src": "657:43:26",

@@ -452,11 +452,11 @@ "stateVariable": true,

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$2591_storage_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$2686_storage_$",
"typeString": "mapping(uint256 => struct Promises.Promise)"
},
"typeName": {
"id": 2595,
"id": 2690,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 2592,
"id": 2687,
"name": "uint256",

@@ -473,3 +473,3 @@ "nodeType": "ElementaryTypeName",

"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$2591_storage_$",
"typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Promise_$2686_storage_$",
"typeString": "mapping(uint256 => struct Promises.Promise)"

@@ -480,6 +480,6 @@ },

"valueType": {
"id": 2594,
"id": 2689,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 2593,
"id": 2688,
"name": "Promise",

@@ -490,9 +490,9 @@ "nameLocations": [

"nodeType": "IdentifierPath",
"referencedDeclaration": 2591,
"referencedDeclaration": 2686,
"src": "676:7:26"
},
"referencedDeclaration": 2591,
"referencedDeclaration": 2686,
"src": "676:7:26",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Promise_$2591_storage_ptr",
"typeIdentifier": "t_struct$_Promise_$2686_storage_ptr",
"typeString": "struct Promises.Promise"

@@ -505,5 +505,6 @@ }

],
"scope": 2598,
"scope": 2693,
"src": "100:603:26",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -515,7 +516,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.221Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.750Z",
"devdoc": {

@@ -522,0 +523,0 @@ "kind": "dev",

{
"contractName": "TimeConstants",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"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": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c324e698d5122f4fbabffa4bba314be13422dfaf2d3665aaad4c0e4dc0e3f86264736f6c63430008130033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c324e698d5122f4fbabffa4bba314be13422dfaf2d3665aaad4c0e4dc0e3f86264736f6c63430008130033",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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": "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220da159749a71a55038cd6f461887952f943f25e1e46d81f3991c0d121bbc395d764736f6c63430008150033",
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220da159749a71a55038cd6f461887952f943f25e1e46d81f3991c0d121bbc395d764736f6c63430008150033",
"immutableReferences": {},

@@ -18,6 +18,6 @@ "generatedSources": [],

"TimeConstants": [
2571
2666
]
},
"id": 2572,
"id": 2667,
"license": "GPL-3.0",

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

{
"id": 2544,
"id": 2639,
"literals": [

@@ -45,5 +45,5 @@ "solidity",

"fullyImplemented": true,
"id": 2571,
"id": 2666,
"linearizedBaseContracts": [
2571
2666
],

@@ -56,3 +56,3 @@ "name": "TimeConstants",

"constant": true,
"id": 2547,
"id": 2642,
"mutability": "constant",

@@ -62,3 +62,3 @@ "name": "SECONDS_IN_MINUTE",

"nodeType": "VariableDeclaration",
"scope": 2571,
"scope": 2666,
"src": "89:38:25",

@@ -72,3 +72,3 @@ "stateVariable": true,

"typeName": {
"id": 2545,
"id": 2640,
"name": "uint32",

@@ -84,3 +84,3 @@ "nodeType": "ElementaryTypeName",

"hexValue": "3630",
"id": 2546,
"id": 2641,
"isConstant": false,

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

"constant": true,
"id": 2550,
"id": 2645,
"mutability": "constant",

@@ -109,3 +109,3 @@ "name": "MINUTES_IN_HOUR",

"nodeType": "VariableDeclaration",
"scope": 2571,
"scope": 2666,
"src": "133:36:25",

@@ -119,3 +119,3 @@ "stateVariable": true,

"typeName": {
"id": 2548,
"id": 2643,
"name": "uint32",

@@ -131,3 +131,3 @@ "nodeType": "ElementaryTypeName",

"hexValue": "3630",
"id": 2549,
"id": 2644,
"isConstant": false,

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

"constant": true,
"id": 2555,
"id": 2650,
"mutability": "constant",

@@ -156,3 +156,3 @@ "name": "MINUTES_IN_DAY",

"nodeType": "VariableDeclaration",
"scope": 2571,
"scope": 2666,
"src": "175:53:25",

@@ -166,3 +166,3 @@ "stateVariable": true,

"typeName": {
"id": 2551,
"id": 2646,
"name": "uint32",

@@ -181,3 +181,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2554,
"id": 2649,
"isConstant": false,

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

"hexValue": "3234",
"id": 2552,
"id": 2647,
"isConstant": false,

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

"rightExpression": {
"id": 2553,
"id": 2648,
"name": "MINUTES_IN_HOUR",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2550,
"referencedDeclaration": 2645,
"src": "213:15:25",

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

"constant": true,
"id": 2560,
"id": 2655,
"mutability": "constant",

@@ -235,3 +235,3 @@ "name": "MINUTES_IN_WEEK",

"nodeType": "VariableDeclaration",
"scope": 2571,
"scope": 2666,
"src": "234:52:25",

@@ -245,3 +245,3 @@ "stateVariable": true,

"typeName": {
"id": 2556,
"id": 2651,
"name": "uint32",

@@ -260,3 +260,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2559,
"id": 2654,
"isConstant": false,

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

"hexValue": "37",
"id": 2557,
"id": 2652,
"isConstant": false,

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

"rightExpression": {
"id": 2558,
"id": 2653,
"name": "MINUTES_IN_DAY",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2555,
"referencedDeclaration": 2650,
"src": "272:14:25",

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

"constant": true,
"id": 2565,
"id": 2660,
"mutability": "constant",

@@ -314,3 +314,3 @@ "name": "MINUTES_IN_QUARTER",

"nodeType": "VariableDeclaration",
"scope": 2571,
"scope": 2666,
"src": "292:57:25",

@@ -324,3 +324,3 @@ "stateVariable": true,

"typeName": {
"id": 2561,
"id": 2656,
"name": "uint32",

@@ -339,3 +339,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2564,
"id": 2659,
"isConstant": false,

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

"hexValue": "3133",
"id": 2562,
"id": 2657,
"isConstant": false,

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

"rightExpression": {
"id": 2563,
"id": 2658,
"name": "MINUTES_IN_WEEK",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2560,
"referencedDeclaration": 2655,
"src": "334:15:25",

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

"constant": true,
"id": 2570,
"id": 2665,
"mutability": "constant",

@@ -393,3 +393,3 @@ "name": "MINUTES_IN_YEAR",

"nodeType": "VariableDeclaration",
"scope": 2571,
"scope": 2666,
"src": "355:56:25",

@@ -403,3 +403,3 @@ "stateVariable": true,

"typeName": {
"id": 2566,
"id": 2661,
"name": "uint32",

@@ -418,3 +418,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 2569,
"id": 2664,
"isConstant": false,

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

"hexValue": "34",
"id": 2567,
"id": 2662,
"isConstant": false,

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

"rightExpression": {
"id": 2568,
"id": 2663,
"name": "MINUTES_IN_QUARTER",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2565,
"referencedDeclaration": 2660,
"src": "393:18:25",

@@ -465,5 +465,6 @@ "typeDescriptions": {

],
"scope": 2572,
"scope": 2667,
"src": "61:353:25",
"usedErrors": []
"usedErrors": [],
"usedEvents": []
}

@@ -475,7 +476,7 @@ ],

"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
"version": "0.8.21+commit.d9974bed.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-05-02T01:08:02.220Z",
"schemaVersion": "3.4.16",
"updatedAt": "2023-09-29T20:54:58.750Z",
"devdoc": {

@@ -482,0 +483,0 @@ "kind": "dev",

{
"name": "@xyo-network/solidity",
"dependencies": {
"@openzeppelin/contracts": "^4.8.3"
"@openzeppelin/contracts": "^4.9.3"
},

@@ -23,5 +23,5 @@ "author": {

"devDependencies": {
"@xylabs/ts-scripts-yarn3": "^2.17.6",
"@xylabs/ts-scripts-yarn3": "~3.0.79",
"rimraf": "^4.4.1",
"truffle": "^5.8.4"
"truffle": "^5.11.5"
},

@@ -38,3 +38,3 @@ "publishConfig": {

"sideEffects": false,
"version": "2.1.6"
"version": "2.2.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 too big to display

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