@valueswap/v2-core
Version:
🎛 Core contracts for the ValueswapV2 protocol
850 lines • 46.4 kB
JSON
{
"contractName": "ERC20",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_totalSupply",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"constant": true,
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "PERMIT_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"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": "",
"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": true,
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "permit",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"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"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalSupply\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"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\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":{\"/Users/second/Documents/work/valueswap-v2-core/contracts/test/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"/Users/second/Documents/work/valueswap-v2-core/contracts/ValueswapV2ERC20.sol\":{\"keccak256\":\"0xe616624cfeaeb5311f7f0eab598a26de110a0fbda15f275f1965fcfb97b04b49\",\"urls\":[\"bzz-raw://b4e4bf089b5dc29c34bd0e9691e466f6241a066fdc321305903c9a6c4262ca86\",\"dweb:/ipfs/QmWdcra2Uz3U5qbCMLJ8wUN5SZ7rD5s4xkQ1hduHUNeL5h\"]},\"/Users/second/Documents/work/valueswap-v2-core/contracts/interfaces/IValueswapV2ERC20.sol\":{\"keccak256\":\"0xe9ea84484219e3698be9ab0635b8c38d42c237a46092c0425de56ad02dddf54e\",\"urls\":[\"bzz-raw://85db01c43d9c69c3267641381f0b9c596bb0917ab9eb9df92d7be71ae323d4ee\",\"dweb:/ipfs/QmXMs4dJu3mUysjsvkPLsEazB5znCCGYdH9m4i4vUiwkai\"]},\"/Users/second/Documents/work/valueswap-v2-core/contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x9c8465de751317860b623cd77f7f53f41a84b6624c0580ee526dcf7a2b7cb80c\",\"urls\":[\"bzz-raw://9b371b3eb0649b486f76cd628cc060354d1ac11fa8baed1170567271655f05d7\",\"dweb:/ipfs/QmTUg31wK9UyX6o1Q1mxE4DQhuc1rWGBanNTu1uagNVQB6\"]},\"/Users/second/Documents/work/valueswap-v2-core/contracts/test/ERC20.sol\":{\"keccak256\":\"0x32144a920b7d6a4b675a89b9f0adf4b3820cf085352fbc44bb70ba231e88c91b\",\"urls\":[\"bzz-raw://5a1bd3ecd9d0ac7e0e51a0244890585c2d8b2f7af604c3b367130bb6546ae1b5\",\"dweb:/ipfs/QmZNj8hugRwPTeafbLZqQofw2Me61Jain9i7HADtqUaq9c\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50604051610d1a380380610d1a8339818101604052602081101561003357600080fd5b50516040514690806052610cc88239604080519182900360520182208282018252600c83526b2b30b63ab2b9bbb0b8102b1960a11b6020938401528151808301835260018152603160f81b908401528151808401919091527f19c4a77517fd66407a36fee63f0eb3eeb401145d45beaea91c8c60744e13ddc5818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c0909401905282519201919091206003555061011833826001600160e01b0361011e16565b5061021e565b610137816000546101c060201b6109f41790919060201c565b60009081556001600160a01b0383168152600160209081526040909120546101689183906109f46101c0821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b80820182811015610218576040805162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b610a9b8061022d6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461029f578063a9059cbb146102a7578063d505accf146102e0578063dd62ed3e14610340576100df565b80633644e5151461023157806370a08231146102395780637ecebe001461026c576100df565b806323b872dd116100bd57806323b872dd146101c857806330adf81f1461020b578063313ce56714610213576100df565b806306fdde03146100e4578063095ea7b31461016157806318160ddd146101ae575b600080fd5b6100ec61037b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012657818101518382015260200161010e565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61019a6004803603604081101561017757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103b4565b604080519115158252519081900360200190f35b6101b66103cb565b60408051918252519081900360200190f35b61019a600480360360608110156101de57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356103d1565b6101b66104b0565b61021b6104d4565b6040805160ff9092168252519081900360200190f35b6101b66104d9565b6101b66004803603602081101561024f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104df565b6101b66004803603602081101561028257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f1565b6100ec610503565b61019a600480360360408110156102bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561053c565b61033e600480360360e08110156102f657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610549565b005b6101b66004803603604081101561035657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610815565b6040518060400160405280600c81526020017f56616c756573776170205632000000000000000000000000000000000000000081525081565b60006103c1338484610832565b5060015b92915050565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461049b5773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610469908363ffffffff6108a116565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b6104a6848484610913565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60016020526000908152604090205481565b60046020526000908152604090205481565b6040518060400160405280600781526020017f564e54572d56320000000000000000000000000000000000000000000000000081525081565b60006103c1338484610913565b428410156105b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f56616c75657377617056323a2045585049524544000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015610719573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061079457508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6107ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f56616c75657377617056323a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b61080a898989610832565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b808203828111156103c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610949908263ffffffff6108a116565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461098b908263ffffffff6109f416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b808201828110156103c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfea265627a7a723158204cf37aa90a642271aca1690ac1e2a1cfe7cf2088647d24fc51a728eb9141050464736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461029f578063a9059cbb146102a7578063d505accf146102e0578063dd62ed3e14610340576100df565b80633644e5151461023157806370a08231146102395780637ecebe001461026c576100df565b806323b872dd116100bd57806323b872dd146101c857806330adf81f1461020b578063313ce56714610213576100df565b806306fdde03146100e4578063095ea7b31461016157806318160ddd146101ae575b600080fd5b6100ec61037b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012657818101518382015260200161010e565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61019a6004803603604081101561017757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103b4565b604080519115158252519081900360200190f35b6101b66103cb565b60408051918252519081900360200190f35b61019a600480360360608110156101de57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356103d1565b6101b66104b0565b61021b6104d4565b6040805160ff9092168252519081900360200190f35b6101b66104d9565b6101b66004803603602081101561024f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104df565b6101b66004803603602081101561028257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f1565b6100ec610503565b61019a600480360360408110156102bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561053c565b61033e600480360360e08110156102f657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610549565b005b6101b66004803603604081101561035657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610815565b6040518060400160405280600c81526020017f56616c756573776170205632000000000000000000000000000000000000000081525081565b60006103c1338484610832565b5060015b92915050565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1461049b5773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610469908363ffffffff6108a116565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b6104a6848484610913565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60016020526000908152604090205481565b60046020526000908152604090205481565b6040518060400160405280600781526020017f564e54572d56320000000000000000000000000000000000000000000000000081525081565b60006103c1338484610913565b428410156105b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f56616c75657377617056323a2045585049524544000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015610719573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061079457508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6107ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f56616c75657377617056323a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b61080a898989610832565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b808203828111156103c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610949908263ffffffff6108a116565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461098b908263ffffffff6109f416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b808201828110156103c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfea265627a7a723158204cf37aa90a642271aca1690ac1e2a1cfe7cf2088647d24fc51a728eb9141050464736f6c63430005100032",
"sourceMap": "61:129:12:-;;;102:86;8:9:-1;5:2;;;30:1;27;20:12;5:2;102:86:12;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;102:86:12;1111:95:1;;1015:7;;1111:95;;;;;;;;;;;;;;;;1240:4;;;;;;;;-1:-1:-1;;;1240:4:1;;;;;1274:10;;;;;;;;;;-1:-1:-1;;;1274:10:1;;;;1083:272;;;;;;;;;1224:22;1083:272;;;;1264:21;1083:272;;;;;;;;;;;1336:4;1083:272;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;1083:272:1;;;;;;1060:305;;;;;;;;1041:16;:324;-1:-1:-1;150:31:12;156:10;168:12;-1:-1:-1;;;;;150:5:12;:31;:::i;:::-;102:86;61:129;;1378:197:1;1450:22;1466:5;1450:11;;:15;;;;;;:22;;;;:::i;:::-;1436:11;:36;;;-1:-1:-1;;;;;1498:13:1;;;;:9;:13;;;;;;;;;:24;;1516:5;;1498:17;;;;;:24;;:::i;:::-;-1:-1:-1;;;;;1482:13:1;;;;;;:9;:13;;;;;;;;:40;;;;1537:31;;;;;;;1482:13;;;;1537:31;;;;;;;;;;1378:197;;:::o;155:126:10:-;238:5;;;233:16;;;;225:49;;;;;-1:-1:-1;;;225:49:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;155:126;;;;:::o;61:129:12:-;;;;;;;",
"deployedSourceMap": "61:129:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;61:129:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;190:44:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;190:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2186:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2186:144:1;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;328:24;;;:::i;:::-;;;;;;;;;;;;;;;;2478:295;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2478:295:1;;;;;;;;;;;;;;;;;;:::i;614:108::-;;;:::i;287:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;473:31;;;:::i;358:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;358:41:1;;;;:::i;728:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;728:38:1;;;;:::i;240:41::-;;;:::i;2336:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2336:136:1;;;;;;;;;:::i;2779:666::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;2779:666:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;405:61;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;405:61:1;;;;;;;;;;;:::i;190:44::-;;;;;;;;;;;;;;;;;;;:::o;2186:144::-;2250:4;2266:36;2275:10;2287:7;2296:5;2266:8;:36::i;:::-;-1:-1:-1;2319:4:1;2186:144;;;;;:::o;328:24::-;;;;:::o;2478:295::-;2576:15;;;2556:4;2576:15;;;:9;:15;;;;;;;;2592:10;2576:27;;;;;;;;2612:2;2576:39;2572:138;;2661:15;;;;;;;:9;:15;;;;;;;;2677:10;2661:27;;;;;;;;:38;;2693:5;2661:38;:31;:38;:::i;:::-;2631:15;;;;;;;:9;:15;;;;;;;;2647:10;2631:27;;;;;;;:68;2572:138;2719:26;2729:4;2735:2;2739:5;2719:9;:26::i;:::-;-1:-1:-1;2762:4:1;2478:295;;;;;:::o;614:108::-;656:66;614:108;:::o;287:35::-;320:2;287:35;:::o;473:31::-;;;;:::o;358:41::-;;;;;;;;;;;;;:::o;728:38::-;;;;;;;;;;;;;:::o;240:41::-;;;;;;;;;;;;;;;;;;;:::o;2336:136::-;2396:4;2412:32;2422:10;2434:2;2438:5;2412:9;:32::i;2779:666::-;2924:15;2912:8;:27;;2904:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3076:16;;3171:13;;;;2974:14;3171:13;;;:6;:13;;;;;;;;:15;;;;;;;;;3120:77;;656:66;3120:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3120:77:1;;;;;3110:88;;;;;;3014:198;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3014:198:1;;;;;;2991:231;;;;;;;;;3259:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2974:14;;3171:15;3259:26;;;;;-1:-1:-1;3259:26:1;;;;;;;;;;3171:15;3259:26;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3259:26:1;;;;;;-1:-1:-1;;3303:30:1;;;;;;;:59;;;3357:5;3337:25;;:16;:25;;;3303:59;3295:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3407:31;3416:5;3423:7;3432:5;3407:8;:31::i;:::-;2779:666;;;;;;;;;:::o;405:61::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;1792:166::-;1872:16;;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;1920:31;;;;;;;;;;;;;;;;;1792:166;;;:::o;287:127:10:-;370:5;;;365:16;;;;357:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1964:216:1;2057:15;;;;;;;:9;:15;;;;;;:26;;2077:5;2057:26;:19;:26;:::i;:::-;2039:15;;;;;;;;:9;:15;;;;;;:44;;;;2109:13;;;;;;;:24;;2127:5;2109:24;:17;:24;:::i;:::-;2093:13;;;;;;;;:9;:13;;;;;;;;;:40;;;;2148:25;;;;;;;2093:13;;2148:25;;;;;;;;;;;;;1964:216;;;:::o;155:126:10:-;238:5;;;233:16;;;;225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
"source": "pragma solidity =0.5.16;\n\nimport '../ValueswapV2ERC20.sol';\n\ncontract ERC20 is ValueswapV2ERC20 {\n constructor(uint _totalSupply) public {\n _mint(msg.sender, _totalSupply);\n }\n}\n",
"sourcePath": "/Users/second/Documents/work/valueswap-v2-core/contracts/test/ERC20.sol",
"ast": {
"absolutePath": "/Users/second/Documents/work/valueswap-v2-core/contracts/test/ERC20.sol",
"exportedSymbols": {
"ERC20": [
2385
]
},
"id": 2386,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2369,
"literals": [
"solidity",
"=",
"0.5",
".16"
],
"nodeType": "PragmaDirective",
"src": "0:24:12"
},
{
"absolutePath": "/Users/second/Documents/work/valueswap-v2-core/contracts/ValueswapV2ERC20.sol",
"file": "../ValueswapV2ERC20.sol",
"id": 2370,
"nodeType": "ImportDirective",
"scope": 2386,
"sourceUnit": 418,
"src": "26:33:12",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2371,
"name": "ValueswapV2ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 417,
"src": "79:16:12",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ValueswapV2ERC20_$417",
"typeString": "contract ValueswapV2ERC20"
}
},
"id": 2372,
"nodeType": "InheritanceSpecifier",
"src": "79:16:12"
}
],
"contractDependencies": [
417,
1869
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2385,
"linearizedBaseContracts": [
2385,
417,
1869
],
"name": "ERC20",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2383,
"nodeType": "Block",
"src": "140:48:12",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2378,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2400,
"src": "156:3:12",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2379,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "156:10:12",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 2380,
"name": "_totalSupply",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2374,
"src": "168:12:12",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2377,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 154,
"src": "150:5:12",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 2381,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "150:31:12",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2382,
"nodeType": "ExpressionStatement",
"src": "150:31:12"
}
]
},
"documentation": null,
"id": 2384,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2375,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2374,
"name": "_totalSupply",
"nodeType": "VariableDeclaration",
"scope": 2384,
"src": "114:17:12",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2373,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "114:4:12",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "113:19:12"
},
"returnParameters": {
"id": 2376,
"nodeType": "ParameterList",
"parameters": [],
"src": "140:0:12"
},
"scope": 2385,
"src": "102:86:12",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 2386,
"src": "61:129:12"
}
],
"src": "0:191:12"
},
"legacyAST": {
"attributes": {
"absolutePath": "/Users/second/Documents/work/valueswap-v2-core/contracts/test/ERC20.sol",
"exportedSymbols": {
"ERC20": [
2385
]
}
},
"children": [
{
"attributes": {
"literals": [
"solidity",
"=",
"0.5",
".16"
]
},
"id": 2369,
"name": "PragmaDirective",
"src": "0:24:12"
},
{
"attributes": {
"SourceUnit": 418,
"absolutePath": "/Users/second/Documents/work/valueswap-v2-core/contracts/ValueswapV2ERC20.sol",
"file": "../ValueswapV2ERC20.sol",
"scope": 2386,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 2370,
"name": "ImportDirective",
"src": "26:33:12"
},
{
"attributes": {
"contractDependencies": [
417,
1869
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"linearizedBaseContracts": [
2385,
417,
1869
],
"name": "ERC20",
"scope": 2386
},
"children": [
{
"attributes": {
"arguments": null
},
"children": [
{
"attributes": {
"contractScope": null,
"name": "ValueswapV2ERC20",
"referencedDeclaration": 417,
"type": "contract ValueswapV2ERC20"
},
"id": 2371,
"name": "UserDefinedTypeName",
"src": "79:16:12"
}
],
"id": 2372,
"name": "InheritanceSpecifier",
"src": "79:16:12"
},
{
"attributes": {
"documentation": null,
"implemented": true,
"isConstructor": true,
"kind": "constructor",
"modifiers": [
null
],
"name": "",
"scope": 2385,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_totalSupply",
"scope": 2384,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint",
"type": "uint256"
},
"id": 2373,
"name": "ElementaryTypeName",
"src": "114:4:12"
}
],
"id": 2374,
"name": "VariableDeclaration",
"src": "114:17:12"
}
],
"id": 2375,
"name": "ParameterList",
"src": "113:19:12"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 2376,
"name": "ParameterList",
"src": "140:0:12"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 154,
"type": "function (address,uint256)",
"value": "_mint"
},
"id": 2377,
"name": "Identifier",
"src": "150:5:12"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "sender",
"referencedDeclaration": null,
"type": "address payable"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 2400,
"type": "msg",
"value": "msg"
},
"id": 2378,
"name": "Identifier",
"src": "156:3:12"
}
],
"id": 2379,
"name": "MemberAccess",
"src": "156:10:12"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 2374,
"type": "uint256",
"value": "_totalSupply"
},
"id": 2380,
"name": "Identifier",
"src": "168:12:12"
}
],
"id": 2381,
"name": "FunctionCall",
"src": "150:31:12"
}
],
"id": 2382,
"name": "ExpressionStatement",
"src": "150:31:12"
}
],
"id": 2383,
"name": "Block",
"src": "140:48:12"
}
],
"id": 2384,
"name": "FunctionDefinition",
"src": "102:86:12"
}
],
"id": 2385,
"name": "ContractDefinition",
"src": "61:129:12"
}
],
"id": 2386,
"name": "SourceUnit",
"src": "0:191:12"
},
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.3.3",
"updatedAt": "2021-01-30T15:36:09.995Z",
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
}