From a2005c9345103effd43f24da50ec2631b733d34f Mon Sep 17 00:00:00 2001 From: Rahul Sethuram Date: Tue, 25 Jun 2024 14:11:30 +0400 Subject: [PATCH] feat: op deployment --- broadcast/Deploy.s.sol/10/run-1719308569.json | 146 ++++++++++++++++++ broadcast/Deploy.s.sol/10/run-latest.json | 146 ++++++++++++++++++ deploy-optimism.sh | 2 + foundry.toml | 1 + script/Deploy.s.sol | 15 +- script/DeployHelper.sol | 4 +- src/IonicToken.sol | 10 +- 7 files changed, 317 insertions(+), 7 deletions(-) create mode 100644 broadcast/Deploy.s.sol/10/run-1719308569.json create mode 100644 broadcast/Deploy.s.sol/10/run-latest.json create mode 100644 deploy-optimism.sh diff --git a/broadcast/Deploy.s.sol/10/run-1719308569.json b/broadcast/Deploy.s.sol/10/run-1719308569.json new file mode 100644 index 0000000..44f0031 --- /dev/null +++ b/broadcast/Deploy.s.sol/10/run-1719308569.json @@ -0,0 +1,146 @@ +{ + "transactions": [ + { + "hash": "0x2b02af209132555738c5348e1ee85a11a6975361a39e9612240102f0e25eba62", + "transactionType": "CREATE", + "contractName": "IonicToken", + "contractAddress": "0x5ff24c862957cfbbb615ac07cc2fbfaf878baff9", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "gas": "0x2bf24a", + "value": "0x0", + "input": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516126a562000104600039600081816110cb015281816110f4015261123501526126a56000f3fe6080604052600436106101d85760003560e01c806379ba509711610102578063a9059cbb11610095578063d505accf11610064578063d505accf14610608578063dd62ed3e14610628578063e30c397814610648578063f2fde38b1461065d57600080fd5b8063a9059cbb146104e2578063ad3cb1cc14610502578063c1eb713714610533578063ced67f0c1461056c57600080fd5b806395d89b41116100d157806395d89b411461046d578063998955d3146104825780639dc29fac146104a2578063a08d5654146104c257600080fd5b806379ba5097146103e35780637ecebe00146103f857806384b0196e146104185780638da5cb5b1461044057600080fd5b8063400ada751161017a57806352d1902d1161014957806352d1902d14610379578063651fd2681461038e57806370a08231146103ae578063715018a6146103ce57600080fd5b8063400ada751461030457806340c10f1914610326578063435350b7146103465780634f1ef2861461036657600080fd5b806318160ddd116101b657806318160ddd1461027f57806323b872dd146102b3578063313ce567146102d35780633644e515146102ef57600080fd5b806306fdde03146101dd578063095ea7b3146102085780630c05f82c14610238575b600080fd5b3480156101e957600080fd5b506101f261067d565b6040516101ff9190611f90565b60405180910390f35b34801561021457600080fd5b50610228610223366004611fbf565b610726565b60405190151581526020016101ff565b34801561024457600080fd5b50610271610253366004611fe9565b6001600160a01b031660009081526020819052604090206002015490565b6040519081526020016101ff565b34801561028b57600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254610271565b3480156102bf57600080fd5b506102286102ce366004612004565b610740565b3480156102df57600080fd5b50604051601281526020016101ff565b3480156102fb57600080fd5b50610271610766565b34801561031057600080fd5b5061032461031f366004612040565b610775565b005b34801561033257600080fd5b50610324610341366004611fbf565b61091f565b34801561035257600080fd5b50610324610361366004611fe9565b61092e565b610324610374366004612092565b610987565b34801561038557600080fd5b506102716109a2565b34801561039a57600080fd5b506102716103a9366004611fe9565b6109bf565b3480156103ba57600080fd5b506102716103c9366004611fe9565b6109f3565b3480156103da57600080fd5b50610324610a26565b3480156103ef57600080fd5b50610324610a3a565b34801561040457600080fd5b50610271610413366004611fe9565b610a82565b34801561042457600080fd5b5061042d610a8d565b6040516101ff9796959493929190612154565b34801561044c57600080fd5b50610455610b39565b6040516001600160a01b0390911681526020016101ff565b34801561047957600080fd5b506101f2610b6e565b34801561048e57600080fd5b5061027161049d366004611fe9565b610bad565b3480156104ae57600080fd5b506103246104bd366004611fbf565b610be4565b3480156104ce57600080fd5b506103246104dd3660046121ed565b610c0a565b3480156104ee57600080fd5b506102286104fd366004611fbf565b610cb2565b34801561050e57600080fd5b506101f2604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561053f57600080fd5b5061027161054e366004611fe9565b6001600160a01b031660009081526020819052604090206006015490565b34801561057857600080fd5b506105fa610587366004611fe9565b6000602081815291815260409081902081516080808201845282548252600183015482860152600283015482850152600383015460608084019190915284519182018552600484015482526005840154958201959095526006830154938101939093526007909101549282019290925282565b6040516101ff929190612220565b34801561061457600080fd5b5061032461062336600461226c565b610cc0565b34801561063457600080fd5b506102716106433660046122df565b610e19565b34801561065457600080fd5b50610455610e63565b34801561066957600080fd5b50610324610678366004611fe9565b610e8c565b606060006000805160206126108339815191525b90508060030180546106a290612312565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce90612312565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b505050505091505090565b600033610734818585610f11565b60019150505b92915050565b60003361074e858285610f23565b610759858585610f89565b60019150505b9392505050565b6000610770610fe8565b905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156107bb5750825b905060008267ffffffffffffffff1660011480156107d85750303b155b9050811580156107e6575080155b156108045760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561082e57845460ff60401b1916600160401b1785555b61087060405180604001604052806005815260200164496f6e696360d81b8152506040518060400160405280600381526020016224a7a760e91b815250610ff2565b61087987611004565b61089f60405180604001604052806005815260200164496f6e696360d81b815250611015565b6108a7611040565b85156108d0576108d0336108bd6012600a612446565b6108cb90633b9aca00612455565b611048565b831561091657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61092a33838361107e565b5050565b60405162461bcd60e51b8152602060048201526024808201527f4c6f636b626f78206e6f74206e656365737361727920666f722074686973207460448201526337b5b2b760e11b60648201526084015b60405180910390fd5b61098f6110c0565b61099882611165565b61092a828261116d565b60006109ac61122a565b5060008051602061265083398151915290565b6001600160a01b038116600090815260208190526040812060038101546002820154825460019093015461073a9390611273565b6000806000805160206126108339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b610a2e6112eb565b610a38600061131d565b565b3380610a44610e63565b6001600160a01b031614610a765760405163118cdaa760e01b81526001600160a01b038216600482015260240161097e565b610a7f8161131d565b50565b600061073a82611355565b600060608082808083816000805160206126308339815191528054909150158015610aba57506001810154155b610afe5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b604482015260640161097e565b610b0661137e565b610b0e6113bd565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace048054606091600080516020612610833981519152916106a290612312565b6001600160a01b038116600090815260208190526040812060078101546006820154600483015460059093015461073a9390611273565b336001600160a01b03831614610bff57610bff823383610f23565b61092a3383836113d5565b610c126112eb565b610c1f600260001961246c565b821180610c375750610c34600260001961246c565b81115b15610c555760405163f596480960e01b815260040160405180910390fd5b610c5f8383611417565b610c6983826114bb565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b600033610734818585610f89565b83421115610ce45760405163313c898160e11b81526004810185905260240161097e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d508c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610dab82611565565b90506000610dbb82878787611592565b9050896001600160a01b0316816001600160a01b031614610e02576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161097e565b610e0d8a8a8a610f11565b50505050505050505050565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610b5e565b610e946112eb565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255610ed8610b39565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b610f1e83838360016115c0565b505050565b6000610f2f8484610e19565b90506000198114610f835781811015610f7457604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161097e565b610f83848484840360006115c0565b50505050565b6001600160a01b038316610fb357604051634b637e8f60e11b81526000600482015260240161097e565b6001600160a01b038216610fdd5760405163ec442f0560e01b81526000600482015260240161097e565b610f1e8383836116a8565b60006107706117e6565b610ffa61185a565b61092a82826118a3565b61100c61185a565b610a7f816118f4565b61101d61185a565b610a7f81604051806040016040528060018152602001603160f81b815250611926565b610a3861185a565b6001600160a01b0382166110725760405163ec442f0560e01b81526000600482015260240161097e565b61092a600083836116a8565b6000611089846109bf565b9050818110156110ac576040516305b4215560e11b815260040160405180910390fd5b6110b68483611987565b610f838383611048565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061114757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661113b600080516020612650833981519152546001600160a01b031690565b6001600160a01b031614155b15610a385760405163703e46dd60e11b815260040160405180910390fd5b610a7f6112eb565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111c7575060408051601f3d908101601f191682019092526111c49181019061248e565b60015b6111ef57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161097e565b600080516020612650833981519152811461122057604051632a87526960e21b81526004810182905260240161097e565b610f1e83836119dd565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a385760405163703e46dd60e11b815260040160405180910390fd5b838381146112e3574261128962015180856124a7565b116112955750826112e3565b426112a362015180856124a7565b11156112e35760006112b584426124ba565b905060006112c38483612455565b6112cd90846124a7565b90508581116112dc57806112de565b855b925050505b949350505050565b336112f4610b39565b6001600160a01b031614610a385760405163118cdaa760e01b815233600482015260240161097e565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b031916815561092a82611a33565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610a06565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020612630833981519152916106a290612312565b60606000600080516020612630833981519152610691565b60006113e084610bad565b905081811015611403576040516305b4215560e11b815260040160405180910390fd5b61140d8483611aa4565b610f838383611afe565b6001600160a01b0382166000908152602081905260408120600201549061143d846109bf565b6001600160a01b03851660009081526020819052604090206002018490559050611468838383611b34565b6001600160a01b038516600090815260208190526040902060030155611491620151808461246c565b6001600160a01b039094166000908152602081905260409020600181019490945550504290915550565b6001600160a01b038216600090815260208190526040812060060154906114e184610bad565b6001600160a01b0385166000908152602081905260409020600601849055905061150c838383611b34565b6001600160a01b038516600090815260208190526040902060070155611535620151808461246c565b6001600160a01b039094166000908152602081905260409020600581019490945550504260049092019190915550565b600061073a611572610fe8565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806115a488888888611b8b565b9250925092506115b48282611c5a565b50909695505050505050565b6000805160206126108339815191526001600160a01b0385166115f95760405163e602df0560e01b81526000600482015260240161097e565b6001600160a01b03841661162357604051634a1406b160e11b81526000600482015260240161097e565b6001600160a01b038086166000908152600183016020908152604080832093881683529290522083905581156116a157836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161169891815260200190565b60405180910390a35b5050505050565b6000805160206126108339815191526001600160a01b0384166116e457818160020160008282546116d991906124a7565b909155506117569050565b6001600160a01b038416600090815260208290526040902054828110156117375760405163391434e360e21b81526001600160a01b0386166004820152602481018290526044810184905260640161097e565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316611774576002810180548390039055611793565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d891815260200190565b60405180910390a350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611811611d13565b611819611d7d565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610a3857604051631afcd79f60e31b815260040160405180910390fd5b6118ab61185a565b6000805160206126108339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace036118e5848261251d565b5060048101610f83838261251d565b6118fc61185a565b6001600160a01b038116610a7657604051631e4fbdf760e01b81526000600482015260240161097e565b61192e61185a565b6000805160206126308339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102611968848261251d565b5060038101611977838261251d565b5060008082556001909101555050565b6000611992836109bf565b6001600160a01b038416600090815260208190526040902042905590506119b982826124ba565b6001600160a01b039093166000908152602081905260409020600301929092555050565b6119e682611dc1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611a2b57610f1e8282611e26565b61092a611e9c565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000611aaf83610bad565b6001600160a01b0384166000908152602081905260409020426004909101559050611ada82826124ba565b6001600160a01b039093166000908152602081905260409020600701929092555050565b6001600160a01b038216611b2857604051634b637e8f60e11b81526000600482015260240161097e565b61092a826000836116a8565b60008084841115611b6a57611b4985856124ba565b9050808311611b59576000611b63565b611b6381846124ba565b9150611b83565b611b7484866124ba565b9050611b8081846124a7565b91505b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611bc65750600091506003905082611c50565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611c1a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c4657506000925060019150829050611c50565b9250600091508190505b9450945094915050565b6000826003811115611c6e57611c6e6125dd565b03611c77575050565b6001826003811115611c8b57611c8b6125dd565b03611ca95760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611cbd57611cbd6125dd565b03611cde5760405163fce698f760e01b81526004810182905260240161097e565b6003826003811115611cf257611cf26125dd565b0361092a576040516335e2f38360e21b81526004810182905260240161097e565b600060008051602061263083398151915281611d2d61137e565b805190915015611d4557805160209091012092915050565b81548015611d54579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b600060008051602061263083398151915281611d976113bd565b805190915015611daf57805160209091012092915050565b60018201548015611d54579392505050565b806001600160a01b03163b600003611df757604051634c9c8ce360e01b81526001600160a01b038216600482015260240161097e565b60008051602061265083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e4391906125f3565b600060405180830381855af49150503d8060008114611e7e576040519150601f19603f3d011682016040523d82523d6000602084013e611e83565b606091505b5091509150611e93858383611ebb565b95945050505050565b3415610a385760405163b398979f60e01b815260040160405180910390fd5b606082611ed057611ecb82611f17565b61075f565b8151158015611ee757506001600160a01b0384163b155b15611f1057604051639996b31560e01b81526001600160a01b038516600482015260240161097e565b508061075f565b805115611f275780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015611f5b578181015183820152602001611f43565b50506000910152565b60008151808452611f7c816020860160208601611f40565b601f01601f19169290920160200192915050565b60208152600061075f6020830184611f64565b80356001600160a01b0381168114611fba57600080fd5b919050565b60008060408385031215611fd257600080fd5b611fdb83611fa3565b946020939093013593505050565b600060208284031215611ffb57600080fd5b61075f82611fa3565b60008060006060848603121561201957600080fd5b61202284611fa3565b925061203060208501611fa3565b9150604084013590509250925092565b6000806040838503121561205357600080fd5b61205c83611fa3565b91506020830135801515811461207157600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156120a557600080fd5b6120ae83611fa3565b9150602083013567ffffffffffffffff808211156120cb57600080fd5b818501915085601f8301126120df57600080fd5b8135818111156120f1576120f161207c565b604051601f8201601f19908116603f011681019083821181831017156121195761211961207c565b8160405282815288602084870101111561213257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60ff60f81b881681526000602060e0602084015261217560e084018a611f64565b8381036040850152612187818a611f64565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156121db578351835292840192918401916001016121bf565b50909c9b505050505050505050505050565b60008060006060848603121561220257600080fd5b61220b84611fa3565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e0820152610100810161075f565b600080600080600080600060e0888a03121561228757600080fd5b61229088611fa3565b965061229e60208901611fa3565b95506040880135945060608801359350608088013560ff811681146122c257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156122f257600080fd5b6122fb83611fa3565b915061230960208401611fa3565b90509250929050565b600181811c9082168061232657607f821691505b60208210810361234657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561239d5781600019048211156123835761238361234c565b8085161561239057918102915b93841c9390800290612367565b509250929050565b6000826123b45750600161073a565b816123c15750600061073a565b81600181146123d757600281146123e1576123fd565b600191505061073a565b60ff8411156123f2576123f261234c565b50506001821b61073a565b5060208310610133831016604e8410600b8410161715612420575081810a61073a565b61242a8383612362565b806000190482111561243e5761243e61234c565b029392505050565b600061075f60ff8416836123a5565b808202811582820484141761073a5761073a61234c565b60008261248957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156124a057600080fd5b5051919050565b8082018082111561073a5761073a61234c565b8181038181111561073a5761073a61234c565b601f821115610f1e576000816000526020600020601f850160051c810160208610156124f65750805b601f850160051c820191505b8181101561251557828155600101612502565b505050505050565b815167ffffffffffffffff8111156125375761253761207c565b61254b816125458454612312565b846124cd565b602080601f83116001811461258057600084156125685750858301515b600019600386901b1c1916600185901b178555612515565b600085815260208120601f198616915b828110156125af57888601518255948401946001909101908401612590565b50858210156125cd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b60008251612605818460208701611f40565b919091019291505056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d0237ce03cacdbe3643a09d7b39a6215b25df8d3652c99b199a42a4f40c6cbd464736f6c63430008170033", + "nonce": "0x98", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "function": null, + "arguments": [ + "0x5ff24c862957CFbBB615Ac07cc2FBfaf878BaFF9", + "0x400ada7500000000000000000000000003a376468888cee39fa23c234201ba704992e0300000000000000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "gas": "0x5872c", + "value": "0x0", + "input": "0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212204a8f281075b5dcc29d56f3fc59a13e6357640744c26909ed4ac7ebf578b2a05664736f6c634300081700330000000000000000000000005ff24c862957cfbbb615ac07cc2fbfaf878baff900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044400ada7500000000000000000000000003a376468888cee39fa23c234201ba704992e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x99", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x5a81ee", + "logs": [ + { + "address": "0x5ff24c862957cfbbb615ac07cc2fbfaf878baff9", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0x2b02af209132555738c5348e1ee85a11a6975361a39e9612240102f0e25eba62", + "transactionIndex": "0x7", + "logIndex": "0x60", + "removed": false + } + ], + "logsBloom": "0x000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a0000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2b02af209132555738c5348e1ee85a11a6975361a39e9612240102f0e25eba62", + "transactionIndex": "0x7", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "gasUsed": "0x21d08e", + "effectiveGasPrice": "0x3ad3a96", + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "to": null, + "contractAddress": "0x5ff24c862957cfbbb615ac07cc2fbfaf878baff9", + "l1Fee": "0x9ba01200ce", + "l1GasPrice": "0xb66a2431", + "l1GasUsed": "0x26fa4" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5ec2d4", + "logs": [ + { + "address": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000005ff24c862957cfbbb615ac07cc2fbfaf878baff9" + ], + "data": "0x", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "logIndex": "0x61", + "removed": false + }, + { + "address": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000003a376468888cee39fa23c234201ba704992e030" + ], + "data": "0x", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "logIndex": "0x62", + "removed": false + }, + { + "address": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "logIndex": "0x63", + "removed": false + } + ], + "logsBloom": "0x00200100000000000000000000000000400000000000400000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000001000000000000000000000000000000000010020000000000000000400800000000000000000000000000000000400000000000000000000800000000000000000000000080008000000000000000000000000000000000000000000000000000000000400000000000000000000000000020000000000000000000000000000000000004020000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "gasUsed": "0x440e6", + "effectiveGasPrice": "0x3ad3a96", + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "to": null, + "contractAddress": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "l1Fee": "0x12685faba6", + "l1GasPrice": "0xb66a2431", + "l1GasUsed": "0x49c4" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1719308569, + "chain": 10, + "commit": "a72628a" +} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/10/run-latest.json b/broadcast/Deploy.s.sol/10/run-latest.json new file mode 100644 index 0000000..44f0031 --- /dev/null +++ b/broadcast/Deploy.s.sol/10/run-latest.json @@ -0,0 +1,146 @@ +{ + "transactions": [ + { + "hash": "0x2b02af209132555738c5348e1ee85a11a6975361a39e9612240102f0e25eba62", + "transactionType": "CREATE", + "contractName": "IonicToken", + "contractAddress": "0x5ff24c862957cfbbb615ac07cc2fbfaf878baff9", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "gas": "0x2bf24a", + "value": "0x0", + "input": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516126a562000104600039600081816110cb015281816110f4015261123501526126a56000f3fe6080604052600436106101d85760003560e01c806379ba509711610102578063a9059cbb11610095578063d505accf11610064578063d505accf14610608578063dd62ed3e14610628578063e30c397814610648578063f2fde38b1461065d57600080fd5b8063a9059cbb146104e2578063ad3cb1cc14610502578063c1eb713714610533578063ced67f0c1461056c57600080fd5b806395d89b41116100d157806395d89b411461046d578063998955d3146104825780639dc29fac146104a2578063a08d5654146104c257600080fd5b806379ba5097146103e35780637ecebe00146103f857806384b0196e146104185780638da5cb5b1461044057600080fd5b8063400ada751161017a57806352d1902d1161014957806352d1902d14610379578063651fd2681461038e57806370a08231146103ae578063715018a6146103ce57600080fd5b8063400ada751461030457806340c10f1914610326578063435350b7146103465780634f1ef2861461036657600080fd5b806318160ddd116101b657806318160ddd1461027f57806323b872dd146102b3578063313ce567146102d35780633644e515146102ef57600080fd5b806306fdde03146101dd578063095ea7b3146102085780630c05f82c14610238575b600080fd5b3480156101e957600080fd5b506101f261067d565b6040516101ff9190611f90565b60405180910390f35b34801561021457600080fd5b50610228610223366004611fbf565b610726565b60405190151581526020016101ff565b34801561024457600080fd5b50610271610253366004611fe9565b6001600160a01b031660009081526020819052604090206002015490565b6040519081526020016101ff565b34801561028b57600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254610271565b3480156102bf57600080fd5b506102286102ce366004612004565b610740565b3480156102df57600080fd5b50604051601281526020016101ff565b3480156102fb57600080fd5b50610271610766565b34801561031057600080fd5b5061032461031f366004612040565b610775565b005b34801561033257600080fd5b50610324610341366004611fbf565b61091f565b34801561035257600080fd5b50610324610361366004611fe9565b61092e565b610324610374366004612092565b610987565b34801561038557600080fd5b506102716109a2565b34801561039a57600080fd5b506102716103a9366004611fe9565b6109bf565b3480156103ba57600080fd5b506102716103c9366004611fe9565b6109f3565b3480156103da57600080fd5b50610324610a26565b3480156103ef57600080fd5b50610324610a3a565b34801561040457600080fd5b50610271610413366004611fe9565b610a82565b34801561042457600080fd5b5061042d610a8d565b6040516101ff9796959493929190612154565b34801561044c57600080fd5b50610455610b39565b6040516001600160a01b0390911681526020016101ff565b34801561047957600080fd5b506101f2610b6e565b34801561048e57600080fd5b5061027161049d366004611fe9565b610bad565b3480156104ae57600080fd5b506103246104bd366004611fbf565b610be4565b3480156104ce57600080fd5b506103246104dd3660046121ed565b610c0a565b3480156104ee57600080fd5b506102286104fd366004611fbf565b610cb2565b34801561050e57600080fd5b506101f2604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561053f57600080fd5b5061027161054e366004611fe9565b6001600160a01b031660009081526020819052604090206006015490565b34801561057857600080fd5b506105fa610587366004611fe9565b6000602081815291815260409081902081516080808201845282548252600183015482860152600283015482850152600383015460608084019190915284519182018552600484015482526005840154958201959095526006830154938101939093526007909101549282019290925282565b6040516101ff929190612220565b34801561061457600080fd5b5061032461062336600461226c565b610cc0565b34801561063457600080fd5b506102716106433660046122df565b610e19565b34801561065457600080fd5b50610455610e63565b34801561066957600080fd5b50610324610678366004611fe9565b610e8c565b606060006000805160206126108339815191525b90508060030180546106a290612312565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce90612312565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b505050505091505090565b600033610734818585610f11565b60019150505b92915050565b60003361074e858285610f23565b610759858585610f89565b60019150505b9392505050565b6000610770610fe8565b905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156107bb5750825b905060008267ffffffffffffffff1660011480156107d85750303b155b9050811580156107e6575080155b156108045760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561082e57845460ff60401b1916600160401b1785555b61087060405180604001604052806005815260200164496f6e696360d81b8152506040518060400160405280600381526020016224a7a760e91b815250610ff2565b61087987611004565b61089f60405180604001604052806005815260200164496f6e696360d81b815250611015565b6108a7611040565b85156108d0576108d0336108bd6012600a612446565b6108cb90633b9aca00612455565b611048565b831561091657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61092a33838361107e565b5050565b60405162461bcd60e51b8152602060048201526024808201527f4c6f636b626f78206e6f74206e656365737361727920666f722074686973207460448201526337b5b2b760e11b60648201526084015b60405180910390fd5b61098f6110c0565b61099882611165565b61092a828261116d565b60006109ac61122a565b5060008051602061265083398151915290565b6001600160a01b038116600090815260208190526040812060038101546002820154825460019093015461073a9390611273565b6000806000805160206126108339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b610a2e6112eb565b610a38600061131d565b565b3380610a44610e63565b6001600160a01b031614610a765760405163118cdaa760e01b81526001600160a01b038216600482015260240161097e565b610a7f8161131d565b50565b600061073a82611355565b600060608082808083816000805160206126308339815191528054909150158015610aba57506001810154155b610afe5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b604482015260640161097e565b610b0661137e565b610b0e6113bd565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace048054606091600080516020612610833981519152916106a290612312565b6001600160a01b038116600090815260208190526040812060078101546006820154600483015460059093015461073a9390611273565b336001600160a01b03831614610bff57610bff823383610f23565b61092a3383836113d5565b610c126112eb565b610c1f600260001961246c565b821180610c375750610c34600260001961246c565b81115b15610c555760405163f596480960e01b815260040160405180910390fd5b610c5f8383611417565b610c6983826114bb565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b600033610734818585610f89565b83421115610ce45760405163313c898160e11b81526004810185905260240161097e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d508c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610dab82611565565b90506000610dbb82878787611592565b9050896001600160a01b0316816001600160a01b031614610e02576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161097e565b610e0d8a8a8a610f11565b50505050505050505050565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610b5e565b610e946112eb565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255610ed8610b39565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b610f1e83838360016115c0565b505050565b6000610f2f8484610e19565b90506000198114610f835781811015610f7457604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161097e565b610f83848484840360006115c0565b50505050565b6001600160a01b038316610fb357604051634b637e8f60e11b81526000600482015260240161097e565b6001600160a01b038216610fdd5760405163ec442f0560e01b81526000600482015260240161097e565b610f1e8383836116a8565b60006107706117e6565b610ffa61185a565b61092a82826118a3565b61100c61185a565b610a7f816118f4565b61101d61185a565b610a7f81604051806040016040528060018152602001603160f81b815250611926565b610a3861185a565b6001600160a01b0382166110725760405163ec442f0560e01b81526000600482015260240161097e565b61092a600083836116a8565b6000611089846109bf565b9050818110156110ac576040516305b4215560e11b815260040160405180910390fd5b6110b68483611987565b610f838383611048565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061114757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661113b600080516020612650833981519152546001600160a01b031690565b6001600160a01b031614155b15610a385760405163703e46dd60e11b815260040160405180910390fd5b610a7f6112eb565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111c7575060408051601f3d908101601f191682019092526111c49181019061248e565b60015b6111ef57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161097e565b600080516020612650833981519152811461122057604051632a87526960e21b81526004810182905260240161097e565b610f1e83836119dd565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a385760405163703e46dd60e11b815260040160405180910390fd5b838381146112e3574261128962015180856124a7565b116112955750826112e3565b426112a362015180856124a7565b11156112e35760006112b584426124ba565b905060006112c38483612455565b6112cd90846124a7565b90508581116112dc57806112de565b855b925050505b949350505050565b336112f4610b39565b6001600160a01b031614610a385760405163118cdaa760e01b815233600482015260240161097e565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b031916815561092a82611a33565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610a06565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020612630833981519152916106a290612312565b60606000600080516020612630833981519152610691565b60006113e084610bad565b905081811015611403576040516305b4215560e11b815260040160405180910390fd5b61140d8483611aa4565b610f838383611afe565b6001600160a01b0382166000908152602081905260408120600201549061143d846109bf565b6001600160a01b03851660009081526020819052604090206002018490559050611468838383611b34565b6001600160a01b038516600090815260208190526040902060030155611491620151808461246c565b6001600160a01b039094166000908152602081905260409020600181019490945550504290915550565b6001600160a01b038216600090815260208190526040812060060154906114e184610bad565b6001600160a01b0385166000908152602081905260409020600601849055905061150c838383611b34565b6001600160a01b038516600090815260208190526040902060070155611535620151808461246c565b6001600160a01b039094166000908152602081905260409020600581019490945550504260049092019190915550565b600061073a611572610fe8565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000806115a488888888611b8b565b9250925092506115b48282611c5a565b50909695505050505050565b6000805160206126108339815191526001600160a01b0385166115f95760405163e602df0560e01b81526000600482015260240161097e565b6001600160a01b03841661162357604051634a1406b160e11b81526000600482015260240161097e565b6001600160a01b038086166000908152600183016020908152604080832093881683529290522083905581156116a157836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161169891815260200190565b60405180910390a35b5050505050565b6000805160206126108339815191526001600160a01b0384166116e457818160020160008282546116d991906124a7565b909155506117569050565b6001600160a01b038416600090815260208290526040902054828110156117375760405163391434e360e21b81526001600160a01b0386166004820152602481018290526044810184905260640161097e565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316611774576002810180548390039055611793565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d891815260200190565b60405180910390a350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611811611d13565b611819611d7d565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610a3857604051631afcd79f60e31b815260040160405180910390fd5b6118ab61185a565b6000805160206126108339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace036118e5848261251d565b5060048101610f83838261251d565b6118fc61185a565b6001600160a01b038116610a7657604051631e4fbdf760e01b81526000600482015260240161097e565b61192e61185a565b6000805160206126308339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102611968848261251d565b5060038101611977838261251d565b5060008082556001909101555050565b6000611992836109bf565b6001600160a01b038416600090815260208190526040902042905590506119b982826124ba565b6001600160a01b039093166000908152602081905260409020600301929092555050565b6119e682611dc1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611a2b57610f1e8282611e26565b61092a611e9c565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000611aaf83610bad565b6001600160a01b0384166000908152602081905260409020426004909101559050611ada82826124ba565b6001600160a01b039093166000908152602081905260409020600701929092555050565b6001600160a01b038216611b2857604051634b637e8f60e11b81526000600482015260240161097e565b61092a826000836116a8565b60008084841115611b6a57611b4985856124ba565b9050808311611b59576000611b63565b611b6381846124ba565b9150611b83565b611b7484866124ba565b9050611b8081846124a7565b91505b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611bc65750600091506003905082611c50565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611c1a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c4657506000925060019150829050611c50565b9250600091508190505b9450945094915050565b6000826003811115611c6e57611c6e6125dd565b03611c77575050565b6001826003811115611c8b57611c8b6125dd565b03611ca95760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611cbd57611cbd6125dd565b03611cde5760405163fce698f760e01b81526004810182905260240161097e565b6003826003811115611cf257611cf26125dd565b0361092a576040516335e2f38360e21b81526004810182905260240161097e565b600060008051602061263083398151915281611d2d61137e565b805190915015611d4557805160209091012092915050565b81548015611d54579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b600060008051602061263083398151915281611d976113bd565b805190915015611daf57805160209091012092915050565b60018201548015611d54579392505050565b806001600160a01b03163b600003611df757604051634c9c8ce360e01b81526001600160a01b038216600482015260240161097e565b60008051602061265083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611e4391906125f3565b600060405180830381855af49150503d8060008114611e7e576040519150601f19603f3d011682016040523d82523d6000602084013e611e83565b606091505b5091509150611e93858383611ebb565b95945050505050565b3415610a385760405163b398979f60e01b815260040160405180910390fd5b606082611ed057611ecb82611f17565b61075f565b8151158015611ee757506001600160a01b0384163b155b15611f1057604051639996b31560e01b81526001600160a01b038516600482015260240161097e565b508061075f565b805115611f275780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015611f5b578181015183820152602001611f43565b50506000910152565b60008151808452611f7c816020860160208601611f40565b601f01601f19169290920160200192915050565b60208152600061075f6020830184611f64565b80356001600160a01b0381168114611fba57600080fd5b919050565b60008060408385031215611fd257600080fd5b611fdb83611fa3565b946020939093013593505050565b600060208284031215611ffb57600080fd5b61075f82611fa3565b60008060006060848603121561201957600080fd5b61202284611fa3565b925061203060208501611fa3565b9150604084013590509250925092565b6000806040838503121561205357600080fd5b61205c83611fa3565b91506020830135801515811461207157600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156120a557600080fd5b6120ae83611fa3565b9150602083013567ffffffffffffffff808211156120cb57600080fd5b818501915085601f8301126120df57600080fd5b8135818111156120f1576120f161207c565b604051601f8201601f19908116603f011681019083821181831017156121195761211961207c565b8160405282815288602084870101111561213257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60ff60f81b881681526000602060e0602084015261217560e084018a611f64565b8381036040850152612187818a611f64565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156121db578351835292840192918401916001016121bf565b50909c9b505050505050505050505050565b60008060006060848603121561220257600080fd5b61220b84611fa3565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e0820152610100810161075f565b600080600080600080600060e0888a03121561228757600080fd5b61229088611fa3565b965061229e60208901611fa3565b95506040880135945060608801359350608088013560ff811681146122c257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156122f257600080fd5b6122fb83611fa3565b915061230960208401611fa3565b90509250929050565b600181811c9082168061232657607f821691505b60208210810361234657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561239d5781600019048211156123835761238361234c565b8085161561239057918102915b93841c9390800290612367565b509250929050565b6000826123b45750600161073a565b816123c15750600061073a565b81600181146123d757600281146123e1576123fd565b600191505061073a565b60ff8411156123f2576123f261234c565b50506001821b61073a565b5060208310610133831016604e8410600b8410161715612420575081810a61073a565b61242a8383612362565b806000190482111561243e5761243e61234c565b029392505050565b600061075f60ff8416836123a5565b808202811582820484141761073a5761073a61234c565b60008261248957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156124a057600080fd5b5051919050565b8082018082111561073a5761073a61234c565b8181038181111561073a5761073a61234c565b601f821115610f1e576000816000526020600020601f850160051c810160208610156124f65750805b601f850160051c820191505b8181101561251557828155600101612502565b505050505050565b815167ffffffffffffffff8111156125375761253761207c565b61254b816125458454612312565b846124cd565b602080601f83116001811461258057600084156125685750858301515b600019600386901b1c1916600185901b178555612515565b600085815260208120601f198616915b828110156125af57888601518255948401946001909101908401612590565b50858210156125cd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b60008251612605818460208701611f40565b919091019291505056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d0237ce03cacdbe3643a09d7b39a6215b25df8d3652c99b199a42a4f40c6cbd464736f6c63430008170033", + "nonce": "0x98", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionType": "CREATE", + "contractName": "ERC1967Proxy", + "contractAddress": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "function": null, + "arguments": [ + "0x5ff24c862957CFbBB615Ac07cc2FBfaf878BaFF9", + "0x400ada7500000000000000000000000003a376468888cee39fa23c234201ba704992e0300000000000000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "gas": "0x5872c", + "value": "0x0", + "input": "0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212204a8f281075b5dcc29d56f3fc59a13e6357640744c26909ed4ac7ebf578b2a05664736f6c634300081700330000000000000000000000005ff24c862957cfbbb615ac07cc2fbfaf878baff900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044400ada7500000000000000000000000003a376468888cee39fa23c234201ba704992e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x99", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x5a81ee", + "logs": [ + { + "address": "0x5ff24c862957cfbbb615ac07cc2fbfaf878baff9", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0x2b02af209132555738c5348e1ee85a11a6975361a39e9612240102f0e25eba62", + "transactionIndex": "0x7", + "logIndex": "0x60", + "removed": false + } + ], + "logsBloom": "0x000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a0000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2b02af209132555738c5348e1ee85a11a6975361a39e9612240102f0e25eba62", + "transactionIndex": "0x7", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "gasUsed": "0x21d08e", + "effectiveGasPrice": "0x3ad3a96", + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "to": null, + "contractAddress": "0x5ff24c862957cfbbb615ac07cc2fbfaf878baff9", + "l1Fee": "0x9ba01200ce", + "l1GasPrice": "0xb66a2431", + "l1GasUsed": "0x26fa4" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5ec2d4", + "logs": [ + { + "address": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000005ff24c862957cfbbb615ac07cc2fbfaf878baff9" + ], + "data": "0x", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "logIndex": "0x61", + "removed": false + }, + { + "address": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000003a376468888cee39fa23c234201ba704992e030" + ], + "data": "0x", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "logIndex": "0x62", + "removed": false + }, + { + "address": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "logIndex": "0x63", + "removed": false + } + ], + "logsBloom": "0x00200100000000000000000000000000400000000000400000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000002000001000000000000000000000000000000000010020000000000000000400800000000000000000000000000000000400000000000000000000800000000000000000000000080008000000000000000000000000000000000000000000000000000000000400000000000000000000000000020000000000000000000000000000000000004020000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf89eebe1229fdebe3a486bf714b50cbb3477c8aa2e35ef09702d7d213b1d2278", + "transactionIndex": "0x8", + "blockHash": "0x9ddae2c1d4c19d1fc197c32f0b2e3858ee2bdb9d14010c4b1347b0231b2acbe6", + "blockNumber": "0x7435b9c", + "gasUsed": "0x440e6", + "effectiveGasPrice": "0x3ad3a96", + "from": "0x1155b614971f16758c92c4890ed338c9e3ede6b7", + "to": null, + "contractAddress": "0x887d1c6a4f3548279c2a8a9d0fa61b5d458d14fc", + "l1Fee": "0x12685faba6", + "l1GasPrice": "0xb66a2431", + "l1GasUsed": "0x49c4" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1719308569, + "chain": 10, + "commit": "a72628a" +} \ No newline at end of file diff --git a/deploy-optimism.sh b/deploy-optimism.sh new file mode 100644 index 0000000..d590ffc --- /dev/null +++ b/deploy-optimism.sh @@ -0,0 +1,2 @@ +source .env +forge script ./script/Deploy.s.sol --tc DeployOptimism --broadcast --ffi --json --rpc-url optimism --chain optimism --private-key $MODE_PRIVATE_KEY --verify -vvv diff --git a/foundry.toml b/foundry.toml index 4d9be75..23c99e7 100644 --- a/foundry.toml +++ b/foundry.toml @@ -11,3 +11,4 @@ solc_version = "0.8.23" [rpc_endpoints] mode = "https://mainnet.mode.network" base = "https://mainnet.base.org" +optimism = "https://mainnet.optimism.io" diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index c9b6004..f266a7d 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -10,7 +10,7 @@ contract DeployMode is Script, DeployHelper { function run() public { address multisig = 0x6EAC39BBe26f0d6Ab8DF0f974734D2228d4Da226; vm.startBroadcast(); - _deployImplementationAndProxy(multisig); + _deployImplementationAndProxy(multisig, true); vm.stopBroadcast(); } } @@ -21,7 +21,18 @@ contract DeployBase is Script, DeployHelper { function run() public { address multisig = 0x03A376468888cee39Fa23C234201Ba704992e030; vm.startBroadcast(); - _deployImplementationAndProxy(multisig); + _deployImplementationAndProxy(multisig, false); + vm.stopBroadcast(); + } +} + +contract DeployOptimism is Script, DeployHelper { + function setUp() public {} + + function run() public { + address multisig = 0x03A376468888cee39Fa23C234201Ba704992e030; + vm.startBroadcast(); + _deployImplementationAndProxy(multisig, false); vm.stopBroadcast(); } } diff --git a/script/DeployHelper.sol b/script/DeployHelper.sol index 096046e..5846996 100644 --- a/script/DeployHelper.sol +++ b/script/DeployHelper.sol @@ -8,11 +8,11 @@ import {ERC1967Utils} from "openzeppelin-contracts/contracts/proxy/ERC1967/ERC19 contract DeployHelper { IonicToken public token; - function _deployImplementationAndProxy(address owner) internal { + function _deployImplementationAndProxy(address owner, bool isCanonical) internal { // Deploy the proxy and initialize the contract through the proxy address proxy = Upgrades.deployUUPSProxy( "IonicToken.sol", - abi.encodeCall(IonicToken.initialize, (owner)) + abi.encodeCall(IonicToken.initialize, (owner, isCanonical)) ); token = IonicToken(proxy); } diff --git a/src/IonicToken.sol b/src/IonicToken.sol index 87646d5..2bc9ced 100644 --- a/src/IonicToken.sol +++ b/src/IonicToken.sol @@ -31,13 +31,17 @@ contract IonicToken is _disableInitializers(); } - function initialize(address initialOwner) public initializer { + function initialize( + address initialOwner, + bool isCanonical + ) public initializer { __ERC20_init("Ionic", "ION"); __Ownable_init(initialOwner); __ERC20Permit_init("Ionic"); __UUPSUpgradeable_init(); - - _mint(msg.sender, 1_000_000_000 * 10 ** decimals()); + if (isCanonical) { + _mint(msg.sender, 1_000_000_000 * 10 ** decimals()); + } } /// XERC20 SPECIFIC FUNCTIONALITY