18 txs
126 calls
constructor
constructor(string name, string symbol, address _bridge, uint256 _targetId, address _owner, uint32 _fee, uint256 _feeThreshold, address _feeReceiver, address[] _toAdd)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
BRIDGE
viewfunction BRIDGE() view returns (address)
collectedFees
viewfunction collectedFees() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
fee
viewfunction fee() view returns (uint32)
feeReceiver
viewfunction feeReceiver() view returns (address)
feeThreshold
viewfunction feeThreshold() view returns (uint256)
isPayFee
viewfunction isPayFee(address) view returns (bool)
name
viewfunction name() view returns (string)
ODYSSEY_ID
viewfunction ODYSSEY_ID() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
checkAndSendFees
nonpayablefunction checkAndSendFees()
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
mint
nonpayablefunction mint(address to, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setFee
nonpayablefunction setFee(uint32 _fee)
setFeeReceiver
nonpayablefunction setFeeReceiver(address _feeReceiver)
setFeeThreshold
nonpayablefunction setFeeThreshold(uint256 _feeThreshold)
setPayFeeList
nonpayablefunction setPayFeeList(address account, bool add)
setPayFeeListBatch
nonpayablefunction setPayFeeListBatch(address[] accounts, bool add)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawNative
nonpayablefunction withdrawNative(uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
FeeReceiverUpdated
event FeeReceiverUpdated(address newFeeReceiver)
FeesSentToBridge
event FeesSentToBridge(address indexed receiver, uint256 amount)
FeeThresholdUpdated
event FeeThresholdUpdated(uint256 newFeeThreshold)
FeeUpdated
event FeeUpdated(uint256 newFee)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PayFeeListUpdated
event PayFeeListUpdated(address account, bool isPayFee)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
BalanceUnderflow
error BalanceUnderflow()
FeeTooBig
error FeeTooBig()
OnlyBridge
error OnlyBridge()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60c06040523480156200001157600080fd5b50604051620023f9380380620023f98339810160408190526200003491620004f9565b8888600362000044838262000677565b50600462000053828262000677565b505050620000706200006a6200012e60201b60201c565b62000132565b6001600160a01b038716620000985760405163d92e233d60e01b815260040160405180910390fd5b600a54620186a063ffffffff9091161115620000c75760405163f6f3292b60e01b815260040160405180910390fd5b6001600160a01b0380881660805260a0879052600a80546008869055918416640100000000026001600160c01b031990921663ffffffff871617919091179055620001148160016200015c565b6200011f8562000132565b50505050505050505062000781565b3390565b600680546001600160a01b03191690556200015981620002a0602090811b62000fdd17901c565b50565b62000166620002f2565b60005b82518110156200029b5760006001600160a01b031683828151811062000193576200019362000743565b60200260200101516001600160a01b031603620001c35760405163d92e233d60e01b815260040160405180910390fd5b8160076000858481518110620001dd57620001dd62000743565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f2ca138ad4d01ba4ec02f9a30658ac608564a61b94deb8987cc04e5a51d3113dc83828151811062000252576200025262000743565b602002602001015183604051620002809291906001600160a01b039290921682521515602082015260400190565b60405180910390a1620002938162000759565b905062000169565b505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620003515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000394576200039462000353565b604052919050565b600082601f830112620003ae57600080fd5b81516001600160401b03811115620003ca57620003ca62000353565b6020620003e0601f8301601f1916820162000369565b8281528582848701011115620003f557600080fd5b60005b8381101562000415578581018301518282018401528201620003f8565b506000928101909101919091529392505050565b6001600160a01b03811681146200015957600080fd5b80516200044c8162000429565b919050565b805163ffffffff811681146200044c57600080fd5b600082601f8301126200047857600080fd5b815160206001600160401b0382111562000496576200049662000353565b8160051b620004a782820162000369565b9283528481018201928281019087851115620004c257600080fd5b83870192505b84831015620004ee578251620004de8162000429565b82529183019190830190620004c8565b979650505050505050565b60008060008060008060008060006101208a8c0312156200051957600080fd5b89516001600160401b03808211156200053157600080fd5b6200053f8d838e016200039c565b9a5060208c01519150808211156200055657600080fd5b620005648d838e016200039c565b99506200057460408d016200043f565b985060608c015197506200058b60808d016200043f565b96506200059b60a08d0162000451565b955060c08c01519450620005b260e08d016200043f565b93506101008c0151915080821115620005ca57600080fd5b50620005d98c828d0162000466565b9150509295985092959850929598565b600181811c90821680620005fe57607f821691505b6020821081036200061f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029b57600081815260208120601f850160051c810160208610156200064e5750805b601f850160051c820191505b818110156200066f578281556001016200065a565b505050505050565b81516001600160401b0381111562000693576200069362000353565b620006ab81620006a48454620005e9565b8462000625565b602080601f831160018114620006e35760008415620006ca5750858301515b600019600386901b1c1916600185901b1785556200066f565b600085815260208120601f198616915b828110156200071457888601518255948401946001909101908401620006f3565b5085821015620007335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6000600182016200077a57634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611c0c620007ed600039600081816103720152818161140301526115320152600081816105e101528181610799015281816108c90152818161090101528181610ae201528181610b39015281816113d50152818161142401526115960152611c0c6000f3fe6080604052600436106101e75760003560e01c806384276d8111610102578063cb4e162b11610095578063ec1636b811610064578063ec1636b8146105af578063ee9a31a2146105cf578063efdcd97414610603578063f2fde38b1461062357600080fd5b8063cb4e162b14610529578063dd62ed3e1461053f578063ddca3f431461055f578063e30c39781461059157600080fd5b806395d89b41116100d157806395d89b41146104ac578063a457c2d7146104c1578063a9059cbb146104e1578063b3f006741461050157600080fd5b806384276d81146104245780638badf648146104445780638da5cb5b146104645780639003adfe1461049657600080fd5b80633bf07fbb1161017a57806370a082311161014957806370a0823114610394578063715018a6146103ca5780637647231c146103df57806379ba50971461040f57600080fd5b80633bf07fbb1461030057806340c10f191461032057806342966c6814610340578063620e6f7e1461036057600080fd5b806323b872dd116101b657806323b872dd1461028f578063254ec206146102af578063313ce567146102c457806339509351146102e057600080fd5b806306fdde03146101f3578063095ea7b31461021e57806318160ddd1461024e5780631ab971ab1461026d57600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610643565b6040516102159190611853565b60405180910390f35b34801561022a57600080fd5b5061023e6102393660046118a2565b6106d5565b6040519015158152602001610215565b34801561025a57600080fd5b506002545b604051908152602001610215565b34801561027957600080fd5b5061028d6102883660046118cc565b6106ef565b005b34801561029b57600080fd5b5061023e6102aa3660046118f9565b610770565b3480156102bb57600080fd5b5061028d610872565b3480156102d057600080fd5b5060405160128152602001610215565b3480156102ec57600080fd5b5061023e6102fb3660046118a2565b610982565b34801561030c57600080fd5b5061028d61031b36600461195b565b6109a4565b34801561032c57600080fd5b5061028d61033b3660046118a2565b610ad7565b34801561034c57600080fd5b5061028d61035b366004611a32565b610b2e565b34801561036c57600080fd5b5061025f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a057600080fd5b5061025f6103af366004611a4b565b6001600160a01b031660009081526020819052604090205490565b3480156103d657600080fd5b5061028d610bb4565b3480156103eb57600080fd5b5061023e6103fa366004611a4b565b60076020526000908152604090205460ff1681565b34801561041b57600080fd5b5061028d610bc6565b34801561043057600080fd5b5061028d61043f366004611a32565b610c42565b34801561045057600080fd5b5061028d61045f366004611a66565b610cd8565b34801561047057600080fd5b506005546001600160a01b03165b6040516001600160a01b039091168152602001610215565b3480156104a257600080fd5b5061025f60095481565b3480156104b857600080fd5b50610208610d6a565b3480156104cd57600080fd5b5061023e6104dc3660046118a2565b610d79565b3480156104ed57600080fd5b5061023e6104fc3660046118a2565b610dff565b34801561050d57600080fd5b50600a5461047e9064010000000090046001600160a01b031681565b34801561053557600080fd5b5061025f60085481565b34801561054b57600080fd5b5061025f61055a366004611a99565b610e15565b34801561056b57600080fd5b50600a5461057c9063ffffffff1681565b60405163ffffffff9091168152602001610215565b34801561059d57600080fd5b506006546001600160a01b031661047e565b3480156105bb57600080fd5b5061028d6105ca366004611a32565b610e40565b3480156105db57600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061028d61061e366004611a4b565b610ee1565b34801561062f57600080fd5b5061028d61063e366004611a4b565b610f6c565b60606003805461065290611ac3565b80601f016020809104026020016040519081016040528092919081815260200182805461067e90611ac3565b80156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b5050505050905090565b6000336106e381858561102f565b60019150505b92915050565b6106f7611153565b620186a063ffffffff821611156107215760405163f6f3292b60e01b815260040160405180910390fd5b600a805463ffffffff191663ffffffff83169081179091556040519081527f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76906020015b60405180910390a150565b6001600160a01b0382166000908152600760205260408120543390829060ff1680156107ce57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b156107f857600a54620186a0906107eb9063ffffffff1686611b13565b6107f59190611b2a565b90505b856001600160a01b0316826001600160a01b03161461081c5761081c8683866111ad565b80156108455780600960008282546108349190611b4c565b909155506108459050863083611227565b61085986866108548488611b5f565b611227565b5050600a805460ff60c01b191690555060019392505050565b600a54600160c01b900460ff1661098057600854600954111561098057600a805460ff60c01b1916600160c01b17905560098054600091829055906108b56113d1565b9050804710156108c3575050565b6108ee307f00000000000000000000000000000000000000000000000000000000000000008461102f565b60006108f98261150e565b9050610927307f0000000000000000000000000000000000000000000000000000000000000000600061102f565b80610933575050600955565b600a546040518481526401000000009091046001600160a01b0316907f4886f43d296a081808168e3f52976afd64d388694c93a360da0b09141f6eb4d59060200160405180910390a25050505b565b6000336106e38185856109958383610e15565b61099f9190611b4c565b61102f565b6109ac611153565b60005b8251811015610ad25760006001600160a01b03168382815181106109d5576109d5611b72565b60200260200101516001600160a01b031603610a045760405163d92e233d60e01b815260040160405180910390fd5b8160076000858481518110610a1b57610a1b611b72565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f2ca138ad4d01ba4ec02f9a30658ac608564a61b94deb8987cc04e5a51d3113dc838281518110610a8d57610a8d611b72565b602002602001015183604051610aba9291906001600160a01b039290921682521515602082015260400190565b60405180910390a1610acb81611b88565b90506109af565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b20576040516338da3b1560e01b815260040160405180910390fd5b610b2a828261160e565b5050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b77576040516338da3b1560e01b815260040160405180910390fd5b33600090815260208190526040902054811115610ba7576040516305e72d3960e11b815260040160405180910390fd5b610bb133826116d5565b50565b610bbc611153565b610980600061180e565b60065433906001600160a01b03168114610c395760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b610bb18161180e565b610c4a611153565b604051600090339083908381818185875af1925050503d8060008114610c8c576040519150601f19603f3d011682016040523d82523d6000602084013e610c91565b606091505b5050905080610b2a5760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606401610c30565b610ce0611153565b6001600160a01b038216610d075760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216600081815260076020908152604091829020805460ff19168515159081179091558251938452908301527f2ca138ad4d01ba4ec02f9a30658ac608564a61b94deb8987cc04e5a51d3113dc910160405180910390a15050565b60606004805461065290611ac3565b60003381610d878286610e15565b905083811015610de75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c30565b610df4828686840361102f565b506001949350505050565b600033610e0d818585610770565b949350505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610e48611153565b670de0b6b3a7640000811015610eac5760405162461bcd60e51b8152602060048201526024808201527f5744494f4e45427269646765643a20466565207468726573686f6c6420746f6f604482015263206c6f7760e01b6064820152608401610c30565b60088190556040518181527f35a4d8a305f73f3354715f0ebc63d113a037bcb0e332f8d2af2efe1299a9b3f190602001610765565b610ee9611153565b6001600160a01b038116610f105760405163d92e233d60e01b815260040160405180910390fd5b600a8054640100000000600160c01b0319166401000000006001600160a01b038416908102919091179091556040519081527f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee90602001610765565b610f74611153565b600680546001600160a01b0383166001600160a01b03199091168117909155610fa56005546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166110915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c30565b6001600160a01b0382166110f25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c30565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b031633146109805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c30565b60006111b98484610e15565b9050600019811461122157818110156112145760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610c30565b611221848484840361102f565b50505050565b6001600160a01b03831661128b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c30565b6001600160a01b0382166112ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c30565b6001600160a01b038316600090815260208190526040902054818110156113655760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610c30565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611221848484611827565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662e1d8d07f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cab0071e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190611ba1565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190611ba1565b905090565b600a54600954604080516001600160a01b03640100000000909404841660248201527f000000000000000000000000000000000000000000000000000000000000000060448201523060648201526084808201939093528151808203909301835260a401815260208201805163f3f094a160e01b6001600160e01b03909116179052516000927f0000000000000000000000000000000000000000000000000000000000000000169184916115c39190611bba565b60006040518083038185875af1925050503d8060008114611600576040519150601f19603f3d011682016040523d82523d6000602084013e611605565b606091505b50909392505050565b6001600160a01b0382166116645760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610c30565b80600260008282546116769190611b4c565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b2a60008383611827565b6001600160a01b0382166117355760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c30565b6001600160a01b038216600090815260208190526040902054818110156117a95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c30565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610ad283600084611827565b600680546001600160a01b0319169055610bb181610fdd565b610ad2610872565b60005b8381101561184a578181015183820152602001611832565b50506000910152565b602081526000825180602084015261187281604085016020870161182f565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461189d57600080fd5b919050565b600080604083850312156118b557600080fd5b6118be83611886565b946020939093013593505050565b6000602082840312156118de57600080fd5b813563ffffffff811681146118f257600080fd5b9392505050565b60008060006060848603121561190e57600080fd5b61191784611886565b925061192560208501611886565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b8035801515811461189d57600080fd5b6000806040838503121561196e57600080fd5b823567ffffffffffffffff8082111561198657600080fd5b818501915085601f83011261199a57600080fd5b81356020828211156119ae576119ae611935565b8160051b604051601f19603f830116810181811086821117156119d3576119d3611935565b6040529283528183019350848101820192898411156119f157600080fd5b948201945b83861015611a1657611a0786611886565b855294820194938201936119f6565b9650611a25905087820161194b565b9450505050509250929050565b600060208284031215611a4457600080fd5b5035919050565b600060208284031215611a5d57600080fd5b6118f282611886565b60008060408385031215611a7957600080fd5b611a8283611886565b9150611a906020840161194b565b90509250929050565b60008060408385031215611aac57600080fd5b611ab583611886565b9150611a9060208401611886565b600181811c90821680611ad757607f821691505b602082108103611af757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106e9576106e9611afd565b600082611b4757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156106e9576106e9611afd565b818103818111156106e9576106e9611afd565b634e487b7160e01b600052603260045260246000fd5b600060018201611b9a57611b9a611afd565b5060010190565b600060208284031215611bb357600080fd5b5051919050565b60008251611bcc81846020870161182f565b919091019291505056fea2646970667358221220d7217e7e07c7ee29e8dd203c6989c03e3624d20bf9eea7cf2287e00f5debdc0b64736f6c6343000812003300000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000aa9ac8eefc41986f81a1f24bbaf4427c05bded6b0000000000000000000000000000000000000000000000000000000040000018000000000000000000000000ee9abfc488b240358b3f198c0fe6325ff5c7653500000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000a968163f0a57b400000000000000000000000000000ee9abfc488b240358b3f198c0fe6325ff5c7653500000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000065744494f4e45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065744494f4e4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000