From c861c216a6291fc23ff37618c5cc2dfa386a97c5 Mon Sep 17 00:00:00 2001 From: "app-token-issuer-infra-releng[bot]" <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:11:37 +0000 Subject: [PATCH] Update gethwrappers --- .../burn_mint_erc20/burn_mint_erc20.go | 573 ++++++++++++------ ...rapper-dependency-versions-do-not-edit.txt | 2 +- 2 files changed, 378 insertions(+), 197 deletions(-) diff --git a/core/gethwrappers/shared/generated/burn_mint_erc20/burn_mint_erc20.go b/core/gethwrappers/shared/generated/burn_mint_erc20/burn_mint_erc20.go index ee7afef4d6d..d82b8e26dc5 100644 --- a/core/gethwrappers/shared/generated/burn_mint_erc20/burn_mint_erc20.go +++ b/core/gethwrappers/shared/generated/burn_mint_erc20/burn_mint_erc20.go @@ -31,8 +31,8 @@ var ( ) var BurnMintERC20MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxSupply_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preMint\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CannotTransferToSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"supplyAfterMint\",\"type\":\"uint256\"}],\"name\":\"MaxSupplyExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeProposedOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCallableByOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderNotBurner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderNotMinter\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"BurnAccessGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"BurnAccessRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"CCIPAdminTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MintAccessGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MintAccessRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBurners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCCIPAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinters\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"grantBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"burnAndMinter\",\"type\":\"address\"}],\"name\":\"grantMintAndBurnRoles\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"grantMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"isBurner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"revokeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"revokeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"setCCIPAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60c06040523480156200001157600080fd5b50604051620022f0380380620022f0833981016040819052620000349162000469565b336000868660036200004783826200058d565b5060046200005682826200058d565b5050506001600160a01b0382166200008157604051639b15e16f60e01b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0384811691909117909155811615620000b457620000b48162000108565b505060ff831660805260a0829052600780546001600160a01b031916331790558015620000e757620000e7338262000184565b620000f2336200024a565b620000fd33620002a8565b50505050506200067b565b336001600160a01b038216036200013257604051636d6c4ee560e11b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b03838116918217909255600654604051919216907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b6001600160a01b038216620001df5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620001f3919062000659565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6200025462000304565b6200026160088262000332565b15620002a5576040516001600160a01b03821681527fe46fef8bbff1389d9010703cf8ebb363fb3daf5bf56edc27080b67bc8d9251ea906020015b60405180910390a15b50565b620002b262000304565b620002bf600a8262000332565b15620002a5576040516001600160a01b03821681527f92308bb7573b2a3d17ddb868b39d8ebec433f3194421abc22d084f89658c9bad906020016200029c565b505050565b6006546001600160a01b0316331462000330576040516315ae3a6f60e11b815260040160405180910390fd5b565b600062000349836001600160a01b03841662000352565b90505b92915050565b60008181526001830160205260408120546200039b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200034c565b5060006200034c565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620003cc57600080fd5b81516001600160401b0380821115620003e957620003e9620003a4565b604051601f8301601f19908116603f01168101908282118183101715620004145762000414620003a4565b816040528381526020925086838588010111156200043157600080fd5b600091505b8382101562000455578582018301518183018401529082019062000436565b600093810190920192909252949350505050565b600080600080600060a086880312156200048257600080fd5b85516001600160401b03808211156200049a57600080fd5b620004a889838a01620003ba565b96506020880151915080821115620004bf57600080fd5b50620004ce88828901620003ba565b945050604086015160ff81168114620004e657600080fd5b6060870151608090970151959894975095949392505050565b600181811c908216806200051457607f821691505b6020821081036200053557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002ff57600081815260208120601f850160051c81016020861015620005645750805b601f850160051c820191505b81811015620005855782815560010162000570565b505050505050565b81516001600160401b03811115620005a957620005a9620003a4565b620005c181620005ba8454620004ff565b846200053b565b602080601f831160018114620005f95760008415620005e05750858301515b600019600386901b1c1916600185901b17855562000585565b600085815260208120601f198616915b828110156200062a5788860151825594840194600190910190840162000609565b5085821015620006495787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200034c57634e487b7160e01b600052601160045260246000fd5b60805160a051611c41620006af600039600081816104970152818161083c01526108660152600061028c0152611c416000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806386fe8b431161012a578063aa271e1a116100bd578063d5abeb011161008c578063dd62ed3e11610071578063dd62ed3e146104ce578063f2fde38b14610514578063f81094f31461052757600080fd5b8063d5abeb0114610495578063d73dd623146104bb57600080fd5b8063aa271e1a14610449578063c2e3273d1461045c578063c630948d1461046f578063c64d0ebc1461048257600080fd5b80639dc29fac116100f95780639dc29fac146103fd578063a457c2d714610410578063a8fa343c14610423578063a9059cbb1461043657600080fd5b806386fe8b43146103905780638da5cb5b146103985780638fd6a6ac146103d757806395d89b41146103f557600080fd5b806342966c68116101a25780636b32810b116101715780636b32810b1461032a57806370a082311461033f57806379ba50971461037557806379cc67901461037d57600080fd5b806342966c68146102de5780634334614a146102f15780634f5632f814610304578063661884631461031757600080fd5b806323b872dd116101de57806323b872dd14610272578063313ce5671461028557806339509351146102b657806340c10f19146102c957600080fd5b806301ffc9a71461021057806306fdde0314610238578063095ea7b31461024d57806318160ddd14610260575b600080fd5b61022361021e366004611930565b61053a565b60405190151581526020015b60405180910390f35b6102406106b7565b60405161022f9190611972565b61022361025b366004611a07565b610749565b6002545b60405190815260200161022f565b610223610280366004611a31565b610761565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161022f565b6102236102c4366004611a07565b610785565b6102dc6102d7366004611a07565b6107d1565b005b6102dc6102ec366004611a6d565b6108f8565b6102236102ff366004611a86565b610945565b6102dc610312366004611a86565b610952565b610223610325366004611a07565b6109b7565b6103326109ca565b60405161022f9190611aa1565b61026461034d366004611a86565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102dc6109db565b6102dc61038b366004611a07565b610aac565b610332610afb565b60065473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022f565b60075473ffffffffffffffffffffffffffffffffffffffff166103b2565b610240610b07565b6102dc61040b366004611a07565b610b16565b61022361041e366004611a07565b610b20565b6102dc610431366004611a86565b610bf1565b610223610444366004611a07565b610c70565b610223610457366004611a86565b610c7e565b6102dc61046a366004611a86565b610c8b565b6102dc61047d366004611a86565b610ce9565b6102dc610490366004611a86565b610cf7565b7f0000000000000000000000000000000000000000000000000000000000000000610264565b6102dc6104c9366004611a07565b610d55565b6102646104dc366004611afb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6102dc610522366004611a86565b610d5f565b6102dc610535366004611a86565b610d70565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f36372b070000000000000000000000000000000000000000000000000000000014806105cd57507fffffffff0000000000000000000000000000000000000000000000000000000082167fe6599b4d00000000000000000000000000000000000000000000000000000000145b8061061957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b8061066557507fffffffff0000000000000000000000000000000000000000000000000000000082167f06e2784700000000000000000000000000000000000000000000000000000000145b806106b157507fffffffff0000000000000000000000000000000000000000000000000000000082167f8fd6a6ac00000000000000000000000000000000000000000000000000000000145b92915050565b6060600380546106c690611b2e565b80601f01602080910402602001604051908101604052809291908181526020018280546106f290611b2e565b801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b5050505050905090565b600033610757818585610dce565b5060019392505050565b60003361076f858285610e02565b61077a858585610ed3565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061075790829086906107cc908790611bb0565b610dce565b6107da33610c7e565b610817576040517fe2c8c9d50000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b813073ffffffffffffffffffffffffffffffffffffffff82160361083a57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001580159061089b57507f00000000000000000000000000000000000000000000000000000000000000008261088f60025490565b6108999190611bb0565b115b156108e957816108aa60025490565b6108b49190611bb0565b6040517fcbbf111300000000000000000000000000000000000000000000000000000000815260040161080e91815260200190565b6108f38383610f01565b505050565b61090133610945565b610939576040517fc820b10b00000000000000000000000000000000000000000000000000000000815233600482015260240161080e565b61094281610ff4565b50565b60006106b1600a83610ffe565b61095a61102d565b610965600a82611080565b156109425760405173ffffffffffffffffffffffffffffffffffffffff821681527f0a675452746933cefe3d74182e78db7afe57ba60eaa4234b5d85e9aa41b0610c906020015b60405180910390a150565b60006109c38383610b20565b9392505050565b60606109d660086110a2565b905090565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a2c576040517f02b543c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000008082163390811790935560058054909116905560405173ffffffffffffffffffffffffffffffffffffffff909116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b610ab533610945565b610aed576040517fc820b10b00000000000000000000000000000000000000000000000000000000815233600482015260240161080e565b610af782826110af565b5050565b60606109d6600a6110a2565b6060600480546106c690611b2e565b610af78282610aac565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161080e565b61077a8286868403610dce565b610bf961102d565b6007805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f9524c9e4b0b61eb018dd58a1cd856e3e74009528328ab4a613b434fa631d724290600090a35050565b600033610757818585610ed3565b60006106b1600883610ffe565b610c9361102d565b610c9e6008826110c4565b156109425760405173ffffffffffffffffffffffffffffffffffffffff821681527fe46fef8bbff1389d9010703cf8ebb363fb3daf5bf56edc27080b67bc8d9251ea906020016109ac565b610cf281610c8b565b610942815b610cff61102d565b610d0a600a826110c4565b156109425760405173ffffffffffffffffffffffffffffffffffffffff821681527f92308bb7573b2a3d17ddb868b39d8ebec433f3194421abc22d084f89658c9bad906020016109ac565b6108f38282610785565b610d6761102d565b610942816110e6565b610d7861102d565b610d83600882611080565b156109425760405173ffffffffffffffffffffffffffffffffffffffff821681527fed998b960f6340d045f620c119730f7aa7995e7425c2401d3a5b64ff998a59e9906020016109ac565b813073ffffffffffffffffffffffffffffffffffffffff821603610df157600080fd5b610dfc8484846111ac565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dfc5781811015610ec6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161080e565b610dfc8484848403610dce565b813073ffffffffffffffffffffffffffffffffffffffff821603610ef657600080fd5b610dfc84848461135f565b73ffffffffffffffffffffffffffffffffffffffff8216610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161080e565b8060026000828254610f909190611bb0565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b61094233826115ce565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156109c3565b60065473ffffffffffffffffffffffffffffffffffffffff16331461107e576040517f2b5c74de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60006109c38373ffffffffffffffffffffffffffffffffffffffff8416611792565b606060006109c383611885565b6110ba823383610e02565b610af782826115ce565b60006109c38373ffffffffffffffffffffffffffffffffffffffff84166118e1565b3373ffffffffffffffffffffffffffffffffffffffff821603611135576040517fdad89dca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255600654604051919216907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b73ffffffffffffffffffffffffffffffffffffffff831661124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff82166112f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316611402576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff82166114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dfc565b73ffffffffffffffffffffffffffffffffffffffff8216611671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161080e565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6000818152600183016020526040812054801561187b5760006117b6600183611bc3565b85549091506000906117ca90600190611bc3565b905081811461182f5760008660000182815481106117ea576117ea611bd6565b906000526020600020015490508087600001848154811061180d5761180d611bd6565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061184057611840611c05565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106b1565b60009150506106b1565b6060816000018054806020026020016040519081016040528092919081815260200182805480156118d557602002820191906000526020600020905b8154815260200190600101908083116118c1575b50505050509050919050565b6000818152600183016020526040812054611928575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b1565b5060006106b1565b60006020828403121561194257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146109c357600080fd5b600060208083528351808285015260005b8181101561199f57858101830151858201604001528201611983565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a0257600080fd5b919050565b60008060408385031215611a1a57600080fd5b611a23836119de565b946020939093013593505050565b600080600060608486031215611a4657600080fd5b611a4f846119de565b9250611a5d602085016119de565b9150604084013590509250925092565b600060208284031215611a7f57600080fd5b5035919050565b600060208284031215611a9857600080fd5b6109c3826119de565b6020808252825182820181905260009190848201906040850190845b81811015611aef57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611abd565b50909695505050505050565b60008060408385031215611b0e57600080fd5b611b17836119de565b9150611b25602084016119de565b90509250929050565b600181811c90821680611b4257607f821691505b602082108103611b7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b1576106b1611b81565b818103818111156106b1576106b1611b81565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea164736f6c6343000813000a", + ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxSupply_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preMint\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"supplyAfterMint\",\"type\":\"uint256\"}],\"name\":\"MaxSupplyExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderNotBurner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderNotMinter\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"BurnAccessGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"BurnAccessRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"CCIPAdminTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MintAccessGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MintAccessRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseApproval\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCCIPAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"burnAndMinter\",\"type\":\"address\"}],\"name\":\"grantMintAndBurnRoles\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"}],\"name\":\"isBurner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"setCCIPAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + Bin: "0x60c06040523480156200001157600080fd5b50604051620023643803806200236483398101604081905262000034916200033f565b8484600362000044838262000463565b50600462000053828262000463565b50505060ff831660805260a0829052600680546001600160a01b0319163317905580156200008757620000873382620000f7565b62000094600033620001be565b620000c07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620001be565b620000ec7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84833620001be565b505050505062000551565b6001600160a01b038216620001525760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200016691906200052f565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b620001ca82826200024d565b620001ba5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620002043390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002a257600080fd5b81516001600160401b0380821115620002bf57620002bf6200027a565b604051601f8301601f19908116603f01168101908282118183101715620002ea57620002ea6200027a565b816040528381526020925086838588010111156200030757600080fd5b600091505b838210156200032b57858201830151818301840152908201906200030c565b600093810190920192909252949350505050565b600080600080600060a086880312156200035857600080fd5b85516001600160401b03808211156200037057600080fd5b6200037e89838a0162000290565b965060208801519150808211156200039557600080fd5b50620003a48882890162000290565b945050604086015160ff81168114620003bc57600080fd5b6060870151608090970151959894975095949392505050565b600181811c90821680620003ea57607f821691505b6020821081036200040b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024857600081815260208120601f850160051c810160208610156200043a5750805b601f850160051c820191505b818110156200045b5782815560010162000446565b505050505050565b81516001600160401b038111156200047f576200047f6200027a565b6200049781620004908454620003d5565b8462000411565b602080601f831160018114620004cf5760008415620004b65750858301515b600019600386901b1c1916600185901b1785556200045b565b600085815260208120601f198616915b828110156200050057888601518255948401946001909101908401620004df565b50858210156200051f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200027457634e487b7160e01b600052601160045260246000fd5b60805160a051611ddf62000585600039600081816104e10152818161093d0152610967015260006102d00152611ddf6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806379cc67901161010f578063a9059cbb116100a2578063d547741f11610071578063d547741f146104cc578063d5abeb01146104df578063d73dd62314610505578063dd62ed3e1461051857600080fd5b8063a9059cbb1461046c578063aa271e1a1461047f578063c630948d14610492578063d5391393146104a557600080fd5b80639dc29fac116100de5780639dc29fac1461042b578063a217fddf1461043e578063a457c2d714610446578063a8fa343c1461045957600080fd5b806379cc6790146103a25780638fd6a6ac146103b557806391d14854146103dd57806395d89b411461042357600080fd5b8063313ce5671161018757806342966c681161015657806342966c68146103335780634334614a14610346578063661884631461035957806370a082311461036c57600080fd5b8063313ce567146102c957806336568abe146102fa578063395093511461030d57806340c10f191461032057600080fd5b806323b872dd116101c357806323b872dd14610257578063248a9ca31461026a578063282c51f31461028d5780632f2ff15d146102b457600080fd5b806301ffc9a7146101f557806306fdde031461021d578063095ea7b31461023257806318160ddd14610245575b600080fd5b610208610203366004611a42565b61055e565b60405190151581526020015b60405180910390f35b6102256106db565b6040516102149190611aa8565b610208610240366004611b22565b61076d565b6002545b604051908152602001610214565b610208610265366004611b4c565b610785565b610249610278366004611b88565b60009081526005602052604090206001015490565b6102497f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b6102c76102c2366004611ba1565b6107a9565b005b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610214565b6102c7610308366004611ba1565b6107d3565b61020861031b366004611b22565b61088b565b6102c761032e366004611b22565b6108d7565b6102c7610341366004611b88565b6109f4565b610208610354366004611bcd565b610a41565b610208610367366004611b22565b610a8e565b61024961037a366004611bcd565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102c76103b0366004611b22565b610aa1565b60065460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610214565b6102086103eb366004611ba1565b600091825260056020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b610225610aec565b6102c7610439366004611b22565b610afb565b610249600081565b610208610454366004611b22565b610b05565b6102c7610467366004611bcd565b610bd6565b61020861047a366004611b22565b610c59565b61020861048d366004611bcd565b610c67565b6102c76104a0366004611bcd565b610cb4565b6102497f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102c76104da366004611ba1565b610d13565b7f0000000000000000000000000000000000000000000000000000000000000000610249565b6102c7610513366004611b22565b610d38565b610249610526366004611be8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f36372b070000000000000000000000000000000000000000000000000000000014806105f157507fffffffff0000000000000000000000000000000000000000000000000000000082167fe6599b4d00000000000000000000000000000000000000000000000000000000145b8061063d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b8061068957507fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000145b806106d557507fffffffff0000000000000000000000000000000000000000000000000000000082167f8fd6a6ac00000000000000000000000000000000000000000000000000000000145b92915050565b6060600380546106ea90611c12565b80601f016020809104026020016040519081016040528092919081815260200182805461071690611c12565b80156107635780601f1061073857610100808354040283529160200191610763565b820191906000526020600020905b81548152906001019060200180831161074657829003601f168201915b5050505050905090565b60003361077b818585610d42565b5060019392505050565b600033610793858285610d76565b61079e858585610e47565b506001949350505050565b6000828152600560205260409020600101546107c481610e75565b6107ce8383610e7f565b505050565b73ffffffffffffffffffffffffffffffffffffffff8116331461087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6108878282610f73565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061077b90829086906108d2908790611c94565b610d42565b6108e033610c67565b610918576040517fe2c8c9d5000000000000000000000000000000000000000000000000000000008152336004820152602401610874565b813073ffffffffffffffffffffffffffffffffffffffff82160361093b57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001580159061099c57507f00000000000000000000000000000000000000000000000000000000000000008261099060025490565b61099a9190611c94565b115b156109ea57816109ab60025490565b6109b59190611c94565b6040517fcbbf111300000000000000000000000000000000000000000000000000000000815260040161087491815260200190565b6107ce838361102e565b6109fd33610a41565b610a35576040517fc820b10b000000000000000000000000000000000000000000000000000000008152336004820152602401610874565b610a3e81611121565b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f847f481f687befb06ed3511f1a8dcef57e83007c0147ae5047583d7056170937602052604081205460ff166106d5565b6000610a9a8383610b05565b9392505050565b610aaa33610a41565b610ae2576040517fc820b10b000000000000000000000000000000000000000000000000000000008152336004820152602401610874565b610887828261112b565b6060600480546106ea90611c12565b6108878282610aa1565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610bc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610874565b61079e8286868403610d42565b6000610be181610e75565b6006805473ffffffffffffffffffffffffffffffffffffffff8481167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f9524c9e4b0b61eb018dd58a1cd856e3e74009528328ab4a613b434fa631d724290600090a3505050565b60003361077b818585610e47565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f15a28d26fa1bf736cf7edc9922607171ccb09c3c73b808e7772a3013e068a522602052604081205460ff166106d5565b6000610cbf81610e75565b610ce97f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a683610e7f565b6108877f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84883610e7f565b600082815260056020526040902060010154610d2e81610e75565b6107ce8383610f73565b6107ce828261088b565b813073ffffffffffffffffffffffffffffffffffffffff821603610d6557600080fd5b610d70848484611140565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d705781811015610e3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610874565b610d708484848403610d42565b813073ffffffffffffffffffffffffffffffffffffffff821603610e6a57600080fd5b610d708484846112f3565b610a3e8133611562565b600082815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661088757600082815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610f153390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561088757600082815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b73ffffffffffffffffffffffffffffffffffffffff82166110ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610874565b80600260008282546110bd9190611c94565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b610a3e338261161c565b611136823383610d76565b610887828261161c565b73ffffffffffffffffffffffffffffffffffffffff83166111e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff8216611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff8216611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156114ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610d70565b600082815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610887576115a2816117e0565b6115ad8360206117ff565b6040516020016115be929190611ca7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261087491600401611aa8565b73ffffffffffffffffffffffffffffffffffffffff82166116bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610874565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60606106d573ffffffffffffffffffffffffffffffffffffffff831660145b6060600061180e836002611d28565b611819906002611c94565b67ffffffffffffffff81111561183157611831611d3f565b6040519080825280601f01601f19166020018201604052801561185b576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061189257611892611d6e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106118f5576118f5611d6e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611931846002611d28565b61193c906001611c94565b90505b60018111156119d9577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061197d5761197d611d6e565b1a60f81b82828151811061199357611993611d6e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936119d281611d9d565b905061193f565b508315610a9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610874565b600060208284031215611a5457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a9a57600080fd5b60005b83811015611a9f578181015183820152602001611a87565b50506000910152565b6020815260008251806020840152611ac7816040850160208701611a84565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b1d57600080fd5b919050565b60008060408385031215611b3557600080fd5b611b3e83611af9565b946020939093013593505050565b600080600060608486031215611b6157600080fd5b611b6a84611af9565b9250611b7860208501611af9565b9150604084013590509250925092565b600060208284031215611b9a57600080fd5b5035919050565b60008060408385031215611bb457600080fd5b82359150611bc460208401611af9565b90509250929050565b600060208284031215611bdf57600080fd5b610a9a82611af9565b60008060408385031215611bfb57600080fd5b611c0483611af9565b9150611bc460208401611af9565b600181811c90821680611c2657607f821691505b602082108103611c5f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106d5576106d5611c65565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611cdf816017850160208801611a84565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611d1c816028840160208801611a84565b01602801949350505050565b80820281158282048414176106d5576106d5611c65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081611dac57611dac611c65565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea164736f6c6343000813000a", } var BurnMintERC20ABI = BurnMintERC20MetaData.ABI @@ -171,6 +171,72 @@ func (_BurnMintERC20 *BurnMintERC20TransactorRaw) Transact(opts *bind.TransactOp return _BurnMintERC20.Contract.contract.Transact(opts, method, params...) } +func (_BurnMintERC20 *BurnMintERC20Caller) BURNERROLE(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _BurnMintERC20.contract.Call(opts, &out, "BURNER_ROLE") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +func (_BurnMintERC20 *BurnMintERC20Session) BURNERROLE() ([32]byte, error) { + return _BurnMintERC20.Contract.BURNERROLE(&_BurnMintERC20.CallOpts) +} + +func (_BurnMintERC20 *BurnMintERC20CallerSession) BURNERROLE() ([32]byte, error) { + return _BurnMintERC20.Contract.BURNERROLE(&_BurnMintERC20.CallOpts) +} + +func (_BurnMintERC20 *BurnMintERC20Caller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _BurnMintERC20.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +func (_BurnMintERC20 *BurnMintERC20Session) DEFAULTADMINROLE() ([32]byte, error) { + return _BurnMintERC20.Contract.DEFAULTADMINROLE(&_BurnMintERC20.CallOpts) +} + +func (_BurnMintERC20 *BurnMintERC20CallerSession) DEFAULTADMINROLE() ([32]byte, error) { + return _BurnMintERC20.Contract.DEFAULTADMINROLE(&_BurnMintERC20.CallOpts) +} + +func (_BurnMintERC20 *BurnMintERC20Caller) MINTERROLE(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _BurnMintERC20.contract.Call(opts, &out, "MINTER_ROLE") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +func (_BurnMintERC20 *BurnMintERC20Session) MINTERROLE() ([32]byte, error) { + return _BurnMintERC20.Contract.MINTERROLE(&_BurnMintERC20.CallOpts) +} + +func (_BurnMintERC20 *BurnMintERC20CallerSession) MINTERROLE() ([32]byte, error) { + return _BurnMintERC20.Contract.MINTERROLE(&_BurnMintERC20.CallOpts) +} + func (_BurnMintERC20 *BurnMintERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var out []interface{} err := _BurnMintERC20.contract.Call(opts, &out, "allowance", owner, spender) @@ -237,70 +303,70 @@ func (_BurnMintERC20 *BurnMintERC20CallerSession) Decimals() (uint8, error) { return _BurnMintERC20.Contract.Decimals(&_BurnMintERC20.CallOpts) } -func (_BurnMintERC20 *BurnMintERC20Caller) GetBurners(opts *bind.CallOpts) ([]common.Address, error) { +func (_BurnMintERC20 *BurnMintERC20Caller) GetCCIPAdmin(opts *bind.CallOpts) (common.Address, error) { var out []interface{} - err := _BurnMintERC20.contract.Call(opts, &out, "getBurners") + err := _BurnMintERC20.contract.Call(opts, &out, "getCCIPAdmin") if err != nil { - return *new([]common.Address), err + return *new(common.Address), err } - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } -func (_BurnMintERC20 *BurnMintERC20Session) GetBurners() ([]common.Address, error) { - return _BurnMintERC20.Contract.GetBurners(&_BurnMintERC20.CallOpts) +func (_BurnMintERC20 *BurnMintERC20Session) GetCCIPAdmin() (common.Address, error) { + return _BurnMintERC20.Contract.GetCCIPAdmin(&_BurnMintERC20.CallOpts) } -func (_BurnMintERC20 *BurnMintERC20CallerSession) GetBurners() ([]common.Address, error) { - return _BurnMintERC20.Contract.GetBurners(&_BurnMintERC20.CallOpts) +func (_BurnMintERC20 *BurnMintERC20CallerSession) GetCCIPAdmin() (common.Address, error) { + return _BurnMintERC20.Contract.GetCCIPAdmin(&_BurnMintERC20.CallOpts) } -func (_BurnMintERC20 *BurnMintERC20Caller) GetCCIPAdmin(opts *bind.CallOpts) (common.Address, error) { +func (_BurnMintERC20 *BurnMintERC20Caller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} - err := _BurnMintERC20.contract.Call(opts, &out, "getCCIPAdmin") + err := _BurnMintERC20.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { - return *new(common.Address), err + return *new([32]byte), err } - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } -func (_BurnMintERC20 *BurnMintERC20Session) GetCCIPAdmin() (common.Address, error) { - return _BurnMintERC20.Contract.GetCCIPAdmin(&_BurnMintERC20.CallOpts) +func (_BurnMintERC20 *BurnMintERC20Session) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _BurnMintERC20.Contract.GetRoleAdmin(&_BurnMintERC20.CallOpts, role) } -func (_BurnMintERC20 *BurnMintERC20CallerSession) GetCCIPAdmin() (common.Address, error) { - return _BurnMintERC20.Contract.GetCCIPAdmin(&_BurnMintERC20.CallOpts) +func (_BurnMintERC20 *BurnMintERC20CallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _BurnMintERC20.Contract.GetRoleAdmin(&_BurnMintERC20.CallOpts, role) } -func (_BurnMintERC20 *BurnMintERC20Caller) GetMinters(opts *bind.CallOpts) ([]common.Address, error) { +func (_BurnMintERC20 *BurnMintERC20Caller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} - err := _BurnMintERC20.contract.Call(opts, &out, "getMinters") + err := _BurnMintERC20.contract.Call(opts, &out, "hasRole", role, account) if err != nil { - return *new([]common.Address), err + return *new(bool), err } - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } -func (_BurnMintERC20 *BurnMintERC20Session) GetMinters() ([]common.Address, error) { - return _BurnMintERC20.Contract.GetMinters(&_BurnMintERC20.CallOpts) +func (_BurnMintERC20 *BurnMintERC20Session) HasRole(role [32]byte, account common.Address) (bool, error) { + return _BurnMintERC20.Contract.HasRole(&_BurnMintERC20.CallOpts, role, account) } -func (_BurnMintERC20 *BurnMintERC20CallerSession) GetMinters() ([]common.Address, error) { - return _BurnMintERC20.Contract.GetMinters(&_BurnMintERC20.CallOpts) +func (_BurnMintERC20 *BurnMintERC20CallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _BurnMintERC20.Contract.HasRole(&_BurnMintERC20.CallOpts, role, account) } func (_BurnMintERC20 *BurnMintERC20Caller) IsBurner(opts *bind.CallOpts, burner common.Address) (bool, error) { @@ -391,28 +457,6 @@ func (_BurnMintERC20 *BurnMintERC20CallerSession) Name() (string, error) { return _BurnMintERC20.Contract.Name(&_BurnMintERC20.CallOpts) } -func (_BurnMintERC20 *BurnMintERC20Caller) Owner(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _BurnMintERC20.contract.Call(opts, &out, "owner") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -func (_BurnMintERC20 *BurnMintERC20Session) Owner() (common.Address, error) { - return _BurnMintERC20.Contract.Owner(&_BurnMintERC20.CallOpts) -} - -func (_BurnMintERC20 *BurnMintERC20CallerSession) Owner() (common.Address, error) { - return _BurnMintERC20.Contract.Owner(&_BurnMintERC20.CallOpts) -} - func (_BurnMintERC20 *BurnMintERC20Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _BurnMintERC20.contract.Call(opts, &out, "supportsInterface", interfaceId) @@ -479,18 +523,6 @@ func (_BurnMintERC20 *BurnMintERC20CallerSession) TotalSupply() (*big.Int, error return _BurnMintERC20.Contract.TotalSupply(&_BurnMintERC20.CallOpts) } -func (_BurnMintERC20 *BurnMintERC20Transactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { - return _BurnMintERC20.contract.Transact(opts, "acceptOwnership") -} - -func (_BurnMintERC20 *BurnMintERC20Session) AcceptOwnership() (*types.Transaction, error) { - return _BurnMintERC20.Contract.AcceptOwnership(&_BurnMintERC20.TransactOpts) -} - -func (_BurnMintERC20 *BurnMintERC20TransactorSession) AcceptOwnership() (*types.Transaction, error) { - return _BurnMintERC20.Contract.AcceptOwnership(&_BurnMintERC20.TransactOpts) -} - func (_BurnMintERC20 *BurnMintERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { return _BurnMintERC20.contract.Transact(opts, "approve", spender, amount) } @@ -563,18 +595,6 @@ func (_BurnMintERC20 *BurnMintERC20TransactorSession) DecreaseApproval(spender c return _BurnMintERC20.Contract.DecreaseApproval(&_BurnMintERC20.TransactOpts, spender, subtractedValue) } -func (_BurnMintERC20 *BurnMintERC20Transactor) GrantBurnRole(opts *bind.TransactOpts, burner common.Address) (*types.Transaction, error) { - return _BurnMintERC20.contract.Transact(opts, "grantBurnRole", burner) -} - -func (_BurnMintERC20 *BurnMintERC20Session) GrantBurnRole(burner common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.GrantBurnRole(&_BurnMintERC20.TransactOpts, burner) -} - -func (_BurnMintERC20 *BurnMintERC20TransactorSession) GrantBurnRole(burner common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.GrantBurnRole(&_BurnMintERC20.TransactOpts, burner) -} - func (_BurnMintERC20 *BurnMintERC20Transactor) GrantMintAndBurnRoles(opts *bind.TransactOpts, burnAndMinter common.Address) (*types.Transaction, error) { return _BurnMintERC20.contract.Transact(opts, "grantMintAndBurnRoles", burnAndMinter) } @@ -587,16 +607,16 @@ func (_BurnMintERC20 *BurnMintERC20TransactorSession) GrantMintAndBurnRoles(burn return _BurnMintERC20.Contract.GrantMintAndBurnRoles(&_BurnMintERC20.TransactOpts, burnAndMinter) } -func (_BurnMintERC20 *BurnMintERC20Transactor) GrantMintRole(opts *bind.TransactOpts, minter common.Address) (*types.Transaction, error) { - return _BurnMintERC20.contract.Transact(opts, "grantMintRole", minter) +func (_BurnMintERC20 *BurnMintERC20Transactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.contract.Transact(opts, "grantRole", role, account) } -func (_BurnMintERC20 *BurnMintERC20Session) GrantMintRole(minter common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.GrantMintRole(&_BurnMintERC20.TransactOpts, minter) +func (_BurnMintERC20 *BurnMintERC20Session) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.Contract.GrantRole(&_BurnMintERC20.TransactOpts, role, account) } -func (_BurnMintERC20 *BurnMintERC20TransactorSession) GrantMintRole(minter common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.GrantMintRole(&_BurnMintERC20.TransactOpts, minter) +func (_BurnMintERC20 *BurnMintERC20TransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.Contract.GrantRole(&_BurnMintERC20.TransactOpts, role, account) } func (_BurnMintERC20 *BurnMintERC20Transactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { @@ -635,28 +655,28 @@ func (_BurnMintERC20 *BurnMintERC20TransactorSession) Mint(account common.Addres return _BurnMintERC20.Contract.Mint(&_BurnMintERC20.TransactOpts, account, amount) } -func (_BurnMintERC20 *BurnMintERC20Transactor) RevokeBurnRole(opts *bind.TransactOpts, burner common.Address) (*types.Transaction, error) { - return _BurnMintERC20.contract.Transact(opts, "revokeBurnRole", burner) +func (_BurnMintERC20 *BurnMintERC20Transactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.contract.Transact(opts, "renounceRole", role, account) } -func (_BurnMintERC20 *BurnMintERC20Session) RevokeBurnRole(burner common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.RevokeBurnRole(&_BurnMintERC20.TransactOpts, burner) +func (_BurnMintERC20 *BurnMintERC20Session) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.Contract.RenounceRole(&_BurnMintERC20.TransactOpts, role, account) } -func (_BurnMintERC20 *BurnMintERC20TransactorSession) RevokeBurnRole(burner common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.RevokeBurnRole(&_BurnMintERC20.TransactOpts, burner) +func (_BurnMintERC20 *BurnMintERC20TransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.Contract.RenounceRole(&_BurnMintERC20.TransactOpts, role, account) } -func (_BurnMintERC20 *BurnMintERC20Transactor) RevokeMintRole(opts *bind.TransactOpts, minter common.Address) (*types.Transaction, error) { - return _BurnMintERC20.contract.Transact(opts, "revokeMintRole", minter) +func (_BurnMintERC20 *BurnMintERC20Transactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.contract.Transact(opts, "revokeRole", role, account) } -func (_BurnMintERC20 *BurnMintERC20Session) RevokeMintRole(minter common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.RevokeMintRole(&_BurnMintERC20.TransactOpts, minter) +func (_BurnMintERC20 *BurnMintERC20Session) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.Contract.RevokeRole(&_BurnMintERC20.TransactOpts, role, account) } -func (_BurnMintERC20 *BurnMintERC20TransactorSession) RevokeMintRole(minter common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.RevokeMintRole(&_BurnMintERC20.TransactOpts, minter) +func (_BurnMintERC20 *BurnMintERC20TransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _BurnMintERC20.Contract.RevokeRole(&_BurnMintERC20.TransactOpts, role, account) } func (_BurnMintERC20 *BurnMintERC20Transactor) SetCCIPAdmin(opts *bind.TransactOpts, newAdmin common.Address) (*types.Transaction, error) { @@ -695,18 +715,6 @@ func (_BurnMintERC20 *BurnMintERC20TransactorSession) TransferFrom(from common.A return _BurnMintERC20.Contract.TransferFrom(&_BurnMintERC20.TransactOpts, from, to, amount) } -func (_BurnMintERC20 *BurnMintERC20Transactor) TransferOwnership(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { - return _BurnMintERC20.contract.Transact(opts, "transferOwnership", to) -} - -func (_BurnMintERC20 *BurnMintERC20Session) TransferOwnership(to common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.TransferOwnership(&_BurnMintERC20.TransactOpts, to) -} - -func (_BurnMintERC20 *BurnMintERC20TransactorSession) TransferOwnership(to common.Address) (*types.Transaction, error) { - return _BurnMintERC20.Contract.TransferOwnership(&_BurnMintERC20.TransactOpts, to) -} - type BurnMintERC20ApprovalIterator struct { Event *BurnMintERC20Approval @@ -1448,8 +1456,8 @@ func (_BurnMintERC20 *BurnMintERC20Filterer) ParseMintAccessRevoked(log types.Lo return event, nil } -type BurnMintERC20OwnershipTransferRequestedIterator struct { - Event *BurnMintERC20OwnershipTransferRequested +type BurnMintERC20RoleAdminChangedIterator struct { + Event *BurnMintERC20RoleAdminChanged contract *bind.BoundContract event string @@ -1460,7 +1468,7 @@ type BurnMintERC20OwnershipTransferRequestedIterator struct { fail error } -func (it *BurnMintERC20OwnershipTransferRequestedIterator) Next() bool { +func (it *BurnMintERC20RoleAdminChangedIterator) Next() bool { if it.fail != nil { return false @@ -1469,7 +1477,7 @@ func (it *BurnMintERC20OwnershipTransferRequestedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BurnMintERC20OwnershipTransferRequested) + it.Event = new(BurnMintERC20RoleAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1484,7 +1492,7 @@ func (it *BurnMintERC20OwnershipTransferRequestedIterator) Next() bool { select { case log := <-it.logs: - it.Event = new(BurnMintERC20OwnershipTransferRequested) + it.Event = new(BurnMintERC20RoleAdminChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1499,51 +1507,60 @@ func (it *BurnMintERC20OwnershipTransferRequestedIterator) Next() bool { } } -func (it *BurnMintERC20OwnershipTransferRequestedIterator) Error() error { +func (it *BurnMintERC20RoleAdminChangedIterator) Error() error { return it.fail } -func (it *BurnMintERC20OwnershipTransferRequestedIterator) Close() error { +func (it *BurnMintERC20RoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } -type BurnMintERC20OwnershipTransferRequested struct { - From common.Address - To common.Address - Raw types.Log +type BurnMintERC20RoleAdminChanged struct { + Role [32]byte + PreviousAdminRole [32]byte + NewAdminRole [32]byte + Raw types.Log } -func (_BurnMintERC20 *BurnMintERC20Filterer) FilterOwnershipTransferRequested(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*BurnMintERC20OwnershipTransferRequestedIterator, error) { +func (_BurnMintERC20 *BurnMintERC20Filterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*BurnMintERC20RoleAdminChangedIterator, error) { - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) + var previousAdminRoleRule []interface{} + for _, previousAdminRoleItem := range previousAdminRole { + previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) + } + var newAdminRoleRule []interface{} + for _, newAdminRoleItem := range newAdminRole { + newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } - logs, sub, err := _BurnMintERC20.contract.FilterLogs(opts, "OwnershipTransferRequested", fromRule, toRule) + logs, sub, err := _BurnMintERC20.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } - return &BurnMintERC20OwnershipTransferRequestedIterator{contract: _BurnMintERC20.contract, event: "OwnershipTransferRequested", logs: logs, sub: sub}, nil + return &BurnMintERC20RoleAdminChangedIterator{contract: _BurnMintERC20.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } -func (_BurnMintERC20 *BurnMintERC20Filterer) WatchOwnershipTransferRequested(opts *bind.WatchOpts, sink chan<- *BurnMintERC20OwnershipTransferRequested, from []common.Address, to []common.Address) (event.Subscription, error) { +func (_BurnMintERC20 *BurnMintERC20Filterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *BurnMintERC20RoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) + var previousAdminRoleRule []interface{} + for _, previousAdminRoleItem := range previousAdminRole { + previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) + } + var newAdminRoleRule []interface{} + for _, newAdminRoleItem := range newAdminRole { + newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } - logs, sub, err := _BurnMintERC20.contract.WatchLogs(opts, "OwnershipTransferRequested", fromRule, toRule) + logs, sub, err := _BurnMintERC20.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } @@ -1553,8 +1570,8 @@ func (_BurnMintERC20 *BurnMintERC20Filterer) WatchOwnershipTransferRequested(opt select { case log := <-logs: - event := new(BurnMintERC20OwnershipTransferRequested) - if err := _BurnMintERC20.contract.UnpackLog(event, "OwnershipTransferRequested", log); err != nil { + event := new(BurnMintERC20RoleAdminChanged) + if err := _BurnMintERC20.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return err } event.Raw = log @@ -1575,17 +1592,17 @@ func (_BurnMintERC20 *BurnMintERC20Filterer) WatchOwnershipTransferRequested(opt }), nil } -func (_BurnMintERC20 *BurnMintERC20Filterer) ParseOwnershipTransferRequested(log types.Log) (*BurnMintERC20OwnershipTransferRequested, error) { - event := new(BurnMintERC20OwnershipTransferRequested) - if err := _BurnMintERC20.contract.UnpackLog(event, "OwnershipTransferRequested", log); err != nil { +func (_BurnMintERC20 *BurnMintERC20Filterer) ParseRoleAdminChanged(log types.Log) (*BurnMintERC20RoleAdminChanged, error) { + event := new(BurnMintERC20RoleAdminChanged) + if err := _BurnMintERC20.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } -type BurnMintERC20OwnershipTransferredIterator struct { - Event *BurnMintERC20OwnershipTransferred +type BurnMintERC20RoleGrantedIterator struct { + Event *BurnMintERC20RoleGranted contract *bind.BoundContract event string @@ -1596,7 +1613,7 @@ type BurnMintERC20OwnershipTransferredIterator struct { fail error } -func (it *BurnMintERC20OwnershipTransferredIterator) Next() bool { +func (it *BurnMintERC20RoleGrantedIterator) Next() bool { if it.fail != nil { return false @@ -1605,7 +1622,7 @@ func (it *BurnMintERC20OwnershipTransferredIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(BurnMintERC20OwnershipTransferred) + it.Event = new(BurnMintERC20RoleGranted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1620,7 +1637,7 @@ func (it *BurnMintERC20OwnershipTransferredIterator) Next() bool { select { case log := <-it.logs: - it.Event = new(BurnMintERC20OwnershipTransferred) + it.Event = new(BurnMintERC20RoleGranted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1635,51 +1652,60 @@ func (it *BurnMintERC20OwnershipTransferredIterator) Next() bool { } } -func (it *BurnMintERC20OwnershipTransferredIterator) Error() error { +func (it *BurnMintERC20RoleGrantedIterator) Error() error { return it.fail } -func (it *BurnMintERC20OwnershipTransferredIterator) Close() error { +func (it *BurnMintERC20RoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } -type BurnMintERC20OwnershipTransferred struct { - From common.Address - To common.Address - Raw types.Log +type BurnMintERC20RoleGranted struct { + Role [32]byte + Account common.Address + Sender common.Address + Raw types.Log } -func (_BurnMintERC20 *BurnMintERC20Filterer) FilterOwnershipTransferred(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*BurnMintERC20OwnershipTransferredIterator, error) { +func (_BurnMintERC20 *BurnMintERC20Filterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*BurnMintERC20RoleGrantedIterator, error) { - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) } - logs, sub, err := _BurnMintERC20.contract.FilterLogs(opts, "OwnershipTransferred", fromRule, toRule) + logs, sub, err := _BurnMintERC20.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } - return &BurnMintERC20OwnershipTransferredIterator{contract: _BurnMintERC20.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil + return &BurnMintERC20RoleGrantedIterator{contract: _BurnMintERC20.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } -func (_BurnMintERC20 *BurnMintERC20Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BurnMintERC20OwnershipTransferred, from []common.Address, to []common.Address) (event.Subscription, error) { +func (_BurnMintERC20 *BurnMintERC20Filterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *BurnMintERC20RoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) } - logs, sub, err := _BurnMintERC20.contract.WatchLogs(opts, "OwnershipTransferred", fromRule, toRule) + logs, sub, err := _BurnMintERC20.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } @@ -1689,8 +1715,8 @@ func (_BurnMintERC20 *BurnMintERC20Filterer) WatchOwnershipTransferred(opts *bin select { case log := <-logs: - event := new(BurnMintERC20OwnershipTransferred) - if err := _BurnMintERC20.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { + event := new(BurnMintERC20RoleGranted) + if err := _BurnMintERC20.contract.UnpackLog(event, "RoleGranted", log); err != nil { return err } event.Raw = log @@ -1711,9 +1737,154 @@ func (_BurnMintERC20 *BurnMintERC20Filterer) WatchOwnershipTransferred(opts *bin }), nil } -func (_BurnMintERC20 *BurnMintERC20Filterer) ParseOwnershipTransferred(log types.Log) (*BurnMintERC20OwnershipTransferred, error) { - event := new(BurnMintERC20OwnershipTransferred) - if err := _BurnMintERC20.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { +func (_BurnMintERC20 *BurnMintERC20Filterer) ParseRoleGranted(log types.Log) (*BurnMintERC20RoleGranted, error) { + event := new(BurnMintERC20RoleGranted) + if err := _BurnMintERC20.contract.UnpackLog(event, "RoleGranted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +type BurnMintERC20RoleRevokedIterator struct { + Event *BurnMintERC20RoleRevoked + + contract *bind.BoundContract + event string + + logs chan types.Log + sub ethereum.Subscription + done bool + fail error +} + +func (it *BurnMintERC20RoleRevokedIterator) Next() bool { + + if it.fail != nil { + return false + } + + if it.done { + select { + case log := <-it.logs: + it.Event = new(BurnMintERC20RoleRevoked) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + + select { + case log := <-it.logs: + it.Event = new(BurnMintERC20RoleRevoked) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +func (it *BurnMintERC20RoleRevokedIterator) Error() error { + return it.fail +} + +func (it *BurnMintERC20RoleRevokedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +type BurnMintERC20RoleRevoked struct { + Role [32]byte + Account common.Address + Sender common.Address + Raw types.Log +} + +func (_BurnMintERC20 *BurnMintERC20Filterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*BurnMintERC20RoleRevokedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _BurnMintERC20.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return &BurnMintERC20RoleRevokedIterator{contract: _BurnMintERC20.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil +} + +func (_BurnMintERC20 *BurnMintERC20Filterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *BurnMintERC20RoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _BurnMintERC20.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + + event := new(BurnMintERC20RoleRevoked) + if err := _BurnMintERC20.contract.UnpackLog(event, "RoleRevoked", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +func (_BurnMintERC20 *BurnMintERC20Filterer) ParseRoleRevoked(log types.Log) (*BurnMintERC20RoleRevoked, error) { + event := new(BurnMintERC20RoleRevoked) + if err := _BurnMintERC20.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log @@ -1871,10 +2042,12 @@ func (_BurnMintERC20 *BurnMintERC20) ParseLog(log types.Log) (generated.AbigenLo return _BurnMintERC20.ParseMintAccessGranted(log) case _BurnMintERC20.abi.Events["MintAccessRevoked"].ID: return _BurnMintERC20.ParseMintAccessRevoked(log) - case _BurnMintERC20.abi.Events["OwnershipTransferRequested"].ID: - return _BurnMintERC20.ParseOwnershipTransferRequested(log) - case _BurnMintERC20.abi.Events["OwnershipTransferred"].ID: - return _BurnMintERC20.ParseOwnershipTransferred(log) + case _BurnMintERC20.abi.Events["RoleAdminChanged"].ID: + return _BurnMintERC20.ParseRoleAdminChanged(log) + case _BurnMintERC20.abi.Events["RoleGranted"].ID: + return _BurnMintERC20.ParseRoleGranted(log) + case _BurnMintERC20.abi.Events["RoleRevoked"].ID: + return _BurnMintERC20.ParseRoleRevoked(log) case _BurnMintERC20.abi.Events["Transfer"].ID: return _BurnMintERC20.ParseTransfer(log) @@ -1907,12 +2080,16 @@ func (BurnMintERC20MintAccessRevoked) Topic() common.Hash { return common.HexToHash("0xed998b960f6340d045f620c119730f7aa7995e7425c2401d3a5b64ff998a59e9") } -func (BurnMintERC20OwnershipTransferRequested) Topic() common.Hash { - return common.HexToHash("0xed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae1278") +func (BurnMintERC20RoleAdminChanged) Topic() common.Hash { + return common.HexToHash("0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff") +} + +func (BurnMintERC20RoleGranted) Topic() common.Hash { + return common.HexToHash("0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d") } -func (BurnMintERC20OwnershipTransferred) Topic() common.Hash { - return common.HexToHash("0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0") +func (BurnMintERC20RoleRevoked) Topic() common.Hash { + return common.HexToHash("0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b") } func (BurnMintERC20Transfer) Topic() common.Hash { @@ -1924,17 +2101,23 @@ func (_BurnMintERC20 *BurnMintERC20) Address() common.Address { } type BurnMintERC20Interface interface { + BURNERROLE(opts *bind.CallOpts) ([32]byte, error) + + DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) + + MINTERROLE(opts *bind.CallOpts) ([32]byte, error) + Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) Decimals(opts *bind.CallOpts) (uint8, error) - GetBurners(opts *bind.CallOpts) ([]common.Address, error) - GetCCIPAdmin(opts *bind.CallOpts) (common.Address, error) - GetMinters(opts *bind.CallOpts) ([]common.Address, error) + GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) + + HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) IsBurner(opts *bind.CallOpts, burner common.Address) (bool, error) @@ -1944,16 +2127,12 @@ type BurnMintERC20Interface interface { Name(opts *bind.CallOpts) (string, error) - Owner(opts *bind.CallOpts) (common.Address, error) - SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) Symbol(opts *bind.CallOpts) (string, error) TotalSupply(opts *bind.CallOpts) (*big.Int, error) - AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) - Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) @@ -1966,11 +2145,9 @@ type BurnMintERC20Interface interface { DecreaseApproval(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) - GrantBurnRole(opts *bind.TransactOpts, burner common.Address) (*types.Transaction, error) - GrantMintAndBurnRoles(opts *bind.TransactOpts, burnAndMinter common.Address) (*types.Transaction, error) - GrantMintRole(opts *bind.TransactOpts, minter common.Address) (*types.Transaction, error) + GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) @@ -1978,9 +2155,9 @@ type BurnMintERC20Interface interface { Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) - RevokeBurnRole(opts *bind.TransactOpts, burner common.Address) (*types.Transaction, error) + RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) - RevokeMintRole(opts *bind.TransactOpts, minter common.Address) (*types.Transaction, error) + RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) SetCCIPAdmin(opts *bind.TransactOpts, newAdmin common.Address) (*types.Transaction, error) @@ -1988,8 +2165,6 @@ type BurnMintERC20Interface interface { TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) - TransferOwnership(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) - FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*BurnMintERC20ApprovalIterator, error) WatchApproval(opts *bind.WatchOpts, sink chan<- *BurnMintERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) @@ -2026,17 +2201,23 @@ type BurnMintERC20Interface interface { ParseMintAccessRevoked(log types.Log) (*BurnMintERC20MintAccessRevoked, error) - FilterOwnershipTransferRequested(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*BurnMintERC20OwnershipTransferRequestedIterator, error) + FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*BurnMintERC20RoleAdminChangedIterator, error) + + WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *BurnMintERC20RoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) + + ParseRoleAdminChanged(log types.Log) (*BurnMintERC20RoleAdminChanged, error) + + FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*BurnMintERC20RoleGrantedIterator, error) - WatchOwnershipTransferRequested(opts *bind.WatchOpts, sink chan<- *BurnMintERC20OwnershipTransferRequested, from []common.Address, to []common.Address) (event.Subscription, error) + WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *BurnMintERC20RoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) - ParseOwnershipTransferRequested(log types.Log) (*BurnMintERC20OwnershipTransferRequested, error) + ParseRoleGranted(log types.Log) (*BurnMintERC20RoleGranted, error) - FilterOwnershipTransferred(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*BurnMintERC20OwnershipTransferredIterator, error) + FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*BurnMintERC20RoleRevokedIterator, error) - WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BurnMintERC20OwnershipTransferred, from []common.Address, to []common.Address) (event.Subscription, error) + WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *BurnMintERC20RoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) - ParseOwnershipTransferred(log types.Log) (*BurnMintERC20OwnershipTransferred, error) + ParseRoleRevoked(log types.Log) (*BurnMintERC20RoleRevoked, error) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*BurnMintERC20TransferIterator, error) diff --git a/core/gethwrappers/shared/generation/generated-wrapper-dependency-versions-do-not-edit.txt b/core/gethwrappers/shared/generation/generated-wrapper-dependency-versions-do-not-edit.txt index b34f9ed2208..06e5c7c5a4c 100644 --- a/core/gethwrappers/shared/generation/generated-wrapper-dependency-versions-do-not-edit.txt +++ b/core/gethwrappers/shared/generation/generated-wrapper-dependency-versions-do-not-edit.txt @@ -1,5 +1,5 @@ GETH_VERSION: 1.13.8 -burn_mint_erc20: ../../../contracts/solc/v0.8.19/BurnMintERC20/BurnMintERC20.abi ../../../contracts/solc/v0.8.19/BurnMintERC20/BurnMintERC20.bin 8e1d2d29de1acb99dd550c206741b8b3d2f894c5579bcd23c92ddd16e6b46f4d +burn_mint_erc20: ../../../contracts/solc/v0.8.19/BurnMintERC20/BurnMintERC20.abi ../../../contracts/solc/v0.8.19/BurnMintERC20/BurnMintERC20.bin 207c111e8956d12f39a9fb0007ec6001ca268f48fc6c9f40cb813c320d38650f burn_mint_erc677: ../../../contracts/solc/v0.8.19/BurnMintERC677/BurnMintERC677.abi ../../../contracts/solc/v0.8.19/BurnMintERC677/BurnMintERC677.bin 405c9016171e614b17e10588653ef8d33dcea21dd569c3fddc596a46fcff68a3 erc20: ../../../contracts/solc/v0.8.19/ERC20/ERC20.abi ../../../contracts/solc/v0.8.19/ERC20/ERC20.bin 5b1a93d9b24f250e49a730c96335a8113c3f7010365cba578f313b483001d4fc link_token: ../../../contracts/solc/v0.8.19/LinkToken/LinkToken.abi ../../../contracts/solc/v0.8.19/LinkToken/LinkToken.bin c0ef9b507103aae541ebc31d87d051c2764ba9d843076b30ec505d37cdfffaba