Skip to content

Instantly share code, notes, and snippets.

@yann300
Created October 9, 2024 15:57
Show Gist options
  • Save yann300/9e875198d22f2c3b9f12d9cabeb4c12e to your computer and use it in GitHub Desktop.
Save yann300/9e875198d22f2c3b9f12d9cabeb4c12e to your computer and use it in GitHub Desktop.
{
"manifest": "ethpm/3",
"name": null,
"version": null,
"meta": null,
"sources": {
"examples/factory/Exchange.vy": {
"urls": [],
"checksum": null,
"content": "#pragma version >0.3.10\n\nfrom ethereum.ercs import IERC20\n\n\ninterface Factory:\n def register(): nonpayable\n\n\ntoken: public(IERC20)\nfactory: Factory\n\n\n@deploy\ndef __init__(_token: IERC20, _factory: Factory):\n self.token = _token\n self.factory = _factory\n\n\n@external\ndef initialize():\n # Anyone can safely call this function because of EXTCODEHASH\n extcall self.factory.register()\n\n\n# NOTE: This contract restricts trading to only be done by the factory.\n# A practical implementation would probably want counter-pairs\n# and liquidity management features for each exchange pool.\n\n\n@external\ndef receive(_from: address, _amt: uint256):\n assert msg.sender == self.factory.address\n success: bool = extcall self.token.transferFrom(_from, self, _amt)\n assert success\n\n\n@external\ndef transfer(_to: address, _amt: uint256):\n assert msg.sender == self.factory.address\n success: bool = extcall self.token.transfer(_to, _amt)\n assert success\n",
"installPath": null,
"type": null,
"license": null,
"references": null,
"imports": null
}
},
"contractTypes": {
"Exchange": {
"contractName": "Exchange",
"sourceId": "examples/factory/Exchange.vy",
"deploymentBytecode": {
"bytecode": "0x3461004a57602061020c5f395f518060a01c61004a57604052602061022c5f395f518060a01c61004a576060526040516001556060516002556101aa61004e610000396101aa610000f35b5f80fd5f3560e01c60026003821660011b6101a201601e395f51565b638129fc1c8118610054573461019e57600254631aa3a008604052803b1561019e575f60406004605c5f855af1610051573d5f5f3e3d5ffd5b50005b6310b8fadc811861019a5760443610341761019e576004358060a01c61019e57604052600254331861019e576001546323b872dd60805260405160a0523060c05260243560e052602060806064609c5f855af16100b3573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a01161019e576080518060011c61019e5761010052506101009050516060526060511561019e57005b63a9059cbb811861019a5760443610341761019e576004358060a01c61019e57604052600254331861019e5760015463a9059cbb60805260405160a05260243560c052602060806044609c5f855af1610147573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a01161019e576080518060011c61019e5760e0525060e09050516060526060511561019e57005b63fc0c546a811861019a573461019e5760015460405260206040f35b5f5ffd5b5f80fd0018019a017e00ec841901aa810800a1657679706572830004000014",
"linkReferences": null,
"linkDependencies": null
},
"runtimeBytecode": {
"bytecode": "0x5f3560e01c60026003821660011b6101a201601e395f51565b638129fc1c8118610054573461019e57600254631aa3a008604052803b1561019e575f60406004605c5f855af1610051573d5f5f3e3d5ffd5b50005b6310b8fadc811861019a5760443610341761019e576004358060a01c61019e57604052600254331861019e576001546323b872dd60805260405160a0523060c05260243560e052602060806064609c5f855af16100b3573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a01161019e576080518060011c61019e5761010052506101009050516060526060511561019e57005b63a9059cbb811861019a5760443610341761019e576004358060a01c61019e57604052600254331861019e5760015463a9059cbb60805260405160a05260243560c052602060806044609c5f855af1610147573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a01161019e576080518060011c61019e5760e0525060e09050516060526060511561019e57005b63fc0c546a811861019a573461019e5760015460405260206040f35b5f5ffd5b5f80fd0018019a017e00ec",
"linkReferences": null,
"linkDependencies": null
},
"abi": [
{
"type": "function",
"name": "initialize",
"stateMutability": "nonpayable",
"inputs": [],
"outputs": []
},
{
"type": "function",
"name": "receive",
"stateMutability": "nonpayable",
"inputs": [
{
"name": "_from",
"type": "address",
"components": null,
"internalType": null
},
{
"name": "_amt",
"type": "uint256",
"components": null,
"internalType": null
}
],
"outputs": []
},
{
"type": "function",
"name": "transfer",
"stateMutability": "nonpayable",
"inputs": [
{
"name": "_to",
"type": "address",
"components": null,
"internalType": null
},
{
"name": "_amt",
"type": "uint256",
"components": null,
"internalType": null
}
],
"outputs": []
},
{
"type": "function",
"name": "token",
"stateMutability": "view",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"components": null,
"internalType": null
}
]
},
{
"type": "constructor",
"stateMutability": "nonpayable",
"inputs": [
{
"name": "_token",
"type": "address",
"components": null,
"internalType": null
},
{
"name": "_factory",
"type": "address",
"components": null,
"internalType": null
}
]
}
],
"sourcemap": "0:973:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;370:12:0;-1:-1:-1;362:31:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;362:31:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;362:31:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;362:31:0;274:119:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;627:14:0;-1:-1:-1;627:14:0;684:20:0;-1:-1:-1;670:34:0;670:10:0;670:34:0;663:41:0;-1:-1:-1;-1:-1:-1;663:41:0:-;733:10:0;-1:-1:-1;725:50:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;757:5:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;764:4:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;770:4:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;725:50:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;725:50:0;725:50:0;709:66:0;709:66:0;-1:-1:-1;709:66:0;787:7:0;-1:-1:-1;-1:-1:-1;780:14:0;780:14:0;-1:-1:-1;-1:-1:-1;780:14:0:-;615:179:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;820:12:0;-1:-1:-1;820:12:0;875:20:0;-1:-1:-1;861:34:0;861:10:0;861:34:0;854:41:0;-1:-1:-1;-1:-1:-1;854:41:0:-;924:10:0;-1:-1:-1;916:38:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;944:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;949:4:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;916:38:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;916:38:0;916:38:0;900:54:0;900:54:0;-1:-1:-1;900:54:0;966:7:0;-1:-1:-1;-1:-1:-1;959:14:0;959:14:0;-1:-1:-1;-1:-1:-1;959:14:0:-;807:166:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;112:21:0;-1:-1:-1;112:21:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1",
"pcmap": {
"0": {
"location": [
1,
0,
42,
18
]
},
"41": {
"location": [
23,
12,
23,
24
]
},
"43": {
"location": [
23,
4,
23,
35
]
},
"52": {
"location": [
23,
4,
23,
35
]
},
"67": {
"location": [
23,
4,
23,
35
]
},
"82": {
"location": [
23,
4,
23,
35
]
},
"83": {
"location": [
21,
0,
23,
35
]
},
"117": {
"location": [
32,
12,
32,
26
]
},
"119": {
"location": [
32,
12,
32,
26
]
},
"120": {
"location": [
33,
25,
33,
45
]
},
"122": {
"location": [
33,
11,
33,
45
]
},
"123": {
"location": [
33,
11,
33,
21
]
},
"124": {
"location": [
33,
11,
33,
45
]
},
"125": {
"location": [
33,
4,
33,
45
],
"dev": "dev: USER_ASSERT"
},
"128": {
"location": [
33,
4,
33,
45
],
"dev": "dev: USER_ASSERT"
},
"129": {
"location": [
34,
28,
34,
38
]
},
"131": {
"location": [
34,
20,
34,
70
]
},
"140": {
"location": [
34,
52,
34,
57
]
},
"146": {
"location": [
34,
59,
34,
63
]
},
"150": {
"location": [
34,
65,
34,
69
]
},
"165": {
"location": [
34,
20,
34,
70
]
},
"221": {
"location": [
34,
20,
34,
70
]
},
"222": {
"location": [
34,
20,
34,
70
]
},
"223": {
"location": [
34,
4,
34,
70
]
},
"224": {
"location": [
34,
4,
34,
70
]
},
"226": {
"location": [
34,
4,
34,
70
]
},
"227": {
"location": [
35,
11,
35,
18
]
},
"230": {
"location": [
35,
4,
35,
18
],
"dev": "dev: USER_ASSERT"
},
"231": {
"location": [
35,
4,
35,
18
],
"dev": "dev: USER_ASSERT"
},
"234": {
"location": [
35,
4,
35,
18
],
"dev": "dev: USER_ASSERT"
},
"235": {
"location": [
32,
0,
35,
18
]
},
"269": {
"location": [
39,
13,
39,
25
]
},
"271": {
"location": [
39,
13,
39,
25
]
},
"272": {
"location": [
40,
25,
40,
45
]
},
"274": {
"location": [
40,
11,
40,
45
]
},
"275": {
"location": [
40,
11,
40,
21
]
},
"276": {
"location": [
40,
11,
40,
45
]
},
"277": {
"location": [
40,
4,
40,
45
],
"dev": "dev: USER_ASSERT"
},
"280": {
"location": [
40,
4,
40,
45
],
"dev": "dev: USER_ASSERT"
},
"281": {
"location": [
41,
28,
41,
38
]
},
"283": {
"location": [
41,
20,
41,
58
]
},
"292": {
"location": [
41,
48,
41,
51
]
},
"298": {
"location": [
41,
53,
41,
57
]
},
"313": {
"location": [
41,
20,
41,
58
]
},
"367": {
"location": [
41,
20,
41,
58
]
},
"368": {
"location": [
41,
20,
41,
58
]
},
"369": {
"location": [
41,
4,
41,
58
]
},
"370": {
"location": [
41,
4,
41,
58
]
},
"372": {
"location": [
41,
4,
41,
58
]
},
"373": {
"location": [
42,
11,
42,
18
]
},
"376": {
"location": [
42,
4,
42,
18
],
"dev": "dev: USER_ASSERT"
},
"377": {
"location": [
42,
4,
42,
18
],
"dev": "dev: USER_ASSERT"
},
"380": {
"location": [
42,
4,
42,
18
],
"dev": "dev: USER_ASSERT"
},
"381": {
"location": [
39,
0,
42,
18
]
},
"407": {
"location": [
10,
0,
10,
21
]
},
"409": {
"location": [
10,
0,
10,
21
]
},
"37": {
"dev": "dev: Invalid calldata or value",
"location": [
1,
0,
42,
18
]
},
"40": {
"dev": "dev: Invalid calldata or value",
"location": [
1,
0,
42,
18
]
},
"54": {
"dev": "dev: EXTCODESIZE_IS_ZERO",
"location": null
},
"55": {
"dev": "dev: EXTCODESIZE_IS_ZERO",
"location": null
},
"58": {
"dev": "dev: EXTCODESIZE_IS_ZERO",
"location": null
},
"80": {
"dev": "dev: EXTERNAL_CALL_FAILED",
"location": null
},
"102": {
"dev": "dev: Invalid calldata or value",
"location": [
21,
0,
23,
35
]
},
"105": {
"dev": "dev: Invalid calldata or value",
"location": [
21,
0,
23,
35
]
},
"113": {
"dev": "dev: Integer overflow",
"location": [
21,
0,
23,
35
]
},
"116": {
"dev": "dev: Integer overflow",
"location": [
21,
0,
23,
35
]
},
"178": {
"dev": "dev: EXTERNAL_CALL_FAILED",
"location": null
},
"209": {
"dev": "dev: Integer overflow",
"location": [
34,
20,
34,
70
]
},
"212": {
"dev": "dev: Integer overflow",
"location": [
34,
20,
34,
70
]
},
"254": {
"dev": "dev: Invalid calldata or value",
"location": [
32,
0,
35,
18
]
},
"257": {
"dev": "dev: Invalid calldata or value",
"location": [
32,
0,
35,
18
]
},
"265": {
"dev": "dev: Integer overflow",
"location": [
32,
0,
35,
18
]
},
"268": {
"dev": "dev: Integer overflow",
"location": [
32,
0,
35,
18
]
},
"326": {
"dev": "dev: EXTERNAL_CALL_FAILED",
"location": null
},
"357": {
"dev": "dev: Integer overflow",
"location": [
41,
20,
41,
58
]
},
"360": {
"dev": "dev: Integer overflow",
"location": [
41,
20,
41,
58
]
},
"395": {
"dev": "dev: Invalid calldata or value",
"location": [
39,
0,
42,
18
]
},
"398": {
"dev": "dev: Invalid calldata or value",
"location": [
39,
0,
42,
18
]
},
"413": {
"dev": "dev: Fallback not defined",
"location": null
}
},
"dev_messages": {},
"ast": {
"name": null,
"ast_type": "Module",
"classification": 0,
"doc_str": null,
"src": {
"start": null,
"length": 973,
"contract_id": null,
"jump_code": ""
},
"lineno": 1,
"end_lineno": 42,
"col_offset": 0,
"end_col_offset": 18,
"children": [
{
"name": "IERC20",
"ast_type": "ImportFrom",
"classification": 0,
"doc_str": null,
"src": {
"start": 25,
"length": 32,
"contract_id": null,
"jump_code": ""
},
"lineno": 3,
"end_lineno": 3,
"col_offset": 0,
"end_col_offset": 32,
"children": []
},
{
"name": "Factory",
"ast_type": "InterfaceDef",
"classification": 0,
"doc_str": null,
"src": {
"start": 60,
"length": 49,
"contract_id": null,
"jump_code": ""
},
"lineno": 6,
"end_lineno": 7,
"col_offset": 0,
"end_col_offset": 30,
"children": [
{
"name": "register",
"ast_type": "FunctionDef",
"classification": 1,
"doc_str": null,
"src": {
"start": 83,
"length": 26,
"contract_id": null,
"jump_code": ""
},
"lineno": 7,
"end_lineno": 7,
"col_offset": 4,
"end_col_offset": 30,
"children": [
{
"name": null,
"ast_type": "arguments",
"classification": 1,
"doc_str": null,
"src": {
"start": 83,
"length": 3,
"contract_id": null,
"jump_code": ""
},
"lineno": 7,
"end_lineno": 7,
"col_offset": 4,
"end_col_offset": 7,
"children": []
},
{
"name": null,
"ast_type": "Expr",
"classification": 0,
"doc_str": null,
"src": {
"start": 99,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 7,
"end_lineno": 7,
"col_offset": 20,
"end_col_offset": 30,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 99,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 7,
"end_lineno": 7,
"col_offset": 20,
"end_col_offset": 30,
"children": []
}
]
}
]
}
]
},
{
"name": null,
"ast_type": "VariableDecl",
"classification": 0,
"doc_str": null,
"src": {
"start": 112,
"length": 21,
"contract_id": null,
"jump_code": ""
},
"lineno": 10,
"end_lineno": 10,
"col_offset": 0,
"end_col_offset": 21,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 126,
"length": 6,
"contract_id": null,
"jump_code": ""
},
"lineno": 10,
"end_lineno": 10,
"col_offset": 14,
"end_col_offset": 20,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 112,
"length": 5,
"contract_id": null,
"jump_code": ""
},
"lineno": 10,
"end_lineno": 10,
"col_offset": 0,
"end_col_offset": 5,
"children": []
}
]
},
{
"name": null,
"ast_type": "VariableDecl",
"classification": 0,
"doc_str": null,
"src": {
"start": 134,
"length": 16,
"contract_id": null,
"jump_code": ""
},
"lineno": 11,
"end_lineno": 11,
"col_offset": 0,
"end_col_offset": 16,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 143,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 11,
"end_lineno": 11,
"col_offset": 9,
"end_col_offset": 16,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 134,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 11,
"end_lineno": 11,
"col_offset": 0,
"end_col_offset": 7,
"children": []
}
]
},
{
"name": "__init__",
"ast_type": "FunctionDef",
"classification": 1,
"doc_str": null,
"src": {
"start": 161,
"length": 100,
"contract_id": null,
"jump_code": ""
},
"lineno": 15,
"end_lineno": 17,
"col_offset": 0,
"end_col_offset": 27,
"children": [
{
"name": null,
"ast_type": "arguments",
"classification": 1,
"doc_str": null,
"src": {
"start": 174,
"length": 33,
"contract_id": null,
"jump_code": ""
},
"lineno": 15,
"end_lineno": 15,
"col_offset": 13,
"end_col_offset": 46,
"children": [
{
"name": null,
"ast_type": "arg",
"classification": 0,
"doc_str": null,
"src": {
"start": 174,
"length": 14,
"contract_id": null,
"jump_code": ""
},
"lineno": 15,
"end_lineno": 15,
"col_offset": 13,
"end_col_offset": 27,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 182,
"length": 6,
"contract_id": null,
"jump_code": ""
},
"lineno": 15,
"end_lineno": 15,
"col_offset": 21,
"end_col_offset": 27,
"children": []
}
]
},
{
"name": null,
"ast_type": "arg",
"classification": 0,
"doc_str": null,
"src": {
"start": 190,
"length": 17,
"contract_id": null,
"jump_code": ""
},
"lineno": 15,
"end_lineno": 15,
"col_offset": 29,
"end_col_offset": 46,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 200,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 15,
"end_lineno": 15,
"col_offset": 39,
"end_col_offset": 46,
"children": []
}
]
}
]
},
{
"name": null,
"ast_type": "Assign",
"classification": 0,
"doc_str": null,
"src": {
"start": 214,
"length": 19,
"contract_id": null,
"jump_code": ""
},
"lineno": 16,
"end_lineno": 16,
"col_offset": 4,
"end_col_offset": 23,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 214,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 16,
"end_lineno": 16,
"col_offset": 4,
"end_col_offset": 14,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 214,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 16,
"end_lineno": 16,
"col_offset": 4,
"end_col_offset": 8,
"children": []
}
]
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 227,
"length": 6,
"contract_id": null,
"jump_code": ""
},
"lineno": 16,
"end_lineno": 16,
"col_offset": 17,
"end_col_offset": 23,
"children": []
}
]
},
{
"name": null,
"ast_type": "Assign",
"classification": 0,
"doc_str": null,
"src": {
"start": 238,
"length": 23,
"contract_id": null,
"jump_code": ""
},
"lineno": 17,
"end_lineno": 17,
"col_offset": 4,
"end_col_offset": 27,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 238,
"length": 12,
"contract_id": null,
"jump_code": ""
},
"lineno": 17,
"end_lineno": 17,
"col_offset": 4,
"end_col_offset": 16,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 238,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 17,
"end_lineno": 17,
"col_offset": 4,
"end_col_offset": 8,
"children": []
}
]
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 253,
"length": 8,
"contract_id": null,
"jump_code": ""
},
"lineno": 17,
"end_lineno": 17,
"col_offset": 19,
"end_col_offset": 27,
"children": []
}
]
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 154,
"length": 6,
"contract_id": null,
"jump_code": ""
},
"lineno": 14,
"end_lineno": 14,
"col_offset": 1,
"end_col_offset": 7,
"children": []
}
]
},
{
"name": "initialize",
"ast_type": "FunctionDef",
"classification": 1,
"doc_str": null,
"src": {
"start": 274,
"length": 119,
"contract_id": null,
"jump_code": ""
},
"lineno": 21,
"end_lineno": 23,
"col_offset": 0,
"end_col_offset": 35,
"children": [
{
"name": null,
"ast_type": "arguments",
"classification": 1,
"doc_str": null,
"src": {
"start": 274,
"length": 3,
"contract_id": null,
"jump_code": ""
},
"lineno": 21,
"end_lineno": 21,
"col_offset": 0,
"end_col_offset": 3,
"children": []
},
{
"name": null,
"ast_type": "Expr",
"classification": 0,
"doc_str": null,
"src": {
"start": 362,
"length": 31,
"contract_id": null,
"jump_code": ""
},
"lineno": 23,
"end_lineno": 23,
"col_offset": 4,
"end_col_offset": 35,
"children": [
{
"name": null,
"ast_type": "ExtCall",
"classification": 0,
"doc_str": null,
"src": {
"start": 362,
"length": 31,
"contract_id": null,
"jump_code": ""
},
"lineno": 23,
"end_lineno": 23,
"col_offset": 4,
"end_col_offset": 35,
"children": [
{
"name": null,
"ast_type": "Call",
"classification": 0,
"doc_str": null,
"src": {
"start": 370,
"length": 23,
"contract_id": null,
"jump_code": ""
},
"lineno": 23,
"end_lineno": 23,
"col_offset": 12,
"end_col_offset": 35,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 370,
"length": 21,
"contract_id": null,
"jump_code": ""
},
"lineno": 23,
"end_lineno": 23,
"col_offset": 12,
"end_col_offset": 33,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 370,
"length": 12,
"contract_id": null,
"jump_code": ""
},
"lineno": 23,
"end_lineno": 23,
"col_offset": 12,
"end_col_offset": 24,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 370,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 23,
"end_lineno": 23,
"col_offset": 12,
"end_col_offset": 16,
"children": []
}
]
}
]
}
]
}
]
}
]
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 265,
"length": 8,
"contract_id": null,
"jump_code": ""
},
"lineno": 20,
"end_lineno": 20,
"col_offset": 1,
"end_col_offset": 9,
"children": []
}
]
},
{
"name": "receive",
"ast_type": "FunctionDef",
"classification": 1,
"doc_str": null,
"src": {
"start": 615,
"length": 179,
"contract_id": null,
"jump_code": ""
},
"lineno": 32,
"end_lineno": 35,
"col_offset": 0,
"end_col_offset": 18,
"children": [
{
"name": null,
"ast_type": "arguments",
"classification": 1,
"doc_str": null,
"src": {
"start": 627,
"length": 29,
"contract_id": null,
"jump_code": ""
},
"lineno": 32,
"end_lineno": 32,
"col_offset": 12,
"end_col_offset": 41,
"children": [
{
"name": null,
"ast_type": "arg",
"classification": 0,
"doc_str": null,
"src": {
"start": 627,
"length": 14,
"contract_id": null,
"jump_code": ""
},
"lineno": 32,
"end_lineno": 32,
"col_offset": 12,
"end_col_offset": 26,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 634,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 32,
"end_lineno": 32,
"col_offset": 19,
"end_col_offset": 26,
"children": []
}
]
},
{
"name": null,
"ast_type": "arg",
"classification": 0,
"doc_str": null,
"src": {
"start": 643,
"length": 13,
"contract_id": null,
"jump_code": ""
},
"lineno": 32,
"end_lineno": 32,
"col_offset": 28,
"end_col_offset": 41,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 649,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 32,
"end_lineno": 32,
"col_offset": 34,
"end_col_offset": 41,
"children": []
}
]
}
]
},
{
"name": null,
"ast_type": "Assert",
"classification": 0,
"doc_str": null,
"src": {
"start": 663,
"length": 41,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 4,
"end_col_offset": 45,
"children": [
{
"name": null,
"ast_type": "Compare",
"classification": 0,
"doc_str": null,
"src": {
"start": 670,
"length": 34,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 11,
"end_col_offset": 45,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 670,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 11,
"end_col_offset": 21,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 670,
"length": 3,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 11,
"end_col_offset": 14,
"children": []
}
]
},
{
"name": null,
"ast_type": "Eq",
"classification": 0,
"doc_str": null,
"src": {
"start": 670,
"length": 34,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 11,
"end_col_offset": 45,
"children": []
},
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 684,
"length": 20,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 25,
"end_col_offset": 45,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 684,
"length": 12,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 25,
"end_col_offset": 37,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 684,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 33,
"end_lineno": 33,
"col_offset": 25,
"end_col_offset": 29,
"children": []
}
]
}
]
}
]
}
]
},
{
"name": null,
"ast_type": "AnnAssign",
"classification": 0,
"doc_str": null,
"src": {
"start": 709,
"length": 66,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 4,
"end_col_offset": 70,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 718,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 13,
"end_col_offset": 17,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 709,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 4,
"end_col_offset": 11,
"children": []
},
{
"name": null,
"ast_type": "ExtCall",
"classification": 0,
"doc_str": null,
"src": {
"start": 725,
"length": 50,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 20,
"end_col_offset": 70,
"children": [
{
"name": null,
"ast_type": "Call",
"classification": 0,
"doc_str": null,
"src": {
"start": 733,
"length": 42,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 28,
"end_col_offset": 70,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 757,
"length": 5,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 52,
"end_col_offset": 57,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 764,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 59,
"end_col_offset": 63,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 770,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 65,
"end_col_offset": 69,
"children": []
},
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 733,
"length": 23,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 28,
"end_col_offset": 51,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 733,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 28,
"end_col_offset": 38,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 733,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 34,
"end_lineno": 34,
"col_offset": 28,
"end_col_offset": 32,
"children": []
}
]
}
]
}
]
}
]
}
]
},
{
"name": null,
"ast_type": "Assert",
"classification": 0,
"doc_str": null,
"src": {
"start": 780,
"length": 14,
"contract_id": null,
"jump_code": ""
},
"lineno": 35,
"end_lineno": 35,
"col_offset": 4,
"end_col_offset": 18,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 787,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 35,
"end_lineno": 35,
"col_offset": 11,
"end_col_offset": 18,
"children": []
}
]
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 606,
"length": 8,
"contract_id": null,
"jump_code": ""
},
"lineno": 31,
"end_lineno": 31,
"col_offset": 1,
"end_col_offset": 9,
"children": []
}
]
},
{
"name": "transfer",
"ast_type": "FunctionDef",
"classification": 1,
"doc_str": null,
"src": {
"start": 807,
"length": 166,
"contract_id": null,
"jump_code": ""
},
"lineno": 39,
"end_lineno": 42,
"col_offset": 0,
"end_col_offset": 18,
"children": [
{
"name": null,
"ast_type": "arguments",
"classification": 1,
"doc_str": null,
"src": {
"start": 820,
"length": 27,
"contract_id": null,
"jump_code": ""
},
"lineno": 39,
"end_lineno": 39,
"col_offset": 13,
"end_col_offset": 40,
"children": [
{
"name": null,
"ast_type": "arg",
"classification": 0,
"doc_str": null,
"src": {
"start": 820,
"length": 12,
"contract_id": null,
"jump_code": ""
},
"lineno": 39,
"end_lineno": 39,
"col_offset": 13,
"end_col_offset": 25,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 825,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 39,
"end_lineno": 39,
"col_offset": 18,
"end_col_offset": 25,
"children": []
}
]
},
{
"name": null,
"ast_type": "arg",
"classification": 0,
"doc_str": null,
"src": {
"start": 834,
"length": 13,
"contract_id": null,
"jump_code": ""
},
"lineno": 39,
"end_lineno": 39,
"col_offset": 27,
"end_col_offset": 40,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 840,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 39,
"end_lineno": 39,
"col_offset": 33,
"end_col_offset": 40,
"children": []
}
]
}
]
},
{
"name": null,
"ast_type": "Assert",
"classification": 0,
"doc_str": null,
"src": {
"start": 854,
"length": 41,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 4,
"end_col_offset": 45,
"children": [
{
"name": null,
"ast_type": "Compare",
"classification": 0,
"doc_str": null,
"src": {
"start": 861,
"length": 34,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 11,
"end_col_offset": 45,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 861,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 11,
"end_col_offset": 21,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 861,
"length": 3,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 11,
"end_col_offset": 14,
"children": []
}
]
},
{
"name": null,
"ast_type": "Eq",
"classification": 0,
"doc_str": null,
"src": {
"start": 861,
"length": 34,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 11,
"end_col_offset": 45,
"children": []
},
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 875,
"length": 20,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 25,
"end_col_offset": 45,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 875,
"length": 12,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 25,
"end_col_offset": 37,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 875,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 40,
"end_lineno": 40,
"col_offset": 25,
"end_col_offset": 29,
"children": []
}
]
}
]
}
]
}
]
},
{
"name": null,
"ast_type": "AnnAssign",
"classification": 0,
"doc_str": null,
"src": {
"start": 900,
"length": 54,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 4,
"end_col_offset": 58,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 909,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 13,
"end_col_offset": 17,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 900,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 4,
"end_col_offset": 11,
"children": []
},
{
"name": null,
"ast_type": "ExtCall",
"classification": 0,
"doc_str": null,
"src": {
"start": 916,
"length": 38,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 20,
"end_col_offset": 58,
"children": [
{
"name": null,
"ast_type": "Call",
"classification": 0,
"doc_str": null,
"src": {
"start": 924,
"length": 30,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 28,
"end_col_offset": 58,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 944,
"length": 3,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 48,
"end_col_offset": 51,
"children": []
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 949,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 53,
"end_col_offset": 57,
"children": []
},
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 924,
"length": 19,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 28,
"end_col_offset": 47,
"children": [
{
"name": null,
"ast_type": "Attribute",
"classification": 0,
"doc_str": null,
"src": {
"start": 924,
"length": 10,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 28,
"end_col_offset": 38,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 924,
"length": 4,
"contract_id": null,
"jump_code": ""
},
"lineno": 41,
"end_lineno": 41,
"col_offset": 28,
"end_col_offset": 32,
"children": []
}
]
}
]
}
]
}
]
}
]
},
{
"name": null,
"ast_type": "Assert",
"classification": 0,
"doc_str": null,
"src": {
"start": 959,
"length": 14,
"contract_id": null,
"jump_code": ""
},
"lineno": 42,
"end_lineno": 42,
"col_offset": 4,
"end_col_offset": 18,
"children": [
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 966,
"length": 7,
"contract_id": null,
"jump_code": ""
},
"lineno": 42,
"end_lineno": 42,
"col_offset": 11,
"end_col_offset": 18,
"children": []
}
]
},
{
"name": null,
"ast_type": "Name",
"classification": 1,
"doc_str": null,
"src": {
"start": 798,
"length": 8,
"contract_id": null,
"jump_code": ""
},
"lineno": 38,
"end_lineno": 38,
"col_offset": 1,
"end_col_offset": 9,
"children": []
}
]
}
]
},
"userdoc": {},
"devdoc": {},
"methodIdentifiers": {
"initialize()": "0x8129fc1c",
"receive(address,uint256)": "0x10b8fadc",
"transfer(address,uint256)": "0xa9059cbb",
"token()": "0xfc0c546a"
}
}
},
"compilers": null,
"deployments": null,
"buildDependencies": null
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment