@verified-network/verified-sdk 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -449,25 +449,25 @@
449
449
  "type": "function"
450
450
  }
451
451
  ],
452
- "metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"name_\",\"type\":\"bytes32\"},{\"name\":\"symbol_\",\"type\":\"bytes32\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"_hashedMessage\",\"type\":\"bytes32\"},{\"name\":\"_v\",\"type\":\"uint8\"},{\"name\":\"_r\",\"type\":\"bytes32\"},{\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"approveToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"issuer\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mintToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transferor\",\"type\":\"address\"},{\"name\":\"transferee\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation.\\r For example, if `decimals` equals `2`, a balance of `505` tokens should\\r be displayed to a user as `5.05` (`505 / 10 ** 2`).\\r * Tokens usually opt for a value of 18, imitating the relationship between\\r Ether and Wei. This is the value {ERC20} uses, unless this function is\\r overridden;\\r * NOTE: This information is only used for _display_ purposes: it in\\r no way affects any of the arithmetic of the contract, including\\r {IERC20-balanceOf} and {IERC20-transfer}.\\r\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"initialize(bytes32,bytes32,address,address)\":{\"details\":\"Sets the values for {name} and {symbol}.\\r * The default value of {decimals} is 18. To select a different value for\\r {decimals} you should overload it.\\r * All two of these values are immutable: they can only be set once during\\r construction.\\r\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"name()\":{\"details\":\"Returns the name of the token.\\r\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the\\r name.\\r\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Security.sol\":\"Security\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzzr://292843005e754e752644f767477ec5ad7a1ffc91ddb18c38b8079c62f3993cad\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x2a474399663812668bb8e9c9e7d011d54fd09de386bd6e9fcb2407a677ebd1aa\",\"urls\":[\"bzzr://3d70561b32ba1494d2b2df362e92dff5ab869d27e2fe35cf9bf3a8ae137cffd3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"project:/contracts/Security.sol\":{\"keccak256\":\"0x96d6d5db1ed6d277c9e8bfa372540c901a0234bc6a4831b41082109cc4029ab7\",\"urls\":[\"bzzr://06e928cda0d5ab978185e8ebc929641cde8ea6f4547e370cc1c290f7747a19e8\"]},\"project:/contracts/interfaces/ISecurity.sol\":{\"keccak256\":\"0xaa250a7370257578a9ff416e18892d040ee77f726ab6d644ab6997c34c4b52e2\",\"urls\":[\"bzzr://81bc4c928be48c93109a7f58d7806b51e173c2c5940398925ec83c9e57de572e\"]}},\"version\":1}",
453
- "bytecode": "0x60806040526113b8806100136000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379c65068116100ad578063a9059cbb11610071578063a9059cbb146103cf578063c4d66de8146103fb578063dd62ed3e14610421578063f2fde38b1461044f578063f5537ede146104755761012c565b806379c65068146103435780638da5cb5b1461036f5780638f32d59b1461039357806395d89b411461039b578063a457c2d7146103a35761012c565b8063313ce567116100f4578063313ce5671461027a57806339509351146102985780635698e081146102c457806370a0823114610315578063715018a61461033b5761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee5780631f57365e1461020857806323b872dd14610244575b600080fd5b6101396104ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b038135169060200135610542565b604080519115158252519081900360200190f35b6101f661055f565b60408051918252519081900360200190f35b6102426004803603608081101561021e57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610565565b005b6101da6004803603606081101561025a57600080fd5b506001600160a01b0381358116916020810135909116906040013561068a565b610282610717565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156102ae57600080fd5b506001600160a01b03813516906020013561071c565b610242600480360360e08110156102da57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610770565b6101f66004803603602081101561032b57600080fd5b50356001600160a01b031661089a565b6102426108b5565b6102426004803603604081101561035957600080fd5b506001600160a01b038135169060200135610949565b6103776109a1565b604080516001600160a01b039092168252519081900360200190f35b6101da6109b0565b6101396109d6565b6101da600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610a37565b6101da600480360360408110156103e557600080fd5b506001600160a01b038135169060200135610aa5565b6102426004803603602081101561041157600080fd5b50356001600160a01b0316610ab9565b6101f66004803603604081101561043757600080fd5b506001600160a01b0381358116916020013516610bad565b6102426004803603602081101561046557600080fd5b50356001600160a01b0316610bd8565b6102426004803603606081101561048b57600080fd5b506001600160a01b03813581169160208101359091169060400135610c2e565b609b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b505050505090505b90565b600061055661054f610c88565b8484610c8c565b50600192915050565b60355490565b600054610100900460ff168061057e575061057e610d7e565b8061058c575060005460ff16155b6105ca57604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806112f1602e913960400191505060405180910390fd5b600054610100900460ff161580156105f5576000805460ff1961ff0019909116610100171660011790555b6105fe83610ab9565b604080516020808201889052825180830382018152918301909252805161062992609b92019061117f565b50604080516020808201879052825180830382018152918301909252805161065592609c92019061117f565b50609d80546001600160a01b0319166001600160a01b0384161790558015610683576000805461ff00191690555b5050505050565b6000610697848484610d84565b61070d846106a3610c88565b610708856040518060600160405280602881526020016112a9602891396001600160a01b038a166000908152603460205260408120906106e1610c88565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610ee816565b610c8c565b5060019392505050565b601290565b6000610556610729610c88565b84610708856034600061073a610c88565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f8216565b60408051602080820187905281830183905260066060830152600160d01b654c32746f4c31026080808401919091528351808403909101815260a0830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060c084015260dc8084018290528451808503909101815260fc8401808652815191840191909120609d54600090925261011c850180875281905260ff891661013c86015261015c850188905261017c850187905294519194936001600160a01b039091169260019261019c80840193601f198301929081900390910190855afa158015610867573d6000803e3d6000fd5b505050602060405103516001600160a01b03161461088457600080fd5b61088f898989610c8c565b505050505050505050565b6001600160a01b031660009081526033602052604090205490565b6108bd6109b0565b6108ff5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b6068546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606880546001600160a01b0319169055565b6109516109b0565b6109935760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b61099d8282610fe6565b5050565b6068546001600160a01b031690565b6068546000906001600160a01b03166109c7610c88565b6001600160a01b031614905090565b609c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b6000610556610a44610c88565b84610708856040518060600160405280602581526020016113686025913960346000610a6e610c88565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610ee816565b6000610556610ab2610c88565b8484610d84565b600054610100900460ff1680610ad25750610ad2610d7e565b80610ae0575060005460ff16155b610b1e57604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806112f1602e913960400191505060405180910390fd5b600054610100900460ff16158015610b49576000805460ff1961ff0019909116610100171660011790555b606880546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801561099d576000805461ff00191690555050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b610be06109b0565b610c225760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b610c2b816110db565b50565b610c366109b0565b610c785760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b610c83838383610d84565b505050565b3390565b6001600160a01b038316610cd457604051600160e51b62461bcd0281526004018080602001828103825260248152602001806113446024913960400191505060405180910390fd5b6001600160a01b038216610d1c57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806112616022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b303b1590565b6001600160a01b038316610dcc57604051600160e51b62461bcd02815260040180806020018281038252602581526020018061131f6025913960400191505060405180910390fd5b6001600160a01b038216610e1457604051600160e51b62461bcd0281526004018080602001828103825260238152602001806112186023913960400191505060405180910390fd5b610e5781604051806060016040528060268152602001611283602691396001600160a01b038616600090815260336020526040902054919063ffffffff610ee816565b6001600160a01b038085166000908152603360205260408082209390935590841681522054610e8c908263ffffffff610f8216565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610f7a57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f3f578181015183820152602001610f27565b50505050905090810190601f168015610f6c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610fdf5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166110445760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b603554611057908263ffffffff610f8216565b6035556001600160a01b038216600090815260336020526040902054611083908263ffffffff610f8216565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661112357604051600160e51b62461bcd02815260040180806020018281038252602681526020018061123b6026913960400191505060405180910390fd5b6068546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606880546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111c057805160ff19168380011785556111ed565b828001600101855582156111ed579182015b828111156111ed5782518255916020019190600101906111d2565b506111f99291506111fd565b5090565b61053f91905b808211156111f9576000815560010161120356fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a7230582020aeebc16691163872f5195b4b3ebd4aa4c14648705fc80759582ef4f863f3510029",
454
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806379c65068116100ad578063a9059cbb11610071578063a9059cbb146103cf578063c4d66de8146103fb578063dd62ed3e14610421578063f2fde38b1461044f578063f5537ede146104755761012c565b806379c65068146103435780638da5cb5b1461036f5780638f32d59b1461039357806395d89b411461039b578063a457c2d7146103a35761012c565b8063313ce567116100f4578063313ce5671461027a57806339509351146102985780635698e081146102c457806370a0823114610315578063715018a61461033b5761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee5780631f57365e1461020857806323b872dd14610244575b600080fd5b6101396104ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b038135169060200135610542565b604080519115158252519081900360200190f35b6101f661055f565b60408051918252519081900360200190f35b6102426004803603608081101561021e57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610565565b005b6101da6004803603606081101561025a57600080fd5b506001600160a01b0381358116916020810135909116906040013561068a565b610282610717565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156102ae57600080fd5b506001600160a01b03813516906020013561071c565b610242600480360360e08110156102da57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610770565b6101f66004803603602081101561032b57600080fd5b50356001600160a01b031661089a565b6102426108b5565b6102426004803603604081101561035957600080fd5b506001600160a01b038135169060200135610949565b6103776109a1565b604080516001600160a01b039092168252519081900360200190f35b6101da6109b0565b6101396109d6565b6101da600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610a37565b6101da600480360360408110156103e557600080fd5b506001600160a01b038135169060200135610aa5565b6102426004803603602081101561041157600080fd5b50356001600160a01b0316610ab9565b6101f66004803603604081101561043757600080fd5b506001600160a01b0381358116916020013516610bad565b6102426004803603602081101561046557600080fd5b50356001600160a01b0316610bd8565b6102426004803603606081101561048b57600080fd5b506001600160a01b03813581169160208101359091169060400135610c2e565b609b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b505050505090505b90565b600061055661054f610c88565b8484610c8c565b50600192915050565b60355490565b600054610100900460ff168061057e575061057e610d7e565b8061058c575060005460ff16155b6105ca57604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806112f1602e913960400191505060405180910390fd5b600054610100900460ff161580156105f5576000805460ff1961ff0019909116610100171660011790555b6105fe83610ab9565b604080516020808201889052825180830382018152918301909252805161062992609b92019061117f565b50604080516020808201879052825180830382018152918301909252805161065592609c92019061117f565b50609d80546001600160a01b0319166001600160a01b0384161790558015610683576000805461ff00191690555b5050505050565b6000610697848484610d84565b61070d846106a3610c88565b610708856040518060600160405280602881526020016112a9602891396001600160a01b038a166000908152603460205260408120906106e1610c88565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610ee816565b610c8c565b5060019392505050565b601290565b6000610556610729610c88565b84610708856034600061073a610c88565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610f8216565b60408051602080820187905281830183905260066060830152600160d01b654c32746f4c31026080808401919091528351808403909101815260a0830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060c084015260dc8084018290528451808503909101815260fc8401808652815191840191909120609d54600090925261011c850180875281905260ff891661013c86015261015c850188905261017c850187905294519194936001600160a01b039091169260019261019c80840193601f198301929081900390910190855afa158015610867573d6000803e3d6000fd5b505050602060405103516001600160a01b03161461088457600080fd5b61088f898989610c8c565b505050505050505050565b6001600160a01b031660009081526033602052604090205490565b6108bd6109b0565b6108ff5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b6068546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606880546001600160a01b0319169055565b6109516109b0565b6109935760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b61099d8282610fe6565b5050565b6068546001600160a01b031690565b6068546000906001600160a01b03166109c7610c88565b6001600160a01b031614905090565b609c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b6000610556610a44610c88565b84610708856040518060600160405280602581526020016113686025913960346000610a6e610c88565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610ee816565b6000610556610ab2610c88565b8484610d84565b600054610100900460ff1680610ad25750610ad2610d7e565b80610ae0575060005460ff16155b610b1e57604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806112f1602e913960400191505060405180910390fd5b600054610100900460ff16158015610b49576000805460ff1961ff0019909116610100171660011790555b606880546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801561099d576000805461ff00191690555050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b610be06109b0565b610c225760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b610c2b816110db565b50565b610c366109b0565b610c785760408051600160e51b62461bcd02815260206004820181905260248201526000805160206112d1833981519152604482015290519081900360640190fd5b610c83838383610d84565b505050565b3390565b6001600160a01b038316610cd457604051600160e51b62461bcd0281526004018080602001828103825260248152602001806113446024913960400191505060405180910390fd5b6001600160a01b038216610d1c57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806112616022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b303b1590565b6001600160a01b038316610dcc57604051600160e51b62461bcd02815260040180806020018281038252602581526020018061131f6025913960400191505060405180910390fd5b6001600160a01b038216610e1457604051600160e51b62461bcd0281526004018080602001828103825260238152602001806112186023913960400191505060405180910390fd5b610e5781604051806060016040528060268152602001611283602691396001600160a01b038616600090815260336020526040902054919063ffffffff610ee816565b6001600160a01b038085166000908152603360205260408082209390935590841681522054610e8c908263ffffffff610f8216565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610f7a57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f3f578181015183820152602001610f27565b50505050905090810190601f168015610f6c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610fdf5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166110445760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b603554611057908263ffffffff610f8216565b6035556001600160a01b038216600090815260336020526040902054611083908263ffffffff610f8216565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661112357604051600160e51b62461bcd02815260040180806020018281038252602681526020018061123b6026913960400191505060405180910390fd5b6068546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606880546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111c057805160ff19168380011785556111ed565b828001600101855582156111ed579182015b828111156111ed5782518255916020019190600101906111d2565b506111f99291506111fd565b5090565b61053f91905b808211156111f9576000815560010161120356fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a7230582020aeebc16691163872f5195b4b3ebd4aa4c14648705fc80759582ef4f863f3510029",
455
- "sourceMap": "340:2546:21:-;;;;;;;;;",
456
- "deployedSourceMap": "340:2546:21:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:2546:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1147:83;;;:::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;1147:83:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:149:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2577:149:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1636:89;;;:::i;:::-;;;;;;;;;;;;;;;;797:280:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;797:280:21;;;;;;;;-1:-1:-1;;;;;797:280:21;;;;;;;;;;;;:::i;:::-;;3184:300:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3184:300:3;;;;;;;;;;;;;;;;;:::i;2075:76:21:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3879:207:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3879:207:3;;;;;;;;:::i;2441:440:21:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;2441:440:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1783:108:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1783:108:3;-1:-1:-1;;;;;1783:108:3;;:::i;1746:137:2:-;;;:::i;2324:109:21:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2324:109:21;;;;;;;;:::i;959:77:2:-;;;:::i;:::-;;;;-1:-1:-1;;;;;959:77:2;;;;;;;;;;;;;;1310:92;;;:::i;1349:87:21:-;;;:::i;4573:258:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4573:258:3;;;;;;;;:::i;2094:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2094:155:3;;;;;;;;:::i;741:142:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;741:142:2;-1:-1:-1;;;;;741:142:2;;:::i;2307:132:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2307:132:3;;;;;;;;;;:::i;2032:107:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2032:107:2;-1:-1:-1;;;;;2032:107:2;;:::i;2159:157:21:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2159:157:21;;;;;;;;;;;;;;;;;:::i;1147:83::-;1217:5;1210:12;;;;;;;;-1:-1:-1;;1210:12:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1184:13;;1210:12;;1217:5;;1210:12;;1217:5;1210:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1147:83;;:::o;2577:149:3:-;2643:4;2659:39;2668:12;:10;:12::i;:::-;2682:7;2691:6;2659:8;:39::i;:::-;-1:-1:-1;2715:4:3;2577:149;;;;:::o;1636:89::-;1706:12;;1636:89;:::o;797:280:21:-;1024:12:5;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:5;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:5;;;;;1225:18;1213:4;1225:18;;;1170:80;912:26:21;931:6;912:18;:26::i;:::-;964:23;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;964:23:21;;;;;;949:39;;;;:5;;:39;;;:::i;:::-;-1:-1:-1;1016:25:21;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;1016:25:21;;;;;;999:43;;;;:7;;:43;;;:::i;:::-;-1:-1:-1;1053:6:21;:16;;-1:-1:-1;;;;;;1053:16:21;-1:-1:-1;;;;;1053:16:21;;;;;1264:55:5;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:5;;;1264:55;797:280:21;;;;;:::o;3184:300:3:-;3273:4;3289:36;3299:6;3307:9;3318:6;3289:9;:36::i;:::-;3335:121;3344:6;3352:12;:10;:12::i;:::-;3366:89;3404:6;3366:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3366:19:3;;;;;;:11;:19;;;;;;3386:12;:10;:12::i;:::-;-1:-1:-1;;;;;3366:33:3;;;;;;;;;;;;-1:-1:-1;3366:33:3;;;:89;;:37;:89;:::i;:::-;3335:8;:121::i;:::-;-1:-1:-1;3473:4:3;3184:300;;;;;:::o;2075:76:21:-;2141:2;2075:76;:::o;3879:207:3:-;3959:4;3975:83;3984:12;:10;:12::i;:::-;3998:7;4007:50;4046:10;4007:11;:25;4019:12;:10;:12::i;:::-;-1:-1:-1;;;;;4007:25:3;;;;;;;;;;;;;;;;;-1:-1:-1;4007:25:3;;;:34;;;;;;;;;;;:50;:38;:50;:::i;2441:440:21:-;2621:36;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2621:36:21;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2621:36:21;;;;;2611:47;;;;;;2701:65;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2701:65:21;;;;;;2691:76;;;;;;;;;2823:6;;2589:19;2786:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2611:47;;2691:76;-1:-1:-1;;;;;2823:6:21;;;;;;2786:34;;;;;-1:-1:-1;;2786:34:21;;;;;;;;;;;2823:6;2786:34;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2786:34:21;;;;;;;;-1:-1:-1;;;;;2786:43:21;;2778:52;;;;;;2841:32;2850:5;2857:7;2866:6;2841:8;:32::i;:::-;2441:440;;;;;;;;;:::o;1783:108:3:-;-1:-1:-1;;;;;1866:18:3;1840:7;1866:18;;;:9;:18;;;;;;;1783:108::o;1746:137:2:-;1163:9;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;1828:6;;1807:40;;1844:1;;-1:-1:-1;;;;;1828:6:2;;1807:40;;1844:1;;1807:40;1857:6;:19;;-1:-1:-1;;;;;;1857:19:2;;;1746:137::o;2324:109:21:-;1163:9:2;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;2404:21:21;2410:6;2418;2404:5;:21::i;:::-;2324:109;;:::o;959:77:2:-;1023:6;;-1:-1:-1;;;;;1023:6:2;959:77;:::o;1310:92::-;1389:6;;1350:4;;-1:-1:-1;;;;;1389:6:2;1373:12;:10;:12::i;:::-;-1:-1:-1;;;;;1373:22:2;;1366:29;;1310:92;:::o;1349:87:21:-;1421:7;1414:14;;;;;;;;-1:-1:-1;;1414:14:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1388:13;;1414:14;;1421:7;;1414:14;;1421:7;1414:14;;;;;;;;;;;;;;;;;;;;;;;;4573:258:3;4658:4;4674:129;4683:12;:10;:12::i;:::-;4697:7;4706:96;4745:15;4706:96;;;;;;;;;;;;;;;;;:11;:25;4718:12;:10;:12::i;:::-;-1:-1:-1;;;;;4706:25:3;;;;;;;;;;;;;;;;;-1:-1:-1;4706:25:3;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2094:155::-;2163:4;2179:42;2189:12;:10;:12::i;:::-;2203:9;2214:6;2179:9;:42::i;741:142:2:-;1024:12:5;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:5;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:5;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:2;:15;;-1:-1:-1;;;;;;806:15:2;-1:-1:-1;;;;;806:15:2;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:2;;-1:-1:-1;;836:40:2;1268:14:5;1264:55;;;1307:5;1292:20;;-1:-1:-1;;1292:20:5;;;741:142:2;;:::o;2307:132:3:-;-1:-1:-1;;;;;2405:18:3;;;2379:7;2405:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2307:132::o;2032:107:2:-;1163:9;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;2104:28;2123:8;2104:18;:28::i;:::-;2032:107;:::o;2159:157:21:-;1163:9:2;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;2267:41:21;2277:10;2289;2301:6;2267:9;:41::i;:::-;2159:157;;;:::o;867:96:0:-;946:10;867:96;:::o;7427:332:3:-;-1:-1:-1;;;;;7520:19:3;;7512:68;;;;-1:-1:-1;;;;;7512:68:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7598:21:3;;7590:68;;;;-1:-1:-1;;;;;7590:68:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7669:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7720:32;;;;;;;;;;;;;;;;;7427:332;;;:::o;1409:498:5:-;1820:4;1864:17;1895:7;1409:498;:::o;5305:464:3:-;-1:-1:-1;;;;;5402:20:3;;5394:70;;;;-1:-1:-1;;;;;5394:70:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5482:23:3;;5474:71;;;;-1:-1:-1;;;;;5474:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5576;5598:6;5576:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5576:17:3;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5556:17:3;;;;;;;:9;:17;;;;;;:91;;;;5680:20;;;;;;;:32;;5705:6;5680:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5657:20:3;;;;;;;:9;:20;;;;;;;;;:55;;;;5727:35;;;;;;;5657:20;;5727:35;;;;;;;;;;;;;5305:464;;;:::o;1732:187:1:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;;;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:1;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;938:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:1:o;6039:302:3:-;-1:-1:-1;;;;;6114:21:3;;6106:65;;;;;-1:-1:-1;;;;;6106:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6197:12;;:24;;6214:6;6197:24;:16;:24;:::i;:::-;6182:12;:39;-1:-1:-1;;;;;6252:18:3;;;;;;:9;:18;;;;;;:30;;6275:6;6252:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6231:18:3;;;;;;:9;:18;;;;;;;;:51;;;;6297:37;;;;;;;6231:18;;;;6297:37;;;;;;;;;;6039:302;;:::o;2240:225:2:-;-1:-1:-1;;;;;2313:22:2;;2305:73;;;;-1:-1:-1;;;;;2305:73:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:6;;2393:38;;-1:-1:-1;;;;;2393:38:2;;;;2414:6;;2393:38;;2414:6;;2393:38;2441:6;:17;;-1:-1:-1;;;;;;2441:17:2;-1:-1:-1;;;;;2441:17:2;;;;;;;;;;2240:225::o;340:2546:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;340:2546:21;;;-1:-1:-1;340:2546:21;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
457
- "source": "// Verified securities manager that updates holdings of securities by users\r\n// (c) Kallol Borah, 2021\r\n\r\npragma solidity 0.5.7;\r\n\r\nimport \"./interfaces/ISecurity.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol\";\r\n\r\ncontract Security is ISecurity, ERC20, Ownable {\r\n\r\n string private _name;\r\n string private _symbol;\r\n\r\n address private bridge;\r\n\r\n /**\r\n * @dev Sets the values for {name} and {symbol}.\r\n *\r\n * The default value of {decimals} is 18. To select a different value for\r\n * {decimals} you should overload it.\r\n *\r\n * All two of these values are immutable: they can only be set once during\r\n * construction.\r\n */\r\n function initialize(bytes32 name_, bytes32 symbol_, address _owner, address _bridge) public initializer {\r\n Ownable.initialize(_owner);\r\n _name = string(abi.encodePacked(name_));\r\n _symbol = string(abi.encodePacked(symbol_));\r\n bridge = _bridge;\r\n }\r\n\r\n /**\r\n * @dev Returns the name of the token.\r\n */\r\n function name() public view returns (string memory) {\r\n return _name;\r\n }\r\n\r\n /**\r\n * @dev Returns the symbol of the token, usually a shorter version of the\r\n * name.\r\n */\r\n function symbol() public view returns (string memory) {\r\n return _symbol;\r\n }\r\n\r\n /**\r\n * @dev Returns the number of decimals used to get its user representation.\r\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\r\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\r\n *\r\n * Tokens usually opt for a value of 18, imitating the relationship between\r\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\r\n * overridden;\r\n *\r\n * NOTE: This information is only used for _display_ purposes: it in\r\n * no way affects any of the arithmetic of the contract, including\r\n * {IERC20-balanceOf} and {IERC20-transfer}.\r\n */\r\n function decimals() public view returns (uint8) {\r\n return 18;\r\n }\r\n\r\n function transferToken(address transferor, address transferee, uint256 amount) onlyOwner external{\r\n _transfer(transferor, transferee, amount);\r\n }\r\n\r\n function mintToken(address issuer, uint256 amount) onlyOwner external{\r\n _mint(issuer, amount);\r\n }\r\n\r\n function approveToken(address owner, address spender, uint256 amount, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) external {\r\n bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n require(ecrecover(messageHash, _v, _r, _s)== bridge);\r\n _approve(owner, spender, amount);\r\n }\r\n\r\n}\r\n\r\n",
452
+ "metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"name_\",\"type\":\"bytes32\"},{\"name\":\"symbol_\",\"type\":\"bytes32\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"_hashedMessage\",\"type\":\"bytes32\"},{\"name\":\"_v\",\"type\":\"uint8\"},{\"name\":\"_r\",\"type\":\"bytes32\"},{\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"approveToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"issuer\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mintToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transferor\",\"type\":\"address\"},{\"name\":\"transferee\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation.\\r For example, if `decimals` equals `2`, a balance of `505` tokens should\\r be displayed to a user as `5.05` (`505 / 10 ** 2`).\\r * Tokens usually opt for a value of 18, imitating the relationship between\\r Ether and Wei. This is the value {ERC20} uses, unless this function is\\r overridden;\\r * NOTE: This information is only used for _display_ purposes: it in\\r no way affects any of the arithmetic of the contract, including\\r {IERC20-balanceOf} and {IERC20-transfer}.\\r\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"initialize(bytes32,bytes32,address,address)\":{\"details\":\"Sets the values for {name} and {symbol}.\\r * The default value of {decimals} is 18. To select a different value for\\r {decimals} you should overload it.\\r * All two of these values are immutable: they can only be set once during\\r construction.\\r\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"name()\":{\"details\":\"Returns the name of the token.\\r\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the\\r name.\\r\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Security.sol\":\"Security\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzzr://292843005e754e752644f767477ec5ad7a1ffc91ddb18c38b8079c62f3993cad\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x2a474399663812668bb8e9c9e7d011d54fd09de386bd6e9fcb2407a677ebd1aa\",\"urls\":[\"bzzr://3d70561b32ba1494d2b2df362e92dff5ab869d27e2fe35cf9bf3a8ae137cffd3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"project:/contracts/Security.sol\":{\"keccak256\":\"0x25128e50b3d02882253abb6acc1cb4e7c955b67ea907ee1ed11160e5b1a966bb\",\"urls\":[\"bzzr://5a5a8bc97718189abc356fc6abd49c91f9c47b2c0ede0ea403dd217100ab4177\"]},\"project:/contracts/interfaces/ISecurity.sol\":{\"keccak256\":\"0xaa250a7370257578a9ff416e18892d040ee77f726ab6d644ab6997c34c4b52e2\",\"urls\":[\"bzzr://81bc4c928be48c93109a7f58d7806b51e173c2c5940398925ec83c9e57de572e\"]}},\"version\":1}",
453
+ "bytecode": "0x60806040526112a2806100136000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379c65068116100ad578063a9059cbb11610071578063a9059cbb146103cf578063c4d66de8146103fb578063dd62ed3e14610421578063f2fde38b1461044f578063f5537ede146104755761012c565b806379c65068146103435780638da5cb5b1461036f5780638f32d59b1461039357806395d89b411461039b578063a457c2d7146103a35761012c565b8063313ce567116100f4578063313ce5671461027a57806339509351146102985780635698e081146102c457806370a0823114610315578063715018a61461033b5761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee5780631f57365e1461020857806323b872dd14610244575b600080fd5b6101396104ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b038135169060200135610542565b604080519115158252519081900360200190f35b6101f661055f565b60408051918252519081900360200190f35b6102426004803603608081101561021e57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610565565b005b6101da6004803603606081101561025a57600080fd5b506001600160a01b0381358116916020810135909116906040013561068a565b610282610717565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156102ae57600080fd5b506001600160a01b03813516906020013561071c565b610242600480360360e08110156102da57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610770565b6101f66004803603602081101561032b57600080fd5b50356001600160a01b0316610784565b61024261079f565b6102426004803603604081101561035957600080fd5b506001600160a01b038135169060200135610833565b61037761088b565b604080516001600160a01b039092168252519081900360200190f35b6101da61089a565b6101396108c0565b6101da600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610921565b6101da600480360360408110156103e557600080fd5b506001600160a01b03813516906020013561098f565b6102426004803603602081101561041157600080fd5b50356001600160a01b03166109a3565b6101f66004803603604081101561043757600080fd5b506001600160a01b0381358116916020013516610a97565b6102426004803603602081101561046557600080fd5b50356001600160a01b0316610ac2565b6102426004803603606081101561048b57600080fd5b506001600160a01b03813581169160208101359091169060400135610b18565b609b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b505050505090505b90565b600061055661054f610b72565b8484610b76565b50600192915050565b60355490565b600054610100900460ff168061057e575061057e610c68565b8061058c575060005460ff16155b6105ca57604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806111db602e913960400191505060405180910390fd5b600054610100900460ff161580156105f5576000805460ff1961ff0019909116610100171660011790555b6105fe836109a3565b604080516020808201889052825180830382018152918301909252805161062992609b920190611069565b50604080516020808201879052825180830382018152918301909252805161065592609c920190611069565b50609d80546001600160a01b0319166001600160a01b0384161790558015610683576000805461ff00191690555b5050505050565b6000610697848484610c6e565b61070d846106a3610b72565b61070885604051806060016040528060288152602001611193602891396001600160a01b038a166000908152603460205260408120906106e1610b72565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610dd216565b610b76565b5060019392505050565b601290565b6000610556610729610b72565b84610708856034600061073a610b72565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610e6c16565b61077b878787610b76565b50505050505050565b6001600160a01b031660009081526033602052604090205490565b6107a761089a565b6107e95760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b6068546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606880546001600160a01b0319169055565b61083b61089a565b61087d5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b6108878282610ed0565b5050565b6068546001600160a01b031690565b6068546000906001600160a01b03166108b1610b72565b6001600160a01b031614905090565b609c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b600061055661092e610b72565b84610708856040518060600160405280602581526020016112526025913960346000610958610b72565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610dd216565b600061055661099c610b72565b8484610c6e565b600054610100900460ff16806109bc57506109bc610c68565b806109ca575060005460ff16155b610a0857604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806111db602e913960400191505060405180910390fd5b600054610100900460ff16158015610a33576000805460ff1961ff0019909116610100171660011790555b606880546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610887576000805461ff00191690555050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b610aca61089a565b610b0c5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b610b1581610fc5565b50565b610b2061089a565b610b625760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b610b6d838383610c6e565b505050565b3390565b6001600160a01b038316610bbe57604051600160e51b62461bcd02815260040180806020018281038252602481526020018061122e6024913960400191505060405180910390fd5b6001600160a01b038216610c0657604051600160e51b62461bcd02815260040180806020018281038252602281526020018061114b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b303b1590565b6001600160a01b038316610cb657604051600160e51b62461bcd0281526004018080602001828103825260258152602001806112096025913960400191505060405180910390fd5b6001600160a01b038216610cfe57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806111026023913960400191505060405180910390fd5b610d418160405180606001604052806026815260200161116d602691396001600160a01b038616600090815260336020526040902054919063ffffffff610dd216565b6001600160a01b038085166000908152603360205260408082209390935590841681522054610d76908263ffffffff610e6c16565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e6457604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e29578181015183820152602001610e11565b50505050905090810190601f168015610e565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec95760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610f2e5760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b603554610f41908263ffffffff610e6c16565b6035556001600160a01b038216600090815260336020526040902054610f6d908263ffffffff610e6c16565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661100d57604051600160e51b62461bcd0281526004018080602001828103825260268152602001806111256026913960400191505060405180910390fd5b6068546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606880546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110aa57805160ff19168380011785556110d7565b828001600101855582156110d7579182015b828111156110d75782518255916020019190600101906110bc565b506110e39291506110e7565b5090565b61053f91905b808211156110e357600081556001016110ed56fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058203d8b7636b130af7076972e46f75838f9606cd69e634bce34b5fd055401d08b000029",
454
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806379c65068116100ad578063a9059cbb11610071578063a9059cbb146103cf578063c4d66de8146103fb578063dd62ed3e14610421578063f2fde38b1461044f578063f5537ede146104755761012c565b806379c65068146103435780638da5cb5b1461036f5780638f32d59b1461039357806395d89b411461039b578063a457c2d7146103a35761012c565b8063313ce567116100f4578063313ce5671461027a57806339509351146102985780635698e081146102c457806370a0823114610315578063715018a61461033b5761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee5780631f57365e1461020857806323b872dd14610244575b600080fd5b6101396104ab565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b038135169060200135610542565b604080519115158252519081900360200190f35b6101f661055f565b60408051918252519081900360200190f35b6102426004803603608081101561021e57600080fd5b508035906020810135906001600160a01b0360408201358116916060013516610565565b005b6101da6004803603606081101561025a57600080fd5b506001600160a01b0381358116916020810135909116906040013561068a565b610282610717565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156102ae57600080fd5b506001600160a01b03813516906020013561071c565b610242600480360360e08110156102da57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610770565b6101f66004803603602081101561032b57600080fd5b50356001600160a01b0316610784565b61024261079f565b6102426004803603604081101561035957600080fd5b506001600160a01b038135169060200135610833565b61037761088b565b604080516001600160a01b039092168252519081900360200190f35b6101da61089a565b6101396108c0565b6101da600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610921565b6101da600480360360408110156103e557600080fd5b506001600160a01b03813516906020013561098f565b6102426004803603602081101561041157600080fd5b50356001600160a01b03166109a3565b6101f66004803603604081101561043757600080fd5b506001600160a01b0381358116916020013516610a97565b6102426004803603602081101561046557600080fd5b50356001600160a01b0316610ac2565b6102426004803603606081101561048b57600080fd5b506001600160a01b03813581169160208101359091169060400135610b18565b609b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b505050505090505b90565b600061055661054f610b72565b8484610b76565b50600192915050565b60355490565b600054610100900460ff168061057e575061057e610c68565b8061058c575060005460ff16155b6105ca57604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806111db602e913960400191505060405180910390fd5b600054610100900460ff161580156105f5576000805460ff1961ff0019909116610100171660011790555b6105fe836109a3565b604080516020808201889052825180830382018152918301909252805161062992609b920190611069565b50604080516020808201879052825180830382018152918301909252805161065592609c920190611069565b50609d80546001600160a01b0319166001600160a01b0384161790558015610683576000805461ff00191690555b5050505050565b6000610697848484610c6e565b61070d846106a3610b72565b61070885604051806060016040528060288152602001611193602891396001600160a01b038a166000908152603460205260408120906106e1610b72565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610dd216565b610b76565b5060019392505050565b601290565b6000610556610729610b72565b84610708856034600061073a610b72565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610e6c16565b61077b878787610b76565b50505050505050565b6001600160a01b031660009081526033602052604090205490565b6107a761089a565b6107e95760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b6068546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606880546001600160a01b0319169055565b61083b61089a565b61087d5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b6108878282610ed0565b5050565b6068546001600160a01b031690565b6068546000906001600160a01b03166108b1610b72565b6001600160a01b031614905090565b609c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105375780601f1061050c57610100808354040283529160200191610537565b600061055661092e610b72565b84610708856040518060600160405280602581526020016112526025913960346000610958610b72565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610dd216565b600061055661099c610b72565b8484610c6e565b600054610100900460ff16806109bc57506109bc610c68565b806109ca575060005460ff16155b610a0857604051600160e51b62461bcd02815260040180806020018281038252602e8152602001806111db602e913960400191505060405180910390fd5b600054610100900460ff16158015610a33576000805460ff1961ff0019909116610100171660011790555b606880546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610887576000805461ff00191690555050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b610aca61089a565b610b0c5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b610b1581610fc5565b50565b610b2061089a565b610b625760408051600160e51b62461bcd02815260206004820181905260248201526000805160206111bb833981519152604482015290519081900360640190fd5b610b6d838383610c6e565b505050565b3390565b6001600160a01b038316610bbe57604051600160e51b62461bcd02815260040180806020018281038252602481526020018061122e6024913960400191505060405180910390fd5b6001600160a01b038216610c0657604051600160e51b62461bcd02815260040180806020018281038252602281526020018061114b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b303b1590565b6001600160a01b038316610cb657604051600160e51b62461bcd0281526004018080602001828103825260258152602001806112096025913960400191505060405180910390fd5b6001600160a01b038216610cfe57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806111026023913960400191505060405180910390fd5b610d418160405180606001604052806026815260200161116d602691396001600160a01b038616600090815260336020526040902054919063ffffffff610dd216565b6001600160a01b038085166000908152603360205260408082209390935590841681522054610d76908263ffffffff610e6c16565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e6457604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e29578181015183820152602001610e11565b50505050905090810190601f168015610e565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec95760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610f2e5760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b603554610f41908263ffffffff610e6c16565b6035556001600160a01b038216600090815260336020526040902054610f6d908263ffffffff610e6c16565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661100d57604051600160e51b62461bcd0281526004018080602001828103825260268152602001806111256026913960400191505060405180910390fd5b6068546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606880546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110aa57805160ff19168380011785556110d7565b828001600101855582156110d7579182015b828111156110d75782518255916020019190600101906110bc565b506110e39291506110e7565b5090565b61053f91905b808211156110e357600081556001016110ed56fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a723058203d8b7636b130af7076972e46f75838f9606cd69e634bce34b5fd055401d08b000029",
455
+ "sourceMap": "340:2552:21:-;;;;;;;;;",
456
+ "deployedSourceMap": "340:2552:21:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;340:2552:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1147:83;;;:::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;1147:83:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:149:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2577:149:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1636:89;;;:::i;:::-;;;;;;;;;;;;;;;;797:280:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;797:280:21;;;;;;;;-1:-1:-1;;;;;797:280:21;;;;;;;;;;;;:::i;:::-;;3184:300:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3184:300:3;;;;;;;;;;;;;;;;;:::i;2075:76:21:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3879:207:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3879:207:3;;;;;;;;:::i;2441:446:21:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;2441:446:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1783:108:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1783:108:3;-1:-1:-1;;;;;1783:108:3;;:::i;1746:137:2:-;;;:::i;2324:109:21:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2324:109:21;;;;;;;;:::i;959:77:2:-;;;:::i;:::-;;;;-1:-1:-1;;;;;959:77:2;;;;;;;;;;;;;;1310:92;;;:::i;1349:87:21:-;;;:::i;4573:258:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4573:258:3;;;;;;;;:::i;2094:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2094:155:3;;;;;;;;:::i;741:142:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;741:142:2;-1:-1:-1;;;;;741:142:2;;:::i;2307:132:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2307:132:3;;;;;;;;;;:::i;2032:107:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2032:107:2;-1:-1:-1;;;;;2032:107:2;;:::i;2159:157:21:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2159:157:21;;;;;;;;;;;;;;;;;:::i;1147:83::-;1217:5;1210:12;;;;;;;;-1:-1:-1;;1210:12:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1184:13;;1210:12;;1217:5;;1210:12;;1217:5;1210:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1147:83;;:::o;2577:149:3:-;2643:4;2659:39;2668:12;:10;:12::i;:::-;2682:7;2691:6;2659:8;:39::i;:::-;-1:-1:-1;2715:4:3;2577:149;;;;:::o;1636:89::-;1706:12;;1636:89;:::o;797:280:21:-;1024:12:5;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:5;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:5;;;;;1225:18;1213:4;1225:18;;;1170:80;912:26:21;931:6;912:18;:26::i;:::-;964:23;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;964:23:21;;;;;;949:39;;;;:5;;:39;;;:::i;:::-;-1:-1:-1;1016:25:21;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;1016:25:21;;;;;;999:43;;;;:7;;:43;;;:::i;:::-;-1:-1:-1;1053:6:21;:16;;-1:-1:-1;;;;;;1053:16:21;-1:-1:-1;;;;;1053:16:21;;;;;1264:55:5;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:5;;;1264:55;797:280:21;;;;;:::o;3184:300:3:-;3273:4;3289:36;3299:6;3307:9;3318:6;3289:9;:36::i;:::-;3335:121;3344:6;3352:12;:10;:12::i;:::-;3366:89;3404:6;3366:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3366:19:3;;;;;;:11;:19;;;;;;3386:12;:10;:12::i;:::-;-1:-1:-1;;;;;3366:33:3;;;;;;;;;;;;-1:-1:-1;3366:33:3;;;:89;;:37;:89;:::i;:::-;3335:8;:121::i;:::-;-1:-1:-1;3473:4:3;3184:300;;;;;:::o;2075:76:21:-;2141:2;2075:76;:::o;3879:207:3:-;3959:4;3975:83;3984:12;:10;:12::i;:::-;3998:7;4007:50;4046:10;4007:11;:25;4019:12;:10;:12::i;:::-;-1:-1:-1;;;;;4007:25:3;;;;;;;;;;;;;;;;;-1:-1:-1;4007:25:3;;;:34;;;;;;;;;;;:50;:38;:50;:::i;2441:446:21:-;2847:32;2856:5;2863:7;2872:6;2847:8;:32::i;:::-;2441:446;;;;;;;:::o;1783:108:3:-;-1:-1:-1;;;;;1866:18:3;1840:7;1866:18;;;:9;:18;;;;;;;1783:108::o;1746:137:2:-;1163:9;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;1828:6;;1807:40;;1844:1;;-1:-1:-1;;;;;1828:6:2;;1807:40;;1844:1;;1807:40;1857:6;:19;;-1:-1:-1;;;;;;1857:19:2;;;1746:137::o;2324:109:21:-;1163:9:2;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;2404:21:21;2410:6;2418;2404:5;:21::i;:::-;2324:109;;:::o;959:77:2:-;1023:6;;-1:-1:-1;;;;;1023:6:2;959:77;:::o;1310:92::-;1389:6;;1350:4;;-1:-1:-1;;;;;1389:6:2;1373:12;:10;:12::i;:::-;-1:-1:-1;;;;;1373:22:2;;1366:29;;1310:92;:::o;1349:87:21:-;1421:7;1414:14;;;;;;;;-1:-1:-1;;1414:14:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1388:13;;1414:14;;1421:7;;1414:14;;1421:7;1414:14;;;;;;;;;;;;;;;;;;;;;;;;4573:258:3;4658:4;4674:129;4683:12;:10;:12::i;:::-;4697:7;4706:96;4745:15;4706:96;;;;;;;;;;;;;;;;;:11;:25;4718:12;:10;:12::i;:::-;-1:-1:-1;;;;;4706:25:3;;;;;;;;;;;;;;;;;-1:-1:-1;4706:25:3;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2094:155::-;2163:4;2179:42;2189:12;:10;:12::i;:::-;2203:9;2214:6;2179:9;:42::i;741:142:2:-;1024:12:5;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:5;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:5;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:2;:15;;-1:-1:-1;;;;;;806:15:2;-1:-1:-1;;;;;806:15:2;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:2;;-1:-1:-1;;836:40:2;1268:14:5;1264:55;;;1307:5;1292:20;;-1:-1:-1;;1292:20:5;;;741:142:2;;:::o;2307:132:3:-;-1:-1:-1;;;;;2405:18:3;;;2379:7;2405:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2307:132::o;2032:107:2:-;1163:9;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;2104:28;2123:8;2104:18;:28::i;:::-;2032:107;:::o;2159:157:21:-;1163:9:2;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;;;1155:54:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1155:54:2;;;;;;;;;;;;;;;2267:41:21;2277:10;2289;2301:6;2267:9;:41::i;:::-;2159:157;;;:::o;867:96:0:-;946:10;867:96;:::o;7427:332:3:-;-1:-1:-1;;;;;7520:19:3;;7512:68;;;;-1:-1:-1;;;;;7512:68:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7598:21:3;;7590:68;;;;-1:-1:-1;;;;;7590:68:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7669:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7720:32;;;;;;;;;;;;;;;;;7427:332;;;:::o;1409:498:5:-;1820:4;1864:17;1895:7;1409:498;:::o;5305:464:3:-;-1:-1:-1;;;;;5402:20:3;;5394:70;;;;-1:-1:-1;;;;;5394:70:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5482:23:3;;5474:71;;;;-1:-1:-1;;;;;5474:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5576;5598:6;5576:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5576:17:3;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5556:17:3;;;;;;;:9;:17;;;;;;:91;;;;5680:20;;;;;;;:32;;5705:6;5680:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5657:20:3;;;;;;;:9;:20;;;;;;;;;:55;;;;5727:35;;;;;;;5657:20;;5727:35;;;;;;;;;;;;;5305:464;;;:::o;1732:187:1:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;;;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:1;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;938:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:1:o;6039:302:3:-;-1:-1:-1;;;;;6114:21:3;;6106:65;;;;;-1:-1:-1;;;;;6106:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6197:12;;:24;;6214:6;6197:24;:16;:24;:::i;:::-;6182:12;:39;-1:-1:-1;;;;;6252:18:3;;;;;;:9;:18;;;;;;:30;;6275:6;6252:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6231:18:3;;;;;;:9;:18;;;;;;;;:51;;;;6297:37;;;;;;;6231:18;;;;6297:37;;;;;;;;;;6039:302;;:::o;2240:225:2:-;-1:-1:-1;;;;;2313:22:2;;2305:73;;;;-1:-1:-1;;;;;2305:73:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:6;;2393:38;;-1:-1:-1;;;;;2393:38:2;;;;2414:6;;2393:38;;2414:6;;2393:38;2441:6;:17;;-1:-1:-1;;;;;;2441:17:2;-1:-1:-1;;;;;2441:17:2;;;;;;;;;;2240:225::o;340:2552:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;340:2552:21;;;-1:-1:-1;340:2552:21;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
457
+ "source": "// Verified securities manager that updates holdings of securities by users\r\n// (c) Kallol Borah, 2021\r\n\r\npragma solidity 0.5.7;\r\n\r\nimport \"./interfaces/ISecurity.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol\";\r\n\r\ncontract Security is ISecurity, ERC20, Ownable {\r\n\r\n string private _name;\r\n string private _symbol;\r\n\r\n address private bridge;\r\n\r\n /**\r\n * @dev Sets the values for {name} and {symbol}.\r\n *\r\n * The default value of {decimals} is 18. To select a different value for\r\n * {decimals} you should overload it.\r\n *\r\n * All two of these values are immutable: they can only be set once during\r\n * construction.\r\n */\r\n function initialize(bytes32 name_, bytes32 symbol_, address _owner, address _bridge) public initializer {\r\n Ownable.initialize(_owner);\r\n _name = string(abi.encodePacked(name_));\r\n _symbol = string(abi.encodePacked(symbol_));\r\n bridge = _bridge;\r\n }\r\n\r\n /**\r\n * @dev Returns the name of the token.\r\n */\r\n function name() public view returns (string memory) {\r\n return _name;\r\n }\r\n\r\n /**\r\n * @dev Returns the symbol of the token, usually a shorter version of the\r\n * name.\r\n */\r\n function symbol() public view returns (string memory) {\r\n return _symbol;\r\n }\r\n\r\n /**\r\n * @dev Returns the number of decimals used to get its user representation.\r\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\r\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\r\n *\r\n * Tokens usually opt for a value of 18, imitating the relationship between\r\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\r\n * overridden;\r\n *\r\n * NOTE: This information is only used for _display_ purposes: it in\r\n * no way affects any of the arithmetic of the contract, including\r\n * {IERC20-balanceOf} and {IERC20-transfer}.\r\n */\r\n function decimals() public view returns (uint8) {\r\n return 18;\r\n }\r\n\r\n function transferToken(address transferor, address transferee, uint256 amount) onlyOwner external{\r\n _transfer(transferor, transferee, amount);\r\n }\r\n\r\n function mintToken(address issuer, uint256 amount) onlyOwner external{\r\n _mint(issuer, amount);\r\n }\r\n\r\n function approveToken(address owner, address spender, uint256 amount, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) external {\r\n //bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n //bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n //require(ecrecover(messageHash, _v, _r, _s)== bridge);\r\n _approve(owner, spender, amount);\r\n }\r\n\r\n}\r\n\r\n",
458
458
  "sourcePath": "D:\\Code\\verified-payments-L1\\contracts\\Security.sol",
459
459
  "ast": {
460
460
  "absolutePath": "project:/contracts/Security.sol",
461
461
  "exportedSymbols": {
462
462
  "Security": [
463
- 10733
463
+ 10765
464
464
  ]
465
465
  },
466
- "id": 10734,
466
+ "id": 10766,
467
467
  "nodeType": "SourceUnit",
468
468
  "nodes": [
469
469
  {
470
- "id": 10563,
470
+ "id": 10626,
471
471
  "literals": [
472
472
  "solidity",
473
473
  "0.5",
@@ -479,10 +479,10 @@
479
479
  {
480
480
  "absolutePath": "project:/contracts/interfaces/ISecurity.sol",
481
481
  "file": "./interfaces/ISecurity.sol",
482
- "id": 10564,
482
+ "id": 10627,
483
483
  "nodeType": "ImportDirective",
484
- "scope": 10734,
485
- "sourceUnit": 11190,
484
+ "scope": 10766,
485
+ "sourceUnit": 11242,
486
486
  "src": "132:36:21",
487
487
  "symbolAliases": [],
488
488
  "unitAlias": ""
@@ -490,9 +490,9 @@
490
490
  {
491
491
  "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
492
492
  "file": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
493
- "id": 10565,
493
+ "id": 10628,
494
494
  "nodeType": "ImportDirective",
495
- "scope": 10734,
495
+ "scope": 10766,
496
496
  "sourceUnit": 341,
497
497
  "src": "170:82:21",
498
498
  "symbolAliases": [],
@@ -501,9 +501,9 @@
501
501
  {
502
502
  "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol",
503
503
  "file": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol",
504
- "id": 10566,
504
+ "id": 10629,
505
505
  "nodeType": "ImportDirective",
506
- "scope": 10734,
506
+ "scope": 10766,
507
507
  "sourceUnit": 753,
508
508
  "src": "254:82:21",
509
509
  "symbolAliases": [],
@@ -515,17 +515,17 @@
515
515
  "arguments": null,
516
516
  "baseName": {
517
517
  "contractScope": null,
518
- "id": 10567,
518
+ "id": 10630,
519
519
  "name": "ISecurity",
520
520
  "nodeType": "UserDefinedTypeName",
521
- "referencedDeclaration": 11189,
521
+ "referencedDeclaration": 11241,
522
522
  "src": "361:9:21",
523
523
  "typeDescriptions": {
524
- "typeIdentifier": "t_contract$_ISecurity_$11189",
524
+ "typeIdentifier": "t_contract$_ISecurity_$11241",
525
525
  "typeString": "contract ISecurity"
526
526
  }
527
527
  },
528
- "id": 10568,
528
+ "id": 10631,
529
529
  "nodeType": "InheritanceSpecifier",
530
530
  "src": "361:9:21"
531
531
  },
@@ -533,7 +533,7 @@
533
533
  "arguments": null,
534
534
  "baseName": {
535
535
  "contractScope": null,
536
- "id": 10569,
536
+ "id": 10632,
537
537
  "name": "ERC20",
538
538
  "nodeType": "UserDefinedTypeName",
539
539
  "referencedDeclaration": 752,
@@ -543,7 +543,7 @@
543
543
  "typeString": "contract ERC20"
544
544
  }
545
545
  },
546
- "id": 10570,
546
+ "id": 10633,
547
547
  "nodeType": "InheritanceSpecifier",
548
548
  "src": "372:5:21"
549
549
  },
@@ -551,7 +551,7 @@
551
551
  "arguments": null,
552
552
  "baseName": {
553
553
  "contractScope": null,
554
- "id": 10571,
554
+ "id": 10634,
555
555
  "name": "Ownable",
556
556
  "nodeType": "UserDefinedTypeName",
557
557
  "referencedDeclaration": 340,
@@ -561,7 +561,7 @@
561
561
  "typeString": "contract Ownable"
562
562
  }
563
563
  },
564
- "id": 10572,
564
+ "id": 10635,
565
565
  "nodeType": "InheritanceSpecifier",
566
566
  "src": "379:7:21"
567
567
  }
@@ -572,30 +572,30 @@
572
572
  752,
573
573
  821,
574
574
  890,
575
- 11189
575
+ 11241
576
576
  ],
577
577
  "contractKind": "contract",
578
578
  "documentation": null,
579
579
  "fullyImplemented": true,
580
- "id": 10733,
580
+ "id": 10765,
581
581
  "linearizedBaseContracts": [
582
- 10733,
582
+ 10765,
583
583
  340,
584
584
  752,
585
585
  821,
586
586
  29,
587
587
  890,
588
- 11189
588
+ 11241
589
589
  ],
590
590
  "name": "Security",
591
591
  "nodeType": "ContractDefinition",
592
592
  "nodes": [
593
593
  {
594
594
  "constant": false,
595
- "id": 10574,
595
+ "id": 10637,
596
596
  "name": "_name",
597
597
  "nodeType": "VariableDeclaration",
598
- "scope": 10733,
598
+ "scope": 10765,
599
599
  "src": "396:20:21",
600
600
  "stateVariable": true,
601
601
  "storageLocation": "default",
@@ -604,7 +604,7 @@
604
604
  "typeString": "string"
605
605
  },
606
606
  "typeName": {
607
- "id": 10573,
607
+ "id": 10636,
608
608
  "name": "string",
609
609
  "nodeType": "ElementaryTypeName",
610
610
  "src": "396:6:21",
@@ -618,10 +618,10 @@
618
618
  },
619
619
  {
620
620
  "constant": false,
621
- "id": 10576,
621
+ "id": 10639,
622
622
  "name": "_symbol",
623
623
  "nodeType": "VariableDeclaration",
624
- "scope": 10733,
624
+ "scope": 10765,
625
625
  "src": "423:22:21",
626
626
  "stateVariable": true,
627
627
  "storageLocation": "default",
@@ -630,7 +630,7 @@
630
630
  "typeString": "string"
631
631
  },
632
632
  "typeName": {
633
- "id": 10575,
633
+ "id": 10638,
634
634
  "name": "string",
635
635
  "nodeType": "ElementaryTypeName",
636
636
  "src": "423:6:21",
@@ -644,10 +644,10 @@
644
644
  },
645
645
  {
646
646
  "constant": false,
647
- "id": 10578,
647
+ "id": 10641,
648
648
  "name": "bridge",
649
649
  "nodeType": "VariableDeclaration",
650
- "scope": 10733,
650
+ "scope": 10765,
651
651
  "src": "454:22:21",
652
652
  "stateVariable": true,
653
653
  "storageLocation": "default",
@@ -656,7 +656,7 @@
656
656
  "typeString": "address"
657
657
  },
658
658
  "typeName": {
659
- "id": 10577,
659
+ "id": 10640,
660
660
  "name": "address",
661
661
  "nodeType": "ElementaryTypeName",
662
662
  "src": "454:7:21",
@@ -671,7 +671,7 @@
671
671
  },
672
672
  {
673
673
  "body": {
674
- "id": 10619,
674
+ "id": 10682,
675
675
  "nodeType": "Block",
676
676
  "src": "901:176:21",
677
677
  "statements": [
@@ -681,11 +681,11 @@
681
681
  "arguments": [
682
682
  {
683
683
  "argumentTypes": null,
684
- "id": 10594,
684
+ "id": 10657,
685
685
  "name": "_owner",
686
686
  "nodeType": "Identifier",
687
687
  "overloadedDeclarations": [],
688
- "referencedDeclaration": 10584,
688
+ "referencedDeclaration": 10647,
689
689
  "src": "931:6:21",
690
690
  "typeDescriptions": {
691
691
  "typeIdentifier": "t_address",
@@ -702,7 +702,7 @@
702
702
  ],
703
703
  "expression": {
704
704
  "argumentTypes": null,
705
- "id": 10591,
705
+ "id": 10654,
706
706
  "name": "Ownable",
707
707
  "nodeType": "Identifier",
708
708
  "overloadedDeclarations": [],
@@ -713,7 +713,7 @@
713
713
  "typeString": "type(contract Ownable)"
714
714
  }
715
715
  },
716
- "id": 10593,
716
+ "id": 10656,
717
717
  "isConstant": false,
718
718
  "isLValue": false,
719
719
  "isPure": false,
@@ -727,7 +727,7 @@
727
727
  "typeString": "function (address)"
728
728
  }
729
729
  },
730
- "id": 10595,
730
+ "id": 10658,
731
731
  "isConstant": false,
732
732
  "isLValue": false,
733
733
  "isPure": false,
@@ -741,25 +741,25 @@
741
741
  "typeString": "tuple()"
742
742
  }
743
743
  },
744
- "id": 10596,
744
+ "id": 10659,
745
745
  "nodeType": "ExpressionStatement",
746
746
  "src": "912:26:21"
747
747
  },
748
748
  {
749
749
  "expression": {
750
750
  "argumentTypes": null,
751
- "id": 10604,
751
+ "id": 10667,
752
752
  "isConstant": false,
753
753
  "isLValue": false,
754
754
  "isPure": false,
755
755
  "lValueRequested": false,
756
756
  "leftHandSide": {
757
757
  "argumentTypes": null,
758
- "id": 10597,
758
+ "id": 10660,
759
759
  "name": "_name",
760
760
  "nodeType": "Identifier",
761
761
  "overloadedDeclarations": [],
762
- "referencedDeclaration": 10574,
762
+ "referencedDeclaration": 10637,
763
763
  "src": "949:5:21",
764
764
  "typeDescriptions": {
765
765
  "typeIdentifier": "t_string_storage",
@@ -776,11 +776,11 @@
776
776
  "arguments": [
777
777
  {
778
778
  "argumentTypes": null,
779
- "id": 10601,
779
+ "id": 10664,
780
780
  "name": "name_",
781
781
  "nodeType": "Identifier",
782
782
  "overloadedDeclarations": [],
783
- "referencedDeclaration": 10580,
783
+ "referencedDeclaration": 10643,
784
784
  "src": "981:5:21",
785
785
  "typeDescriptions": {
786
786
  "typeIdentifier": "t_bytes32",
@@ -797,18 +797,18 @@
797
797
  ],
798
798
  "expression": {
799
799
  "argumentTypes": null,
800
- "id": 10599,
800
+ "id": 10662,
801
801
  "name": "abi",
802
802
  "nodeType": "Identifier",
803
803
  "overloadedDeclarations": [],
804
- "referencedDeclaration": 11526,
804
+ "referencedDeclaration": 11578,
805
805
  "src": "964:3:21",
806
806
  "typeDescriptions": {
807
807
  "typeIdentifier": "t_magic_abi",
808
808
  "typeString": "abi"
809
809
  }
810
810
  },
811
- "id": 10600,
811
+ "id": 10663,
812
812
  "isConstant": false,
813
813
  "isLValue": false,
814
814
  "isPure": true,
@@ -822,7 +822,7 @@
822
822
  "typeString": "function () pure returns (bytes memory)"
823
823
  }
824
824
  },
825
- "id": 10602,
825
+ "id": 10665,
826
826
  "isConstant": false,
827
827
  "isLValue": false,
828
828
  "isPure": false,
@@ -844,7 +844,7 @@
844
844
  "typeString": "bytes memory"
845
845
  }
846
846
  ],
847
- "id": 10598,
847
+ "id": 10661,
848
848
  "isConstant": false,
849
849
  "isLValue": false,
850
850
  "isPure": true,
@@ -857,7 +857,7 @@
857
857
  },
858
858
  "typeName": "string"
859
859
  },
860
- "id": 10603,
860
+ "id": 10666,
861
861
  "isConstant": false,
862
862
  "isLValue": false,
863
863
  "isPure": false,
@@ -877,25 +877,25 @@
877
877
  "typeString": "string storage ref"
878
878
  }
879
879
  },
880
- "id": 10605,
880
+ "id": 10668,
881
881
  "nodeType": "ExpressionStatement",
882
882
  "src": "949:39:21"
883
883
  },
884
884
  {
885
885
  "expression": {
886
886
  "argumentTypes": null,
887
- "id": 10613,
887
+ "id": 10676,
888
888
  "isConstant": false,
889
889
  "isLValue": false,
890
890
  "isPure": false,
891
891
  "lValueRequested": false,
892
892
  "leftHandSide": {
893
893
  "argumentTypes": null,
894
- "id": 10606,
894
+ "id": 10669,
895
895
  "name": "_symbol",
896
896
  "nodeType": "Identifier",
897
897
  "overloadedDeclarations": [],
898
- "referencedDeclaration": 10576,
898
+ "referencedDeclaration": 10639,
899
899
  "src": "999:7:21",
900
900
  "typeDescriptions": {
901
901
  "typeIdentifier": "t_string_storage",
@@ -912,11 +912,11 @@
912
912
  "arguments": [
913
913
  {
914
914
  "argumentTypes": null,
915
- "id": 10610,
915
+ "id": 10673,
916
916
  "name": "symbol_",
917
917
  "nodeType": "Identifier",
918
918
  "overloadedDeclarations": [],
919
- "referencedDeclaration": 10582,
919
+ "referencedDeclaration": 10645,
920
920
  "src": "1033:7:21",
921
921
  "typeDescriptions": {
922
922
  "typeIdentifier": "t_bytes32",
@@ -933,18 +933,18 @@
933
933
  ],
934
934
  "expression": {
935
935
  "argumentTypes": null,
936
- "id": 10608,
936
+ "id": 10671,
937
937
  "name": "abi",
938
938
  "nodeType": "Identifier",
939
939
  "overloadedDeclarations": [],
940
- "referencedDeclaration": 11526,
940
+ "referencedDeclaration": 11578,
941
941
  "src": "1016:3:21",
942
942
  "typeDescriptions": {
943
943
  "typeIdentifier": "t_magic_abi",
944
944
  "typeString": "abi"
945
945
  }
946
946
  },
947
- "id": 10609,
947
+ "id": 10672,
948
948
  "isConstant": false,
949
949
  "isLValue": false,
950
950
  "isPure": true,
@@ -958,7 +958,7 @@
958
958
  "typeString": "function () pure returns (bytes memory)"
959
959
  }
960
960
  },
961
- "id": 10611,
961
+ "id": 10674,
962
962
  "isConstant": false,
963
963
  "isLValue": false,
964
964
  "isPure": false,
@@ -980,7 +980,7 @@
980
980
  "typeString": "bytes memory"
981
981
  }
982
982
  ],
983
- "id": 10607,
983
+ "id": 10670,
984
984
  "isConstant": false,
985
985
  "isLValue": false,
986
986
  "isPure": true,
@@ -993,7 +993,7 @@
993
993
  },
994
994
  "typeName": "string"
995
995
  },
996
- "id": 10612,
996
+ "id": 10675,
997
997
  "isConstant": false,
998
998
  "isLValue": false,
999
999
  "isPure": false,
@@ -1013,25 +1013,25 @@
1013
1013
  "typeString": "string storage ref"
1014
1014
  }
1015
1015
  },
1016
- "id": 10614,
1016
+ "id": 10677,
1017
1017
  "nodeType": "ExpressionStatement",
1018
1018
  "src": "999:43:21"
1019
1019
  },
1020
1020
  {
1021
1021
  "expression": {
1022
1022
  "argumentTypes": null,
1023
- "id": 10617,
1023
+ "id": 10680,
1024
1024
  "isConstant": false,
1025
1025
  "isLValue": false,
1026
1026
  "isPure": false,
1027
1027
  "lValueRequested": false,
1028
1028
  "leftHandSide": {
1029
1029
  "argumentTypes": null,
1030
- "id": 10615,
1030
+ "id": 10678,
1031
1031
  "name": "bridge",
1032
1032
  "nodeType": "Identifier",
1033
1033
  "overloadedDeclarations": [],
1034
- "referencedDeclaration": 10578,
1034
+ "referencedDeclaration": 10641,
1035
1035
  "src": "1053:6:21",
1036
1036
  "typeDescriptions": {
1037
1037
  "typeIdentifier": "t_address",
@@ -1042,11 +1042,11 @@
1042
1042
  "operator": "=",
1043
1043
  "rightHandSide": {
1044
1044
  "argumentTypes": null,
1045
- "id": 10616,
1045
+ "id": 10679,
1046
1046
  "name": "_bridge",
1047
1047
  "nodeType": "Identifier",
1048
1048
  "overloadedDeclarations": [],
1049
- "referencedDeclaration": 10586,
1049
+ "referencedDeclaration": 10649,
1050
1050
  "src": "1062:7:21",
1051
1051
  "typeDescriptions": {
1052
1052
  "typeIdentifier": "t_address",
@@ -1059,23 +1059,23 @@
1059
1059
  "typeString": "address"
1060
1060
  }
1061
1061
  },
1062
- "id": 10618,
1062
+ "id": 10681,
1063
1063
  "nodeType": "ExpressionStatement",
1064
1064
  "src": "1053:16:21"
1065
1065
  }
1066
1066
  ]
1067
1067
  },
1068
1068
  "documentation": "@dev Sets the values for {name} and {symbol}.\r\n\n * The default value of {decimals} is 18. To select a different value for\r\n{decimals} you should overload it.\r\n\n * All two of these values are immutable: they can only be set once during\r\nconstruction.\r",
1069
- "id": 10620,
1069
+ "id": 10683,
1070
1070
  "implemented": true,
1071
1071
  "kind": "function",
1072
1072
  "modifiers": [
1073
1073
  {
1074
1074
  "arguments": null,
1075
- "id": 10589,
1075
+ "id": 10652,
1076
1076
  "modifierName": {
1077
1077
  "argumentTypes": null,
1078
- "id": 10588,
1078
+ "id": 10651,
1079
1079
  "name": "initializer",
1080
1080
  "nodeType": "Identifier",
1081
1081
  "overloadedDeclarations": [],
@@ -1093,15 +1093,15 @@
1093
1093
  "name": "initialize",
1094
1094
  "nodeType": "FunctionDefinition",
1095
1095
  "parameters": {
1096
- "id": 10587,
1096
+ "id": 10650,
1097
1097
  "nodeType": "ParameterList",
1098
1098
  "parameters": [
1099
1099
  {
1100
1100
  "constant": false,
1101
- "id": 10580,
1101
+ "id": 10643,
1102
1102
  "name": "name_",
1103
1103
  "nodeType": "VariableDeclaration",
1104
- "scope": 10620,
1104
+ "scope": 10683,
1105
1105
  "src": "817:13:21",
1106
1106
  "stateVariable": false,
1107
1107
  "storageLocation": "default",
@@ -1110,7 +1110,7 @@
1110
1110
  "typeString": "bytes32"
1111
1111
  },
1112
1112
  "typeName": {
1113
- "id": 10579,
1113
+ "id": 10642,
1114
1114
  "name": "bytes32",
1115
1115
  "nodeType": "ElementaryTypeName",
1116
1116
  "src": "817:7:21",
@@ -1124,10 +1124,10 @@
1124
1124
  },
1125
1125
  {
1126
1126
  "constant": false,
1127
- "id": 10582,
1127
+ "id": 10645,
1128
1128
  "name": "symbol_",
1129
1129
  "nodeType": "VariableDeclaration",
1130
- "scope": 10620,
1130
+ "scope": 10683,
1131
1131
  "src": "832:15:21",
1132
1132
  "stateVariable": false,
1133
1133
  "storageLocation": "default",
@@ -1136,7 +1136,7 @@
1136
1136
  "typeString": "bytes32"
1137
1137
  },
1138
1138
  "typeName": {
1139
- "id": 10581,
1139
+ "id": 10644,
1140
1140
  "name": "bytes32",
1141
1141
  "nodeType": "ElementaryTypeName",
1142
1142
  "src": "832:7:21",
@@ -1150,10 +1150,10 @@
1150
1150
  },
1151
1151
  {
1152
1152
  "constant": false,
1153
- "id": 10584,
1153
+ "id": 10647,
1154
1154
  "name": "_owner",
1155
1155
  "nodeType": "VariableDeclaration",
1156
- "scope": 10620,
1156
+ "scope": 10683,
1157
1157
  "src": "849:14:21",
1158
1158
  "stateVariable": false,
1159
1159
  "storageLocation": "default",
@@ -1162,7 +1162,7 @@
1162
1162
  "typeString": "address"
1163
1163
  },
1164
1164
  "typeName": {
1165
- "id": 10583,
1165
+ "id": 10646,
1166
1166
  "name": "address",
1167
1167
  "nodeType": "ElementaryTypeName",
1168
1168
  "src": "849:7:21",
@@ -1177,10 +1177,10 @@
1177
1177
  },
1178
1178
  {
1179
1179
  "constant": false,
1180
- "id": 10586,
1180
+ "id": 10649,
1181
1181
  "name": "_bridge",
1182
1182
  "nodeType": "VariableDeclaration",
1183
- "scope": 10620,
1183
+ "scope": 10683,
1184
1184
  "src": "865:15:21",
1185
1185
  "stateVariable": false,
1186
1186
  "storageLocation": "default",
@@ -1189,7 +1189,7 @@
1189
1189
  "typeString": "address"
1190
1190
  },
1191
1191
  "typeName": {
1192
- "id": 10585,
1192
+ "id": 10648,
1193
1193
  "name": "address",
1194
1194
  "nodeType": "ElementaryTypeName",
1195
1195
  "src": "865:7:21",
@@ -1206,12 +1206,12 @@
1206
1206
  "src": "816:65:21"
1207
1207
  },
1208
1208
  "returnParameters": {
1209
- "id": 10590,
1209
+ "id": 10653,
1210
1210
  "nodeType": "ParameterList",
1211
1211
  "parameters": [],
1212
1212
  "src": "901:0:21"
1213
1213
  },
1214
- "scope": 10733,
1214
+ "scope": 10765,
1215
1215
  "src": "797:280:21",
1216
1216
  "stateMutability": "nonpayable",
1217
1217
  "superFunction": null,
@@ -1219,54 +1219,54 @@
1219
1219
  },
1220
1220
  {
1221
1221
  "body": {
1222
- "id": 10627,
1222
+ "id": 10690,
1223
1223
  "nodeType": "Block",
1224
1224
  "src": "1199:31:21",
1225
1225
  "statements": [
1226
1226
  {
1227
1227
  "expression": {
1228
1228
  "argumentTypes": null,
1229
- "id": 10625,
1229
+ "id": 10688,
1230
1230
  "name": "_name",
1231
1231
  "nodeType": "Identifier",
1232
1232
  "overloadedDeclarations": [],
1233
- "referencedDeclaration": 10574,
1233
+ "referencedDeclaration": 10637,
1234
1234
  "src": "1217:5:21",
1235
1235
  "typeDescriptions": {
1236
1236
  "typeIdentifier": "t_string_storage",
1237
1237
  "typeString": "string storage ref"
1238
1238
  }
1239
1239
  },
1240
- "functionReturnParameters": 10624,
1241
- "id": 10626,
1240
+ "functionReturnParameters": 10687,
1241
+ "id": 10689,
1242
1242
  "nodeType": "Return",
1243
1243
  "src": "1210:12:21"
1244
1244
  }
1245
1245
  ]
1246
1246
  },
1247
1247
  "documentation": "@dev Returns the name of the token.\r",
1248
- "id": 10628,
1248
+ "id": 10691,
1249
1249
  "implemented": true,
1250
1250
  "kind": "function",
1251
1251
  "modifiers": [],
1252
1252
  "name": "name",
1253
1253
  "nodeType": "FunctionDefinition",
1254
1254
  "parameters": {
1255
- "id": 10621,
1255
+ "id": 10684,
1256
1256
  "nodeType": "ParameterList",
1257
1257
  "parameters": [],
1258
1258
  "src": "1160:2:21"
1259
1259
  },
1260
1260
  "returnParameters": {
1261
- "id": 10624,
1261
+ "id": 10687,
1262
1262
  "nodeType": "ParameterList",
1263
1263
  "parameters": [
1264
1264
  {
1265
1265
  "constant": false,
1266
- "id": 10623,
1266
+ "id": 10686,
1267
1267
  "name": "",
1268
1268
  "nodeType": "VariableDeclaration",
1269
- "scope": 10628,
1269
+ "scope": 10691,
1270
1270
  "src": "1184:13:21",
1271
1271
  "stateVariable": false,
1272
1272
  "storageLocation": "memory",
@@ -1275,7 +1275,7 @@
1275
1275
  "typeString": "string"
1276
1276
  },
1277
1277
  "typeName": {
1278
- "id": 10622,
1278
+ "id": 10685,
1279
1279
  "name": "string",
1280
1280
  "nodeType": "ElementaryTypeName",
1281
1281
  "src": "1184:6:21",
@@ -1290,7 +1290,7 @@
1290
1290
  ],
1291
1291
  "src": "1183:15:21"
1292
1292
  },
1293
- "scope": 10733,
1293
+ "scope": 10765,
1294
1294
  "src": "1147:83:21",
1295
1295
  "stateMutability": "view",
1296
1296
  "superFunction": null,
@@ -1298,54 +1298,54 @@
1298
1298
  },
1299
1299
  {
1300
1300
  "body": {
1301
- "id": 10635,
1301
+ "id": 10698,
1302
1302
  "nodeType": "Block",
1303
1303
  "src": "1403:33:21",
1304
1304
  "statements": [
1305
1305
  {
1306
1306
  "expression": {
1307
1307
  "argumentTypes": null,
1308
- "id": 10633,
1308
+ "id": 10696,
1309
1309
  "name": "_symbol",
1310
1310
  "nodeType": "Identifier",
1311
1311
  "overloadedDeclarations": [],
1312
- "referencedDeclaration": 10576,
1312
+ "referencedDeclaration": 10639,
1313
1313
  "src": "1421:7:21",
1314
1314
  "typeDescriptions": {
1315
1315
  "typeIdentifier": "t_string_storage",
1316
1316
  "typeString": "string storage ref"
1317
1317
  }
1318
1318
  },
1319
- "functionReturnParameters": 10632,
1320
- "id": 10634,
1319
+ "functionReturnParameters": 10695,
1320
+ "id": 10697,
1321
1321
  "nodeType": "Return",
1322
1322
  "src": "1414:14:21"
1323
1323
  }
1324
1324
  ]
1325
1325
  },
1326
1326
  "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\r\nname.\r",
1327
- "id": 10636,
1327
+ "id": 10699,
1328
1328
  "implemented": true,
1329
1329
  "kind": "function",
1330
1330
  "modifiers": [],
1331
1331
  "name": "symbol",
1332
1332
  "nodeType": "FunctionDefinition",
1333
1333
  "parameters": {
1334
- "id": 10629,
1334
+ "id": 10692,
1335
1335
  "nodeType": "ParameterList",
1336
1336
  "parameters": [],
1337
1337
  "src": "1364:2:21"
1338
1338
  },
1339
1339
  "returnParameters": {
1340
- "id": 10632,
1340
+ "id": 10695,
1341
1341
  "nodeType": "ParameterList",
1342
1342
  "parameters": [
1343
1343
  {
1344
1344
  "constant": false,
1345
- "id": 10631,
1345
+ "id": 10694,
1346
1346
  "name": "",
1347
1347
  "nodeType": "VariableDeclaration",
1348
- "scope": 10636,
1348
+ "scope": 10699,
1349
1349
  "src": "1388:13:21",
1350
1350
  "stateVariable": false,
1351
1351
  "storageLocation": "memory",
@@ -1354,7 +1354,7 @@
1354
1354
  "typeString": "string"
1355
1355
  },
1356
1356
  "typeName": {
1357
- "id": 10630,
1357
+ "id": 10693,
1358
1358
  "name": "string",
1359
1359
  "nodeType": "ElementaryTypeName",
1360
1360
  "src": "1388:6:21",
@@ -1369,7 +1369,7 @@
1369
1369
  ],
1370
1370
  "src": "1387:15:21"
1371
1371
  },
1372
- "scope": 10733,
1372
+ "scope": 10765,
1373
1373
  "src": "1349:87:21",
1374
1374
  "stateMutability": "view",
1375
1375
  "superFunction": null,
@@ -1377,7 +1377,7 @@
1377
1377
  },
1378
1378
  {
1379
1379
  "body": {
1380
- "id": 10643,
1380
+ "id": 10706,
1381
1381
  "nodeType": "Block",
1382
1382
  "src": "2123:28:21",
1383
1383
  "statements": [
@@ -1385,7 +1385,7 @@
1385
1385
  "expression": {
1386
1386
  "argumentTypes": null,
1387
1387
  "hexValue": "3138",
1388
- "id": 10641,
1388
+ "id": 10704,
1389
1389
  "isConstant": false,
1390
1390
  "isLValue": false,
1391
1391
  "isPure": true,
@@ -1400,36 +1400,36 @@
1400
1400
  },
1401
1401
  "value": "18"
1402
1402
  },
1403
- "functionReturnParameters": 10640,
1404
- "id": 10642,
1403
+ "functionReturnParameters": 10703,
1404
+ "id": 10705,
1405
1405
  "nodeType": "Return",
1406
1406
  "src": "2134:9:21"
1407
1407
  }
1408
1408
  ]
1409
1409
  },
1410
1410
  "documentation": "@dev Returns the number of decimals used to get its user representation.\r\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\r\nbe displayed to a user as `5.05` (`505 / 10 ** 2`).\r\n\n * Tokens usually opt for a value of 18, imitating the relationship between\r\nEther and Wei. This is the value {ERC20} uses, unless this function is\r\noverridden;\r\n\n * NOTE: This information is only used for _display_ purposes: it in\r\nno way affects any of the arithmetic of the contract, including\r\n{IERC20-balanceOf} and {IERC20-transfer}.\r",
1411
- "id": 10644,
1411
+ "id": 10707,
1412
1412
  "implemented": true,
1413
1413
  "kind": "function",
1414
1414
  "modifiers": [],
1415
1415
  "name": "decimals",
1416
1416
  "nodeType": "FunctionDefinition",
1417
1417
  "parameters": {
1418
- "id": 10637,
1418
+ "id": 10700,
1419
1419
  "nodeType": "ParameterList",
1420
1420
  "parameters": [],
1421
1421
  "src": "2092:2:21"
1422
1422
  },
1423
1423
  "returnParameters": {
1424
- "id": 10640,
1424
+ "id": 10703,
1425
1425
  "nodeType": "ParameterList",
1426
1426
  "parameters": [
1427
1427
  {
1428
1428
  "constant": false,
1429
- "id": 10639,
1429
+ "id": 10702,
1430
1430
  "name": "",
1431
1431
  "nodeType": "VariableDeclaration",
1432
- "scope": 10644,
1432
+ "scope": 10707,
1433
1433
  "src": "2116:5:21",
1434
1434
  "stateVariable": false,
1435
1435
  "storageLocation": "default",
@@ -1438,7 +1438,7 @@
1438
1438
  "typeString": "uint8"
1439
1439
  },
1440
1440
  "typeName": {
1441
- "id": 10638,
1441
+ "id": 10701,
1442
1442
  "name": "uint8",
1443
1443
  "nodeType": "ElementaryTypeName",
1444
1444
  "src": "2116:5:21",
@@ -1453,7 +1453,7 @@
1453
1453
  ],
1454
1454
  "src": "2115:7:21"
1455
1455
  },
1456
- "scope": 10733,
1456
+ "scope": 10765,
1457
1457
  "src": "2075:76:21",
1458
1458
  "stateMutability": "view",
1459
1459
  "superFunction": null,
@@ -1461,7 +1461,7 @@
1461
1461
  },
1462
1462
  {
1463
1463
  "body": {
1464
- "id": 10661,
1464
+ "id": 10724,
1465
1465
  "nodeType": "Block",
1466
1466
  "src": "2256:60:21",
1467
1467
  "statements": [
@@ -1471,11 +1471,11 @@
1471
1471
  "arguments": [
1472
1472
  {
1473
1473
  "argumentTypes": null,
1474
- "id": 10656,
1474
+ "id": 10719,
1475
1475
  "name": "transferor",
1476
1476
  "nodeType": "Identifier",
1477
1477
  "overloadedDeclarations": [],
1478
- "referencedDeclaration": 10646,
1478
+ "referencedDeclaration": 10709,
1479
1479
  "src": "2277:10:21",
1480
1480
  "typeDescriptions": {
1481
1481
  "typeIdentifier": "t_address",
@@ -1484,11 +1484,11 @@
1484
1484
  },
1485
1485
  {
1486
1486
  "argumentTypes": null,
1487
- "id": 10657,
1487
+ "id": 10720,
1488
1488
  "name": "transferee",
1489
1489
  "nodeType": "Identifier",
1490
1490
  "overloadedDeclarations": [],
1491
- "referencedDeclaration": 10648,
1491
+ "referencedDeclaration": 10711,
1492
1492
  "src": "2289:10:21",
1493
1493
  "typeDescriptions": {
1494
1494
  "typeIdentifier": "t_address",
@@ -1497,11 +1497,11 @@
1497
1497
  },
1498
1498
  {
1499
1499
  "argumentTypes": null,
1500
- "id": 10658,
1500
+ "id": 10721,
1501
1501
  "name": "amount",
1502
1502
  "nodeType": "Identifier",
1503
1503
  "overloadedDeclarations": [],
1504
- "referencedDeclaration": 10650,
1504
+ "referencedDeclaration": 10713,
1505
1505
  "src": "2301:6:21",
1506
1506
  "typeDescriptions": {
1507
1507
  "typeIdentifier": "t_uint256",
@@ -1524,7 +1524,7 @@
1524
1524
  "typeString": "uint256"
1525
1525
  }
1526
1526
  ],
1527
- "id": 10655,
1527
+ "id": 10718,
1528
1528
  "name": "_transfer",
1529
1529
  "nodeType": "Identifier",
1530
1530
  "overloadedDeclarations": [],
@@ -1535,7 +1535,7 @@
1535
1535
  "typeString": "function (address,address,uint256)"
1536
1536
  }
1537
1537
  },
1538
- "id": 10659,
1538
+ "id": 10722,
1539
1539
  "isConstant": false,
1540
1540
  "isLValue": false,
1541
1541
  "isPure": false,
@@ -1549,23 +1549,23 @@
1549
1549
  "typeString": "tuple()"
1550
1550
  }
1551
1551
  },
1552
- "id": 10660,
1552
+ "id": 10723,
1553
1553
  "nodeType": "ExpressionStatement",
1554
1554
  "src": "2267:41:21"
1555
1555
  }
1556
1556
  ]
1557
1557
  },
1558
1558
  "documentation": null,
1559
- "id": 10662,
1559
+ "id": 10725,
1560
1560
  "implemented": true,
1561
1561
  "kind": "function",
1562
1562
  "modifiers": [
1563
1563
  {
1564
1564
  "arguments": null,
1565
- "id": 10653,
1565
+ "id": 10716,
1566
1566
  "modifierName": {
1567
1567
  "argumentTypes": null,
1568
- "id": 10652,
1568
+ "id": 10715,
1569
1569
  "name": "onlyOwner",
1570
1570
  "nodeType": "Identifier",
1571
1571
  "overloadedDeclarations": [],
@@ -1583,15 +1583,15 @@
1583
1583
  "name": "transferToken",
1584
1584
  "nodeType": "FunctionDefinition",
1585
1585
  "parameters": {
1586
- "id": 10651,
1586
+ "id": 10714,
1587
1587
  "nodeType": "ParameterList",
1588
1588
  "parameters": [
1589
1589
  {
1590
1590
  "constant": false,
1591
- "id": 10646,
1591
+ "id": 10709,
1592
1592
  "name": "transferor",
1593
1593
  "nodeType": "VariableDeclaration",
1594
- "scope": 10662,
1594
+ "scope": 10725,
1595
1595
  "src": "2182:18:21",
1596
1596
  "stateVariable": false,
1597
1597
  "storageLocation": "default",
@@ -1600,7 +1600,7 @@
1600
1600
  "typeString": "address"
1601
1601
  },
1602
1602
  "typeName": {
1603
- "id": 10645,
1603
+ "id": 10708,
1604
1604
  "name": "address",
1605
1605
  "nodeType": "ElementaryTypeName",
1606
1606
  "src": "2182:7:21",
@@ -1615,10 +1615,10 @@
1615
1615
  },
1616
1616
  {
1617
1617
  "constant": false,
1618
- "id": 10648,
1618
+ "id": 10711,
1619
1619
  "name": "transferee",
1620
1620
  "nodeType": "VariableDeclaration",
1621
- "scope": 10662,
1621
+ "scope": 10725,
1622
1622
  "src": "2202:18:21",
1623
1623
  "stateVariable": false,
1624
1624
  "storageLocation": "default",
@@ -1627,7 +1627,7 @@
1627
1627
  "typeString": "address"
1628
1628
  },
1629
1629
  "typeName": {
1630
- "id": 10647,
1630
+ "id": 10710,
1631
1631
  "name": "address",
1632
1632
  "nodeType": "ElementaryTypeName",
1633
1633
  "src": "2202:7:21",
@@ -1642,10 +1642,10 @@
1642
1642
  },
1643
1643
  {
1644
1644
  "constant": false,
1645
- "id": 10650,
1645
+ "id": 10713,
1646
1646
  "name": "amount",
1647
1647
  "nodeType": "VariableDeclaration",
1648
- "scope": 10662,
1648
+ "scope": 10725,
1649
1649
  "src": "2222:14:21",
1650
1650
  "stateVariable": false,
1651
1651
  "storageLocation": "default",
@@ -1654,7 +1654,7 @@
1654
1654
  "typeString": "uint256"
1655
1655
  },
1656
1656
  "typeName": {
1657
- "id": 10649,
1657
+ "id": 10712,
1658
1658
  "name": "uint256",
1659
1659
  "nodeType": "ElementaryTypeName",
1660
1660
  "src": "2222:7:21",
@@ -1670,20 +1670,20 @@
1670
1670
  "src": "2181:56:21"
1671
1671
  },
1672
1672
  "returnParameters": {
1673
- "id": 10654,
1673
+ "id": 10717,
1674
1674
  "nodeType": "ParameterList",
1675
1675
  "parameters": [],
1676
1676
  "src": "2256:0:21"
1677
1677
  },
1678
- "scope": 10733,
1678
+ "scope": 10765,
1679
1679
  "src": "2159:157:21",
1680
1680
  "stateMutability": "nonpayable",
1681
- "superFunction": 11164,
1681
+ "superFunction": 11216,
1682
1682
  "visibility": "external"
1683
1683
  },
1684
1684
  {
1685
1685
  "body": {
1686
- "id": 10676,
1686
+ "id": 10739,
1687
1687
  "nodeType": "Block",
1688
1688
  "src": "2393:40:21",
1689
1689
  "statements": [
@@ -1693,11 +1693,11 @@
1693
1693
  "arguments": [
1694
1694
  {
1695
1695
  "argumentTypes": null,
1696
- "id": 10672,
1696
+ "id": 10735,
1697
1697
  "name": "issuer",
1698
1698
  "nodeType": "Identifier",
1699
1699
  "overloadedDeclarations": [],
1700
- "referencedDeclaration": 10664,
1700
+ "referencedDeclaration": 10727,
1701
1701
  "src": "2410:6:21",
1702
1702
  "typeDescriptions": {
1703
1703
  "typeIdentifier": "t_address",
@@ -1706,11 +1706,11 @@
1706
1706
  },
1707
1707
  {
1708
1708
  "argumentTypes": null,
1709
- "id": 10673,
1709
+ "id": 10736,
1710
1710
  "name": "amount",
1711
1711
  "nodeType": "Identifier",
1712
1712
  "overloadedDeclarations": [],
1713
- "referencedDeclaration": 10666,
1713
+ "referencedDeclaration": 10729,
1714
1714
  "src": "2418:6:21",
1715
1715
  "typeDescriptions": {
1716
1716
  "typeIdentifier": "t_uint256",
@@ -1729,7 +1729,7 @@
1729
1729
  "typeString": "uint256"
1730
1730
  }
1731
1731
  ],
1732
- "id": 10671,
1732
+ "id": 10734,
1733
1733
  "name": "_mint",
1734
1734
  "nodeType": "Identifier",
1735
1735
  "overloadedDeclarations": [],
@@ -1740,7 +1740,7 @@
1740
1740
  "typeString": "function (address,uint256)"
1741
1741
  }
1742
1742
  },
1743
- "id": 10674,
1743
+ "id": 10737,
1744
1744
  "isConstant": false,
1745
1745
  "isLValue": false,
1746
1746
  "isPure": false,
@@ -1754,23 +1754,23 @@
1754
1754
  "typeString": "tuple()"
1755
1755
  }
1756
1756
  },
1757
- "id": 10675,
1757
+ "id": 10738,
1758
1758
  "nodeType": "ExpressionStatement",
1759
1759
  "src": "2404:21:21"
1760
1760
  }
1761
1761
  ]
1762
1762
  },
1763
1763
  "documentation": null,
1764
- "id": 10677,
1764
+ "id": 10740,
1765
1765
  "implemented": true,
1766
1766
  "kind": "function",
1767
1767
  "modifiers": [
1768
1768
  {
1769
1769
  "arguments": null,
1770
- "id": 10669,
1770
+ "id": 10732,
1771
1771
  "modifierName": {
1772
1772
  "argumentTypes": null,
1773
- "id": 10668,
1773
+ "id": 10731,
1774
1774
  "name": "onlyOwner",
1775
1775
  "nodeType": "Identifier",
1776
1776
  "overloadedDeclarations": [],
@@ -1788,15 +1788,15 @@
1788
1788
  "name": "mintToken",
1789
1789
  "nodeType": "FunctionDefinition",
1790
1790
  "parameters": {
1791
- "id": 10667,
1791
+ "id": 10730,
1792
1792
  "nodeType": "ParameterList",
1793
1793
  "parameters": [
1794
1794
  {
1795
1795
  "constant": false,
1796
- "id": 10664,
1796
+ "id": 10727,
1797
1797
  "name": "issuer",
1798
1798
  "nodeType": "VariableDeclaration",
1799
- "scope": 10677,
1799
+ "scope": 10740,
1800
1800
  "src": "2343:14:21",
1801
1801
  "stateVariable": false,
1802
1802
  "storageLocation": "default",
@@ -1805,7 +1805,7 @@
1805
1805
  "typeString": "address"
1806
1806
  },
1807
1807
  "typeName": {
1808
- "id": 10663,
1808
+ "id": 10726,
1809
1809
  "name": "address",
1810
1810
  "nodeType": "ElementaryTypeName",
1811
1811
  "src": "2343:7:21",
@@ -1820,10 +1820,10 @@
1820
1820
  },
1821
1821
  {
1822
1822
  "constant": false,
1823
- "id": 10666,
1823
+ "id": 10729,
1824
1824
  "name": "amount",
1825
1825
  "nodeType": "VariableDeclaration",
1826
- "scope": 10677,
1826
+ "scope": 10740,
1827
1827
  "src": "2359:14:21",
1828
1828
  "stateVariable": false,
1829
1829
  "storageLocation": "default",
@@ -1832,7 +1832,7 @@
1832
1832
  "typeString": "uint256"
1833
1833
  },
1834
1834
  "typeName": {
1835
- "id": 10665,
1835
+ "id": 10728,
1836
1836
  "name": "uint256",
1837
1837
  "nodeType": "ElementaryTypeName",
1838
1838
  "src": "2359:7:21",
@@ -1848,325 +1848,94 @@
1848
1848
  "src": "2342:32:21"
1849
1849
  },
1850
1850
  "returnParameters": {
1851
- "id": 10670,
1851
+ "id": 10733,
1852
1852
  "nodeType": "ParameterList",
1853
1853
  "parameters": [],
1854
1854
  "src": "2393:0:21"
1855
1855
  },
1856
- "scope": 10733,
1856
+ "scope": 10765,
1857
1857
  "src": "2324:109:21",
1858
1858
  "stateMutability": "nonpayable",
1859
- "superFunction": 11171,
1859
+ "superFunction": 11223,
1860
1860
  "visibility": "external"
1861
1861
  },
1862
1862
  {
1863
1863
  "body": {
1864
- "id": 10731,
1864
+ "id": 10763,
1865
1865
  "nodeType": "Block",
1866
- "src": "2578:303:21",
1866
+ "src": "2578:309:21",
1867
1867
  "statements": [
1868
1868
  {
1869
- "assignments": [
1870
- 10695
1871
- ],
1872
- "declarations": [
1873
- {
1874
- "constant": false,
1875
- "id": 10695,
1876
- "name": "payloadHash",
1877
- "nodeType": "VariableDeclaration",
1878
- "scope": 10731,
1879
- "src": "2589:19:21",
1880
- "stateVariable": false,
1881
- "storageLocation": "default",
1882
- "typeDescriptions": {
1883
- "typeIdentifier": "t_bytes32",
1884
- "typeString": "bytes32"
1885
- },
1886
- "typeName": {
1887
- "id": 10694,
1888
- "name": "bytes32",
1889
- "nodeType": "ElementaryTypeName",
1890
- "src": "2589:7:21",
1891
- "typeDescriptions": {
1892
- "typeIdentifier": "t_bytes32",
1893
- "typeString": "bytes32"
1894
- }
1895
- },
1896
- "value": null,
1897
- "visibility": "internal"
1898
- }
1899
- ],
1900
- "id": 10703,
1901
- "initialValue": {
1869
+ "expression": {
1902
1870
  "argumentTypes": null,
1903
1871
  "arguments": [
1904
1872
  {
1905
1873
  "argumentTypes": null,
1906
- "arguments": [
1907
- {
1908
- "argumentTypes": null,
1909
- "id": 10699,
1910
- "name": "_hashedMessage",
1911
- "nodeType": "Identifier",
1912
- "overloadedDeclarations": [],
1913
- "referencedDeclaration": 10685,
1914
- "src": "2632:14:21",
1915
- "typeDescriptions": {
1916
- "typeIdentifier": "t_bytes32",
1917
- "typeString": "bytes32"
1918
- }
1919
- },
1920
- {
1921
- "argumentTypes": null,
1922
- "hexValue": "4c32746f4c31",
1923
- "id": 10700,
1924
- "isConstant": false,
1925
- "isLValue": false,
1926
- "isPure": true,
1927
- "kind": "string",
1928
- "lValueRequested": false,
1929
- "nodeType": "Literal",
1930
- "src": "2648:8:21",
1931
- "subdenomination": null,
1932
- "typeDescriptions": {
1933
- "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
1934
- "typeString": "literal_string \"L2toL1\""
1935
- },
1936
- "value": "L2toL1"
1937
- }
1938
- ],
1939
- "expression": {
1940
- "argumentTypes": [
1941
- {
1942
- "typeIdentifier": "t_bytes32",
1943
- "typeString": "bytes32"
1944
- },
1945
- {
1946
- "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
1947
- "typeString": "literal_string \"L2toL1\""
1948
- }
1949
- ],
1950
- "expression": {
1951
- "argumentTypes": null,
1952
- "id": 10697,
1953
- "name": "abi",
1954
- "nodeType": "Identifier",
1955
- "overloadedDeclarations": [],
1956
- "referencedDeclaration": 11526,
1957
- "src": "2621:3:21",
1958
- "typeDescriptions": {
1959
- "typeIdentifier": "t_magic_abi",
1960
- "typeString": "abi"
1961
- }
1962
- },
1963
- "id": 10698,
1964
- "isConstant": false,
1965
- "isLValue": false,
1966
- "isPure": true,
1967
- "lValueRequested": false,
1968
- "memberName": "encode",
1969
- "nodeType": "MemberAccess",
1970
- "referencedDeclaration": null,
1971
- "src": "2621:10:21",
1972
- "typeDescriptions": {
1973
- "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
1974
- "typeString": "function () pure returns (bytes memory)"
1975
- }
1976
- },
1977
- "id": 10701,
1978
- "isConstant": false,
1979
- "isLValue": false,
1980
- "isPure": false,
1981
- "kind": "functionCall",
1982
- "lValueRequested": false,
1983
- "names": [],
1984
- "nodeType": "FunctionCall",
1985
- "src": "2621:36:21",
1874
+ "id": 10758,
1875
+ "name": "owner",
1876
+ "nodeType": "Identifier",
1877
+ "overloadedDeclarations": [],
1878
+ "referencedDeclaration": 10742,
1879
+ "src": "2856:5:21",
1986
1880
  "typeDescriptions": {
1987
- "typeIdentifier": "t_bytes_memory_ptr",
1988
- "typeString": "bytes memory"
1989
- }
1990
- }
1991
- ],
1992
- "expression": {
1993
- "argumentTypes": [
1994
- {
1995
- "typeIdentifier": "t_bytes_memory_ptr",
1996
- "typeString": "bytes memory"
1881
+ "typeIdentifier": "t_address",
1882
+ "typeString": "address"
1997
1883
  }
1998
- ],
1999
- "id": 10696,
2000
- "name": "keccak256",
2001
- "nodeType": "Identifier",
2002
- "overloadedDeclarations": [],
2003
- "referencedDeclaration": 11533,
2004
- "src": "2611:9:21",
2005
- "typeDescriptions": {
2006
- "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
2007
- "typeString": "function (bytes memory) pure returns (bytes32)"
2008
- }
2009
- },
2010
- "id": 10702,
2011
- "isConstant": false,
2012
- "isLValue": false,
2013
- "isPure": false,
2014
- "kind": "functionCall",
2015
- "lValueRequested": false,
2016
- "names": [],
2017
- "nodeType": "FunctionCall",
2018
- "src": "2611:47:21",
2019
- "typeDescriptions": {
2020
- "typeIdentifier": "t_bytes32",
2021
- "typeString": "bytes32"
2022
- }
2023
- },
2024
- "nodeType": "VariableDeclarationStatement",
2025
- "src": "2589:69:21"
2026
- },
2027
- {
2028
- "assignments": [
2029
- 10705
2030
- ],
2031
- "declarations": [
2032
- {
2033
- "constant": false,
2034
- "id": 10705,
2035
- "name": "messageHash",
2036
- "nodeType": "VariableDeclaration",
2037
- "scope": 10731,
2038
- "src": "2669:19:21",
2039
- "stateVariable": false,
2040
- "storageLocation": "default",
2041
- "typeDescriptions": {
2042
- "typeIdentifier": "t_bytes32",
2043
- "typeString": "bytes32"
2044
1884
  },
2045
- "typeName": {
2046
- "id": 10704,
2047
- "name": "bytes32",
2048
- "nodeType": "ElementaryTypeName",
2049
- "src": "2669:7:21",
1885
+ {
1886
+ "argumentTypes": null,
1887
+ "id": 10759,
1888
+ "name": "spender",
1889
+ "nodeType": "Identifier",
1890
+ "overloadedDeclarations": [],
1891
+ "referencedDeclaration": 10744,
1892
+ "src": "2863:7:21",
2050
1893
  "typeDescriptions": {
2051
- "typeIdentifier": "t_bytes32",
2052
- "typeString": "bytes32"
1894
+ "typeIdentifier": "t_address",
1895
+ "typeString": "address"
2053
1896
  }
2054
1897
  },
2055
- "value": null,
2056
- "visibility": "internal"
2057
- }
2058
- ],
2059
- "id": 10713,
2060
- "initialValue": {
2061
- "argumentTypes": null,
2062
- "arguments": [
2063
1898
  {
2064
1899
  "argumentTypes": null,
2065
- "arguments": [
2066
- {
2067
- "argumentTypes": null,
2068
- "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
2069
- "id": 10709,
2070
- "isConstant": false,
2071
- "isLValue": false,
2072
- "isPure": true,
2073
- "kind": "string",
2074
- "lValueRequested": false,
2075
- "nodeType": "Literal",
2076
- "src": "2718:34:21",
2077
- "subdenomination": null,
2078
- "typeDescriptions": {
2079
- "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
2080
- "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
2081
- },
2082
- "value": "\u0019Ethereum Signed Message:\n32"
2083
- },
2084
- {
2085
- "argumentTypes": null,
2086
- "id": 10710,
2087
- "name": "payloadHash",
2088
- "nodeType": "Identifier",
2089
- "overloadedDeclarations": [],
2090
- "referencedDeclaration": 10695,
2091
- "src": "2754:11:21",
2092
- "typeDescriptions": {
2093
- "typeIdentifier": "t_bytes32",
2094
- "typeString": "bytes32"
2095
- }
2096
- }
2097
- ],
2098
- "expression": {
2099
- "argumentTypes": [
2100
- {
2101
- "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
2102
- "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
2103
- },
2104
- {
2105
- "typeIdentifier": "t_bytes32",
2106
- "typeString": "bytes32"
2107
- }
2108
- ],
2109
- "expression": {
2110
- "argumentTypes": null,
2111
- "id": 10707,
2112
- "name": "abi",
2113
- "nodeType": "Identifier",
2114
- "overloadedDeclarations": [],
2115
- "referencedDeclaration": 11526,
2116
- "src": "2701:3:21",
2117
- "typeDescriptions": {
2118
- "typeIdentifier": "t_magic_abi",
2119
- "typeString": "abi"
2120
- }
2121
- },
2122
- "id": 10708,
2123
- "isConstant": false,
2124
- "isLValue": false,
2125
- "isPure": true,
2126
- "lValueRequested": false,
2127
- "memberName": "encodePacked",
2128
- "nodeType": "MemberAccess",
2129
- "referencedDeclaration": null,
2130
- "src": "2701:16:21",
2131
- "typeDescriptions": {
2132
- "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
2133
- "typeString": "function () pure returns (bytes memory)"
2134
- }
2135
- },
2136
- "id": 10711,
2137
- "isConstant": false,
2138
- "isLValue": false,
2139
- "isPure": false,
2140
- "kind": "functionCall",
2141
- "lValueRequested": false,
2142
- "names": [],
2143
- "nodeType": "FunctionCall",
2144
- "src": "2701:65:21",
1900
+ "id": 10760,
1901
+ "name": "amount",
1902
+ "nodeType": "Identifier",
1903
+ "overloadedDeclarations": [],
1904
+ "referencedDeclaration": 10746,
1905
+ "src": "2872:6:21",
2145
1906
  "typeDescriptions": {
2146
- "typeIdentifier": "t_bytes_memory_ptr",
2147
- "typeString": "bytes memory"
1907
+ "typeIdentifier": "t_uint256",
1908
+ "typeString": "uint256"
2148
1909
  }
2149
1910
  }
2150
1911
  ],
2151
1912
  "expression": {
2152
1913
  "argumentTypes": [
2153
1914
  {
2154
- "typeIdentifier": "t_bytes_memory_ptr",
2155
- "typeString": "bytes memory"
1915
+ "typeIdentifier": "t_address",
1916
+ "typeString": "address"
1917
+ },
1918
+ {
1919
+ "typeIdentifier": "t_address",
1920
+ "typeString": "address"
1921
+ },
1922
+ {
1923
+ "typeIdentifier": "t_uint256",
1924
+ "typeString": "uint256"
2156
1925
  }
2157
1926
  ],
2158
- "id": 10706,
2159
- "name": "keccak256",
1927
+ "id": 10757,
1928
+ "name": "_approve",
2160
1929
  "nodeType": "Identifier",
2161
1930
  "overloadedDeclarations": [],
2162
- "referencedDeclaration": 11533,
2163
- "src": "2691:9:21",
1931
+ "referencedDeclaration": 718,
1932
+ "src": "2847:8:21",
2164
1933
  "typeDescriptions": {
2165
- "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
2166
- "typeString": "function (bytes memory) pure returns (bytes32)"
1934
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
1935
+ "typeString": "function (address,address,uint256)"
2167
1936
  }
2168
1937
  },
2169
- "id": 10712,
1938
+ "id": 10761,
2170
1939
  "isConstant": false,
2171
1940
  "isLValue": false,
2172
1941
  "isPure": false,
@@ -2174,325 +1943,62 @@
2174
1943
  "lValueRequested": false,
2175
1944
  "names": [],
2176
1945
  "nodeType": "FunctionCall",
2177
- "src": "2691:76:21",
1946
+ "src": "2847:32:21",
2178
1947
  "typeDescriptions": {
2179
- "typeIdentifier": "t_bytes32",
2180
- "typeString": "bytes32"
1948
+ "typeIdentifier": "t_tuple$__$",
1949
+ "typeString": "tuple()"
1950
+ }
1951
+ },
1952
+ "id": 10762,
1953
+ "nodeType": "ExpressionStatement",
1954
+ "src": "2847:32:21"
1955
+ }
1956
+ ]
1957
+ },
1958
+ "documentation": null,
1959
+ "id": 10764,
1960
+ "implemented": true,
1961
+ "kind": "function",
1962
+ "modifiers": [],
1963
+ "name": "approveToken",
1964
+ "nodeType": "FunctionDefinition",
1965
+ "parameters": {
1966
+ "id": 10755,
1967
+ "nodeType": "ParameterList",
1968
+ "parameters": [
1969
+ {
1970
+ "constant": false,
1971
+ "id": 10742,
1972
+ "name": "owner",
1973
+ "nodeType": "VariableDeclaration",
1974
+ "scope": 10764,
1975
+ "src": "2463:13:21",
1976
+ "stateVariable": false,
1977
+ "storageLocation": "default",
1978
+ "typeDescriptions": {
1979
+ "typeIdentifier": "t_address",
1980
+ "typeString": "address"
1981
+ },
1982
+ "typeName": {
1983
+ "id": 10741,
1984
+ "name": "address",
1985
+ "nodeType": "ElementaryTypeName",
1986
+ "src": "2463:7:21",
1987
+ "stateMutability": "nonpayable",
1988
+ "typeDescriptions": {
1989
+ "typeIdentifier": "t_address",
1990
+ "typeString": "address"
2181
1991
  }
2182
1992
  },
2183
- "nodeType": "VariableDeclarationStatement",
2184
- "src": "2669:98:21"
2185
- },
2186
- {
2187
- "expression": {
2188
- "argumentTypes": null,
2189
- "arguments": [
2190
- {
2191
- "argumentTypes": null,
2192
- "commonType": {
2193
- "typeIdentifier": "t_address",
2194
- "typeString": "address"
2195
- },
2196
- "id": 10722,
2197
- "isConstant": false,
2198
- "isLValue": false,
2199
- "isPure": false,
2200
- "lValueRequested": false,
2201
- "leftExpression": {
2202
- "argumentTypes": null,
2203
- "arguments": [
2204
- {
2205
- "argumentTypes": null,
2206
- "id": 10716,
2207
- "name": "messageHash",
2208
- "nodeType": "Identifier",
2209
- "overloadedDeclarations": [],
2210
- "referencedDeclaration": 10705,
2211
- "src": "2796:11:21",
2212
- "typeDescriptions": {
2213
- "typeIdentifier": "t_bytes32",
2214
- "typeString": "bytes32"
2215
- }
2216
- },
2217
- {
2218
- "argumentTypes": null,
2219
- "id": 10717,
2220
- "name": "_v",
2221
- "nodeType": "Identifier",
2222
- "overloadedDeclarations": [],
2223
- "referencedDeclaration": 10687,
2224
- "src": "2809:2:21",
2225
- "typeDescriptions": {
2226
- "typeIdentifier": "t_uint8",
2227
- "typeString": "uint8"
2228
- }
2229
- },
2230
- {
2231
- "argumentTypes": null,
2232
- "id": 10718,
2233
- "name": "_r",
2234
- "nodeType": "Identifier",
2235
- "overloadedDeclarations": [],
2236
- "referencedDeclaration": 10689,
2237
- "src": "2813:2:21",
2238
- "typeDescriptions": {
2239
- "typeIdentifier": "t_bytes32",
2240
- "typeString": "bytes32"
2241
- }
2242
- },
2243
- {
2244
- "argumentTypes": null,
2245
- "id": 10719,
2246
- "name": "_s",
2247
- "nodeType": "Identifier",
2248
- "overloadedDeclarations": [],
2249
- "referencedDeclaration": 10691,
2250
- "src": "2817:2:21",
2251
- "typeDescriptions": {
2252
- "typeIdentifier": "t_bytes32",
2253
- "typeString": "bytes32"
2254
- }
2255
- }
2256
- ],
2257
- "expression": {
2258
- "argumentTypes": [
2259
- {
2260
- "typeIdentifier": "t_bytes32",
2261
- "typeString": "bytes32"
2262
- },
2263
- {
2264
- "typeIdentifier": "t_uint8",
2265
- "typeString": "uint8"
2266
- },
2267
- {
2268
- "typeIdentifier": "t_bytes32",
2269
- "typeString": "bytes32"
2270
- },
2271
- {
2272
- "typeIdentifier": "t_bytes32",
2273
- "typeString": "bytes32"
2274
- }
2275
- ],
2276
- "id": 10715,
2277
- "name": "ecrecover",
2278
- "nodeType": "Identifier",
2279
- "overloadedDeclarations": [],
2280
- "referencedDeclaration": 11531,
2281
- "src": "2786:9:21",
2282
- "typeDescriptions": {
2283
- "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
2284
- "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
2285
- }
2286
- },
2287
- "id": 10720,
2288
- "isConstant": false,
2289
- "isLValue": false,
2290
- "isPure": false,
2291
- "kind": "functionCall",
2292
- "lValueRequested": false,
2293
- "names": [],
2294
- "nodeType": "FunctionCall",
2295
- "src": "2786:34:21",
2296
- "typeDescriptions": {
2297
- "typeIdentifier": "t_address",
2298
- "typeString": "address"
2299
- }
2300
- },
2301
- "nodeType": "BinaryOperation",
2302
- "operator": "==",
2303
- "rightExpression": {
2304
- "argumentTypes": null,
2305
- "id": 10721,
2306
- "name": "bridge",
2307
- "nodeType": "Identifier",
2308
- "overloadedDeclarations": [],
2309
- "referencedDeclaration": 10578,
2310
- "src": "2823:6:21",
2311
- "typeDescriptions": {
2312
- "typeIdentifier": "t_address",
2313
- "typeString": "address"
2314
- }
2315
- },
2316
- "src": "2786:43:21",
2317
- "typeDescriptions": {
2318
- "typeIdentifier": "t_bool",
2319
- "typeString": "bool"
2320
- }
2321
- }
2322
- ],
2323
- "expression": {
2324
- "argumentTypes": [
2325
- {
2326
- "typeIdentifier": "t_bool",
2327
- "typeString": "bool"
2328
- }
2329
- ],
2330
- "id": 10714,
2331
- "name": "require",
2332
- "nodeType": "Identifier",
2333
- "overloadedDeclarations": [
2334
- 11542,
2335
- 11543
2336
- ],
2337
- "referencedDeclaration": 11542,
2338
- "src": "2778:7:21",
2339
- "typeDescriptions": {
2340
- "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
2341
- "typeString": "function (bool) pure"
2342
- }
2343
- },
2344
- "id": 10723,
2345
- "isConstant": false,
2346
- "isLValue": false,
2347
- "isPure": false,
2348
- "kind": "functionCall",
2349
- "lValueRequested": false,
2350
- "names": [],
2351
- "nodeType": "FunctionCall",
2352
- "src": "2778:52:21",
2353
- "typeDescriptions": {
2354
- "typeIdentifier": "t_tuple$__$",
2355
- "typeString": "tuple()"
2356
- }
2357
- },
2358
- "id": 10724,
2359
- "nodeType": "ExpressionStatement",
2360
- "src": "2778:52:21"
2361
- },
2362
- {
2363
- "expression": {
2364
- "argumentTypes": null,
2365
- "arguments": [
2366
- {
2367
- "argumentTypes": null,
2368
- "id": 10726,
2369
- "name": "owner",
2370
- "nodeType": "Identifier",
2371
- "overloadedDeclarations": [],
2372
- "referencedDeclaration": 10679,
2373
- "src": "2850:5:21",
2374
- "typeDescriptions": {
2375
- "typeIdentifier": "t_address",
2376
- "typeString": "address"
2377
- }
2378
- },
2379
- {
2380
- "argumentTypes": null,
2381
- "id": 10727,
2382
- "name": "spender",
2383
- "nodeType": "Identifier",
2384
- "overloadedDeclarations": [],
2385
- "referencedDeclaration": 10681,
2386
- "src": "2857:7:21",
2387
- "typeDescriptions": {
2388
- "typeIdentifier": "t_address",
2389
- "typeString": "address"
2390
- }
2391
- },
2392
- {
2393
- "argumentTypes": null,
2394
- "id": 10728,
2395
- "name": "amount",
2396
- "nodeType": "Identifier",
2397
- "overloadedDeclarations": [],
2398
- "referencedDeclaration": 10683,
2399
- "src": "2866:6:21",
2400
- "typeDescriptions": {
2401
- "typeIdentifier": "t_uint256",
2402
- "typeString": "uint256"
2403
- }
2404
- }
2405
- ],
2406
- "expression": {
2407
- "argumentTypes": [
2408
- {
2409
- "typeIdentifier": "t_address",
2410
- "typeString": "address"
2411
- },
2412
- {
2413
- "typeIdentifier": "t_address",
2414
- "typeString": "address"
2415
- },
2416
- {
2417
- "typeIdentifier": "t_uint256",
2418
- "typeString": "uint256"
2419
- }
2420
- ],
2421
- "id": 10725,
2422
- "name": "_approve",
2423
- "nodeType": "Identifier",
2424
- "overloadedDeclarations": [],
2425
- "referencedDeclaration": 718,
2426
- "src": "2841:8:21",
2427
- "typeDescriptions": {
2428
- "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
2429
- "typeString": "function (address,address,uint256)"
2430
- }
2431
- },
2432
- "id": 10729,
2433
- "isConstant": false,
2434
- "isLValue": false,
2435
- "isPure": false,
2436
- "kind": "functionCall",
2437
- "lValueRequested": false,
2438
- "names": [],
2439
- "nodeType": "FunctionCall",
2440
- "src": "2841:32:21",
2441
- "typeDescriptions": {
2442
- "typeIdentifier": "t_tuple$__$",
2443
- "typeString": "tuple()"
2444
- }
2445
- },
2446
- "id": 10730,
2447
- "nodeType": "ExpressionStatement",
2448
- "src": "2841:32:21"
2449
- }
2450
- ]
2451
- },
2452
- "documentation": null,
2453
- "id": 10732,
2454
- "implemented": true,
2455
- "kind": "function",
2456
- "modifiers": [],
2457
- "name": "approveToken",
2458
- "nodeType": "FunctionDefinition",
2459
- "parameters": {
2460
- "id": 10692,
2461
- "nodeType": "ParameterList",
2462
- "parameters": [
2463
- {
2464
- "constant": false,
2465
- "id": 10679,
2466
- "name": "owner",
2467
- "nodeType": "VariableDeclaration",
2468
- "scope": 10732,
2469
- "src": "2463:13:21",
2470
- "stateVariable": false,
2471
- "storageLocation": "default",
2472
- "typeDescriptions": {
2473
- "typeIdentifier": "t_address",
2474
- "typeString": "address"
2475
- },
2476
- "typeName": {
2477
- "id": 10678,
2478
- "name": "address",
2479
- "nodeType": "ElementaryTypeName",
2480
- "src": "2463:7:21",
2481
- "stateMutability": "nonpayable",
2482
- "typeDescriptions": {
2483
- "typeIdentifier": "t_address",
2484
- "typeString": "address"
2485
- }
2486
- },
2487
- "value": null,
2488
- "visibility": "internal"
1993
+ "value": null,
1994
+ "visibility": "internal"
2489
1995
  },
2490
1996
  {
2491
1997
  "constant": false,
2492
- "id": 10681,
1998
+ "id": 10744,
2493
1999
  "name": "spender",
2494
2000
  "nodeType": "VariableDeclaration",
2495
- "scope": 10732,
2001
+ "scope": 10764,
2496
2002
  "src": "2478:15:21",
2497
2003
  "stateVariable": false,
2498
2004
  "storageLocation": "default",
@@ -2501,7 +2007,7 @@
2501
2007
  "typeString": "address"
2502
2008
  },
2503
2009
  "typeName": {
2504
- "id": 10680,
2010
+ "id": 10743,
2505
2011
  "name": "address",
2506
2012
  "nodeType": "ElementaryTypeName",
2507
2013
  "src": "2478:7:21",
@@ -2516,10 +2022,10 @@
2516
2022
  },
2517
2023
  {
2518
2024
  "constant": false,
2519
- "id": 10683,
2025
+ "id": 10746,
2520
2026
  "name": "amount",
2521
2027
  "nodeType": "VariableDeclaration",
2522
- "scope": 10732,
2028
+ "scope": 10764,
2523
2029
  "src": "2495:14:21",
2524
2030
  "stateVariable": false,
2525
2031
  "storageLocation": "default",
@@ -2528,7 +2034,7 @@
2528
2034
  "typeString": "uint256"
2529
2035
  },
2530
2036
  "typeName": {
2531
- "id": 10682,
2037
+ "id": 10745,
2532
2038
  "name": "uint256",
2533
2039
  "nodeType": "ElementaryTypeName",
2534
2040
  "src": "2495:7:21",
@@ -2542,10 +2048,10 @@
2542
2048
  },
2543
2049
  {
2544
2050
  "constant": false,
2545
- "id": 10685,
2051
+ "id": 10748,
2546
2052
  "name": "_hashedMessage",
2547
2053
  "nodeType": "VariableDeclaration",
2548
- "scope": 10732,
2054
+ "scope": 10764,
2549
2055
  "src": "2511:22:21",
2550
2056
  "stateVariable": false,
2551
2057
  "storageLocation": "default",
@@ -2554,7 +2060,7 @@
2554
2060
  "typeString": "bytes32"
2555
2061
  },
2556
2062
  "typeName": {
2557
- "id": 10684,
2063
+ "id": 10747,
2558
2064
  "name": "bytes32",
2559
2065
  "nodeType": "ElementaryTypeName",
2560
2066
  "src": "2511:7:21",
@@ -2568,10 +2074,10 @@
2568
2074
  },
2569
2075
  {
2570
2076
  "constant": false,
2571
- "id": 10687,
2077
+ "id": 10750,
2572
2078
  "name": "_v",
2573
2079
  "nodeType": "VariableDeclaration",
2574
- "scope": 10732,
2080
+ "scope": 10764,
2575
2081
  "src": "2535:8:21",
2576
2082
  "stateVariable": false,
2577
2083
  "storageLocation": "default",
@@ -2580,7 +2086,7 @@
2580
2086
  "typeString": "uint8"
2581
2087
  },
2582
2088
  "typeName": {
2583
- "id": 10686,
2089
+ "id": 10749,
2584
2090
  "name": "uint8",
2585
2091
  "nodeType": "ElementaryTypeName",
2586
2092
  "src": "2535:5:21",
@@ -2594,10 +2100,10 @@
2594
2100
  },
2595
2101
  {
2596
2102
  "constant": false,
2597
- "id": 10689,
2103
+ "id": 10752,
2598
2104
  "name": "_r",
2599
2105
  "nodeType": "VariableDeclaration",
2600
- "scope": 10732,
2106
+ "scope": 10764,
2601
2107
  "src": "2545:10:21",
2602
2108
  "stateVariable": false,
2603
2109
  "storageLocation": "default",
@@ -2606,7 +2112,7 @@
2606
2112
  "typeString": "bytes32"
2607
2113
  },
2608
2114
  "typeName": {
2609
- "id": 10688,
2115
+ "id": 10751,
2610
2116
  "name": "bytes32",
2611
2117
  "nodeType": "ElementaryTypeName",
2612
2118
  "src": "2545:7:21",
@@ -2620,10 +2126,10 @@
2620
2126
  },
2621
2127
  {
2622
2128
  "constant": false,
2623
- "id": 10691,
2129
+ "id": 10754,
2624
2130
  "name": "_s",
2625
2131
  "nodeType": "VariableDeclaration",
2626
- "scope": 10732,
2132
+ "scope": 10764,
2627
2133
  "src": "2557:10:21",
2628
2134
  "stateVariable": false,
2629
2135
  "storageLocation": "default",
@@ -2632,7 +2138,7 @@
2632
2138
  "typeString": "bytes32"
2633
2139
  },
2634
2140
  "typeName": {
2635
- "id": 10690,
2141
+ "id": 10753,
2636
2142
  "name": "bytes32",
2637
2143
  "nodeType": "ElementaryTypeName",
2638
2144
  "src": "2557:7:21",
@@ -2648,30 +2154,30 @@
2648
2154
  "src": "2462:106:21"
2649
2155
  },
2650
2156
  "returnParameters": {
2651
- "id": 10693,
2157
+ "id": 10756,
2652
2158
  "nodeType": "ParameterList",
2653
2159
  "parameters": [],
2654
2160
  "src": "2578:0:21"
2655
2161
  },
2656
- "scope": 10733,
2657
- "src": "2441:440:21",
2162
+ "scope": 10765,
2163
+ "src": "2441:446:21",
2658
2164
  "stateMutability": "nonpayable",
2659
- "superFunction": 11188,
2165
+ "superFunction": 11240,
2660
2166
  "visibility": "external"
2661
2167
  }
2662
2168
  ],
2663
- "scope": 10734,
2664
- "src": "340:2546:21"
2169
+ "scope": 10766,
2170
+ "src": "340:2552:21"
2665
2171
  }
2666
2172
  ],
2667
- "src": "106:2784:21"
2173
+ "src": "106:2790:21"
2668
2174
  },
2669
2175
  "legacyAST": {
2670
2176
  "attributes": {
2671
2177
  "absolutePath": "project:/contracts/Security.sol",
2672
2178
  "exportedSymbols": {
2673
2179
  "Security": [
2674
- 10733
2180
+ 10765
2675
2181
  ]
2676
2182
  }
2677
2183
  },
@@ -2684,22 +2190,22 @@
2684
2190
  ".7"
2685
2191
  ]
2686
2192
  },
2687
- "id": 10563,
2193
+ "id": 10626,
2688
2194
  "name": "PragmaDirective",
2689
2195
  "src": "106:22:21"
2690
2196
  },
2691
2197
  {
2692
2198
  "attributes": {
2693
- "SourceUnit": 11190,
2199
+ "SourceUnit": 11242,
2694
2200
  "absolutePath": "project:/contracts/interfaces/ISecurity.sol",
2695
2201
  "file": "./interfaces/ISecurity.sol",
2696
- "scope": 10734,
2202
+ "scope": 10766,
2697
2203
  "symbolAliases": [
2698
2204
  null
2699
2205
  ],
2700
2206
  "unitAlias": ""
2701
2207
  },
2702
- "id": 10564,
2208
+ "id": 10627,
2703
2209
  "name": "ImportDirective",
2704
2210
  "src": "132:36:21"
2705
2211
  },
@@ -2708,13 +2214,13 @@
2708
2214
  "SourceUnit": 341,
2709
2215
  "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
2710
2216
  "file": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
2711
- "scope": 10734,
2217
+ "scope": 10766,
2712
2218
  "symbolAliases": [
2713
2219
  null
2714
2220
  ],
2715
2221
  "unitAlias": ""
2716
2222
  },
2717
- "id": 10565,
2223
+ "id": 10628,
2718
2224
  "name": "ImportDirective",
2719
2225
  "src": "170:82:21"
2720
2226
  },
@@ -2723,13 +2229,13 @@
2723
2229
  "SourceUnit": 753,
2724
2230
  "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol",
2725
2231
  "file": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol",
2726
- "scope": 10734,
2232
+ "scope": 10766,
2727
2233
  "symbolAliases": [
2728
2234
  null
2729
2235
  ],
2730
2236
  "unitAlias": ""
2731
2237
  },
2732
- "id": 10566,
2238
+ "id": 10629,
2733
2239
  "name": "ImportDirective",
2734
2240
  "src": "254:82:21"
2735
2241
  },
@@ -2741,22 +2247,22 @@
2741
2247
  752,
2742
2248
  821,
2743
2249
  890,
2744
- 11189
2250
+ 11241
2745
2251
  ],
2746
2252
  "contractKind": "contract",
2747
2253
  "documentation": null,
2748
2254
  "fullyImplemented": true,
2749
2255
  "linearizedBaseContracts": [
2750
- 10733,
2256
+ 10765,
2751
2257
  340,
2752
2258
  752,
2753
2259
  821,
2754
2260
  29,
2755
2261
  890,
2756
- 11189
2262
+ 11241
2757
2263
  ],
2758
2264
  "name": "Security",
2759
- "scope": 10734
2265
+ "scope": 10766
2760
2266
  },
2761
2267
  "children": [
2762
2268
  {
@@ -2768,15 +2274,15 @@
2768
2274
  "attributes": {
2769
2275
  "contractScope": null,
2770
2276
  "name": "ISecurity",
2771
- "referencedDeclaration": 11189,
2277
+ "referencedDeclaration": 11241,
2772
2278
  "type": "contract ISecurity"
2773
2279
  },
2774
- "id": 10567,
2280
+ "id": 10630,
2775
2281
  "name": "UserDefinedTypeName",
2776
2282
  "src": "361:9:21"
2777
2283
  }
2778
2284
  ],
2779
- "id": 10568,
2285
+ "id": 10631,
2780
2286
  "name": "InheritanceSpecifier",
2781
2287
  "src": "361:9:21"
2782
2288
  },
@@ -2792,12 +2298,12 @@
2792
2298
  "referencedDeclaration": 752,
2793
2299
  "type": "contract ERC20"
2794
2300
  },
2795
- "id": 10569,
2301
+ "id": 10632,
2796
2302
  "name": "UserDefinedTypeName",
2797
2303
  "src": "372:5:21"
2798
2304
  }
2799
2305
  ],
2800
- "id": 10570,
2306
+ "id": 10633,
2801
2307
  "name": "InheritanceSpecifier",
2802
2308
  "src": "372:5:21"
2803
2309
  },
@@ -2813,12 +2319,12 @@
2813
2319
  "referencedDeclaration": 340,
2814
2320
  "type": "contract Ownable"
2815
2321
  },
2816
- "id": 10571,
2322
+ "id": 10634,
2817
2323
  "name": "UserDefinedTypeName",
2818
2324
  "src": "379:7:21"
2819
2325
  }
2820
2326
  ],
2821
- "id": 10572,
2327
+ "id": 10635,
2822
2328
  "name": "InheritanceSpecifier",
2823
2329
  "src": "379:7:21"
2824
2330
  },
@@ -2826,7 +2332,7 @@
2826
2332
  "attributes": {
2827
2333
  "constant": false,
2828
2334
  "name": "_name",
2829
- "scope": 10733,
2335
+ "scope": 10765,
2830
2336
  "stateVariable": true,
2831
2337
  "storageLocation": "default",
2832
2338
  "type": "string",
@@ -2839,12 +2345,12 @@
2839
2345
  "name": "string",
2840
2346
  "type": "string"
2841
2347
  },
2842
- "id": 10573,
2348
+ "id": 10636,
2843
2349
  "name": "ElementaryTypeName",
2844
2350
  "src": "396:6:21"
2845
2351
  }
2846
2352
  ],
2847
- "id": 10574,
2353
+ "id": 10637,
2848
2354
  "name": "VariableDeclaration",
2849
2355
  "src": "396:20:21"
2850
2356
  },
@@ -2852,7 +2358,7 @@
2852
2358
  "attributes": {
2853
2359
  "constant": false,
2854
2360
  "name": "_symbol",
2855
- "scope": 10733,
2361
+ "scope": 10765,
2856
2362
  "stateVariable": true,
2857
2363
  "storageLocation": "default",
2858
2364
  "type": "string",
@@ -2865,12 +2371,12 @@
2865
2371
  "name": "string",
2866
2372
  "type": "string"
2867
2373
  },
2868
- "id": 10575,
2374
+ "id": 10638,
2869
2375
  "name": "ElementaryTypeName",
2870
2376
  "src": "423:6:21"
2871
2377
  }
2872
2378
  ],
2873
- "id": 10576,
2379
+ "id": 10639,
2874
2380
  "name": "VariableDeclaration",
2875
2381
  "src": "423:22:21"
2876
2382
  },
@@ -2878,7 +2384,7 @@
2878
2384
  "attributes": {
2879
2385
  "constant": false,
2880
2386
  "name": "bridge",
2881
- "scope": 10733,
2387
+ "scope": 10765,
2882
2388
  "stateVariable": true,
2883
2389
  "storageLocation": "default",
2884
2390
  "type": "address",
@@ -2892,12 +2398,12 @@
2892
2398
  "stateMutability": "nonpayable",
2893
2399
  "type": "address"
2894
2400
  },
2895
- "id": 10577,
2401
+ "id": 10640,
2896
2402
  "name": "ElementaryTypeName",
2897
2403
  "src": "454:7:21"
2898
2404
  }
2899
2405
  ],
2900
- "id": 10578,
2406
+ "id": 10641,
2901
2407
  "name": "VariableDeclaration",
2902
2408
  "src": "454:22:21"
2903
2409
  },
@@ -2908,7 +2414,7 @@
2908
2414
  "isConstructor": false,
2909
2415
  "kind": "function",
2910
2416
  "name": "initialize",
2911
- "scope": 10733,
2417
+ "scope": 10765,
2912
2418
  "stateMutability": "nonpayable",
2913
2419
  "superFunction": null,
2914
2420
  "visibility": "public"
@@ -2920,7 +2426,7 @@
2920
2426
  "attributes": {
2921
2427
  "constant": false,
2922
2428
  "name": "name_",
2923
- "scope": 10620,
2429
+ "scope": 10683,
2924
2430
  "stateVariable": false,
2925
2431
  "storageLocation": "default",
2926
2432
  "type": "bytes32",
@@ -2933,12 +2439,12 @@
2933
2439
  "name": "bytes32",
2934
2440
  "type": "bytes32"
2935
2441
  },
2936
- "id": 10579,
2442
+ "id": 10642,
2937
2443
  "name": "ElementaryTypeName",
2938
2444
  "src": "817:7:21"
2939
2445
  }
2940
2446
  ],
2941
- "id": 10580,
2447
+ "id": 10643,
2942
2448
  "name": "VariableDeclaration",
2943
2449
  "src": "817:13:21"
2944
2450
  },
@@ -2946,7 +2452,7 @@
2946
2452
  "attributes": {
2947
2453
  "constant": false,
2948
2454
  "name": "symbol_",
2949
- "scope": 10620,
2455
+ "scope": 10683,
2950
2456
  "stateVariable": false,
2951
2457
  "storageLocation": "default",
2952
2458
  "type": "bytes32",
@@ -2959,12 +2465,12 @@
2959
2465
  "name": "bytes32",
2960
2466
  "type": "bytes32"
2961
2467
  },
2962
- "id": 10581,
2468
+ "id": 10644,
2963
2469
  "name": "ElementaryTypeName",
2964
2470
  "src": "832:7:21"
2965
2471
  }
2966
2472
  ],
2967
- "id": 10582,
2473
+ "id": 10645,
2968
2474
  "name": "VariableDeclaration",
2969
2475
  "src": "832:15:21"
2970
2476
  },
@@ -2972,7 +2478,7 @@
2972
2478
  "attributes": {
2973
2479
  "constant": false,
2974
2480
  "name": "_owner",
2975
- "scope": 10620,
2481
+ "scope": 10683,
2976
2482
  "stateVariable": false,
2977
2483
  "storageLocation": "default",
2978
2484
  "type": "address",
@@ -2986,12 +2492,12 @@
2986
2492
  "stateMutability": "nonpayable",
2987
2493
  "type": "address"
2988
2494
  },
2989
- "id": 10583,
2495
+ "id": 10646,
2990
2496
  "name": "ElementaryTypeName",
2991
2497
  "src": "849:7:21"
2992
2498
  }
2993
2499
  ],
2994
- "id": 10584,
2500
+ "id": 10647,
2995
2501
  "name": "VariableDeclaration",
2996
2502
  "src": "849:14:21"
2997
2503
  },
@@ -2999,7 +2505,7 @@
2999
2505
  "attributes": {
3000
2506
  "constant": false,
3001
2507
  "name": "_bridge",
3002
- "scope": 10620,
2508
+ "scope": 10683,
3003
2509
  "stateVariable": false,
3004
2510
  "storageLocation": "default",
3005
2511
  "type": "address",
@@ -3013,17 +2519,17 @@
3013
2519
  "stateMutability": "nonpayable",
3014
2520
  "type": "address"
3015
2521
  },
3016
- "id": 10585,
2522
+ "id": 10648,
3017
2523
  "name": "ElementaryTypeName",
3018
2524
  "src": "865:7:21"
3019
2525
  }
3020
2526
  ],
3021
- "id": 10586,
2527
+ "id": 10649,
3022
2528
  "name": "VariableDeclaration",
3023
2529
  "src": "865:15:21"
3024
2530
  }
3025
2531
  ],
3026
- "id": 10587,
2532
+ "id": 10650,
3027
2533
  "name": "ParameterList",
3028
2534
  "src": "816:65:21"
3029
2535
  },
@@ -3034,7 +2540,7 @@
3034
2540
  ]
3035
2541
  },
3036
2542
  "children": [],
3037
- "id": 10590,
2543
+ "id": 10653,
3038
2544
  "name": "ParameterList",
3039
2545
  "src": "901:0:21"
3040
2546
  },
@@ -3053,12 +2559,12 @@
3053
2559
  "type": "modifier ()",
3054
2560
  "value": "initializer"
3055
2561
  },
3056
- "id": 10588,
2562
+ "id": 10651,
3057
2563
  "name": "Identifier",
3058
2564
  "src": "889:11:21"
3059
2565
  }
3060
2566
  ],
3061
- "id": 10589,
2567
+ "id": 10652,
3062
2568
  "name": "ModifierInvocation",
3063
2569
  "src": "889:11:21"
3064
2570
  },
@@ -3108,12 +2614,12 @@
3108
2614
  "type": "type(contract Ownable)",
3109
2615
  "value": "Ownable"
3110
2616
  },
3111
- "id": 10591,
2617
+ "id": 10654,
3112
2618
  "name": "Identifier",
3113
2619
  "src": "912:7:21"
3114
2620
  }
3115
2621
  ],
3116
- "id": 10593,
2622
+ "id": 10656,
3117
2623
  "name": "MemberAccess",
3118
2624
  "src": "912:18:21"
3119
2625
  },
@@ -3123,21 +2629,21 @@
3123
2629
  "overloadedDeclarations": [
3124
2630
  null
3125
2631
  ],
3126
- "referencedDeclaration": 10584,
2632
+ "referencedDeclaration": 10647,
3127
2633
  "type": "address",
3128
2634
  "value": "_owner"
3129
2635
  },
3130
- "id": 10594,
2636
+ "id": 10657,
3131
2637
  "name": "Identifier",
3132
2638
  "src": "931:6:21"
3133
2639
  }
3134
2640
  ],
3135
- "id": 10595,
2641
+ "id": 10658,
3136
2642
  "name": "FunctionCall",
3137
2643
  "src": "912:26:21"
3138
2644
  }
3139
2645
  ],
3140
- "id": 10596,
2646
+ "id": 10659,
3141
2647
  "name": "ExpressionStatement",
3142
2648
  "src": "912:26:21"
3143
2649
  },
@@ -3160,11 +2666,11 @@
3160
2666
  "overloadedDeclarations": [
3161
2667
  null
3162
2668
  ],
3163
- "referencedDeclaration": 10574,
2669
+ "referencedDeclaration": 10637,
3164
2670
  "type": "string storage ref",
3165
2671
  "value": "_name"
3166
2672
  },
3167
- "id": 10597,
2673
+ "id": 10660,
3168
2674
  "name": "Identifier",
3169
2675
  "src": "949:5:21"
3170
2676
  },
@@ -3198,7 +2704,7 @@
3198
2704
  "type": "type(string storage pointer)",
3199
2705
  "value": "string"
3200
2706
  },
3201
- "id": 10598,
2707
+ "id": 10661,
3202
2708
  "name": "ElementaryTypeNameExpression",
3203
2709
  "src": "957:6:21"
3204
2710
  },
@@ -3240,16 +2746,16 @@
3240
2746
  "overloadedDeclarations": [
3241
2747
  null
3242
2748
  ],
3243
- "referencedDeclaration": 11526,
2749
+ "referencedDeclaration": 11578,
3244
2750
  "type": "abi",
3245
2751
  "value": "abi"
3246
2752
  },
3247
- "id": 10599,
2753
+ "id": 10662,
3248
2754
  "name": "Identifier",
3249
2755
  "src": "964:3:21"
3250
2756
  }
3251
2757
  ],
3252
- "id": 10600,
2758
+ "id": 10663,
3253
2759
  "name": "MemberAccess",
3254
2760
  "src": "964:16:21"
3255
2761
  },
@@ -3259,31 +2765,31 @@
3259
2765
  "overloadedDeclarations": [
3260
2766
  null
3261
2767
  ],
3262
- "referencedDeclaration": 10580,
2768
+ "referencedDeclaration": 10643,
3263
2769
  "type": "bytes32",
3264
2770
  "value": "name_"
3265
2771
  },
3266
- "id": 10601,
2772
+ "id": 10664,
3267
2773
  "name": "Identifier",
3268
2774
  "src": "981:5:21"
3269
2775
  }
3270
2776
  ],
3271
- "id": 10602,
2777
+ "id": 10665,
3272
2778
  "name": "FunctionCall",
3273
2779
  "src": "964:23:21"
3274
2780
  }
3275
2781
  ],
3276
- "id": 10603,
2782
+ "id": 10666,
3277
2783
  "name": "FunctionCall",
3278
2784
  "src": "957:31:21"
3279
2785
  }
3280
2786
  ],
3281
- "id": 10604,
2787
+ "id": 10667,
3282
2788
  "name": "Assignment",
3283
2789
  "src": "949:39:21"
3284
2790
  }
3285
2791
  ],
3286
- "id": 10605,
2792
+ "id": 10668,
3287
2793
  "name": "ExpressionStatement",
3288
2794
  "src": "949:39:21"
3289
2795
  },
@@ -3306,11 +2812,11 @@
3306
2812
  "overloadedDeclarations": [
3307
2813
  null
3308
2814
  ],
3309
- "referencedDeclaration": 10576,
2815
+ "referencedDeclaration": 10639,
3310
2816
  "type": "string storage ref",
3311
2817
  "value": "_symbol"
3312
2818
  },
3313
- "id": 10606,
2819
+ "id": 10669,
3314
2820
  "name": "Identifier",
3315
2821
  "src": "999:7:21"
3316
2822
  },
@@ -3344,7 +2850,7 @@
3344
2850
  "type": "type(string storage pointer)",
3345
2851
  "value": "string"
3346
2852
  },
3347
- "id": 10607,
2853
+ "id": 10670,
3348
2854
  "name": "ElementaryTypeNameExpression",
3349
2855
  "src": "1009:6:21"
3350
2856
  },
@@ -3386,16 +2892,16 @@
3386
2892
  "overloadedDeclarations": [
3387
2893
  null
3388
2894
  ],
3389
- "referencedDeclaration": 11526,
2895
+ "referencedDeclaration": 11578,
3390
2896
  "type": "abi",
3391
2897
  "value": "abi"
3392
2898
  },
3393
- "id": 10608,
2899
+ "id": 10671,
3394
2900
  "name": "Identifier",
3395
2901
  "src": "1016:3:21"
3396
2902
  }
3397
2903
  ],
3398
- "id": 10609,
2904
+ "id": 10672,
3399
2905
  "name": "MemberAccess",
3400
2906
  "src": "1016:16:21"
3401
2907
  },
@@ -3405,31 +2911,31 @@
3405
2911
  "overloadedDeclarations": [
3406
2912
  null
3407
2913
  ],
3408
- "referencedDeclaration": 10582,
2914
+ "referencedDeclaration": 10645,
3409
2915
  "type": "bytes32",
3410
2916
  "value": "symbol_"
3411
2917
  },
3412
- "id": 10610,
2918
+ "id": 10673,
3413
2919
  "name": "Identifier",
3414
2920
  "src": "1033:7:21"
3415
2921
  }
3416
2922
  ],
3417
- "id": 10611,
2923
+ "id": 10674,
3418
2924
  "name": "FunctionCall",
3419
2925
  "src": "1016:25:21"
3420
2926
  }
3421
2927
  ],
3422
- "id": 10612,
2928
+ "id": 10675,
3423
2929
  "name": "FunctionCall",
3424
2930
  "src": "1009:33:21"
3425
2931
  }
3426
2932
  ],
3427
- "id": 10613,
2933
+ "id": 10676,
3428
2934
  "name": "Assignment",
3429
2935
  "src": "999:43:21"
3430
2936
  }
3431
2937
  ],
3432
- "id": 10614,
2938
+ "id": 10677,
3433
2939
  "name": "ExpressionStatement",
3434
2940
  "src": "999:43:21"
3435
2941
  },
@@ -3452,11 +2958,11 @@
3452
2958
  "overloadedDeclarations": [
3453
2959
  null
3454
2960
  ],
3455
- "referencedDeclaration": 10578,
2961
+ "referencedDeclaration": 10641,
3456
2962
  "type": "address",
3457
2963
  "value": "bridge"
3458
2964
  },
3459
- "id": 10615,
2965
+ "id": 10678,
3460
2966
  "name": "Identifier",
3461
2967
  "src": "1053:6:21"
3462
2968
  },
@@ -3466,31 +2972,31 @@
3466
2972
  "overloadedDeclarations": [
3467
2973
  null
3468
2974
  ],
3469
- "referencedDeclaration": 10586,
2975
+ "referencedDeclaration": 10649,
3470
2976
  "type": "address",
3471
2977
  "value": "_bridge"
3472
2978
  },
3473
- "id": 10616,
2979
+ "id": 10679,
3474
2980
  "name": "Identifier",
3475
2981
  "src": "1062:7:21"
3476
2982
  }
3477
2983
  ],
3478
- "id": 10617,
2984
+ "id": 10680,
3479
2985
  "name": "Assignment",
3480
2986
  "src": "1053:16:21"
3481
2987
  }
3482
2988
  ],
3483
- "id": 10618,
2989
+ "id": 10681,
3484
2990
  "name": "ExpressionStatement",
3485
2991
  "src": "1053:16:21"
3486
2992
  }
3487
2993
  ],
3488
- "id": 10619,
2994
+ "id": 10682,
3489
2995
  "name": "Block",
3490
2996
  "src": "901:176:21"
3491
2997
  }
3492
2998
  ],
3493
- "id": 10620,
2999
+ "id": 10683,
3494
3000
  "name": "FunctionDefinition",
3495
3001
  "src": "797:280:21"
3496
3002
  },
@@ -3504,7 +3010,7 @@
3504
3010
  null
3505
3011
  ],
3506
3012
  "name": "name",
3507
- "scope": 10733,
3013
+ "scope": 10765,
3508
3014
  "stateMutability": "view",
3509
3015
  "superFunction": null,
3510
3016
  "visibility": "public"
@@ -3517,7 +3023,7 @@
3517
3023
  ]
3518
3024
  },
3519
3025
  "children": [],
3520
- "id": 10621,
3026
+ "id": 10684,
3521
3027
  "name": "ParameterList",
3522
3028
  "src": "1160:2:21"
3523
3029
  },
@@ -3527,7 +3033,7 @@
3527
3033
  "attributes": {
3528
3034
  "constant": false,
3529
3035
  "name": "",
3530
- "scope": 10628,
3036
+ "scope": 10691,
3531
3037
  "stateVariable": false,
3532
3038
  "storageLocation": "memory",
3533
3039
  "type": "string",
@@ -3540,17 +3046,17 @@
3540
3046
  "name": "string",
3541
3047
  "type": "string"
3542
3048
  },
3543
- "id": 10622,
3049
+ "id": 10685,
3544
3050
  "name": "ElementaryTypeName",
3545
3051
  "src": "1184:6:21"
3546
3052
  }
3547
3053
  ],
3548
- "id": 10623,
3054
+ "id": 10686,
3549
3055
  "name": "VariableDeclaration",
3550
3056
  "src": "1184:13:21"
3551
3057
  }
3552
3058
  ],
3553
- "id": 10624,
3059
+ "id": 10687,
3554
3060
  "name": "ParameterList",
3555
3061
  "src": "1183:15:21"
3556
3062
  },
@@ -3558,7 +3064,7 @@
3558
3064
  "children": [
3559
3065
  {
3560
3066
  "attributes": {
3561
- "functionReturnParameters": 10624
3067
+ "functionReturnParameters": 10687
3562
3068
  },
3563
3069
  "children": [
3564
3070
  {
@@ -3567,26 +3073,26 @@
3567
3073
  "overloadedDeclarations": [
3568
3074
  null
3569
3075
  ],
3570
- "referencedDeclaration": 10574,
3076
+ "referencedDeclaration": 10637,
3571
3077
  "type": "string storage ref",
3572
3078
  "value": "_name"
3573
3079
  },
3574
- "id": 10625,
3080
+ "id": 10688,
3575
3081
  "name": "Identifier",
3576
3082
  "src": "1217:5:21"
3577
3083
  }
3578
3084
  ],
3579
- "id": 10626,
3085
+ "id": 10689,
3580
3086
  "name": "Return",
3581
3087
  "src": "1210:12:21"
3582
3088
  }
3583
3089
  ],
3584
- "id": 10627,
3090
+ "id": 10690,
3585
3091
  "name": "Block",
3586
3092
  "src": "1199:31:21"
3587
3093
  }
3588
3094
  ],
3589
- "id": 10628,
3095
+ "id": 10691,
3590
3096
  "name": "FunctionDefinition",
3591
3097
  "src": "1147:83:21"
3592
3098
  },
@@ -3600,7 +3106,7 @@
3600
3106
  null
3601
3107
  ],
3602
3108
  "name": "symbol",
3603
- "scope": 10733,
3109
+ "scope": 10765,
3604
3110
  "stateMutability": "view",
3605
3111
  "superFunction": null,
3606
3112
  "visibility": "public"
@@ -3613,7 +3119,7 @@
3613
3119
  ]
3614
3120
  },
3615
3121
  "children": [],
3616
- "id": 10629,
3122
+ "id": 10692,
3617
3123
  "name": "ParameterList",
3618
3124
  "src": "1364:2:21"
3619
3125
  },
@@ -3623,7 +3129,7 @@
3623
3129
  "attributes": {
3624
3130
  "constant": false,
3625
3131
  "name": "",
3626
- "scope": 10636,
3132
+ "scope": 10699,
3627
3133
  "stateVariable": false,
3628
3134
  "storageLocation": "memory",
3629
3135
  "type": "string",
@@ -3636,17 +3142,17 @@
3636
3142
  "name": "string",
3637
3143
  "type": "string"
3638
3144
  },
3639
- "id": 10630,
3145
+ "id": 10693,
3640
3146
  "name": "ElementaryTypeName",
3641
3147
  "src": "1388:6:21"
3642
3148
  }
3643
3149
  ],
3644
- "id": 10631,
3150
+ "id": 10694,
3645
3151
  "name": "VariableDeclaration",
3646
3152
  "src": "1388:13:21"
3647
3153
  }
3648
3154
  ],
3649
- "id": 10632,
3155
+ "id": 10695,
3650
3156
  "name": "ParameterList",
3651
3157
  "src": "1387:15:21"
3652
3158
  },
@@ -3654,7 +3160,7 @@
3654
3160
  "children": [
3655
3161
  {
3656
3162
  "attributes": {
3657
- "functionReturnParameters": 10632
3163
+ "functionReturnParameters": 10695
3658
3164
  },
3659
3165
  "children": [
3660
3166
  {
@@ -3663,26 +3169,26 @@
3663
3169
  "overloadedDeclarations": [
3664
3170
  null
3665
3171
  ],
3666
- "referencedDeclaration": 10576,
3172
+ "referencedDeclaration": 10639,
3667
3173
  "type": "string storage ref",
3668
3174
  "value": "_symbol"
3669
3175
  },
3670
- "id": 10633,
3176
+ "id": 10696,
3671
3177
  "name": "Identifier",
3672
3178
  "src": "1421:7:21"
3673
3179
  }
3674
3180
  ],
3675
- "id": 10634,
3181
+ "id": 10697,
3676
3182
  "name": "Return",
3677
3183
  "src": "1414:14:21"
3678
3184
  }
3679
3185
  ],
3680
- "id": 10635,
3186
+ "id": 10698,
3681
3187
  "name": "Block",
3682
3188
  "src": "1403:33:21"
3683
3189
  }
3684
3190
  ],
3685
- "id": 10636,
3191
+ "id": 10699,
3686
3192
  "name": "FunctionDefinition",
3687
3193
  "src": "1349:87:21"
3688
3194
  },
@@ -3696,7 +3202,7 @@
3696
3202
  null
3697
3203
  ],
3698
3204
  "name": "decimals",
3699
- "scope": 10733,
3205
+ "scope": 10765,
3700
3206
  "stateMutability": "view",
3701
3207
  "superFunction": null,
3702
3208
  "visibility": "public"
@@ -3709,7 +3215,7 @@
3709
3215
  ]
3710
3216
  },
3711
3217
  "children": [],
3712
- "id": 10637,
3218
+ "id": 10700,
3713
3219
  "name": "ParameterList",
3714
3220
  "src": "2092:2:21"
3715
3221
  },
@@ -3719,7 +3225,7 @@
3719
3225
  "attributes": {
3720
3226
  "constant": false,
3721
3227
  "name": "",
3722
- "scope": 10644,
3228
+ "scope": 10707,
3723
3229
  "stateVariable": false,
3724
3230
  "storageLocation": "default",
3725
3231
  "type": "uint8",
@@ -3732,17 +3238,17 @@
3732
3238
  "name": "uint8",
3733
3239
  "type": "uint8"
3734
3240
  },
3735
- "id": 10638,
3241
+ "id": 10701,
3736
3242
  "name": "ElementaryTypeName",
3737
3243
  "src": "2116:5:21"
3738
3244
  }
3739
3245
  ],
3740
- "id": 10639,
3246
+ "id": 10702,
3741
3247
  "name": "VariableDeclaration",
3742
3248
  "src": "2116:5:21"
3743
3249
  }
3744
3250
  ],
3745
- "id": 10640,
3251
+ "id": 10703,
3746
3252
  "name": "ParameterList",
3747
3253
  "src": "2115:7:21"
3748
3254
  },
@@ -3750,7 +3256,7 @@
3750
3256
  "children": [
3751
3257
  {
3752
3258
  "attributes": {
3753
- "functionReturnParameters": 10640
3259
+ "functionReturnParameters": 10703
3754
3260
  },
3755
3261
  "children": [
3756
3262
  {
@@ -3766,22 +3272,22 @@
3766
3272
  "type": "int_const 18",
3767
3273
  "value": "18"
3768
3274
  },
3769
- "id": 10641,
3275
+ "id": 10704,
3770
3276
  "name": "Literal",
3771
3277
  "src": "2141:2:21"
3772
3278
  }
3773
3279
  ],
3774
- "id": 10642,
3280
+ "id": 10705,
3775
3281
  "name": "Return",
3776
3282
  "src": "2134:9:21"
3777
3283
  }
3778
3284
  ],
3779
- "id": 10643,
3285
+ "id": 10706,
3780
3286
  "name": "Block",
3781
3287
  "src": "2123:28:21"
3782
3288
  }
3783
3289
  ],
3784
- "id": 10644,
3290
+ "id": 10707,
3785
3291
  "name": "FunctionDefinition",
3786
3292
  "src": "2075:76:21"
3787
3293
  },
@@ -3792,9 +3298,9 @@
3792
3298
  "isConstructor": false,
3793
3299
  "kind": "function",
3794
3300
  "name": "transferToken",
3795
- "scope": 10733,
3301
+ "scope": 10765,
3796
3302
  "stateMutability": "nonpayable",
3797
- "superFunction": 11164,
3303
+ "superFunction": 11216,
3798
3304
  "visibility": "external"
3799
3305
  },
3800
3306
  "children": [
@@ -3804,7 +3310,7 @@
3804
3310
  "attributes": {
3805
3311
  "constant": false,
3806
3312
  "name": "transferor",
3807
- "scope": 10662,
3313
+ "scope": 10725,
3808
3314
  "stateVariable": false,
3809
3315
  "storageLocation": "default",
3810
3316
  "type": "address",
@@ -3818,12 +3324,12 @@
3818
3324
  "stateMutability": "nonpayable",
3819
3325
  "type": "address"
3820
3326
  },
3821
- "id": 10645,
3327
+ "id": 10708,
3822
3328
  "name": "ElementaryTypeName",
3823
3329
  "src": "2182:7:21"
3824
3330
  }
3825
3331
  ],
3826
- "id": 10646,
3332
+ "id": 10709,
3827
3333
  "name": "VariableDeclaration",
3828
3334
  "src": "2182:18:21"
3829
3335
  },
@@ -3831,7 +3337,7 @@
3831
3337
  "attributes": {
3832
3338
  "constant": false,
3833
3339
  "name": "transferee",
3834
- "scope": 10662,
3340
+ "scope": 10725,
3835
3341
  "stateVariable": false,
3836
3342
  "storageLocation": "default",
3837
3343
  "type": "address",
@@ -3845,12 +3351,12 @@
3845
3351
  "stateMutability": "nonpayable",
3846
3352
  "type": "address"
3847
3353
  },
3848
- "id": 10647,
3354
+ "id": 10710,
3849
3355
  "name": "ElementaryTypeName",
3850
3356
  "src": "2202:7:21"
3851
3357
  }
3852
3358
  ],
3853
- "id": 10648,
3359
+ "id": 10711,
3854
3360
  "name": "VariableDeclaration",
3855
3361
  "src": "2202:18:21"
3856
3362
  },
@@ -3858,7 +3364,7 @@
3858
3364
  "attributes": {
3859
3365
  "constant": false,
3860
3366
  "name": "amount",
3861
- "scope": 10662,
3367
+ "scope": 10725,
3862
3368
  "stateVariable": false,
3863
3369
  "storageLocation": "default",
3864
3370
  "type": "uint256",
@@ -3871,17 +3377,17 @@
3871
3377
  "name": "uint256",
3872
3378
  "type": "uint256"
3873
3379
  },
3874
- "id": 10649,
3380
+ "id": 10712,
3875
3381
  "name": "ElementaryTypeName",
3876
3382
  "src": "2222:7:21"
3877
3383
  }
3878
3384
  ],
3879
- "id": 10650,
3385
+ "id": 10713,
3880
3386
  "name": "VariableDeclaration",
3881
3387
  "src": "2222:14:21"
3882
3388
  }
3883
3389
  ],
3884
- "id": 10651,
3390
+ "id": 10714,
3885
3391
  "name": "ParameterList",
3886
3392
  "src": "2181:56:21"
3887
3393
  },
@@ -3892,7 +3398,7 @@
3892
3398
  ]
3893
3399
  },
3894
3400
  "children": [],
3895
- "id": 10654,
3401
+ "id": 10717,
3896
3402
  "name": "ParameterList",
3897
3403
  "src": "2256:0:21"
3898
3404
  },
@@ -3911,12 +3417,12 @@
3911
3417
  "type": "modifier ()",
3912
3418
  "value": "onlyOwner"
3913
3419
  },
3914
- "id": 10652,
3420
+ "id": 10715,
3915
3421
  "name": "Identifier",
3916
3422
  "src": "2238:9:21"
3917
3423
  }
3918
3424
  ],
3919
- "id": 10653,
3425
+ "id": 10716,
3920
3426
  "name": "ModifierInvocation",
3921
3427
  "src": "2238:9:21"
3922
3428
  },
@@ -3962,7 +3468,7 @@
3962
3468
  "type": "function (address,address,uint256)",
3963
3469
  "value": "_transfer"
3964
3470
  },
3965
- "id": 10655,
3471
+ "id": 10718,
3966
3472
  "name": "Identifier",
3967
3473
  "src": "2267:9:21"
3968
3474
  },
@@ -3972,11 +3478,11 @@
3972
3478
  "overloadedDeclarations": [
3973
3479
  null
3974
3480
  ],
3975
- "referencedDeclaration": 10646,
3481
+ "referencedDeclaration": 10709,
3976
3482
  "type": "address",
3977
3483
  "value": "transferor"
3978
3484
  },
3979
- "id": 10656,
3485
+ "id": 10719,
3980
3486
  "name": "Identifier",
3981
3487
  "src": "2277:10:21"
3982
3488
  },
@@ -3986,11 +3492,11 @@
3986
3492
  "overloadedDeclarations": [
3987
3493
  null
3988
3494
  ],
3989
- "referencedDeclaration": 10648,
3495
+ "referencedDeclaration": 10711,
3990
3496
  "type": "address",
3991
3497
  "value": "transferee"
3992
3498
  },
3993
- "id": 10657,
3499
+ "id": 10720,
3994
3500
  "name": "Identifier",
3995
3501
  "src": "2289:10:21"
3996
3502
  },
@@ -4000,31 +3506,31 @@
4000
3506
  "overloadedDeclarations": [
4001
3507
  null
4002
3508
  ],
4003
- "referencedDeclaration": 10650,
3509
+ "referencedDeclaration": 10713,
4004
3510
  "type": "uint256",
4005
3511
  "value": "amount"
4006
3512
  },
4007
- "id": 10658,
3513
+ "id": 10721,
4008
3514
  "name": "Identifier",
4009
3515
  "src": "2301:6:21"
4010
3516
  }
4011
3517
  ],
4012
- "id": 10659,
3518
+ "id": 10722,
4013
3519
  "name": "FunctionCall",
4014
3520
  "src": "2267:41:21"
4015
3521
  }
4016
3522
  ],
4017
- "id": 10660,
3523
+ "id": 10723,
4018
3524
  "name": "ExpressionStatement",
4019
3525
  "src": "2267:41:21"
4020
3526
  }
4021
3527
  ],
4022
- "id": 10661,
3528
+ "id": 10724,
4023
3529
  "name": "Block",
4024
3530
  "src": "2256:60:21"
4025
3531
  }
4026
3532
  ],
4027
- "id": 10662,
3533
+ "id": 10725,
4028
3534
  "name": "FunctionDefinition",
4029
3535
  "src": "2159:157:21"
4030
3536
  },
@@ -4035,9 +3541,9 @@
4035
3541
  "isConstructor": false,
4036
3542
  "kind": "function",
4037
3543
  "name": "mintToken",
4038
- "scope": 10733,
3544
+ "scope": 10765,
4039
3545
  "stateMutability": "nonpayable",
4040
- "superFunction": 11171,
3546
+ "superFunction": 11223,
4041
3547
  "visibility": "external"
4042
3548
  },
4043
3549
  "children": [
@@ -4047,7 +3553,7 @@
4047
3553
  "attributes": {
4048
3554
  "constant": false,
4049
3555
  "name": "issuer",
4050
- "scope": 10677,
3556
+ "scope": 10740,
4051
3557
  "stateVariable": false,
4052
3558
  "storageLocation": "default",
4053
3559
  "type": "address",
@@ -4061,12 +3567,12 @@
4061
3567
  "stateMutability": "nonpayable",
4062
3568
  "type": "address"
4063
3569
  },
4064
- "id": 10663,
3570
+ "id": 10726,
4065
3571
  "name": "ElementaryTypeName",
4066
3572
  "src": "2343:7:21"
4067
3573
  }
4068
3574
  ],
4069
- "id": 10664,
3575
+ "id": 10727,
4070
3576
  "name": "VariableDeclaration",
4071
3577
  "src": "2343:14:21"
4072
3578
  },
@@ -4074,7 +3580,7 @@
4074
3580
  "attributes": {
4075
3581
  "constant": false,
4076
3582
  "name": "amount",
4077
- "scope": 10677,
3583
+ "scope": 10740,
4078
3584
  "stateVariable": false,
4079
3585
  "storageLocation": "default",
4080
3586
  "type": "uint256",
@@ -4087,17 +3593,17 @@
4087
3593
  "name": "uint256",
4088
3594
  "type": "uint256"
4089
3595
  },
4090
- "id": 10665,
3596
+ "id": 10728,
4091
3597
  "name": "ElementaryTypeName",
4092
3598
  "src": "2359:7:21"
4093
3599
  }
4094
3600
  ],
4095
- "id": 10666,
3601
+ "id": 10729,
4096
3602
  "name": "VariableDeclaration",
4097
3603
  "src": "2359:14:21"
4098
3604
  }
4099
3605
  ],
4100
- "id": 10667,
3606
+ "id": 10730,
4101
3607
  "name": "ParameterList",
4102
3608
  "src": "2342:32:21"
4103
3609
  },
@@ -4108,7 +3614,7 @@
4108
3614
  ]
4109
3615
  },
4110
3616
  "children": [],
4111
- "id": 10670,
3617
+ "id": 10733,
4112
3618
  "name": "ParameterList",
4113
3619
  "src": "2393:0:21"
4114
3620
  },
@@ -4127,12 +3633,12 @@
4127
3633
  "type": "modifier ()",
4128
3634
  "value": "onlyOwner"
4129
3635
  },
4130
- "id": 10668,
3636
+ "id": 10731,
4131
3637
  "name": "Identifier",
4132
3638
  "src": "2375:9:21"
4133
3639
  }
4134
3640
  ],
4135
- "id": 10669,
3641
+ "id": 10732,
4136
3642
  "name": "ModifierInvocation",
4137
3643
  "src": "2375:9:21"
4138
3644
  },
@@ -4174,7 +3680,7 @@
4174
3680
  "type": "function (address,uint256)",
4175
3681
  "value": "_mint"
4176
3682
  },
4177
- "id": 10671,
3683
+ "id": 10734,
4178
3684
  "name": "Identifier",
4179
3685
  "src": "2404:5:21"
4180
3686
  },
@@ -4184,11 +3690,11 @@
4184
3690
  "overloadedDeclarations": [
4185
3691
  null
4186
3692
  ],
4187
- "referencedDeclaration": 10664,
3693
+ "referencedDeclaration": 10727,
4188
3694
  "type": "address",
4189
3695
  "value": "issuer"
4190
3696
  },
4191
- "id": 10672,
3697
+ "id": 10735,
4192
3698
  "name": "Identifier",
4193
3699
  "src": "2410:6:21"
4194
3700
  },
@@ -4198,31 +3704,31 @@
4198
3704
  "overloadedDeclarations": [
4199
3705
  null
4200
3706
  ],
4201
- "referencedDeclaration": 10666,
3707
+ "referencedDeclaration": 10729,
4202
3708
  "type": "uint256",
4203
3709
  "value": "amount"
4204
3710
  },
4205
- "id": 10673,
3711
+ "id": 10736,
4206
3712
  "name": "Identifier",
4207
3713
  "src": "2418:6:21"
4208
3714
  }
4209
3715
  ],
4210
- "id": 10674,
3716
+ "id": 10737,
4211
3717
  "name": "FunctionCall",
4212
3718
  "src": "2404:21:21"
4213
3719
  }
4214
3720
  ],
4215
- "id": 10675,
3721
+ "id": 10738,
4216
3722
  "name": "ExpressionStatement",
4217
3723
  "src": "2404:21:21"
4218
3724
  }
4219
3725
  ],
4220
- "id": 10676,
3726
+ "id": 10739,
4221
3727
  "name": "Block",
4222
3728
  "src": "2393:40:21"
4223
3729
  }
4224
3730
  ],
4225
- "id": 10677,
3731
+ "id": 10740,
4226
3732
  "name": "FunctionDefinition",
4227
3733
  "src": "2324:109:21"
4228
3734
  },
@@ -4236,9 +3742,9 @@
4236
3742
  null
4237
3743
  ],
4238
3744
  "name": "approveToken",
4239
- "scope": 10733,
3745
+ "scope": 10765,
4240
3746
  "stateMutability": "nonpayable",
4241
- "superFunction": 11188,
3747
+ "superFunction": 11240,
4242
3748
  "visibility": "external"
4243
3749
  },
4244
3750
  "children": [
@@ -4248,7 +3754,7 @@
4248
3754
  "attributes": {
4249
3755
  "constant": false,
4250
3756
  "name": "owner",
4251
- "scope": 10732,
3757
+ "scope": 10764,
4252
3758
  "stateVariable": false,
4253
3759
  "storageLocation": "default",
4254
3760
  "type": "address",
@@ -4262,12 +3768,12 @@
4262
3768
  "stateMutability": "nonpayable",
4263
3769
  "type": "address"
4264
3770
  },
4265
- "id": 10678,
3771
+ "id": 10741,
4266
3772
  "name": "ElementaryTypeName",
4267
3773
  "src": "2463:7:21"
4268
3774
  }
4269
3775
  ],
4270
- "id": 10679,
3776
+ "id": 10742,
4271
3777
  "name": "VariableDeclaration",
4272
3778
  "src": "2463:13:21"
4273
3779
  },
@@ -4275,7 +3781,7 @@
4275
3781
  "attributes": {
4276
3782
  "constant": false,
4277
3783
  "name": "spender",
4278
- "scope": 10732,
3784
+ "scope": 10764,
4279
3785
  "stateVariable": false,
4280
3786
  "storageLocation": "default",
4281
3787
  "type": "address",
@@ -4289,12 +3795,12 @@
4289
3795
  "stateMutability": "nonpayable",
4290
3796
  "type": "address"
4291
3797
  },
4292
- "id": 10680,
3798
+ "id": 10743,
4293
3799
  "name": "ElementaryTypeName",
4294
3800
  "src": "2478:7:21"
4295
3801
  }
4296
3802
  ],
4297
- "id": 10681,
3803
+ "id": 10744,
4298
3804
  "name": "VariableDeclaration",
4299
3805
  "src": "2478:15:21"
4300
3806
  },
@@ -4302,7 +3808,7 @@
4302
3808
  "attributes": {
4303
3809
  "constant": false,
4304
3810
  "name": "amount",
4305
- "scope": 10732,
3811
+ "scope": 10764,
4306
3812
  "stateVariable": false,
4307
3813
  "storageLocation": "default",
4308
3814
  "type": "uint256",
@@ -4315,12 +3821,12 @@
4315
3821
  "name": "uint256",
4316
3822
  "type": "uint256"
4317
3823
  },
4318
- "id": 10682,
3824
+ "id": 10745,
4319
3825
  "name": "ElementaryTypeName",
4320
3826
  "src": "2495:7:21"
4321
3827
  }
4322
3828
  ],
4323
- "id": 10683,
3829
+ "id": 10746,
4324
3830
  "name": "VariableDeclaration",
4325
3831
  "src": "2495:14:21"
4326
3832
  },
@@ -4328,7 +3834,7 @@
4328
3834
  "attributes": {
4329
3835
  "constant": false,
4330
3836
  "name": "_hashedMessage",
4331
- "scope": 10732,
3837
+ "scope": 10764,
4332
3838
  "stateVariable": false,
4333
3839
  "storageLocation": "default",
4334
3840
  "type": "bytes32",
@@ -4341,12 +3847,12 @@
4341
3847
  "name": "bytes32",
4342
3848
  "type": "bytes32"
4343
3849
  },
4344
- "id": 10684,
3850
+ "id": 10747,
4345
3851
  "name": "ElementaryTypeName",
4346
3852
  "src": "2511:7:21"
4347
3853
  }
4348
3854
  ],
4349
- "id": 10685,
3855
+ "id": 10748,
4350
3856
  "name": "VariableDeclaration",
4351
3857
  "src": "2511:22:21"
4352
3858
  },
@@ -4354,7 +3860,7 @@
4354
3860
  "attributes": {
4355
3861
  "constant": false,
4356
3862
  "name": "_v",
4357
- "scope": 10732,
3863
+ "scope": 10764,
4358
3864
  "stateVariable": false,
4359
3865
  "storageLocation": "default",
4360
3866
  "type": "uint8",
@@ -4367,12 +3873,12 @@
4367
3873
  "name": "uint8",
4368
3874
  "type": "uint8"
4369
3875
  },
4370
- "id": 10686,
3876
+ "id": 10749,
4371
3877
  "name": "ElementaryTypeName",
4372
3878
  "src": "2535:5:21"
4373
3879
  }
4374
3880
  ],
4375
- "id": 10687,
3881
+ "id": 10750,
4376
3882
  "name": "VariableDeclaration",
4377
3883
  "src": "2535:8:21"
4378
3884
  },
@@ -4380,7 +3886,7 @@
4380
3886
  "attributes": {
4381
3887
  "constant": false,
4382
3888
  "name": "_r",
4383
- "scope": 10732,
3889
+ "scope": 10764,
4384
3890
  "stateVariable": false,
4385
3891
  "storageLocation": "default",
4386
3892
  "type": "bytes32",
@@ -4393,12 +3899,12 @@
4393
3899
  "name": "bytes32",
4394
3900
  "type": "bytes32"
4395
3901
  },
4396
- "id": 10688,
3902
+ "id": 10751,
4397
3903
  "name": "ElementaryTypeName",
4398
3904
  "src": "2545:7:21"
4399
3905
  }
4400
3906
  ],
4401
- "id": 10689,
3907
+ "id": 10752,
4402
3908
  "name": "VariableDeclaration",
4403
3909
  "src": "2545:10:21"
4404
3910
  },
@@ -4406,7 +3912,7 @@
4406
3912
  "attributes": {
4407
3913
  "constant": false,
4408
3914
  "name": "_s",
4409
- "scope": 10732,
3915
+ "scope": 10764,
4410
3916
  "stateVariable": false,
4411
3917
  "storageLocation": "default",
4412
3918
  "type": "bytes32",
@@ -4419,17 +3925,17 @@
4419
3925
  "name": "bytes32",
4420
3926
  "type": "bytes32"
4421
3927
  },
4422
- "id": 10690,
3928
+ "id": 10753,
4423
3929
  "name": "ElementaryTypeName",
4424
3930
  "src": "2557:7:21"
4425
3931
  }
4426
3932
  ],
4427
- "id": 10691,
3933
+ "id": 10754,
4428
3934
  "name": "VariableDeclaration",
4429
3935
  "src": "2557:10:21"
4430
3936
  }
4431
3937
  ],
4432
- "id": 10692,
3938
+ "id": 10755,
4433
3939
  "name": "ParameterList",
4434
3940
  "src": "2462:106:21"
4435
3941
  },
@@ -4440,536 +3946,12 @@
4440
3946
  ]
4441
3947
  },
4442
3948
  "children": [],
4443
- "id": 10693,
3949
+ "id": 10756,
4444
3950
  "name": "ParameterList",
4445
3951
  "src": "2578:0:21"
4446
3952
  },
4447
3953
  {
4448
3954
  "children": [
4449
- {
4450
- "attributes": {
4451
- "assignments": [
4452
- 10695
4453
- ]
4454
- },
4455
- "children": [
4456
- {
4457
- "attributes": {
4458
- "constant": false,
4459
- "name": "payloadHash",
4460
- "scope": 10731,
4461
- "stateVariable": false,
4462
- "storageLocation": "default",
4463
- "type": "bytes32",
4464
- "value": null,
4465
- "visibility": "internal"
4466
- },
4467
- "children": [
4468
- {
4469
- "attributes": {
4470
- "name": "bytes32",
4471
- "type": "bytes32"
4472
- },
4473
- "id": 10694,
4474
- "name": "ElementaryTypeName",
4475
- "src": "2589:7:21"
4476
- }
4477
- ],
4478
- "id": 10695,
4479
- "name": "VariableDeclaration",
4480
- "src": "2589:19:21"
4481
- },
4482
- {
4483
- "attributes": {
4484
- "argumentTypes": null,
4485
- "isConstant": false,
4486
- "isLValue": false,
4487
- "isPure": false,
4488
- "isStructConstructorCall": false,
4489
- "lValueRequested": false,
4490
- "names": [
4491
- null
4492
- ],
4493
- "type": "bytes32",
4494
- "type_conversion": false
4495
- },
4496
- "children": [
4497
- {
4498
- "attributes": {
4499
- "argumentTypes": [
4500
- {
4501
- "typeIdentifier": "t_bytes_memory_ptr",
4502
- "typeString": "bytes memory"
4503
- }
4504
- ],
4505
- "overloadedDeclarations": [
4506
- null
4507
- ],
4508
- "referencedDeclaration": 11533,
4509
- "type": "function (bytes memory) pure returns (bytes32)",
4510
- "value": "keccak256"
4511
- },
4512
- "id": 10696,
4513
- "name": "Identifier",
4514
- "src": "2611:9:21"
4515
- },
4516
- {
4517
- "attributes": {
4518
- "argumentTypes": null,
4519
- "isConstant": false,
4520
- "isLValue": false,
4521
- "isPure": false,
4522
- "isStructConstructorCall": false,
4523
- "lValueRequested": false,
4524
- "names": [
4525
- null
4526
- ],
4527
- "type": "bytes memory",
4528
- "type_conversion": false
4529
- },
4530
- "children": [
4531
- {
4532
- "attributes": {
4533
- "argumentTypes": [
4534
- {
4535
- "typeIdentifier": "t_bytes32",
4536
- "typeString": "bytes32"
4537
- },
4538
- {
4539
- "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
4540
- "typeString": "literal_string \"L2toL1\""
4541
- }
4542
- ],
4543
- "isConstant": false,
4544
- "isLValue": false,
4545
- "isPure": true,
4546
- "lValueRequested": false,
4547
- "member_name": "encode",
4548
- "referencedDeclaration": null,
4549
- "type": "function () pure returns (bytes memory)"
4550
- },
4551
- "children": [
4552
- {
4553
- "attributes": {
4554
- "argumentTypes": null,
4555
- "overloadedDeclarations": [
4556
- null
4557
- ],
4558
- "referencedDeclaration": 11526,
4559
- "type": "abi",
4560
- "value": "abi"
4561
- },
4562
- "id": 10697,
4563
- "name": "Identifier",
4564
- "src": "2621:3:21"
4565
- }
4566
- ],
4567
- "id": 10698,
4568
- "name": "MemberAccess",
4569
- "src": "2621:10:21"
4570
- },
4571
- {
4572
- "attributes": {
4573
- "argumentTypes": null,
4574
- "overloadedDeclarations": [
4575
- null
4576
- ],
4577
- "referencedDeclaration": 10685,
4578
- "type": "bytes32",
4579
- "value": "_hashedMessage"
4580
- },
4581
- "id": 10699,
4582
- "name": "Identifier",
4583
- "src": "2632:14:21"
4584
- },
4585
- {
4586
- "attributes": {
4587
- "argumentTypes": null,
4588
- "hexvalue": "4c32746f4c31",
4589
- "isConstant": false,
4590
- "isLValue": false,
4591
- "isPure": true,
4592
- "lValueRequested": false,
4593
- "subdenomination": null,
4594
- "token": "string",
4595
- "type": "literal_string \"L2toL1\"",
4596
- "value": "L2toL1"
4597
- },
4598
- "id": 10700,
4599
- "name": "Literal",
4600
- "src": "2648:8:21"
4601
- }
4602
- ],
4603
- "id": 10701,
4604
- "name": "FunctionCall",
4605
- "src": "2621:36:21"
4606
- }
4607
- ],
4608
- "id": 10702,
4609
- "name": "FunctionCall",
4610
- "src": "2611:47:21"
4611
- }
4612
- ],
4613
- "id": 10703,
4614
- "name": "VariableDeclarationStatement",
4615
- "src": "2589:69:21"
4616
- },
4617
- {
4618
- "attributes": {
4619
- "assignments": [
4620
- 10705
4621
- ]
4622
- },
4623
- "children": [
4624
- {
4625
- "attributes": {
4626
- "constant": false,
4627
- "name": "messageHash",
4628
- "scope": 10731,
4629
- "stateVariable": false,
4630
- "storageLocation": "default",
4631
- "type": "bytes32",
4632
- "value": null,
4633
- "visibility": "internal"
4634
- },
4635
- "children": [
4636
- {
4637
- "attributes": {
4638
- "name": "bytes32",
4639
- "type": "bytes32"
4640
- },
4641
- "id": 10704,
4642
- "name": "ElementaryTypeName",
4643
- "src": "2669:7:21"
4644
- }
4645
- ],
4646
- "id": 10705,
4647
- "name": "VariableDeclaration",
4648
- "src": "2669:19:21"
4649
- },
4650
- {
4651
- "attributes": {
4652
- "argumentTypes": null,
4653
- "isConstant": false,
4654
- "isLValue": false,
4655
- "isPure": false,
4656
- "isStructConstructorCall": false,
4657
- "lValueRequested": false,
4658
- "names": [
4659
- null
4660
- ],
4661
- "type": "bytes32",
4662
- "type_conversion": false
4663
- },
4664
- "children": [
4665
- {
4666
- "attributes": {
4667
- "argumentTypes": [
4668
- {
4669
- "typeIdentifier": "t_bytes_memory_ptr",
4670
- "typeString": "bytes memory"
4671
- }
4672
- ],
4673
- "overloadedDeclarations": [
4674
- null
4675
- ],
4676
- "referencedDeclaration": 11533,
4677
- "type": "function (bytes memory) pure returns (bytes32)",
4678
- "value": "keccak256"
4679
- },
4680
- "id": 10706,
4681
- "name": "Identifier",
4682
- "src": "2691:9:21"
4683
- },
4684
- {
4685
- "attributes": {
4686
- "argumentTypes": null,
4687
- "isConstant": false,
4688
- "isLValue": false,
4689
- "isPure": false,
4690
- "isStructConstructorCall": false,
4691
- "lValueRequested": false,
4692
- "names": [
4693
- null
4694
- ],
4695
- "type": "bytes memory",
4696
- "type_conversion": false
4697
- },
4698
- "children": [
4699
- {
4700
- "attributes": {
4701
- "argumentTypes": [
4702
- {
4703
- "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
4704
- "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
4705
- },
4706
- {
4707
- "typeIdentifier": "t_bytes32",
4708
- "typeString": "bytes32"
4709
- }
4710
- ],
4711
- "isConstant": false,
4712
- "isLValue": false,
4713
- "isPure": true,
4714
- "lValueRequested": false,
4715
- "member_name": "encodePacked",
4716
- "referencedDeclaration": null,
4717
- "type": "function () pure returns (bytes memory)"
4718
- },
4719
- "children": [
4720
- {
4721
- "attributes": {
4722
- "argumentTypes": null,
4723
- "overloadedDeclarations": [
4724
- null
4725
- ],
4726
- "referencedDeclaration": 11526,
4727
- "type": "abi",
4728
- "value": "abi"
4729
- },
4730
- "id": 10707,
4731
- "name": "Identifier",
4732
- "src": "2701:3:21"
4733
- }
4734
- ],
4735
- "id": 10708,
4736
- "name": "MemberAccess",
4737
- "src": "2701:16:21"
4738
- },
4739
- {
4740
- "attributes": {
4741
- "argumentTypes": null,
4742
- "hexvalue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
4743
- "isConstant": false,
4744
- "isLValue": false,
4745
- "isPure": true,
4746
- "lValueRequested": false,
4747
- "subdenomination": null,
4748
- "token": "string",
4749
- "type": "literal_string \"\u0019Ethereum Signed Message:\n32\"",
4750
- "value": "\u0019Ethereum Signed Message:\n32"
4751
- },
4752
- "id": 10709,
4753
- "name": "Literal",
4754
- "src": "2718:34:21"
4755
- },
4756
- {
4757
- "attributes": {
4758
- "argumentTypes": null,
4759
- "overloadedDeclarations": [
4760
- null
4761
- ],
4762
- "referencedDeclaration": 10695,
4763
- "type": "bytes32",
4764
- "value": "payloadHash"
4765
- },
4766
- "id": 10710,
4767
- "name": "Identifier",
4768
- "src": "2754:11:21"
4769
- }
4770
- ],
4771
- "id": 10711,
4772
- "name": "FunctionCall",
4773
- "src": "2701:65:21"
4774
- }
4775
- ],
4776
- "id": 10712,
4777
- "name": "FunctionCall",
4778
- "src": "2691:76:21"
4779
- }
4780
- ],
4781
- "id": 10713,
4782
- "name": "VariableDeclarationStatement",
4783
- "src": "2669:98:21"
4784
- },
4785
- {
4786
- "children": [
4787
- {
4788
- "attributes": {
4789
- "argumentTypes": null,
4790
- "isConstant": false,
4791
- "isLValue": false,
4792
- "isPure": false,
4793
- "isStructConstructorCall": false,
4794
- "lValueRequested": false,
4795
- "names": [
4796
- null
4797
- ],
4798
- "type": "tuple()",
4799
- "type_conversion": false
4800
- },
4801
- "children": [
4802
- {
4803
- "attributes": {
4804
- "argumentTypes": [
4805
- {
4806
- "typeIdentifier": "t_bool",
4807
- "typeString": "bool"
4808
- }
4809
- ],
4810
- "overloadedDeclarations": [
4811
- 11542,
4812
- 11543
4813
- ],
4814
- "referencedDeclaration": 11542,
4815
- "type": "function (bool) pure",
4816
- "value": "require"
4817
- },
4818
- "id": 10714,
4819
- "name": "Identifier",
4820
- "src": "2778:7:21"
4821
- },
4822
- {
4823
- "attributes": {
4824
- "argumentTypes": null,
4825
- "commonType": {
4826
- "typeIdentifier": "t_address",
4827
- "typeString": "address"
4828
- },
4829
- "isConstant": false,
4830
- "isLValue": false,
4831
- "isPure": false,
4832
- "lValueRequested": false,
4833
- "operator": "==",
4834
- "type": "bool"
4835
- },
4836
- "children": [
4837
- {
4838
- "attributes": {
4839
- "argumentTypes": null,
4840
- "isConstant": false,
4841
- "isLValue": false,
4842
- "isPure": false,
4843
- "isStructConstructorCall": false,
4844
- "lValueRequested": false,
4845
- "names": [
4846
- null
4847
- ],
4848
- "type": "address",
4849
- "type_conversion": false
4850
- },
4851
- "children": [
4852
- {
4853
- "attributes": {
4854
- "argumentTypes": [
4855
- {
4856
- "typeIdentifier": "t_bytes32",
4857
- "typeString": "bytes32"
4858
- },
4859
- {
4860
- "typeIdentifier": "t_uint8",
4861
- "typeString": "uint8"
4862
- },
4863
- {
4864
- "typeIdentifier": "t_bytes32",
4865
- "typeString": "bytes32"
4866
- },
4867
- {
4868
- "typeIdentifier": "t_bytes32",
4869
- "typeString": "bytes32"
4870
- }
4871
- ],
4872
- "overloadedDeclarations": [
4873
- null
4874
- ],
4875
- "referencedDeclaration": 11531,
4876
- "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)",
4877
- "value": "ecrecover"
4878
- },
4879
- "id": 10715,
4880
- "name": "Identifier",
4881
- "src": "2786:9:21"
4882
- },
4883
- {
4884
- "attributes": {
4885
- "argumentTypes": null,
4886
- "overloadedDeclarations": [
4887
- null
4888
- ],
4889
- "referencedDeclaration": 10705,
4890
- "type": "bytes32",
4891
- "value": "messageHash"
4892
- },
4893
- "id": 10716,
4894
- "name": "Identifier",
4895
- "src": "2796:11:21"
4896
- },
4897
- {
4898
- "attributes": {
4899
- "argumentTypes": null,
4900
- "overloadedDeclarations": [
4901
- null
4902
- ],
4903
- "referencedDeclaration": 10687,
4904
- "type": "uint8",
4905
- "value": "_v"
4906
- },
4907
- "id": 10717,
4908
- "name": "Identifier",
4909
- "src": "2809:2:21"
4910
- },
4911
- {
4912
- "attributes": {
4913
- "argumentTypes": null,
4914
- "overloadedDeclarations": [
4915
- null
4916
- ],
4917
- "referencedDeclaration": 10689,
4918
- "type": "bytes32",
4919
- "value": "_r"
4920
- },
4921
- "id": 10718,
4922
- "name": "Identifier",
4923
- "src": "2813:2:21"
4924
- },
4925
- {
4926
- "attributes": {
4927
- "argumentTypes": null,
4928
- "overloadedDeclarations": [
4929
- null
4930
- ],
4931
- "referencedDeclaration": 10691,
4932
- "type": "bytes32",
4933
- "value": "_s"
4934
- },
4935
- "id": 10719,
4936
- "name": "Identifier",
4937
- "src": "2817:2:21"
4938
- }
4939
- ],
4940
- "id": 10720,
4941
- "name": "FunctionCall",
4942
- "src": "2786:34:21"
4943
- },
4944
- {
4945
- "attributes": {
4946
- "argumentTypes": null,
4947
- "overloadedDeclarations": [
4948
- null
4949
- ],
4950
- "referencedDeclaration": 10578,
4951
- "type": "address",
4952
- "value": "bridge"
4953
- },
4954
- "id": 10721,
4955
- "name": "Identifier",
4956
- "src": "2823:6:21"
4957
- }
4958
- ],
4959
- "id": 10722,
4960
- "name": "BinaryOperation",
4961
- "src": "2786:43:21"
4962
- }
4963
- ],
4964
- "id": 10723,
4965
- "name": "FunctionCall",
4966
- "src": "2778:52:21"
4967
- }
4968
- ],
4969
- "id": 10724,
4970
- "name": "ExpressionStatement",
4971
- "src": "2778:52:21"
4972
- },
4973
3955
  {
4974
3956
  "children": [
4975
3957
  {
@@ -5010,9 +3992,9 @@
5010
3992
  "type": "function (address,address,uint256)",
5011
3993
  "value": "_approve"
5012
3994
  },
5013
- "id": 10725,
3995
+ "id": 10757,
5014
3996
  "name": "Identifier",
5015
- "src": "2841:8:21"
3997
+ "src": "2847:8:21"
5016
3998
  },
5017
3999
  {
5018
4000
  "attributes": {
@@ -5020,13 +4002,13 @@
5020
4002
  "overloadedDeclarations": [
5021
4003
  null
5022
4004
  ],
5023
- "referencedDeclaration": 10679,
4005
+ "referencedDeclaration": 10742,
5024
4006
  "type": "address",
5025
4007
  "value": "owner"
5026
4008
  },
5027
- "id": 10726,
4009
+ "id": 10758,
5028
4010
  "name": "Identifier",
5029
- "src": "2850:5:21"
4011
+ "src": "2856:5:21"
5030
4012
  },
5031
4013
  {
5032
4014
  "attributes": {
@@ -5034,13 +4016,13 @@
5034
4016
  "overloadedDeclarations": [
5035
4017
  null
5036
4018
  ],
5037
- "referencedDeclaration": 10681,
4019
+ "referencedDeclaration": 10744,
5038
4020
  "type": "address",
5039
4021
  "value": "spender"
5040
4022
  },
5041
- "id": 10727,
4023
+ "id": 10759,
5042
4024
  "name": "Identifier",
5043
- "src": "2857:7:21"
4025
+ "src": "2863:7:21"
5044
4026
  },
5045
4027
  {
5046
4028
  "attributes": {
@@ -5048,43 +4030,43 @@
5048
4030
  "overloadedDeclarations": [
5049
4031
  null
5050
4032
  ],
5051
- "referencedDeclaration": 10683,
4033
+ "referencedDeclaration": 10746,
5052
4034
  "type": "uint256",
5053
4035
  "value": "amount"
5054
4036
  },
5055
- "id": 10728,
4037
+ "id": 10760,
5056
4038
  "name": "Identifier",
5057
- "src": "2866:6:21"
4039
+ "src": "2872:6:21"
5058
4040
  }
5059
4041
  ],
5060
- "id": 10729,
4042
+ "id": 10761,
5061
4043
  "name": "FunctionCall",
5062
- "src": "2841:32:21"
4044
+ "src": "2847:32:21"
5063
4045
  }
5064
4046
  ],
5065
- "id": 10730,
4047
+ "id": 10762,
5066
4048
  "name": "ExpressionStatement",
5067
- "src": "2841:32:21"
4049
+ "src": "2847:32:21"
5068
4050
  }
5069
4051
  ],
5070
- "id": 10731,
4052
+ "id": 10763,
5071
4053
  "name": "Block",
5072
- "src": "2578:303:21"
4054
+ "src": "2578:309:21"
5073
4055
  }
5074
4056
  ],
5075
- "id": 10732,
4057
+ "id": 10764,
5076
4058
  "name": "FunctionDefinition",
5077
- "src": "2441:440:21"
4059
+ "src": "2441:446:21"
5078
4060
  }
5079
4061
  ],
5080
- "id": 10733,
4062
+ "id": 10765,
5081
4063
  "name": "ContractDefinition",
5082
- "src": "340:2546:21"
4064
+ "src": "340:2552:21"
5083
4065
  }
5084
4066
  ],
5085
- "id": 10734,
4067
+ "id": 10766,
5086
4068
  "name": "SourceUnit",
5087
- "src": "106:2784:21"
4069
+ "src": "106:2790:21"
5088
4070
  },
5089
4071
  "compiler": {
5090
4072
  "name": "solc",
@@ -5094,12 +4076,12 @@
5094
4076
  "5": {
5095
4077
  "events": {},
5096
4078
  "links": {},
5097
- "address": "0x9892B3200A52E5051ba991b8F70c286B53f6966d",
5098
- "transactionHash": "0xdf0e2ec577325001db12a292ac159904284f1f4c7242de333b00f171c8affdc2"
4079
+ "address": "0xd31b01309C493cc6fFf5fdbe6C8949c4BA7465d3",
4080
+ "transactionHash": "0x85dfc90e0664cb341f5062e14fd12486ad3c98c823d9145b75014dc6d65fa498"
5099
4081
  }
5100
4082
  },
5101
4083
  "schemaVersion": "3.4.3",
5102
- "updatedAt": "2022-12-06T05:41:00.669Z",
4084
+ "updatedAt": "2022-12-30T10:47:39.296Z",
5103
4085
  "networkType": "ethereum",
5104
4086
  "devdoc": {
5105
4087
  "methods": {