@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
809 lines • 59.2 kB
JSON
{
"contractName": "TokenC",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Issue",
"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"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_target",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "addBalance",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "issue",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "issueTo",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_target",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "setBalance",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bool",
"name": "_shouldRevertNameCall",
"type": "bool"
}
],
"name": "setShouldRevertNameCall",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "shouldRevertNameCall",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Issue\",\"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\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"addBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"issue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"issueTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldRevertNameCall\",\"type\":\"bool\"}],\"name\":\"setShouldRevertNameCall\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"shouldRevertNameCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TokenC.sol\":\"TokenC\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestToken.sol\":{\"keccak256\":\"0xfbf238308c7b72cfc85387bdcf3a88145ab193c82268bed81f6eeea470c8e1bb\",\"urls\":[\"bzz-raw://ee425eb5d26cf169e6fc1ec50c66a59596bb4af77c9b190e5d8b3a0abd26efa1\",\"dweb:/ipfs/QmRKFYpuX7Q3pJ3UuLMcAHJ8SF1Gegp7Q99r2wZo57hDrR\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TokenC.sol\":{\"keccak256\":\"0xc0c3e4a076c07a6bc8340bcb7e45d5fd3ed23a7d87a62fac76cc7f4d8fecf02a\",\"urls\":[\"bzz-raw://59ab765ec210d3b3d48cd0371f3ebde85619775fa878d1f028921606692866ce\",\"dweb:/ipfs/QmScuCcNGZdswMLLUmUfYuW9K165Rgy8XscYHBggJLy68g\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50610e14806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063313ce56711610097578063b6169b9c11610066578063b6169b9c146101d3578063cc872b66146101e6578063dd62ed3e146101f9578063e30443bc1461020c576100f5565b8063313ce5671461019057806370a08231146101a557806395d89b41146101b8578063a9059cbb146101c0576100f5565b806318160ddd116100d357806318160ddd1461014d5780631e929ac31461016257806321e5383a1461016a57806323b872dd1461017d576100f5565b806306fdde03146100fa578063095ea7b3146101185780631207f0c114610138575b600080fd5b61010261021f565b60405161010f9190610c97565b60405180910390f35b61012b610126366004610a5b565b610256565b60405161010f9190610c89565b61014b610146366004610a5b565b6102ce565b005b610155610381565b60405161010f9190610cf8565b61012b610387565b61014b610178366004610a5b565b610390565b61012b61018b366004610a0e565b610487565b61019861068f565b60405161010f9190610d06565b6101556101b33660046109ae565b610694565b6101026106bc565b61012b6101ce366004610a5b565b6106f3565b61014b6101e1366004610a8b565b6107f7565b61014b6101f4366004610aa9565b610828565b6101556102073660046109d4565b610835565b61014b61021a366004610a5b565b61086d565b60408051808201909152600c81527f5465737420546f6b656e20430000000000000000000000000000000000000000602082015290565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102bc908690610cf8565b60405180910390a35060015b92915050565b6000546102e1908263ffffffff6108c416565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054610319908263ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600160205260409081902092909255905130907f4b2682685b046a3dae8e75ff49b82fa703e366056a43c6a791411011134f4f5d90610375908590610cf8565b60405180910390a35050565b60005490565b60035460ff1681565b600061039b83610694565b90508081830110156103e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610ce8565b60405180910390fd5b6103f2818363ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160205260408120919091555461042c908363ffffffff6108c416565b600090815560405173ffffffffffffffffffffffffffffffffffffffff851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061047a908690610cf8565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120548211156104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610cd8565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054821115610550576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610cc8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610586908363ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602052604080822093909355908616815220546105c8908363ffffffff61090a16565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600160209081526040808320939093556002815282822033835290522054610612908363ffffffff61090a16565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526002602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061067d908690610cf8565b60405180910390a35060019392505050565b601890565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60408051808201909152600381527f4343430000000000000000000000000000000000000000000000000000000000602082015290565b3360009081526001602052604081205482111561073c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610ca8565b3360009081526001602052604090205461075c908363ffffffff61090a16565b336000908152600160205260408082209290925573ffffffffffffffffffffffffffffffffffffffff85168152205461079b908363ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600160205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102bc908690610cf8565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b61083233826102ce565b50565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020526040808220849055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610375908590610cf8565b600082820183811015610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610cb8565b9392505050565b600061090383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d99190610c97565b505050900390565b80356102c881610dab565b80356102c881610dbf565b80356102c881610dc8565b6000602082840312156109c057600080fd5b60006109cc848461098d565b949350505050565b600080604083850312156109e757600080fd5b60006109f3858561098d565b9250506020610a048582860161098d565b9150509250929050565b600080600060608486031215610a2357600080fd5b6000610a2f868661098d565b9350506020610a408682870161098d565b9250506040610a51868287016109a3565b9150509250925092565b60008060408385031215610a6e57600080fd5b6000610a7a858561098d565b9250506020610a04858286016109a3565b600060208284031215610a9d57600080fd5b60006109cc8484610998565b600060208284031215610abb57600080fd5b60006109cc84846109a3565b610ad081610d2c565b82525050565b6000610ae182610d14565b610aeb8185610d18565b9350610afb818560208601610d53565b610b0481610d83565b9093019392505050565b6000610b1b601683610d18565b7f546f6b656e3a205472616e73666572206661696c656400000000000000000000815260200192915050565b6000610b54601b83610d18565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610b8d602583610d18565b7f237472616e7366657246726f6d3a20494e53554646494349454e545f414c4c4f81527f57414e4345000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000610bec602383610d18565b7f237472616e7366657246726f6d3a20494e53554646494349454e545f42414c4181527f4e43450000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000610c4b600d83610d18565b7f494e56414c49445f56414c554500000000000000000000000000000000000000815260200192915050565b610ad081610d4a565b610ad081610d4d565b602081016102c88284610ac7565b602080825281016109038184610ad6565b602080825281016102c881610b0e565b602080825281016102c881610b47565b602080825281016102c881610b80565b602080825281016102c881610bdf565b602080825281016102c881610c3e565b602081016102c88284610c77565b602081016102c88284610c80565b5190565b90815260200190565b60006102c882610d31565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b60ff1690565b60005b83811015610d6e578181015183820152602001610d56565b83811115610d7d576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b610db481610d21565b811461083257600080fd5b610db481610d2c565b610db481610d4a56fea365627a7a72315820befca1f262f9b6409beaf8d1a03558cdf7a4bafddc82e3382191bc3be51a57836c6578706572696d656e74616cf564736f6c63430005100040",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063313ce56711610097578063b6169b9c11610066578063b6169b9c146101d3578063cc872b66146101e6578063dd62ed3e146101f9578063e30443bc1461020c576100f5565b8063313ce5671461019057806370a08231146101a557806395d89b41146101b8578063a9059cbb146101c0576100f5565b806318160ddd116100d357806318160ddd1461014d5780631e929ac31461016257806321e5383a1461016a57806323b872dd1461017d576100f5565b806306fdde03146100fa578063095ea7b3146101185780631207f0c114610138575b600080fd5b61010261021f565b60405161010f9190610c97565b60405180910390f35b61012b610126366004610a5b565b610256565b60405161010f9190610c89565b61014b610146366004610a5b565b6102ce565b005b610155610381565b60405161010f9190610cf8565b61012b610387565b61014b610178366004610a5b565b610390565b61012b61018b366004610a0e565b610487565b61019861068f565b60405161010f9190610d06565b6101556101b33660046109ae565b610694565b6101026106bc565b61012b6101ce366004610a5b565b6106f3565b61014b6101e1366004610a8b565b6107f7565b61014b6101f4366004610aa9565b610828565b6101556102073660046109d4565b610835565b61014b61021a366004610a5b565b61086d565b60408051808201909152600c81527f5465737420546f6b656e20430000000000000000000000000000000000000000602082015290565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102bc908690610cf8565b60405180910390a35060015b92915050565b6000546102e1908263ffffffff6108c416565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054610319908263ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600160205260409081902092909255905130907f4b2682685b046a3dae8e75ff49b82fa703e366056a43c6a791411011134f4f5d90610375908590610cf8565b60405180910390a35050565b60005490565b60035460ff1681565b600061039b83610694565b90508081830110156103e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610ce8565b60405180910390fd5b6103f2818363ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160205260408120919091555461042c908363ffffffff6108c416565b600090815560405173ffffffffffffffffffffffffffffffffffffffff851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061047a908690610cf8565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120548211156104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610cd8565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054821115610550576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610cc8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610586908363ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602052604080822093909355908616815220546105c8908363ffffffff61090a16565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600160209081526040808320939093556002815282822033835290522054610612908363ffffffff61090a16565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526002602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061067d908690610cf8565b60405180910390a35060019392505050565b601890565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60408051808201909152600381527f4343430000000000000000000000000000000000000000000000000000000000602082015290565b3360009081526001602052604081205482111561073c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610ca8565b3360009081526001602052604090205461075c908363ffffffff61090a16565b336000908152600160205260408082209290925573ffffffffffffffffffffffffffffffffffffffff85168152205461079b908363ffffffff6108c416565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600160205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102bc908690610cf8565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b61083233826102ce565b50565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020526040808220849055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610375908590610cf8565b600082820183811015610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610cb8565b9392505050565b600061090383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d99190610c97565b505050900390565b80356102c881610dab565b80356102c881610dbf565b80356102c881610dc8565b6000602082840312156109c057600080fd5b60006109cc848461098d565b949350505050565b600080604083850312156109e757600080fd5b60006109f3858561098d565b9250506020610a048582860161098d565b9150509250929050565b600080600060608486031215610a2357600080fd5b6000610a2f868661098d565b9350506020610a408682870161098d565b9250506040610a51868287016109a3565b9150509250925092565b60008060408385031215610a6e57600080fd5b6000610a7a858561098d565b9250506020610a04858286016109a3565b600060208284031215610a9d57600080fd5b60006109cc8484610998565b600060208284031215610abb57600080fd5b60006109cc84846109a3565b610ad081610d2c565b82525050565b6000610ae182610d14565b610aeb8185610d18565b9350610afb818560208601610d53565b610b0481610d83565b9093019392505050565b6000610b1b601683610d18565b7f546f6b656e3a205472616e73666572206661696c656400000000000000000000815260200192915050565b6000610b54601b83610d18565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610b8d602583610d18565b7f237472616e7366657246726f6d3a20494e53554646494349454e545f414c4c4f81527f57414e4345000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000610bec602383610d18565b7f237472616e7366657246726f6d3a20494e53554646494349454e545f42414c4181527f4e43450000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000610c4b600d83610d18565b7f494e56414c49445f56414c554500000000000000000000000000000000000000815260200192915050565b610ad081610d4a565b610ad081610d4d565b602081016102c88284610ac7565b602080825281016109038184610ad6565b602080825281016102c881610b0e565b602080825281016102c881610b47565b602080825281016102c881610b80565b602080825281016102c881610bdf565b602080825281016102c881610c3e565b602081016102c88284610c77565b602081016102c88284610c80565b5190565b90815260200190565b60006102c882610d31565b151590565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b60ff1690565b60005b83811015610d6e578181015183820152602001610d56565b83811115610d7d576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b610db481610d21565b811461083257600080fd5b610db481610d2c565b610db481610d4a56fea365627a7a72315820befca1f262f9b6409beaf8d1a03558cdf7a4bafddc82e3382191bc3be51a57836c6578706572696d656e74616cf564736f6c63430005100040",
"sourceMap": "740:294:144:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;740:294:144;;;;;;;",
"deployedSourceMap": "740:294:144:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;740:294:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;942:90;;;:::i;:::-;;;;;;;;;;;;;;;;3746:242:139;;;;;;;;;:::i;:::-;;;;;;;;1918:196;;;;;;;;;:::i;:::-;;2120:83;;;:::i;:::-;;;;;;;;1009:32;;;:::i;1550:362::-;;;;;;;;;:::i;3191:549::-;;;;;;;;;:::i;775:74:144:-;;;:::i;:::-;;;;;;;;2209:99:139;;;;;;;;;:::i;854:83:144:-;;;:::i;2811:374:139:-;;;;;;;;;:::i;1415:129::-;;;;;;;;;:::i;1164:82::-;;;;;;;;;:::i;2314:128::-;;;;;;;;;:::i;1252:157::-;;;;;;;;;:::i;942:90:144:-;1004:21;;;;;;;;;;;;;;;;;942:90;:::o;3746:242:139:-;3835:10;3811:4;3827:19;;;:7;:19;;;;;;;;;:28;;;;;;;;;;:36;;;3878:82;3811:4;;3827:28;;3878:82;;;;3858:5;;3878:82;;;;;;;;;;-1:-1:-1;3977:4:139;3746:242;;;;;:::o;1918:196::-;1990:6;;:18;;2001:6;1990:18;:10;:18;:::i;:::-;1981:6;:27;;;2034:13;;;;;:8;:13;;;;;;:25;;2052:6;2034:25;:17;:25;:::i;:::-;2018:13;;;;;;;:8;:13;;;;;;;:41;;;;2074:33;;2088:4;;2074:33;;;;2100:6;;2074:33;;;;;;;;;;1918:196;;:::o;2120:83::-;2164:7;2190:6;2120:83;:::o;1009:32::-;;;;;;:::o;1550:362::-;1650:19;1672:18;1682:7;1672:9;:18::i;:::-;1650:40;;1732:11;1717;1708:6;:20;:35;;1700:61;;;;;;;;;;;;;;;;;;;;;;1791:23;:11;1807:6;1791:23;:15;:23;:::i;:::-;1771:17;;;;;;;:8;:17;;;;;:43;;;;1833:6;:18;;1844:6;1833:18;:10;:18;:::i;:::-;1824:6;:27;;;1866:39;;;;;;1824:6;1866:39;;;;1898:6;;1866:39;;;;;;;;;;1550:362;;;:::o;3191:549::-;3294:14;;;3270:4;3294:14;;;:8;:14;;;;;;:23;-1:-1:-1;3294:23:139;3286:71;;;;;;;;;;;;;;3375:13;;;;;;;:7;:13;;;;;;;;3389:10;3375:25;;;;;;;;:34;-1:-1:-1;3375:34:139;3367:84;;;;;;;;;;;;;;3477:12;;;;;;;:8;:12;;;;;;:23;;3494:5;3477:23;:16;:23;:::i;:::-;3462:12;;;;;;;;:8;:12;;;;;;:38;;;;3527:14;;;;;;;:25;;3546:5;3527:25;:18;:25;:::i;:::-;3510:14;;;;;;;:8;:14;;;;;;;;:42;;;;3590:7;:13;;;;;3604:10;3590:25;;;;;;:36;;3620:5;3590:36;:29;:36;:::i;:::-;3562:13;;;;;;;;:7;:13;;;;;;;;3576:10;3562:25;;;;;;;;;:64;;;;3641:71;;;;;;3562:13;3641:71;;;;3697:5;;3641:71;;;;;;;;;;-1:-1:-1;3729:4:139;3191:549;;;;;:::o;775:74:144:-;840:2;775:74;:::o;2209:99:139:-;2288:13;;2262:7;2288:13;;;:8;:13;;;;;;;2209:99::o;854:83:144:-;918:12;;;;;;;;;;;;;;;;;854:83;:::o;2811:374:139:-;2905:10;2872:4;2896:20;;;:8;:20;;;;;;:29;-1:-1:-1;2896:29:139;2888:64;;;;;;;;;;;;;;2995:10;2986:20;;;;:8;:20;;;;;;:31;;3011:5;2986:31;:24;:31;:::i;:::-;2972:10;2963:20;;;;:8;:20;;;;;;:54;;;;:20;3042:12;;;;;;:23;;3059:5;3042:23;:16;:23;:::i;:::-;3027:12;;;;;;;:8;:12;;;;;;;:38;;;;3080:77;;3102:10;;3080:77;;;;3142:5;;3080:77;;1415:129;1493:20;:44;;;;;;;;;;;;;1415:129::o;1164:82::-;1212:27;1220:10;1232:6;1212:7;:27::i;:::-;1164:82;:::o;2314:128::-;2412:14;;;;2386:7;2412:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;2314:128::o;1252:157::-;1322:17;;;;;;;:8;:17;;;;;;:26;;;1363:39;;;;;1342:6;;1363:39;;834:176:150;892:7;923:5;;;946:6;;;;938:46;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:150:o;1274:134::-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;1818:7;1853:12;1845:6;;;;1837:29;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:150;;;1732:187::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:124;206:20;;231:30;206:20;231:30;;273:130;340:20;;365:33;340:20;365:33;;410:241;;514:2;502:9;493:7;489:23;485:32;482:2;;;530:1;527;520:12;482:2;565:1;582:53;627:7;607:9;582:53;;;572:63;476:175;-1:-1;;;;476:175;658:366;;;779:2;767:9;758:7;754:23;750:32;747:2;;;795:1;792;785:12;747:2;830:1;847:53;892:7;872:9;847:53;;;837:63;;809:97;937:2;955:53;1000:7;991:6;980:9;976:22;955:53;;;945:63;;916:98;741:283;;;;;;1031:491;;;;1169:2;1157:9;1148:7;1144:23;1140:32;1137:2;;;1185:1;1182;1175:12;1137:2;1220:1;1237:53;1282:7;1262:9;1237:53;;;1227:63;;1199:97;1327:2;1345:53;1390:7;1381:6;1370:9;1366:22;1345:53;;;1335:63;;1306:98;1435:2;1453:53;1498:7;1489:6;1478:9;1474:22;1453:53;;;1443:63;;1414:98;1131:391;;;;;;1529:366;;;1650:2;1638:9;1629:7;1625:23;1621:32;1618:2;;;1666:1;1663;1656:12;1618:2;1701:1;1718:53;1763:7;1743:9;1718:53;;;1708:63;;1680:97;1808:2;1826:53;1871:7;1862:6;1851:9;1847:22;1826:53;;1902:235;;2003:2;1991:9;1982:7;1978:23;1974:32;1971:2;;;2019:1;2016;2009:12;1971:2;2054:1;2071:50;2113:7;2093:9;2071:50;;2144:241;;2248:2;2236:9;2227:7;2223:23;2219:32;2216:2;;;2264:1;2261;2254:12;2216:2;2299:1;2316:53;2361:7;2341:9;2316:53;;2392:104;2469:21;2484:5;2469:21;;;2464:3;2457:34;2451:45;;;2503:347;;2615:39;2648:5;2615:39;;;2666:71;2730:6;2725:3;2666:71;;;2659:78;;2742:52;2787:6;2782:3;2775:4;2768:5;2764:16;2742:52;;;2815:29;2837:6;2815:29;;;2806:39;;;;2595:255;-1:-1;;;2595:255;2858:322;;3018:67;3082:2;3077:3;3018:67;;;3118:24;3098:45;;3171:2;3162:12;;3004:176;-1:-1;;3004:176;3189:327;;3349:67;3413:2;3408:3;3349:67;;;3449:29;3429:50;;3507:2;3498:12;;3335:181;-1:-1;;3335:181;3525:374;;3685:67;3749:2;3744:3;3685:67;;;3785:34;3765:55;;3854:7;3849:2;3840:12;;3833:29;3890:2;3881:12;;3671:228;-1:-1;;3671:228;3908:372;;4068:67;4132:2;4127:3;4068:67;;;4168:34;4148:55;;4237:5;4232:2;4223:12;;4216:27;4271:2;4262:12;;4054:226;-1:-1;;4054:226;4289:313;;4449:67;4513:2;4508:3;4449:67;;;4549:15;4529:36;;4593:2;4584:12;;4435:167;-1:-1;;4435:167;4610:113;4693:24;4711:5;4693:24;;4730:107;4809:22;4825:5;4809:22;;4844:201;4956:2;4941:18;;4970:65;4945:9;5008:6;4970:65;;5052:301;5190:2;5204:47;;;5175:18;;5265:78;5175:18;5329:6;5265:78;;5360:407;5551:2;5565:47;;;5536:18;;5626:131;5536:18;5626:131;;5774:407;5965:2;5979:47;;;5950:18;;6040:131;5950:18;6040:131;;6188:407;6379:2;6393:47;;;6364:18;;6454:131;6364:18;6454:131;;6602:407;6793:2;6807:47;;;6778:18;;6868:131;6778:18;6868:131;;7016:407;7207:2;7221:47;;;7192:18;;7282:131;7192:18;7282:131;;7430:213;7548:2;7533:18;;7562:71;7537:9;7606:6;7562:71;;7650:205;7764:2;7749:18;;7778:67;7753:9;7818:6;7778:67;;7862:122;7950:12;;7921:63;7992:163;8095:19;;;8144:4;8135:14;;8088:67;8163:91;;8225:24;8243:5;8225:24;;8261:85;8327:13;8320:21;;8303:43;8353:121;8426:42;8415:54;;8398:76;8481:72;8543:5;8526:27;8560:81;8631:4;8620:16;;8603:38;8649:268;8714:1;8721:101;8735:6;8732:1;8729:13;8721:101;;;8802:11;;;8796:18;8783:11;;;8776:39;8757:2;8750:10;8721:101;;;8837:6;8834:1;8831:13;8828:2;;;8902:1;8893:6;8888:3;8884:16;8877:27;8828:2;8698:219;;;;;8925:97;9013:2;8993:14;9009:7;8989:28;;8973:49;9030:117;9099:24;9117:5;9099:24;;;9092:5;9089:35;9079:2;;9138:1;9135;9128:12;9154:111;9220:21;9235:5;9220:21;;9272:117;9341:24;9359:5;9341:24;",
"source": "/*\n\n Copyright 2019 dYdX Trading Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { TestToken } from \"./TestToken.sol\";\n\n\n/* solium-disable-next-line */\ncontract TokenC is TestToken {\n function decimals() public view returns (uint8) {\n return 24;\n }\n function symbol() public view returns (string memory) {\n return \"CCC\";\n }\n function name() public view returns (string memory) {\n return \"Test Token C\";\n }\n}\n",
"sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TokenC.sol",
"ast": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TokenC.sol",
"exportedSymbols": {
"TokenC": [
36986
]
},
"id": 36987,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 36956,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "603:23:144"
},
{
"id": 36957,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "627:33:144"
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestToken.sol",
"file": "./TestToken.sol",
"id": 36959,
"nodeType": "ImportDirective",
"scope": 36987,
"sourceUnit": 36717,
"src": "662:44:144",
"symbolAliases": [
{
"foreign": 36958,
"local": null
}
],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 36960,
"name": "TestToken",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 36716,
"src": "759:9:144",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$36716",
"typeString": "contract TestToken"
}
},
"id": 36961,
"nodeType": "InheritanceSpecifier",
"src": "759:9:144"
}
],
"contractDependencies": [
24715,
36716,
37552
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 36986,
"linearizedBaseContracts": [
36986,
36716,
24715,
37552
],
"name": "TokenC",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 36968,
"nodeType": "Block",
"src": "823:26:144",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "3234",
"id": 36966,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "840:2:144",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_24_by_1",
"typeString": "int_const 24"
},
"value": "24"
},
"functionReturnParameters": 36965,
"id": 36967,
"nodeType": "Return",
"src": "833:9:144"
}
]
},
"documentation": null,
"id": 36969,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "decimals",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36962,
"nodeType": "ParameterList",
"parameters": [],
"src": "792:2:144"
},
"returnParameters": {
"id": 36965,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36964,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 36969,
"src": "816:5:144",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 36963,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "816:5:144",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "815:7:144"
},
"scope": 36986,
"src": "775:74:144",
"stateMutability": "view",
"superFunction": 36554,
"visibility": "public"
},
{
"body": {
"id": 36976,
"nodeType": "Block",
"src": "908:29:144",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "434343",
"id": 36974,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "925:5:144",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2a696f0da6ad70d56f54aa53d0287d8d7fc5a236636c48db25d77485f1e76fb4",
"typeString": "literal_string \"CCC\""
},
"value": "CCC"
},
"functionReturnParameters": 36973,
"id": 36975,
"nodeType": "Return",
"src": "918:12:144"
}
]
},
"documentation": null,
"id": 36977,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "symbol",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36970,
"nodeType": "ParameterList",
"parameters": [],
"src": "869:2:144"
},
"returnParameters": {
"id": 36973,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36972,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 36977,
"src": "893:13:144",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 36971,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "893:6:144",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "892:15:144"
},
"scope": 36986,
"src": "854:83:144",
"stateMutability": "view",
"superFunction": 36531,
"visibility": "public"
},
{
"body": {
"id": 36984,
"nodeType": "Block",
"src": "994:38:144",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "5465737420546f6b656e2043",
"id": 36982,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1011:14:144",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_123e8b214676276ef40c6125a0cfa463bba66f4d7dce872e048f87eaf09a2275",
"typeString": "literal_string \"Test Token C\""
},
"value": "Test Token C"
},
"functionReturnParameters": 36981,
"id": 36983,
"nodeType": "Return",
"src": "1004:21:144"
}
]
},
"documentation": null,
"id": 36985,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "name",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36978,
"nodeType": "ParameterList",
"parameters": [],
"src": "955:2:144"
},
"returnParameters": {
"id": 36981,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36980,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 36985,
"src": "979:13:144",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 36979,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "979:6:144",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "978:15:144"
},
"scope": 36986,
"src": "942:90:144",
"stateMutability": "view",
"superFunction": 36546,
"visibility": "public"
}
],
"scope": 36987,
"src": "740:294:144"
}
],
"src": "603:432:144"
},
"legacyAST": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TokenC.sol",
"exportedSymbols": {
"TokenC": [
36986
]
},
"id": 36987,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 36956,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "603:23:144"
},
{
"id": 36957,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "627:33:144"
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestToken.sol",
"file": "./TestToken.sol",
"id": 36959,
"nodeType": "ImportDirective",
"scope": 36987,
"sourceUnit": 36717,
"src": "662:44:144",
"symbolAliases": [
{
"foreign": 36958,
"local": null
}
],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 36960,
"name": "TestToken",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 36716,
"src": "759:9:144",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TestToken_$36716",
"typeString": "contract TestToken"
}
},
"id": 36961,
"nodeType": "InheritanceSpecifier",
"src": "759:9:144"
}
],
"contractDependencies": [
24715,
36716,
37552
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 36986,
"linearizedBaseContracts": [
36986,
36716,
24715,
37552
],
"name": "TokenC",
"node