UNPKG

@hyperledger/cactus-test-plugin-htlc-eth-besu-erc20

Version:

Integration tests for HTLC with ERC-20 tokens plugin.

777 lines (776 loc) 54.2 kB
{ "contractName": "DemoHelpers", "abi": [ { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" } ], "name": "getHash", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getTimestamp", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "inputAmount", "type": "uint256" }, { "internalType": "bytes32", "name": "hashLock", "type": "bytes32" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" }, { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "name": "getTxId", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_key\",\"type\":\"string\"}],\"name\":\"getHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"inputAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"hashLock\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"getTxId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/peter/a/cacti-2/packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/solidity/token-erc20-contract/DemoHelpers.sol\":\"DemoHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/peter/a/cacti-2/packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/solidity/token-erc20-contract/DemoHelpers.sol\":{\"keccak256\":\"0xd76915c48ef773b98e625635e46b2a5506b9d1c643ec1fc2e03db8a434896efc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b37e4dbaa96fb417676e1ffa477c8be7d22206b05da3e8f2b698b39468a842ca\",\"dweb:/ipfs/QmSaErkiknyRSDZUuesKcxtu9PPa7ew2jC3e2ZX8qUgAGm\"]}},\"version\":1}", "bytecode": "608060405234801561001057600080fd5b506102ce806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063188ec356146100465780635b6beeb91461005a578063a9a352091461006d575b600080fd5b425b60405190815260200160405180910390f35b61004861006836600461011e565b6100d8565b61004861007b3660046101eb565b604080516001600160a01b03978816602080830191909152968816818301526060810195909552608085019390935260a084019190915290931660c0808301919091528351808303909101815260e0909101909252815191012090565b6000816040516020016100eb919061024a565b604051602081830303815290604052805190602001209050919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561013057600080fd5b813567ffffffffffffffff8082111561014857600080fd5b818401915084601f83011261015c57600080fd5b81358181111561016e5761016e610108565b604051601f8201601f19908116603f0116810190838211818310171561019657610196610108565b816040528281528760208487010111156101af57600080fd5b826020860160208301376000928101602001929092525095945050505050565b80356001600160a01b03811681146101e657600080fd5b919050565b60008060008060008060c0878903121561020457600080fd5b61020d876101cf565b955061021b602088016101cf565b945060408701359350606087013592506080870135915061023e60a088016101cf565b90509295509295509295565b600060208083528351808285015260005b818110156102775785810183015185820160400152820161025b565b506000604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220a3091693ddb2ca9ebb38baa348797a852c936d5e2b19c209eba45b1f73ba8ba664736f6c63430008130033", "deployedBytecode": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063188ec356146100465780635b6beeb91461005a578063a9a352091461006d575b600080fd5b425b60405190815260200160405180910390f35b61004861006836600461011e565b6100d8565b61004861007b3660046101eb565b604080516001600160a01b03978816602080830191909152968816818301526060810195909552608085019390935260a084019190915290931660c0808301919091528351808303909101815260e0909101909252815191012090565b6000816040516020016100eb919061024a565b604051602081830303815290604052805190602001209050919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561013057600080fd5b813567ffffffffffffffff8082111561014857600080fd5b818401915084601f83011261015c57600080fd5b81358181111561016e5761016e610108565b604051601f8201601f19908116603f0116810190838211818310171561019657610196610108565b816040528281528760208487010111156101af57600080fd5b826020860160208301376000928101602001929092525095945050505050565b80356001600160a01b03811681146101e657600080fd5b919050565b60008060008060008060c0878903121561020457600080fd5b61020d876101cf565b955061021b602088016101cf565b945060408701359350606087013592506080870135915061023e60a088016101cf565b90509295509295509295565b600060208083528351808285015260005b818110156102775785810183015185820160400152820161025b565b506000604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220a3091693ddb2ca9ebb38baa348797a852c936d5e2b19c209eba45b1f73ba8ba664736f6c63430008130033", "sourceMap": "99:573:0:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "99:573:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;261:100;339:15;261:100;;;160:25:1;;;148:2;133:18;261:100:0;;;;;;;131:124;;;;;;:::i;:::-;;:::i;367:303::-;;;;;;:::i;:::-;576:77;;;-1:-1:-1;;;;;3057:15:1;;;576:77:0;;;;3039:34:1;;;;3109:15;;;3089:18;;;3082:43;3141:18;;;3134:34;;;;3184:18;;;3177:34;;;;3227:19;;;3220:35;;;;3292:15;;;3271:19;;;;3264:44;;;;576:77:0;;;;;;;;;;2973:19:1;;;;576:77:0;;;553:110;;;;;;367:303;131:124;189:14;242:4;231:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;221:27;;;;;;214:34;;131:124;;;:::o;196:127:1:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:922;397:6;450:2;438:9;429:7;425:23;421:32;418:52;;;466:1;463;456:12;418:52;506:9;493:23;535:18;576:2;568:6;565:14;562:34;;;592:1;589;582:12;562:34;630:6;619:9;615:22;605:32;;675:7;668:4;664:2;660:13;656:27;646:55;;697:1;694;687:12;646:55;733:2;720:16;755:2;751;748:10;745:36;;;761:18;;:::i;:::-;836:2;830:9;804:2;890:13;;-1:-1:-1;;886:22:1;;;910:2;882:31;878:40;866:53;;;934:18;;;954:22;;;931:46;928:72;;;980:18;;:::i;:::-;1020:10;1016:2;1009:22;1055:2;1047:6;1040:18;1095:7;1090:2;1085;1081;1077:11;1073:20;1070:33;1067:53;;;1116:1;1113;1106:12;1067:53;1172:2;1167;1163;1159:11;1154:2;1146:6;1142:15;1129:46;1217:1;1195:15;;;1212:2;1191:24;1184:35;;;;-1:-1:-1;1199:6:1;328:922;-1:-1:-1;;;;;328:922:1:o;1437:173::-;1505:20;;-1:-1:-1;;;;;1554:31:1;;1544:42;;1534:70;;1600:1;1597;1590:12;1534:70;1437:173;;;:::o;1615:541::-;1719:6;1727;1735;1743;1751;1759;1812:3;1800:9;1791:7;1787:23;1783:33;1780:53;;;1829:1;1826;1819:12;1780:53;1852:29;1871:9;1852:29;:::i;:::-;1842:39;;1900:38;1934:2;1923:9;1919:18;1900:38;:::i;:::-;1890:48;;1985:2;1974:9;1970:18;1957:32;1947:42;;2036:2;2025:9;2021:18;2008:32;1998:42;;2087:3;2076:9;2072:19;2059:33;2049:43;;2111:39;2145:3;2134:9;2130:19;2111:39;:::i;:::-;2101:49;;1615:541;;;;;;;;:::o;2161:548::-;2273:4;2302:2;2331;2320:9;2313:21;2363:6;2357:13;2406:6;2401:2;2390:9;2386:18;2379:34;2431:1;2441:140;2455:6;2452:1;2449:13;2441:140;;;2550:14;;;2546:23;;2540:30;2516:17;;;2535:2;2512:26;2505:66;2470:10;;2441:140;;;2445:3;2630:1;2625:2;2616:6;2605:9;2601:22;2597:31;2590:42;2700:2;2693;2689:7;2684:2;2676:6;2672:15;2668:29;2657:9;2653:45;2649:54;2641:62;;;;2161:548;;;;:::o", "sourcePath": "/home/peter/a/cacti-2/packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/solidity/token-erc20-contract/DemoHelpers.sol", "compiler": { "name": "solc", "version": "0.8.19+commit.7dd6d404" }, "ast": { "absolutePath": "/home/peter/a/cacti-2/packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/solidity/token-erc20-contract/DemoHelpers.sol", "exportedSymbols": { "DemoHelpers": [ 57 ] }, "id": 58, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", "0.8", ".19" ], "nodeType": "PragmaDirective", "src": "40:23:0" }, { "id": 2, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "64:33:0" }, { "abstract": false, "baseContracts": [], "canonicalName": "DemoHelpers", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 57, "linearizedBaseContracts": [ 57 ], "name": "DemoHelpers", "nameLocation": "108:11:0", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 16, "nodeType": "Block", "src": "205:50:0", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 12, "name": "_key", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4, "src": "242:4:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 10, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, "src": "231:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 11, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "235:6:0", "memberName": "encode", "nodeType": "MemberAccess", "src": "231:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 13, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "231:16:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 9, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, "src": "221:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 14, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "221:27:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 8, "id": 15, "nodeType": "Return", "src": "214:34:0" } ] }, "functionSelector": "5b6beeb9", "id": 17, "implemented": true, "kind": "function", "modifiers": [], "name": "getHash", "nameLocation": "140:7:0", "nodeType": "FunctionDefinition", "parameters": { "id": 5, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4, "mutability": "mutable", "name": "_key", "nameLocation": "162:4:0", "nodeType": "VariableDeclaration", "scope": 17, "src": "148:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3, "name": "string", "nodeType": "ElementaryTypeName", "src": "148:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "147:20:0" }, "returnParameters": { "id": 8, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7, "mutability": "mutable", "name": "result", "nameLocation": "197:6:0", "nodeType": "VariableDeclaration", "scope": 17, "src": "189:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 6, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "189:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "188:16:0" }, "scope": 57, "src": "131:124:0", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 25, "nodeType": "Block", "src": "322:39:0", "statements": [ { "expression": { "expression": { "id": 22, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967292, "src": "339:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, "id": 23, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "345:9:0", "memberName": "timestamp", "nodeType": "MemberAccess", "src": "339:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 21, "id": 24, "nodeType": "Return", "src": "332:22:0" } ] }, "functionSelector": "188ec356", "id": 26, "implemented": true, "kind": "function", "modifiers": [], "name": "getTimestamp", "nameLocation": "270:12:0", "nodeType": "FunctionDefinition", "parameters": { "id": 18, "nodeType": "ParameterList", "parameters": [], "src": "282:2:0" }, "returnParameters": { "id": 21, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20, "mutability": "mutable", "name": "result", "nameLocation": "314:6:0", "nodeType": "VariableDeclaration", "scope": 26, "src": "306:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "306:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "305:16:0" }, "scope": 57, "src": "261:100:0", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 55, "nodeType": "Block", "src": "536:134:0", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 46, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "587:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 47, "name": "receiver", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, "src": "595:8:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 48, "name": "inputAmount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, "src": "605:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 49, "name": "hashLock", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 34, "src": "618:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 50, "name": "expiration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "628:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 51, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, "src": "640:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 44, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, "src": "576:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 45, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "580:6:0", "memberName": "encode", "nodeType": "MemberAccess", "src": "576:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 52, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "576:77:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 43, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, "src": "553:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 53, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "553:110:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 42, "id": 54, "nodeType": "Return", "src": "546:117:0" } ] }, "functionSelector": "a9a35209", "id": 56, "implemented": true, "kind": "function", "modifiers": [], "name": "getTxId", "nameLocation": "376:7:0", "nodeType": "FunctionDefinition", "parameters": { "id": 39, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 28, "mutability": "mutable", "name": "sender", "nameLocation": "392:6:0", "nodeType": "VariableDeclaration", "scope": 56, "src": "384:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 27, "name": "address", "nodeType": "ElementaryTypeName", "src": "384:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 30, "mutability": "mutable", "name": "receiver", "nameLocation": "408:8:0", "nodeType": "VariableDeclaration", "scope": 56, "src": "400:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 29, "name": "address", "nodeType": "ElementaryTypeName", "src": "400:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 32, "mutability": "mutable", "name": "inputAmount", "nameLocation": "426:11:0", "nodeType": "VariableDeclaration", "scope": 56, "src": "418:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 31, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "418:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 34, "mutability": "mutable", "name": "hashLock", "nameLocation": "447:8:0", "nodeType": "VariableDeclaration", "scope": 56, "src": "439:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 33, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "439:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 36, "mutability": "mutable", "name": "expiration", "nameLocation": "465:10:0", "nodeType": "VariableDeclaration", "scope": 56, "src": "457:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "457:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 38, "mutability": "mutable", "name": "tokenAddress",