Files
contract/deployment/alpha/out/MockERC20.sol/MockERC20.json
2023-11-16 17:36:43 -04:00

1358 lines
76 KiB
JSON

{
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"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"
}
],
"bytecode": {
"object": "0x60806040523480156200001157600080fd5b50604051620011fd380380620011fd8339810160408190526200003491620001c9565b828260036200004483826200035d565b5060046200005382826200035d565b50506005805460ff191660ff9390931692909217909155506200042a915050565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681016001600160401b0381118282101715620000b257620000b262000074565b6040525050565b6000620000c560405190565b809150620000d483826200008a565b50919050565b60006001600160401b03821115620000f657620000f662000074565b50601f01601f191660200190565b60005b838110156200012157818101518382015260200162000107565b50506000910152565b6000620001416200013b84620000da565b620000b9565b8091508381528484840111156200015b576200015b600080fd5b6200016b84602083018562000104565b509392505050565b600082601f830112620001895762000189600080fd5b6200019a838351602085016200012a565b9392505050565b60ff81168114620001b157600080fd5b50565b805180620001c281620001a1565b5092915050565b600080600060608486031215620001e357620001e3600080fd5b83516001600160401b03811115620001fe57620001fe600080fd5b6200020c8682870162000173565b602086015190945090506001600160401b038111156200022f576200022f600080fd5b6200023d8682870162000173565b9250506200024f8560408601620001b4565b90509250925092565b634e487b7160e01b600052602260045260246000fd5b600181811c9081908316806200028557607f821692505b6020831081036200029a576200029a62000258565b5050919050565b6000620002b2620002af8381565b90565b92915050565b620002e1620002cb620002af85620002a1565b8254600385901b91821b60001990921b19161790565b90555050565b620002f560008383620002b8565b5050565b81811015620002f5576200030f600082620002e7565b600101620002f9565b601f8211156200035857600081815260209020601f840160051c81016020851015620003415750805b62000355601f850160051c830182620002f9565b50505b505050565b81516001600160401b0381111562000379576200037962000074565b62000391816200038a84546200026e565b8462000318565b6020601f821160018114620003ca5760008315620003af5750848201515b600019600385901b1c198116600185901b1785555062000355565b600084815260208120601f198516915b82811015620003fc5787850151825560209485019460019092019101620003da565b50848210156200041b5783870151600019600387901b60f8161c191681555b50505050600190811b01905550565b610dc3806200043a6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806340c10f1911610081578063a457c2d71161005b578063a457c2d7146101b4578063a9059cbb146101c7578063dd62ed3e146101da57600080fd5b806340c10f191461016157806370a082311461017657806395d89b41146101ac57600080fd5b806323b872dd116100b257806323b872dd14610128578063313ce5671461013b578063395093511461014e57600080fd5b806306fdde03146100d9578063095ea7b3146100f757806318160ddd14610117575b600080fd5b6100e1610220565b6040516100ee919061084f565b60405180910390f35b61010a6101053660046108c3565b6102b2565b6040516100ee9190610905565b6002545b6040516100ee9190610919565b61010a610136366004610927565b6102cc565b60055460ff166040516100ee9190610979565b61010a61015c3660046108c3565b6102f0565b61017461016f3660046108c3565b61033c565b005b61011b610184366004610987565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100e161034a565b61010a6101c23660046108c3565b610359565b61010a6101d53660046108c3565b6103dd565b61011b6101e83660046109a6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461022f90610a04565b80601f016020809104026020016040519081016040528092919081815260200182805461025b90610a04565b80156102a85780601f1061027d576101008083540402835291602001916102a8565b820191906000526020600020905b81548152906001019060200180831161028b57829003601f168201915b5050505050905090565b6000336102c08185856103eb565b60019150505b92915050565b6000336102da8582856104fa565b6102e58585856105a1565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102c09082908690610337908790610a62565b6103eb565b6103468282610713565b5050565b60606004805461022f90610a04565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610adc565b60405180910390fd5b6102e582868684036103eb565b6000336102c08185856105a1565b73ffffffffffffffffffffffffffffffffffffffff8316610438576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610b46565b73ffffffffffffffffffffffffffffffffffffffff8216610485576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610bb0565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ed908590610919565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461059b578181101561058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610bf9565b61059b84848484036103eb565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610c63565b73ffffffffffffffffffffffffffffffffffffffff821661063b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610ccd565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561069b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610d37565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526020819052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610706908690610919565b60405180910390a361059b565b73ffffffffffffffffffffffffffffffffffffffff8216610760576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610d7b565b80600260008282546107729190610a62565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208190526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107d1908590610919565b60405180910390a35050565b60005b838110156107f85781810151838201526020016107e0565b50506000910152565b600061080b825190565b808452602084016108208282602087016107dd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011601949350505050565b6020815260006108626020830184610801565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82166102c6565b61089081610869565b811461089b57600080fd5b50565b8035806108aa81610887565b5092915050565b80610890565b8035806108aa816108b1565b600080604083850312156108d9576108d9600080fd5b6108e3848461089e565b91506108f284602085016108b7565b90509250929050565b8015155b82525050565b602081016102c682846108fb565b806108ff565b602081016102c68284610913565b60008060006060848603121561093f5761093f600080fd5b610949858561089e565b9250610958856020860161089e565b915061096785604086016108b7565b90509250925092565b60ff81166108ff565b602081016102c68284610970565b60006020828403121561099c5761099c600080fd5b610862838361089e565b600080604083850312156109bc576109bc600080fd5b6109c6848461089e565b91506108f2846020850161089e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600181811c908190831680610a1a57607f821692505b602083108103610a2c57610a2c6109d5565b5050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818101818180821115610a7757610a77610a33565b505092915050565b602581526000602082017f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7781527f207a65726f00000000000000000000000000000000000000000000000000000060208201525b60400192915050565b6020815260006102c660208301610a7f565b602481526000602082017f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481527f72657373000000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610aee565b602281526000602082017f45524332303a20617070726f766520746f20746865207a65726f20616464726581527f73730000000000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610b58565b601d81526000602082017f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000081525b60200192915050565b6020815260006102c660208301610bc2565b602581526000602082017f45524332303a207472616e736665722066726f6d20746865207a65726f20616481527f64726573730000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610c0b565b602381526000602082017f45524332303a207472616e7366657220746f20746865207a65726f206164647281527f65737300000000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610c75565b602681526000602082017f45524332303a207472616e7366657220616d6f756e742065786365656473206281527f616c616e636500000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610cdf565b601f81526000602082017f45524332303a206d696e7420746f20746865207a65726f2061646472657373008152610bf0565b6020815260006102c660208301610d4956fea2646970667358221220cd44a198e923f8e5e46b9869f813e11aa59f8930b4361f0f306ac53e161271d264736f6c63430008160033",
"sourceMap": "109:438:53:-:0;;;174:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;255:4;261:6;2042:5:19;:13;255:4:53;2042:5:19;:13;:::i;:::-;-1:-1:-1;2065:7:19;:17;2075:7;2065;:17;:::i;:::-;-1:-1:-1;;320:9:53::1;:21:::0;;-1:-1:-1;;320:21:53::1;;::::0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;109:438:53;;-1:-1:-1;;109:438:53;650:127:69;711:10;706:3;702:20;699:1;692:31;742:4;739:1;732:15;766:4;763:1;756:15;782:246;-1:-1:-1;;635:2:69;615:14;;611:28;857:37;;-1:-1:-1;;;;;909:34:69;;945:22;;;906:62;903:88;;;971:18;;:::i;:::-;1007:2;1000:22;-1:-1:-1;;782:246:69:o;1033:168::-;1067:6;1104:20;76:2;70:9;;14:67;1104:20;1143:8;1133:18;;1160:35;1190:4;1180:8;1160:35;:::i;:::-;;1033:168;;;:::o;1206:184::-;1255:4;-1:-1:-1;;;;;1277:30:69;;1274:56;;;1310:18;;:::i;:::-;-1:-1:-1;635:2:69;615:14;-1:-1:-1;;611:28:69;1379:4;1347:37;;1206:184::o;1395:250::-;1480:1;1490:113;1504:6;1501:1;1498:13;1490:113;;;1580:11;;;1574:18;1561:11;;;1554:39;1526:2;1519:10;1490:113;;;-1:-1:-1;;1637:1:69;1619:16;;1612:27;1395:250::o;1650:452::-;1726:5;1761:53;1777:36;1806:6;1777:36;:::i;:::-;1761:53;:::i;:::-;1832:7;1823:16;;1864:6;1855:7;1848:23;1904:3;1895:6;1890:3;1886:16;1883:25;1880:140;;;1931:79;191:1;188;181:12;1931:79;2029:67;2089:6;2082:4;2073:7;2069:18;2064:3;2029:67;:::i;:::-;;1650:452;;;;;:::o;2107:332::-;2161:5;2214:3;2207:4;2199:6;2195:17;2191:27;2181:150;;2242:79;191:1;188;181:12;2242:79;2349:84;2429:3;2420:6;2414:13;2407:4;2399:6;2395:17;2349:84;:::i;:::-;2340:93;2107:332;-1:-1:-1;;;2107:332:69:o;2525:118::-;2513:4;2502:16;;2591:5;2588:31;2578:59;;2633:1;2630;2623:12;2578:59;2525:118;:::o;2648:172::-;2736:13;;;2783:31;2736:13;2783:31;:::i;:::-;;2648:172;;;;:::o;2825:932::-;2931:6;2939;2947;3000:2;2988:9;2979:7;2975:23;2971:32;2968:147;;;3026:79;191:1;188;181:12;3026:79;3138:16;;-1:-1:-1;;;;;3166:30:69;;3163:145;;;3219:79;191:1;188;181:12;3219:79;3327:61;3380:7;3371:6;3360:9;3356:22;3327:61;:::i;:::-;3434:2;3419:18;;3413:25;3317:71;;-1:-1:-1;3413:25:69;-1:-1:-1;;;;;;3450:32:69;;3447:147;;;3505:79;191:1;188;181:12;3505:79;3613:63;3668:7;3657:8;3646:9;3642:24;3613:63;:::i;:::-;3603:73;;;3695:56;3743:7;3738:2;3727:9;3723:18;3695:56;:::i;:::-;3685:66;;2825:932;;;;;:::o;3843:127::-;3904:10;3899:3;3895:20;3892:1;3885:31;3935:4;3932:1;3925:15;3959:4;3956:1;3949:15;3975:318;4060:1;4056:12;;;;;;4130;;;4151:63;;4207:4;4197:8;4193:19;4183:29;;4151:63;4260:2;4252:6;4249:14;4229:18;4226:38;4223:64;;4267:18;;:::i;:::-;4223:64;;3975:318;;;:::o;5072:138::-;5118:9;5155:49;5171:32;5196:5;5171:32;4943:67;5180:22;5003:5;4943:67;5155:49;5142:62;5072:138;-1:-1:-1;;5072:138:69:o;5285:210::-;5382:106;5431:56;5453:33;5480:5;5453:33;:::i;5431:56::-;5410:11;;4727:1;4723:18;;;4593:16;;;-1:-1:-1;;4593:16:69;;;4898:9;4887:21;4884:48;;4616:322;5382:106;5369:120;;-1:-1:-1;;5285:210:69:o;5568:156::-;5633:85;5543:3;5679:6;5673:4;5633:85;:::i;:::-;;;5568:156::o;5729:187::-;5809:3;5802:5;5799:14;5791:119;;;5863:37;5898:1;5891:5;5863:37;:::i;:::-;5836:1;5825:13;5791:119;;5921:419;6023:2;6018:3;6015:11;6012:322;;;4371:1;4364:14;;;4408:4;4395:18;;4507:2;4496:14;;4493:1;4489:22;6137:8;6133:41;6205:2;6193:10;6190:18;6187:49;;;-1:-1:-1;6226:8:69;6187:49;6249:75;4507:2;4496:14;;4493:1;4489:22;6293:8;6289:34;6276:11;6249:75;:::i;:::-;;;6012:322;5921:419;;;:::o;6791:1301::-;3824:12;;-1:-1:-1;;;;;6947:30:69;;6944:56;;;6980:18;;:::i;:::-;7009:97;7099:6;7059:38;7091:4;7085:11;7059:38;:::i;:::-;7053:4;7009:97;:::i;:::-;7155:4;7186:2;7175:14;;7203:1;7198:637;;;;7879:1;7896:6;7893:89;;;-1:-1:-1;7948:19:69;;;7942:26;7893:89;-1:-1:-1;;6571:1:69;6567:13;;;6426:16;6534:56;6524:67;;6772:1;6768:11;;;6757:23;8002:4;7995:81;;7168:918;;7198:637;4371:1;4364:14;;;4408:4;4395:18;;-1:-1:-1;;7234:20:69;;;7352:222;7366:7;7363:1;7360:14;7352:222;;;7448:19;;;7442:26;7427:42;;7555:4;7540:20;;;;7508:1;7496:14;;;;7382:12;7352:222;;;7356:3;7602:6;7593:7;7590:19;7587:189;;;7663:19;;;7657:26;-1:-1:-1;;6571:1:69;6567:13;;;;;6426:16;6534:56;6524:67;7700:62;;7587:189;-1:-1:-1;;;;7822:1:69;7806:14;;;7802:22;7789:36;;-1:-1:-1;6791:1301:69:o;:::-;109:438:53;;;;;;",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c806340c10f1911610081578063a457c2d71161005b578063a457c2d7146101b4578063a9059cbb146101c7578063dd62ed3e146101da57600080fd5b806340c10f191461016157806370a082311461017657806395d89b41146101ac57600080fd5b806323b872dd116100b257806323b872dd14610128578063313ce5671461013b578063395093511461014e57600080fd5b806306fdde03146100d9578063095ea7b3146100f757806318160ddd14610117575b600080fd5b6100e1610220565b6040516100ee919061084f565b60405180910390f35b61010a6101053660046108c3565b6102b2565b6040516100ee9190610905565b6002545b6040516100ee9190610919565b61010a610136366004610927565b6102cc565b60055460ff166040516100ee9190610979565b61010a61015c3660046108c3565b6102f0565b61017461016f3660046108c3565b61033c565b005b61011b610184366004610987565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100e161034a565b61010a6101c23660046108c3565b610359565b61010a6101d53660046108c3565b6103dd565b61011b6101e83660046109a6565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461022f90610a04565b80601f016020809104026020016040519081016040528092919081815260200182805461025b90610a04565b80156102a85780601f1061027d576101008083540402835291602001916102a8565b820191906000526020600020905b81548152906001019060200180831161028b57829003601f168201915b5050505050905090565b6000336102c08185856103eb565b60019150505b92915050565b6000336102da8582856104fa565b6102e58585856105a1565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102c09082908690610337908790610a62565b6103eb565b6103468282610713565b5050565b60606004805461022f90610a04565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610adc565b60405180910390fd5b6102e582868684036103eb565b6000336102c08185856105a1565b73ffffffffffffffffffffffffffffffffffffffff8316610438576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610b46565b73ffffffffffffffffffffffffffffffffffffffff8216610485576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610bb0565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ed908590610919565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461059b578181101561058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610bf9565b61059b84848484036103eb565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610c63565b73ffffffffffffffffffffffffffffffffffffffff821661063b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610ccd565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561069b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610d37565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526020819052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610706908690610919565b60405180910390a361059b565b73ffffffffffffffffffffffffffffffffffffffff8216610760576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c790610d7b565b80600260008282546107729190610a62565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208190526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107d1908590610919565b60405180910390a35050565b60005b838110156107f85781810151838201526020016107e0565b50506000910152565b600061080b825190565b808452602084016108208282602087016107dd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011601949350505050565b6020815260006108626020830184610801565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82166102c6565b61089081610869565b811461089b57600080fd5b50565b8035806108aa81610887565b5092915050565b80610890565b8035806108aa816108b1565b600080604083850312156108d9576108d9600080fd5b6108e3848461089e565b91506108f284602085016108b7565b90509250929050565b8015155b82525050565b602081016102c682846108fb565b806108ff565b602081016102c68284610913565b60008060006060848603121561093f5761093f600080fd5b610949858561089e565b9250610958856020860161089e565b915061096785604086016108b7565b90509250925092565b60ff81166108ff565b602081016102c68284610970565b60006020828403121561099c5761099c600080fd5b610862838361089e565b600080604083850312156109bc576109bc600080fd5b6109c6848461089e565b91506108f2846020850161089e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600181811c908190831680610a1a57607f821692505b602083108103610a2c57610a2c6109d5565b5050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818101818180821115610a7757610a77610a33565b505092915050565b602581526000602082017f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7781527f207a65726f00000000000000000000000000000000000000000000000000000060208201525b60400192915050565b6020815260006102c660208301610a7f565b602481526000602082017f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481527f72657373000000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610aee565b602281526000602082017f45524332303a20617070726f766520746f20746865207a65726f20616464726581527f73730000000000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610b58565b601d81526000602082017f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000081525b60200192915050565b6020815260006102c660208301610bc2565b602581526000602082017f45524332303a207472616e736665722066726f6d20746865207a65726f20616481527f64726573730000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610c0b565b602381526000602082017f45524332303a207472616e7366657220746f20746865207a65726f206164647281527f65737300000000000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610c75565b602681526000602082017f45524332303a207472616e7366657220616d6f756e742065786365656473206281527f616c616e636500000000000000000000000000000000000000000000000000006020820152610ad3565b6020815260006102c660208301610cdf565b601f81526000602082017f45524332303a206d696e7420746f20746865207a65726f2061646472657373008152610bf0565b6020815260006102c660208301610d4956fea2646970667358221220cd44a198e923f8e5e46b9869f813e11aa59f8930b4361f0f306ac53e161271d264736f6c63430008160033",
"sourceMap": "109:438:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3242:106::-;3329:12;;3242:106;;;;;;;:::i;5190:286::-;;;;;;:::i;:::-;;:::i;354:90:53:-;428:9;;;;354:90;;;;;;:::i;5871:234:19:-;;;;;;:::i;:::-;;:::i;450:95:53:-;;;;;;:::i;:::-;;:::i;:::-;;3406:125:19;;;;;;:::i;:::-;3506:18;;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;4089:18;;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149;2154:98;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:25;4568:32:19;719:10:25;4584:7:19;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;;:::o;5190:286::-;5317:4;719:10:25;5373:38:19;5389:4;719:10:25;5404:6:19;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:19;;5190:286;-1:-1:-1;;;;5190:286:19:o;5871:234::-;719:10:25;5959:4:19;4089:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;5959:4;;719:10:25;6013:64:19;;719:10:25;;4089:27:19;;6038:38;;6066:10;;6038:38;:::i;:::-;6013:8;:64::i;450:95:53:-;516:22;522:7;531:6;516:5;:22::i;:::-;450:95;;:::o;2365:102:19:-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;719:10:25;6685:4:19;4089:18;;;:11;:18;;;;;;;;;:27;;;;;;;;;;6685:4;;719:10:25;6829:15:19;6809:16;:35;;6801:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:25;3860:28:19;719:10:25;3877:2:19;3881:6;3860:9;:28::i;10504:370::-;10635:19;;;10627:68;;;;;;;;;;;;:::i;:::-;10713:21;;;10705:68;;;;;;;;;;;;:::i;:::-;10784:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;10835:32;;;;;10814:6;;10835:32;:::i;:::-;;;;;;;;10504:370;;;:::o;11155:441::-;4089:18;;;;11285:24;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;11371:17;11351:37;;11347:243;;11432:6;11412:16;:26;;11404:68;;;;;;;;;;;;:::i;:::-;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;7599:18;;;7591:68;;;;;;;;;;;;:::i;:::-;7677:16;;;7669:64;;;;;;;;;;;;:::i;:::-;7815:15;;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;;;;;;;;;:::i;:::-;7946:15;;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;;;;;7978:6;;8210:26;:::i;:::-;;;;;;;;8247:37;12180:121;8567:535;8650:21;;;8642:65;;;;;;;;;;;;:::i;:::-;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;8946:18:19;;;:9;:18;;;;;;;;;;;:28;;;;;;8999:37;;;;;8968:6;;8999:37;:::i;:::-;;;;;;;;450:95:53;;:::o;250:250:69:-;335:1;345:113;359:6;356:1;353:13;345:113;;;435:11;;;429:18;416:11;;;409:39;381:2;374:10;345:113;;;-1:-1:-1;;492:1:69;474:16;;467:27;250:250::o;672:306::-;714:3;746:26;766:5;76:12;;14:76;746:26;182:19;;;234:4;225:14;;851:67;911:6;904:5;897:4;890:5;886:16;851:67;:::i;:::-;594:66;589:2;578:14;;574:87;934:38;;672:306;-1:-1:-1;;;;672:306:69:o;983:220::-;1132:2;1121:9;1114:21;1095:4;1152:45;1193:2;1182:9;1178:18;1170:6;1152:45;:::i;:::-;1144:53;983:220;-1:-1:-1;;;983:220:69:o;1455:96::-;1490:7;1401:42;1390:54;;1523:22;1322:128;1556:122;1631:22;1647:5;1631:22;:::i;:::-;1624:5;1621:33;1611:61;;1668:1;1665;1658:12;1611:61;1556:122;:::o;1683:172::-;1762:20;;;1816:33;1762:20;1816:33;:::i;:::-;;1683:172;;;;:::o;1932:122::-;2023:5;2007:22;1860:67;2059:172;2138:20;;;2192:33;2138:20;2192:33;:::i;2236:373::-;2304:6;2312;2365:2;2353:9;2344:7;2340:23;2336:32;2333:147;;;2391:79;109:438:53;;;2391:79:69;2499:38;2529:7;2518:9;2499:38;:::i;:::-;2489:48;;2556:47;2595:7;2590:2;2579:9;2575:18;2556:47;:::i;:::-;2546:57;;2236:373;;;;;:::o;2711:89::-;2686:13;;2679:21;2774:19;2769:3;2762:32;;;2711:89::o;2805:180::-;2933:2;2918:18;;2945:34;2922:9;2961:6;2945:34;:::i;2990:95::-;3072:5;3056:22;1860:67;3090:189;3224:2;3209:18;;3236:37;3213:9;3255:6;3236:37;:::i;3284:456::-;3361:6;3369;3377;3430:2;3418:9;3409:7;3405:23;3401:32;3398:147;;;3456:79;109:438:53;;;3456:79:69;3564:38;3594:7;3583:9;3564:38;:::i;:::-;3554:48;;3621:47;3660:7;3655:2;3644:9;3640:18;3621:47;:::i;:::-;3611:57;;3687:47;3726:7;3721:2;3710:9;3706:18;3687:47;:::i;:::-;3677:57;;3284:456;;;;;:::o;3826:91::-;3814:4;3803:16;;3890:20;3745:76;3922:183;4052:2;4037:18;;4064:35;4041:9;4081:6;4064:35;:::i;4110:290::-;4169:6;4222:2;4210:9;4201:7;4197:23;4193:32;4190:147;;;4248:79;109:438:53;;;4248:79:69;4356:38;4386:7;4375:9;4356:38;:::i;4405:373::-;4473:6;4481;4534:2;4522:9;4513:7;4509:23;4505:32;4502:147;;;4560:79;109:438:53;;;4560:79:69;4668:38;4698:7;4687:9;4668:38;:::i;:::-;4658:48;;4725:47;4764:7;4759:2;4748:9;4744:18;4725:47;:::i;4783:184::-;4835:77;4832:1;4825:88;4932:4;4929:1;4922:15;4956:4;4953:1;4946:15;4972:318;5057:1;5053:12;;;;;;5127;;;5148:63;;5204:4;5194:8;5190:19;5180:29;;5148:63;5257:2;5249:6;5246:14;5226:18;5223:38;5220:64;;5264:18;;:::i;:::-;5220:64;;4972:318;;;:::o;5295:184::-;5347:77;5344:1;5337:88;5444:4;5441:1;5434:15;5468:4;5465:1;5458:15;5484:213;5593:28;;;5569:1;5593:28;5654:14;;;5651:40;;;5671:18;;:::i;:::-;5651:40;;5484:213;;;;:::o;5924:262::-;6043:2;182:19;;5971:3;234:4;225:14;;5837:34;5822:50;;5905:7;5900:2;5888:15;;5881:32;6055:95;6177:2;6166:14;;5924:262;-1:-1:-1;;5924:262:69:o;6191:277::-;6393:2;6382:9;6375:21;6356:4;6413:49;6458:2;6447:9;6443:18;6413:49;:::i;6694:262::-;6813:2;182:19;;6741:3;234:4;225:14;;6608:34;6593:50;;6676:6;6671:2;6659:15;;6652:31;6825:95;6473:216;6961:277;7163:2;7152:9;7145:21;7126:4;7183:49;7228:2;7217:9;7213:18;7183:49;:::i;7462:262::-;7581:2;182:19;;7509:3;234:4;225:14;;7378:34;7363:50;;7446:4;7441:2;7429:15;;7422:29;7593:95;7243:214;7729:277;7931:2;7920:9;7913:21;7894:4;7951:49;7996:2;7985:9;7981:18;7951:49;:::i;8189:262::-;8308:2;182:19;;8236:3;234:4;225:14;;8146:31;8131:47;;8320:95;8442:2;8431:14;;8189:262;-1:-1:-1;;8189:262:69:o;8456:277::-;8658:2;8647:9;8640:21;8621:4;8678:49;8723:2;8712:9;8708:18;8678:49;:::i;8960:262::-;9079:2;182:19;;9007:3;234:4;225:14;;8873:34;8858:50;;8941:7;8936:2;8924:15;;8917:32;9091:95;8738:217;9227:277;9429:2;9418:9;9411:21;9392:4;9449:49;9494:2;9483:9;9479:18;9449:49;:::i;9729:262::-;9848:2;182:19;;9776:3;234:4;225:14;;9644:34;9629:50;;9712:5;9707:2;9695:15;;9688:30;9860:95;9509:215;9996:277;10198:2;10187:9;10180:21;10161:4;10218:49;10263:2;10252:9;10248:18;10218:49;:::i;10501:257::-;10615:2;182:19;;10543:3;234:4;225:14;;10413:34;10398:50;;10481:8;10476:2;10464:15;;10457:33;10627:95;10278:218;10763:272;10965:2;10954:9;10947:21;10928:4;10985:44;11025:2;11014:9;11010:18;10985:44;:::i;11220:262::-;11339:2;182:19;;11267:3;234:4;225:14;;11175:33;11160:49;;11351:95;11040:175;11487:277;11689:2;11678:9;11671:21;11652:4;11709:49;11754:2;11743:9;11739:18;11709:49;:::i",
"linkReferences": {}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"decimals()": "313ce567",
"decreaseAllowance(address,uint256)": "a457c2d7",
"increaseAllowance(address,uint256)": "39509351",
"mint(address,uint256)": "40c10f19",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":{\"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\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/MockERC20.sol\":{\"keccak256\":\"0x0b7b50cebfa9265beaa40b0df4c94f25b6834fc6854addf5bba878eb65164089\",\"urls\":[\"bzz-raw://d67d08b0e0fd1ab66bd98341eb93a4850a9f2200bc5ab53d996508fb7c330db4\",\"dweb:/ipfs/QmbNCZyArZvRYTQeXcXJAFytnjuZse8dthoExDZSTwYpAK\"]}},\"version\":1}",
"metadata": {
"compiler": {
"version": "0.8.22+commit.4fc1097e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "spender",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256",
"indexed": false
}
],
"type": "event",
"name": "Approval",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "to",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256",
"indexed": false
}
],
"type": "event",
"name": "Transfer",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "mint"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
}
],
"devdoc": {
"kind": "dev",
"methods": {
"allowance(address,address)": {
"details": "See {IERC20-allowance}."
},
"approve(address,uint256)": {
"details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."
},
"balanceOf(address)": {
"details": "See {IERC20-balanceOf}."
},
"decimals()": {
"details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
},
"decreaseAllowance(address,uint256)": {
"details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."
},
"increaseAllowance(address,uint256)": {
"details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."
},
"name()": {
"details": "Returns the name of the token."
},
"symbol()": {
"details": "Returns the symbol of the token, usually a shorter version of the name."
},
"totalSupply()": {
"details": "See {IERC20-totalSupply}."
},
"transfer(address,uint256)": {
"details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."
},
"transferFrom(address,address,uint256)": {
"details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@uniswap/v3-core/=lib_uniswap/v3-core/",
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"v3-core/=lib_uniswap/v3-core/",
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
],
"optimizer": {
"runs": 999999999,
"details": {
"peephole": true,
"inliner": true,
"jumpdestRemover": true,
"orderLiterals": true,
"deduplicate": true,
"cse": true,
"constantOptimizer": true,
"yul": true,
"yulDetails": {
"stackAllocation": true,
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
}
}
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"src/MockERC20.sol": "MockERC20"
},
"libraries": {}
},
"sources": {
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": {
"keccak256": "0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d",
"urls": [
"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d",
"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
"keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b",
"urls": [
"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34",
"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": {
"keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca",
"urls": [
"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd",
"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/Context.sol": {
"keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7",
"urls": [
"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92",
"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"
],
"license": "MIT"
},
"src/MockERC20.sol": {
"keccak256": "0x0b7b50cebfa9265beaa40b0df4c94f25b6834fc6854addf5bba878eb65164089",
"urls": [
"bzz-raw://d67d08b0e0fd1ab66bd98341eb93a4850a9f2200bc5ab53d996508fb7c330db4",
"dweb:/ipfs/QmbNCZyArZvRYTQeXcXJAFytnjuZse8dthoExDZSTwYpAK"
],
"license": null
}
},
"version": 1
},
"ast": {
"absolutePath": "src/MockERC20.sol",
"id": 46479,
"exportedSymbols": {
"Context": [
43777
],
"ERC20": [
43478
],
"IERC20": [
43556
],
"IERC20Metadata": [
43581
],
"MockERC20": [
46478
]
},
"nodeType": "SourceUnit",
"src": "26:522:53",
"nodes": [
{
"id": 46432,
"nodeType": "PragmaDirective",
"src": "26:24:53",
"nodes": [],
"literals": [
"solidity",
">=",
"0.8",
".0"
]
},
{
"id": 46433,
"nodeType": "ImportDirective",
"src": "51:55:53",
"nodes": [],
"absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"nameLocation": "-1:-1:-1",
"scope": 46479,
"sourceUnit": 43479,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 46478,
"nodeType": "ContractDefinition",
"src": "109:438:53",
"nodes": [
{
"id": 46437,
"nodeType": "VariableDeclaration",
"src": "144:23:53",
"nodes": [],
"constant": false,
"mutability": "mutable",
"name": "_decimals",
"nameLocation": "158:9:53",
"scope": 46478,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 46436,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "144:5:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "private"
},
{
"id": 46455,
"nodeType": "FunctionDefinition",
"src": "174:174:53",
"nodes": [],
"body": {
"id": 46454,
"nodeType": "Block",
"src": "273:75:53",
"nodes": [],
"statements": [
{
"expression": {
"id": 46452,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 46450,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46437,
"src": "320:9:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 46451,
"name": "decimals_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46443,
"src": "332:9:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "320:21:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 46453,
"nodeType": "ExpressionStatement",
"src": "320:21:53"
}
]
},
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"id": 46446,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46439,
"src": "255:4:53",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 46447,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46441,
"src": "261:6:53",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"id": 46448,
"kind": "baseConstructorSpecifier",
"modifierName": {
"id": 46445,
"name": "ERC20",
"nameLocations": [
"249:5:53"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 43478,
"src": "249:5:53"
},
"nodeType": "ModifierInvocation",
"src": "249:19:53"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"parameters": {
"id": 46444,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 46439,
"mutability": "mutable",
"name": "name",
"nameLocation": "200:4:53",
"nodeType": "VariableDeclaration",
"scope": 46455,
"src": "186:18:53",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 46438,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "186:6:53",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 46441,
"mutability": "mutable",
"name": "symbol",
"nameLocation": "220:6:53",
"nodeType": "VariableDeclaration",
"scope": 46455,
"src": "206:20:53",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 46440,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "206:6:53",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 46443,
"mutability": "mutable",
"name": "decimals_",
"nameLocation": "234:9:53",
"nodeType": "VariableDeclaration",
"scope": 46455,
"src": "228:15:53",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 46442,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "228:5:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"src": "185:59:53"
},
"returnParameters": {
"id": 46449,
"nodeType": "ParameterList",
"parameters": [],
"src": "273:0:53"
},
"scope": 46478,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"id": 46464,
"nodeType": "FunctionDefinition",
"src": "354:90:53",
"nodes": [],
"body": {
"id": 46463,
"nodeType": "Block",
"src": "411:33:53",
"nodes": [],
"statements": [
{
"expression": {
"id": 46461,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46437,
"src": "428:9:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"functionReturnParameters": 46460,
"id": 46462,
"nodeType": "Return",
"src": "421:16:53"
}
]
},
"baseFunctions": [
42966
],
"functionSelector": "313ce567",
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "decimals",
"nameLocation": "363:8:53",
"overrides": {
"id": 46457,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "386:8:53"
},
"parameters": {
"id": 46456,
"nodeType": "ParameterList",
"parameters": [],
"src": "371:2:53"
},
"returnParameters": {
"id": 46460,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 46459,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 46464,
"src": "404:5:53",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 46458,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "404:5:53",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"src": "403:7:53"
},
"scope": 46478,
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"id": 46477,
"nodeType": "FunctionDefinition",
"src": "450:95:53",
"nodes": [],
"body": {
"id": 46476,
"nodeType": "Block",
"src": "506:39:53",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 46472,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46466,
"src": "522:7:53",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 46473,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 46468,
"src": "531:6:53",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 46471,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 43295,
"src": "516:5:53",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 46474,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "516:22:53",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 46475,
"nodeType": "ExpressionStatement",
"src": "516:22:53"
}
]
},
"functionSelector": "40c10f19",
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "mint",
"nameLocation": "459:4:53",
"parameters": {
"id": 46469,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 46466,
"mutability": "mutable",
"name": "account",
"nameLocation": "472:7:53",
"nodeType": "VariableDeclaration",
"scope": 46477,
"src": "464:15:53",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 46465,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "464:7:53",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 46468,
"mutability": "mutable",
"name": "amount",
"nameLocation": "489:6:53",
"nodeType": "VariableDeclaration",
"scope": 46477,
"src": "481:14:53",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 46467,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "481:7:53",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "463:33:53"
},
"returnParameters": {
"id": 46470,
"nodeType": "ParameterList",
"parameters": [],
"src": "506:0:53"
},
"scope": 46478,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 46434,
"name": "ERC20",
"nameLocations": [
"131:5:53"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 43478,
"src": "131:5:53"
},
"id": 46435,
"nodeType": "InheritanceSpecifier",
"src": "131:5:53"
}
],
"canonicalName": "MockERC20",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"linearizedBaseContracts": [
46478,
43478,
43581,
43556,
43777
],
"name": "MockERC20",
"nameLocation": "118:9:53",
"scope": 46479,
"usedErrors": [],
"usedEvents": [
43490,
43499
]
}
]
},
"id": 53
}