2 txs
1.4k calls
constructor
No constructor.
functions
burnAddress
viewfunction burnAddress() view returns (address)
conversionRatio
viewfunction conversionRatio() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isNewTokenMintable
viewfunction isNewTokenMintable() view returns (bool)
isOldTokenBurnable
viewfunction isOldTokenBurnable() view returns (bool)
newToken
viewfunction newToken() view returns (address)
oldToken
viewfunction oldToken() view returns (address)
oldTokenPrecision
viewfunction oldTokenPrecision() view returns (uint256)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
clone
nonpayablefunction clone(address defaultAdmin) returns (address newInstance)
getClone
nonpayablefunction getClone() returns (address)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
payablefunction initialize(address _oldToken, address _newToken, uint256 _conversionRatio, bool _isOldTokenBurnable, bool _isNewTokenMintable, address _burnAddress) payable
migrateAllTokens
nonpayablefunction migrateAllTokens()
migrateTokens
nonpayablefunction migrateTokens(uint256 _amount)
pause
nonpayablefunction pause()
recoverTokens
nonpayablefunction recoverTokens(uint256 _amount)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDefaultAdmin
nonpayablefunction setDefaultAdmin(address initialAdmin)
unpause
nonpayablefunction unpause()
events
Cloned
event Cloned(address newInstance)
Initialized
event Initialized(address _oldToken, address _newToken, uint256 _conversionRatio, bool _isOldTokenBurnable, bool _isNewTokenMintable, address _burnAddress)
Migrated
event Migrated(address indexed user, address old_token, address new_token, uint256 old_amount, uint256 new_amount)
Paused
event Paused(address account)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Unpaused
event Unpaused(address account)
errors
AlreadyInitialized
error AlreadyInitialized()
AlreadyInitializedRBAC
error AlreadyInitializedRBAC()
MissingAllowance
error MissingAllowance(address token, uint256 allowance, uint256 amountNeeded)
MissingBurnAddress
error MissingBurnAddress()
MissingConversionRatio
error MissingConversionRatio()
MissingNewToken
error MissingNewToken()
MissingOldToken
error MissingOldToken()
NotEnoughBalance
error NotEnoughBalance(address token, uint256 balance, uint256 amountNeeded, address holder)
NotInitialized
error NotInitialized()
ZeroAmountOut
error ZeroAmountOut()
creation bytecode
0x60806040523480156200001157600080fd5b506200001d336200002e565b6001805461ff001916905562000110565b60015460ff16156200005357604051633f804c9760e01b815260040160405180910390fd5b620000606000826200006f565b506001805460ff191681179055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200010c576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000cb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611cb780620001206000396000f3fe60806040526004361061018b5760003560e01c80638124b78e116100d6578063b31c710a1161007f578063d0456b4e11610059578063d0456b4e14610455578063d547741f14610475578063f8f05b9d1461049557600080fd5b8063b31c710a146103f5578063c3a50ad81461041b578063c42bd05a1461043557600080fd5b806399632ff8116100b057806399632ff8146103ac578063a217fddf146103c1578063b29c28cf146103d657600080fd5b80638124b78e146103335780638456cb591461035357806391d148541461036857600080fd5b806333fca8b11161013857806348c356751161011257806348c35675146102dd5780635c975abb146102f057806370d5ae051461030d57600080fd5b806333fca8b11461029257806336568abe146102a85780633f4ba83a146102c857600080fd5b80632f2ff15d116101695780632f2ff15d146102255780632f49e6cc1461024557806330599fc51461027257600080fd5b806301ffc9a71461019057806315a41150146101c5578063248a9ca3146101e7575b600080fd5b34801561019c57600080fd5b506101b06101ab366004611877565b6104ab565b60405190151581526020015b60405180910390f35b3480156101d157600080fd5b506101e56101e03660046118bd565b610514565b005b3480156101f357600080fd5b506102176102023660046118d8565b60009081526020819052604090206001015490565b6040519081526020016101bc565b34801561023157600080fd5b506101e56102403660046118f1565b61056b565b34801561025157600080fd5b5061025a610595565b6040516001600160a01b0390911681526020016101bc565b34801561027e57600080fd5b506101e561028d3660046118d8565b6105a5565b34801561029e57600080fd5b5061021760035481565b3480156102b457600080fd5b506101e56102c33660046118f1565b6105db565b3480156102d457600080fd5b506101e561066c565b6101e56102eb36600461192b565b6106a1565b3480156102fc57600080fd5b50600154610100900460ff166101b0565b34801561031957600080fd5b5060055461025a906201000090046001600160a01b031681565b34801561033f57600080fd5b5061025a61034e3660046118bd565b6109c5565b34801561035f57600080fd5b506101e5610ade565b34801561037457600080fd5b506101b06103833660046118f1565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156103b857600080fd5b506101e5610b10565b3480156103cd57600080fd5b50610217600081565b3480156103e257600080fd5b506005546101b090610100900460ff1681565b34801561040157600080fd5b5060015461025a906201000090046001600160a01b031681565b34801561042757600080fd5b506005546101b09060ff1681565b34801561044157600080fd5b5060025461025a906001600160a01b031681565b34801561046157600080fd5b506101e56104703660046118d8565b610ba3565b34801561048157600080fd5b506101e56104903660046118f1565b610bdb565b3480156104a157600080fd5b5061021760045481565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061050e57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b60015460ff1615610551576040517f3f804c9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61055c600082610c00565b506001805460ff191681179055565b60008281526020819052604090206001015461058681610c9e565b6105908383610c00565b505050565b60006105a0336109c5565b905090565b60006105b081610c9e565b6002546001600160a01b03166105c7818430610ca8565b6105906001600160a01b0382163385610d79565b6001600160a01b038116331461065e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6106688282610e0a565b5050565b7f139c2898040ef16910dc9f44dc697df79363da767d8bc92f2e310312b816e46d61069681610c9e565b61069e610e89565b50565b60006106ac81610c9e565b6001546201000090046001600160a01b0316156106f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038716610735576040517fcdb9db6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038616610775576040517f37658b9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846000036107af576040517f32e03bb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b831580156107c457506001600160a01b038216155b156107fb576040517fe451a01600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805475ffffffffffffffffffffffffffffffffffffffff00001916620100006001600160a01b038a811691820292909217909255600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000169189169190911790556003869055604080517f313ce567000000000000000000000000000000000000000000000000000000008152905163313ce567916004808201926020929091908290030181865afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd919061199c565b6108e890600a611ab9565b6004556005805461ffff191685151561ff00191617610100851515021775ffffffffffffffffffffffffffffffffffffffff00001916620100006001600160a01b0385160217905561095a7f139c2898040ef16910dc9f44dc697df79363da767d8bc92f2e310312b816e46d33610c00565b604080516001600160a01b038981168252888116602083015281830188905286151560608301528515156080830152841660a082015290517f9e0407e1b3e60ea8069b119ae96c3d6bb009c5a404f38ac2b8cda2e47d5fb7c49181900360c00190a150505050505050565b6040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081523060601b601482018190527f5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000602883015260009160378184f06040516001600160a01b03821681529093507f783540fb4221a3238720dc7038937d0d79982bcf895274aa6ad179f82cf0d53c915060200160405180910390a16040517f15a411500000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528316906315a4115090602401600060405180830381600087803b158015610ac057600080fd5b505af1158015610ad4573d6000803e3d6000fd5b5050505050919050565b7f139c2898040ef16910dc9f44dc697df79363da767d8bc92f2e310312b816e46d610b0881610c9e565b61069e610edc565b610b18610f1b565b6001546040516370a0823160e01b8152336004820152620100009091046001600160a01b03169060009082906370a0823190602401602060405180830381865afa158015610b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8e9190611ac8565b9050610b9a8282610f65565b61066881611044565b610bab610f1b565b6001546201000090046001600160a01b0316610bc8818333610ca8565b610bd28183610f65565b61066882611044565b600082815260208190526040902060010154610bf681610c9e565b6105908383610e0a565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16610668576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610c5a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61069e813361127b565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908516906370a0823190602401602060405180830381865afa158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611ac8565b905082811015610d73576040517f8b6c33900000000000000000000000000000000000000000000000000000000081526001600160a01b038086166004830152602482018390526044820185905283166064820152608401610655565b50505050565b6040516001600160a01b0383166024820152604481018290526105909084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091526112ee565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1615610668576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610e916113d6565b6001805461ff00191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b610ee461142d565b6001805461ff0019166101001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ebf3390565b6001546201000090046001600160a01b0316610f63576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201526000906001600160a01b0384169063dd62ed3e90604401602060405180830381865afa158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef9190611ac8565b905081811015610590576040517f5c1f323c0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610655565b61104c61142d565b600154600554620100009091046001600160a01b03169060ff16156110e9576040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b038216906379cc679090604401600060405180830381600087803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b5050505061110c565b60055461110c906001600160a01b03838116913391620100009091041685611485565b60006004546003548461111f9190611ae1565b6111299190611af8565b905080600003611165576040517f4497be8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002546005546001600160a01b0390911690610100900460ff1615611202576040517f40c10f19000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b038216906340c10f1990604401600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b50505050611221565b61120d818330610ca8565b6112216001600160a01b0382163384610d79565b604080516001600160a01b038581168252831660208201529081018590526060810183905233907f86fd12901ac460f858197f11fd0dae33bec822f41cda3e7f4e0b46f3295b406e9060800160405180910390a250505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16610668576112ac816114d6565b6112b78360206114e8565b6040516020016112c8929190611b3e565b60408051601f198184030181529082905262461bcd60e51b825261065591600401611bbf565b6000611343826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116d09092919063ffffffff16565b90508051600014806113645750808060200190518101906113649190611bf2565b6105905760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610655565b600154610100900460ff16610f635760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610655565b600154610100900460ff1615610f635760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610655565b6040516001600160a01b0380851660248301528316604482015260648101829052610d739085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610dbe565b606061050e6001600160a01b03831660145b606060006114f7836002611ae1565b611502906002611c0f565b67ffffffffffffffff81111561151a5761151a611c22565b6040519080825280601f01601f191660200182016040528015611544576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061157b5761157b611c38565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106115c6576115c6611c38565b60200101906001600160f81b031916908160001a90535060006115ea846002611ae1565b6115f5906001611c0f565b90505b600181111561167a577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061163657611636611c38565b1a60f81b82828151811061164c5761164c611c38565b60200101906001600160f81b031916908160001a90535060049490941c9361167381611c4e565b90506115f8565b5083156116c95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610655565b9392505050565b60606116df84846000856116e7565b949350505050565b60608247101561175f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610655565b600080866001600160a01b0316858760405161177b9190611c65565b60006040518083038185875af1925050503d80600081146117b8576040519150601f19603f3d011682016040523d82523d6000602084013e6117bd565b606091505b50915091506117ce878383876117d9565b979650505050505050565b60608315611848578251600003611841576001600160a01b0385163b6118415760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610655565b50816116df565b6116df838381511561185d5781518083602001fd5b8060405162461bcd60e51b81526004016106559190611bbf565b60006020828403121561188957600080fd5b81356001600160e01b0319811681146116c957600080fd5b80356001600160a01b03811681146118b857600080fd5b919050565b6000602082840312156118cf57600080fd5b6116c9826118a1565b6000602082840312156118ea57600080fd5b5035919050565b6000806040838503121561190457600080fd5b82359150611914602084016118a1565b90509250929050565b801515811461069e57600080fd5b60008060008060008060c0878903121561194457600080fd5b61194d876118a1565b955061195b602088016118a1565b94506040870135935060608701356119728161191d565b925060808701356119828161191d565b915061199060a088016118a1565b90509295509295509295565b6000602082840312156119ae57600080fd5b815160ff811681146116c957600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a105781600019048211156119f6576119f66119bf565b80851615611a0357918102915b93841c93908002906119da565b509250929050565b600082611a275750600161050e565b81611a345750600061050e565b8160018114611a4a5760028114611a5457611a70565b600191505061050e565b60ff841115611a6557611a656119bf565b50506001821b61050e565b5060208310610133831016604e8410600b8410161715611a93575081810a61050e565b611a9d83836119d5565b8060001904821115611ab157611ab16119bf565b029392505050565b60006116c960ff841683611a18565b600060208284031215611ada57600080fd5b5051919050565b808202811582820484141761050e5761050e6119bf565b600082611b1557634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015611b35578181015183820152602001611b1d565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611b76816017850160208801611b1a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611bb3816028840160208801611b1a565b01602801949350505050565b6020815260008251806020840152611bde816040850160208701611b1a565b601f01601f19169190910160400192915050565b600060208284031215611c0457600080fd5b81516116c98161191d565b8082018082111561050e5761050e6119bf565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611c5d57611c5d6119bf565b506000190190565b60008251611c77818460208701611b1a565b919091019291505056fea2646970667358221220d61e496d625c5df1309a81fe1819fa0f98c2201086fb3c5118f8c5bfcd9e53c164736f6c63430008180033