diff --git a/kroma-bindings/bindings/governancetoken.go b/kroma-bindings/bindings/governancetoken.go index db0be127c..097653e00 100644 --- a/kroma-bindings/bindings/governancetoken.go +++ b/kroma-bindings/bindings/governancetoken.go @@ -37,8 +37,8 @@ type ERC20VotesCheckpoint struct { // GovernanceTokenMetaData contains all meta data concerning the GovernanceToken contract. var GovernanceTokenMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_remoteToken\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"BRIDGE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"CLOCK_MODE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"DOMAIN_SEPARATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"REMOTE_TOKEN\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"allowance\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"approve\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"burn\",\"inputs\":[{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"burn\",\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"burnFrom\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"checkpoints\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"pos\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structERC20Votes.Checkpoint\",\"components\":[{\"name\":\"fromBlock\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"votes\",\"type\":\"uint224\",\"internalType\":\"uint224\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"clock\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint48\",\"internalType\":\"uint48\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"decimals\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"decreaseAllowance\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegate\",\"inputs\":[{\"name\":\"delegatee\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegateBySig\",\"inputs\":[{\"name\":\"delegatee\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"expiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"v\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegates\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eip712Domain\",\"inputs\":[],\"outputs\":[{\"name\":\"fields\",\"type\":\"bytes1\",\"internalType\":\"bytes1\"},{\"name\":\"name\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extensions\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPastTotalSupply\",\"inputs\":[{\"name\":\"timepoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPastVotes\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"timepoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getVotes\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"increaseAllowance\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"mint\",\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"name\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"nonces\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"numCheckpoints\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"permit\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"v\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"supportsInterface\",\"inputs\":[{\"name\":\"_interfaceId\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"symbol\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"totalSupply\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transfer\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"version\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"Approval\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Burn\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"DelegateChanged\",\"inputs\":[{\"name\":\"delegator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"fromDelegate\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"toDelegate\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"DelegateVotesChanged\",\"inputs\":[{\"name\":\"delegate\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"previousBalance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"newBalance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EIP712DomainChanged\",\"inputs\":[],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Mint\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Transfer\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"InvalidShortString\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"StringTooLong\",\"inputs\":[{\"name\":\"str\",\"type\":\"string\",\"internalType\":\"string\"}]}]", - Bin: "0x6101a06040523480156200001257600080fd5b506040516200358038038062003580833981016040819052620000359162000321565b604051806040016040528060058152602001644b726f6d6160d81b81525080604051806040016040528060018152602001603160f81b8152508484604051806020016040528060008152506040518060200160405280600081525081818160039081620000a39190620003fe565b506004620000b28282620003fe565b505050506001600160a01b03918216608052501660a052620000e2826005620001ac602090811b6200129617901c565b61016052620000ff816006620001ac602090811b6200129617901c565b61018052815160208084019190912061012052815190820120610140524660e0526200018f6101205161014051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60c0525050306101005250620001a4620001fc565b505062000547565b6000602083511015620001cc57620001c483620002be565b9050620001f6565b82620001e3836200030160201b620012c71760201c565b90620001f09082620003fe565b5060ff90505b92915050565b600c54610100900460ff16156200026a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b60648201526084015b60405180910390fd5b600c5460ff90811614620002bc57600c805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600080829050601f81511115620002ec578260405163305a27a960e01b8152600401620002619190620004ca565b8051620002f98262000522565b179392505050565b90565b80516001600160a01b03811681146200031c57600080fd5b919050565b600080604083850312156200033557600080fd5b620003408362000304565b9150620003506020840162000304565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200038457607f821691505b602082108103620003a557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003f957600081815260208120601f850160051c81016020861015620003d45750805b601f850160051c820191505b81811015620003f557828155600101620003e0565b5050505b505050565b81516001600160401b038111156200041a576200041a62000359565b62000432816200042b84546200036f565b84620003ab565b602080601f8311600181146200046a5760008415620004515750858301515b600019600386901b1c1916600185901b178555620003f5565b600085815260208120601f198616915b828110156200049b578886015182559484019460019091019084016200047a565b5085821015620004ba5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620004f957858101830151858201604001528201620004db565b818111156200050c576000604083870101525b50601f01601f1916929092016040019392505050565b80516020808301519190811015620003a55760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161018051612fba620005c66000396000610a7101526000610a460152600061178101526000611759015260006116b4015260006116de0152600061170801526000818161061e0152818161086a0152610c0a015260006102a90152612fba6000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c8063715018a6116101605780639dc29fac116100d8578063d505accf1161008c578063ee9a31a211610071578063ee9a31a214610619578063f1127ed814610640578063f2fde38b1461069257600080fd5b8063d505accf146105cd578063dd62ed3e146105e057600080fd5b8063a9059cbb116100bd578063a9059cbb14610594578063c3cda520146105a7578063c4d66de8146105ba57600080fd5b80639dc29fac1461056e578063a457c2d71461058157600080fd5b80638da5cb5b1161012f57806391ddadf41161011457806391ddadf41461050357806395d89b41146105225780639ab24eb01461055b57600080fd5b80638da5cb5b146104df5780638e539e8c146104f057600080fd5b8063715018a61461049657806379cc67901461049e5780637ecebe00146104b157806384b0196e146104c457600080fd5b80633a46b1a8116101f357806354fd4d50116101c25780635c19a95c116101a75780635c19a95c146104325780636fcfff451461044557806370a082311461046d57600080fd5b806354fd4d50146103ca578063587cde1e1461040657600080fd5b80633a46b1a81461038757806340c10f191461039a57806342966c68146103af5780634bf5d7e9146103c257600080fd5b806318160ddd1161024a578063313ce5671161022f578063313ce5671461035d5780633644e5151461036c578063395093511461037457600080fd5b806318160ddd1461033857806323b872dd1461034a57600080fd5b806301ffc9a71461027c578063033964be146102a457806306fdde03146102e3578063095ea7b314610325575b600080fd5b61028f61028a36600461294d565b6106a5565b60405190151581526020015b60405180910390f35b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161029b565b60408051808201909152600581527f4b726f6d6100000000000000000000000000000000000000000000000000000060208201525b60405161029b91906129fa565b61028f610333366004612a29565b610745565b6002545b60405190815260200161029b565b61028f610358366004612a53565b61075f565b6040516012815260200161029b565b61033c610783565b61028f610382366004612a29565b610792565b61033c610395366004612a29565b6107d1565b6103ad6103a8366004612a29565b61085f565b005b6103ad6103bd366004612a8f565b610920565b61031861092d565b6103186040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6102cb610414366004612aa8565b6001600160a01b039081166000908152600960205260409020541690565b6103ad610440366004612aa8565b6109c5565b610458610453366004612aa8565b6109cf565b60405163ffffffff909116815260200161029b565b61033c61047b366004612aa8565b6001600160a01b031660009081526020819052604090205490565b6103ad6109f1565b6103ad6104ac366004612a29565b610a05565b61033c6104bf366004612aa8565b610a1a565b6104cc610a38565b60405161029b9796959493929190612ac3565b603f546001600160a01b03166102cb565b61033c6104fe366004612a8f565b610add565b61050b610b48565b60405165ffffffffffff909116815260200161029b565b60408051808201909152600381527f4b524f00000000000000000000000000000000000000000000000000000000006020820152610318565b61033c610569366004612aa8565b610b53565b6103ad61057c366004612a29565b610bff565b61028f61058f366004612a29565b610c9d565b61028f6105a2366004612a29565b610d47565b6103ad6105b5366004612b86565b610d55565b6103ad6105c8366004612aa8565b610e8b565b6103ad6105db366004612bde565b61100c565b61033c6105ee366004612c48565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b61065361064e366004612c7b565b611170565b60408051825163ffffffff1681526020928301517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16928101929092520161029b565b6103ad6106a0366004612aa8565b611209565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f30a0c5a9000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000841682148061073d57507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b6000336107538185856112ca565b60019150505b92915050565b60003361076d858285611422565b6107788585856114b4565b506001949350505050565b600061078d6116a7565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061075390829086906107cc908790612cea565b6112ca565b60006107db610b48565b65ffffffffffff1682106108365760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061085890836117d2565b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108a05750603f546001600160a01b031633145b6109125760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e616e6365546f6b656e3a206f6e6c7920627269646765206f722060448201527f6f776e65722063616e206d696e74000000000000000000000000000000000000606482015260840161082d565b61091c82826118e5565b5050565b61092a33826118ef565b50565b606043610938610b48565b65ffffffffffff161461098d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161082d565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61092a33826118f9565b6001600160a01b0381166000908152600a60205260408120546107599061198a565b6109f9611a0a565b610a036000611a64565b565b610a10823383611422565b61091c82826118ef565b6001600160a01b038116600090815260076020526040812054610759565b600060608082808083610a6c7f00000000000000000000000000000000000000000000000000000000000000006005611ace565b610a977f00000000000000000000000000000000000000000000000000000000000000006006611ace565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6000610ae7610b48565b65ffffffffffff168210610b3d5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000604482015260640161082d565b610759600b836117d2565b600061078d43611b72565b6001600160a01b0381166000908152600a60205260408120548015610bd7576001600160a01b0383166000908152600a6020526040902080546000198301908110610ba057610ba0612d31565b60009182526020909120015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610bda565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a105760405162461bcd60e51b815260206004820152603160248201527f4b726f6d614d696e7461626c6545524332303a206f6e6c79206272696467652060448201527f63616e206d696e7420616e64206275726e000000000000000000000000000000606482015260840161082d565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610d3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161082d565b61077882868684036112ca565b6000336107538185856114b4565b83421115610da55760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161082d565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e1f90610e179060a00160405160208183030381529060405280519060200120611bf0565b858585611c38565b9050610e2a81611c60565b8614610e785760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161082d565b610e8281886118f9565b50505050505050565b600c54610100900460ff1615808015610eab5750600c54600160ff909116105b80610ec55750303b158015610ec55750600c5460ff166001145b610f375760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161082d565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f9557600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610f9d611c88565b610fa682611209565b801561091c57600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b8342111561105c5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161082d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861108b8c611c60565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110e682611bf0565b905060006110f682878787611c38565b9050896001600160a01b0316816001600160a01b0316146111595760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161082d565b6111648a8a8a6112ca565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff84169081106111b4576111b4612d31565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b611211611a0a565b6001600160a01b03811661128d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161082d565b61092a81611a64565b60006020835110156112b2576112ab83611d0d565b9050610759565b816112bd8482612dfb565b5060ff9050610759565b90565b6001600160a01b0383166113455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0382166113c15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146114ae57818110156114a15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161082d565b6114ae84848484036112ca565b50505050565b6001600160a01b0383166115305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0382166115ac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0383166000908152602081905260409020548181101561163b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36114ae848484611d69565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561170057507f000000000000000000000000000000000000000000000000000000000000000046145b1561172a57507f000000000000000000000000000000000000000000000000000000000000000090565b61078d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b81546000908181600581111561182c5760006117ed84611d74565b6117f79085612ed9565b600088815260209020909150869082015463ffffffff16111561181c5780915061182a565b611827816001612cea565b92505b505b808210156118795760006118408383611e5c565b600088815260209020909150869082015463ffffffff16111561186557809150611873565b611870816001612cea565b92505b5061182c565b80156118ba576000868152602090208101600019015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166118bd565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b61091c8282611e77565b61091c8282611f23565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46114ae828483611f3b565b600063ffffffff821115611a065760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f3220626974730000000000000000000000000000000000000000000000000000606482015260840161082d565b5090565b603f546001600160a01b03163314610a035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161082d565b603f80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff8314611ae1576112ab83612078565b818054611aed90612d60565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1990612d60565b8015611b665780601f10611b3b57610100808354040283529160200191611b66565b820191906000526020600020905b815481529060010190602001808311611b4957829003601f168201915b50505050509050610759565b600065ffffffffffff821115611a065760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f3820626974730000000000000000000000000000000000000000000000000000606482015260840161082d565b6000610759611bfd6116a7565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611c49878787876120b7565b91509150611c5681612199565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600c54610100900460ff16611d055760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161082d565b610a036122fe565b600080829050601f81511115611d5157826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161082d91906129fa565b8051611d5c82612ef0565b179392505050565b505050565b611d64838383612384565b600081600003611d8657506000919050565b60006001611d93846123b6565b901c6001901b90506001818481611dac57611dac612f14565b048201901c90506001818481611dc457611dc4612f14565b048201901c90506001818481611ddc57611ddc612f14565b048201901c90506001818481611df457611df4612f14565b048201901c90506001818481611e0c57611e0c612f14565b048201901c90506001818481611e2457611e24612f14565b048201901c90506001818481611e3c57611e3c612f14565b048201901c905061085881828581611e5657611e56612f14565b0461244a565b6000611e6b6002848418612f43565b61085890848416612cea565b611e818282612460565b6002547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1015611f155760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f74657300000000000000000000000000000000606482015260840161082d565b6114ae600b61252783612533565b611f2d82826126fc565b6114ae600b61286c83612533565b816001600160a01b0316836001600160a01b031614158015611f5d5750600081115b15611d64576001600160a01b03831615611feb576001600160a01b0383166000908152600a602052604081208190611f989061286c85612533565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611fe0929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611d64576001600160a01b0382166000908152600a6020526040812081906120219061252785612533565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612069929190918252602082015260400190565b60405180910390a25050505050565b6060600061208583612878565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156120ee5750600090506003612190565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612142573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b03811661218957600060019250925050612190565b9150600090505b94509492505050565b60008160048111156121ad576121ad612f7e565b036121b55750565b60018160048111156121c9576121c9612f7e565b036122165760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161082d565b600281600481111561222a5761222a612f7e565b036122775760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161082d565b600381600481111561228b5761228b612f7e565b0361092a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b600c54610100900460ff1661237b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161082d565b610a0333611a64565b6001600160a01b03838116600090815260096020526040808220548584168352912054611d6492918216911683611f3b565b600080608083901c156123cb57608092831c92015b604083901c156123dd57604092831c92015b602083901c156123ef57602092831c92015b601083901c1561240157601092831c92015b600883901c1561241357600892831c92015b600483901c1561242557600492831c92015b600283901c1561243757600292831c92015b600183901c156107595760010192915050565b60008183106124595781610858565b5090919050565b6001600160a01b0382166124b65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161082d565b80600260008282546124c89190612cea565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361091c60008383611d69565b60006108588284612cea565b825460009081908181156125955760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660208201526125aa565b60408051808201909152600080825260208201525b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506125df84868863ffffffff16565b925060008211801561260957506125f4610b48565b65ffffffffffff16816000015163ffffffff16145b1561266357612617836128b9565b60008881526020902083016000190180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff9092169190911790556126f2565b86604051806040016040528061268761267a610b48565b65ffffffffffff1661198a565b63ffffffff16815260200161269b866128b9565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b6001600160a01b0382166127785760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b038216600090815260208190526040902054818110156128075760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611d6483600084611d69565b60006108588284612ed9565b600060ff8216601f811115610759576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115611a065760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f3234206269747300000000000000000000000000000000000000000000000000606482015260840161082d565b60006020828403121561295f57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461085857600080fd5b6000815180845260005b818110156129b557602081850181015186830182015201612999565b818111156129c7576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610858602083018461298f565b80356001600160a01b0381168114612a2457600080fd5b919050565b60008060408385031215612a3c57600080fd5b612a4583612a0d565b946020939093013593505050565b600080600060608486031215612a6857600080fd5b612a7184612a0d565b9250612a7f60208501612a0d565b9150604084013590509250925092565b600060208284031215612aa157600080fd5b5035919050565b600060208284031215612aba57600080fd5b61085882612a0d565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152612aff60e084018a61298f565b8381036040850152612b11818a61298f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612b6357835183529284019291840191600101612b47565b50909c9b505050505050505050505050565b803560ff81168114612a2457600080fd5b60008060008060008060c08789031215612b9f57600080fd5b612ba887612a0d565b95506020870135945060408701359350612bc460608801612b75565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215612bf957600080fd5b612c0288612a0d565b9650612c1060208901612a0d565b95506040880135945060608801359350612c2c60808901612b75565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612c5b57600080fd5b612c6483612a0d565b9150612c7260208401612a0d565b90509250929050565b60008060408385031215612c8e57600080fd5b612c9783612a0d565b9150602083013563ffffffff81168114612cb057600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115612cfd57612cfd612cbb565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680612d7457607f821691505b602082108103611c82577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611d6457600081815260208120601f850160051c81016020861015612dd45750805b601f850160051c820191505b81811015612df357828155600101612de0565b505050505050565b815167ffffffffffffffff811115612e1557612e15612d02565b612e2981612e238454612d60565b84612dad565b602080601f831160018114612e5e5760008415612e465750858301515b600019600386901b1c1916600185901b178555612df3565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612eab57888601518255948401946001909101908401612e8c565b5085821015612ec95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082821015612eeb57612eeb612cbb565b500390565b80516020808301519190811015611c825760001960209190910360031b1b16919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612f79577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_remoteToken\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"BRIDGE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"CLOCK_MODE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"DOMAIN_SEPARATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"REMOTE_TOKEN\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"allowance\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"approve\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"burn\",\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"checkpoints\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"pos\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structERC20Votes.Checkpoint\",\"components\":[{\"name\":\"fromBlock\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"votes\",\"type\":\"uint224\",\"internalType\":\"uint224\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"clock\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint48\",\"internalType\":\"uint48\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"decimals\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"decreaseAllowance\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegate\",\"inputs\":[{\"name\":\"delegatee\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegateBySig\",\"inputs\":[{\"name\":\"delegatee\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"expiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"v\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"delegates\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"eip712Domain\",\"inputs\":[],\"outputs\":[{\"name\":\"fields\",\"type\":\"bytes1\",\"internalType\":\"bytes1\"},{\"name\":\"name\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"version\",\"type\":\"string\",\"internalType\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"extensions\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPastTotalSupply\",\"inputs\":[{\"name\":\"timepoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getPastVotes\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"timepoint\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getVotes\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"increaseAllowance\",\"inputs\":[{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"mint\",\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"name\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"nonces\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"numCheckpoints\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"permit\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"v\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"r\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"supportsInterface\",\"inputs\":[{\"name\":\"_interfaceId\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"symbol\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"totalSupply\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transfer\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferFrom\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"version\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"Approval\",\"inputs\":[{\"name\":\"owner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"spender\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Burn\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"DelegateChanged\",\"inputs\":[{\"name\":\"delegator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"fromDelegate\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"toDelegate\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"DelegateVotesChanged\",\"inputs\":[{\"name\":\"delegate\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"previousBalance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"newBalance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EIP712DomainChanged\",\"inputs\":[],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Initialized\",\"inputs\":[{\"name\":\"version\",\"type\":\"uint8\",\"indexed\":false,\"internalType\":\"uint8\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Mint\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Transfer\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"InvalidShortString\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"StringTooLong\",\"inputs\":[{\"name\":\"str\",\"type\":\"string\",\"internalType\":\"string\"}]}]", + Bin: "0x6101a06040523480156200001257600080fd5b506040516200369838038062003698833981016040819052620000359162000321565b604051806040016040528060058152602001644b726f6d6160d81b81525080604051806040016040528060018152602001603160f81b8152508484604051806020016040528060008152506040518060200160405280600081525081818160039081620000a39190620003fe565b506004620000b28282620003fe565b505050506001600160a01b03918216608052501660a052620000e2826005620001ac602090811b620012fb17901c565b61016052620000ff816006620001ac602090811b620012fb17901c565b61018052815160208084019190912061012052815190820120610140524660e0526200018f6101205161014051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60c0525050306101005250620001a4620001fc565b505062000547565b6000602083511015620001cc57620001c483620002be565b9050620001f6565b82620001e3836200030160201b6200132c1760201c565b90620001f09082620003fe565b5060ff90505b92915050565b600c54610100900460ff16156200026a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b60648201526084015b60405180910390fd5b600c5460ff90811614620002bc57600c805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600080829050601f81511115620002ec578260405163305a27a960e01b8152600401620002619190620004ca565b8051620002f98262000522565b179392505050565b90565b80516001600160a01b03811681146200031c57600080fd5b919050565b600080604083850312156200033557600080fd5b620003408362000304565b9150620003506020840162000304565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200038457607f821691505b602082108103620003a557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003f957600081815260208120601f850160051c81016020861015620003d45750805b601f850160051c820191505b81811015620003f557828155600101620003e0565b5050505b505050565b81516001600160401b038111156200041a576200041a62000359565b62000432816200042b84546200036f565b84620003ab565b602080601f8311600181146200046a5760008415620004515750858301515b600019600386901b1c1916600185901b178555620003f5565b600085815260208120601f198616915b828110156200049b578886015182559484019460019091019084016200047a565b5085821015620004ba5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620004f957858101830151858201604001528201620004db565b818111156200050c576000604083870101525b50601f01601f1916929092016040019392505050565b80516020808301519190811015620003a55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516130d2620005c66000396000610ad001526000610aa5015260006117e6015260006117be01526000611719015260006117430152600061176d0152600081816106110152818161085d0152610c69015260006102a901526130d26000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c806379ba509711610160578063a457c2d7116100d8578063dd62ed3e1161008c578063ee9a31a211610071578063ee9a31a21461060c578063f1127ed814610633578063f2fde38b1461068557600080fd5b8063dd62ed3e146105c2578063e30c3978146105fb57600080fd5b8063c3cda520116100bd578063c3cda52014610589578063c4d66de81461059c578063d505accf146105af57600080fd5b8063a457c2d714610563578063a9059cbb1461057657600080fd5b80638e539e8c1161012f57806395d89b411161011457806395d89b41146105045780639ab24eb01461053d5780639dc29fac1461055057600080fd5b80638e539e8c146104d257806391ddadf4146104e557600080fd5b806379ba50971461048b5780637ecebe001461049357806384b0196e146104a65780638da5cb5b146104c157600080fd5b80633a46b1a8116101f3578063587cde1e116101c25780636fcfff45116101a75780636fcfff451461043257806370a082311461045a578063715018a61461048357600080fd5b8063587cde1e146103f35780635c19a95c1461041f57600080fd5b80633a46b1a81461038757806340c10f191461039a5780634bf5d7e9146103af57806354fd4d50146103b757600080fd5b806318160ddd1161024a578063313ce5671161022f578063313ce5671461035d5780633644e5151461036c578063395093511461037457600080fd5b806318160ddd1461033857806323b872dd1461034a57600080fd5b806301ffc9a71461027c578063033964be146102a457806306fdde03146102e3578063095ea7b314610325575b600080fd5b61028f61028a366004612a65565b610698565b60405190151581526020015b60405180910390f35b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161029b565b60408051808201909152600581527f4b726f6d6100000000000000000000000000000000000000000000000000000060208201525b60405161029b9190612b12565b61028f610333366004612b41565b610738565b6002545b60405190815260200161029b565b61028f610358366004612b6b565b610752565b6040516012815260200161029b565b61033c610776565b61028f610382366004612b41565b610785565b61033c610395366004612b41565b6107c4565b6103ad6103a8366004612b41565b610852565b005b610318610913565b6103186040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6102cb610401366004612ba7565b6001600160a01b039081166000908152600960205260409020541690565b6103ad61042d366004612ba7565b6109ab565b610445610440366004612ba7565b6109b8565b60405163ffffffff909116815260200161029b565b61033c610468366004612ba7565b6001600160a01b031660009081526020819052604090205490565b6103ad6109da565b6103ad6109ee565b61033c6104a1366004612ba7565b610a79565b6104ae610a97565b60405161029b9796959493929190612bc2565b603f546001600160a01b03166102cb565b61033c6104e0366004612c74565b610b3c565b6104ed610ba7565b60405165ffffffffffff909116815260200161029b565b60408051808201909152600381527f4b524f00000000000000000000000000000000000000000000000000000000006020820152610318565b61033c61054b366004612ba7565b610bb2565b6103ad61055e366004612b41565b610c5e565b61028f610571366004612b41565b610d06565b61028f610584366004612b41565b610db0565b6103ad610597366004612c9e565b610dbe565b6103ad6105aa366004612ba7565b610ef4565b6103ad6105bd366004612cf6565b611075565b61033c6105d0366004612d60565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6071546001600160a01b03166102cb565b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b610646610641366004612d93565b6111d9565b60408051825163ffffffff1681526020928301517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16928101929092520161029b565b6103ad610693366004612ba7565b611272565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f30a0c5a9000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000841682148061073057507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b60003361074681858561132f565b60019150505b92915050565b600033610760858285611487565b61076b858585611519565b506001949350505050565b600061078061170c565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061074690829086906107bf908790612e02565b61132f565b60006107ce610ba7565b65ffffffffffff1682106108295760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061084b9083611837565b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108935750603f546001600160a01b031633145b6109055760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e616e6365546f6b656e3a206f6e6c7920627269646765206f722060448201527f6f776e65722063616e206d696e740000000000000000000000000000000000006064820152608401610820565b61090f828261194a565b5050565b60604361091e610ba7565b65ffffffffffff16146109735760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000006044820152606401610820565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6109b5338261199b565b50565b6001600160a01b0381166000908152600a602052604081205461074c90611a2c565b6109e2611aac565b6109ec6000611b06565b565b60715433906001600160a01b03168114610a705760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610820565b6109b581611b06565b6001600160a01b03811660009081526007602052604081205461074c565b600060608082808083610acb7f00000000000000000000000000000000000000000000000000000000000000006005611b37565b610af67f00000000000000000000000000000000000000000000000000000000000000006006611b37565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6000610b46610ba7565b65ffffffffffff168210610b9c5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b7570000000000000006044820152606401610820565b61074c600b83611837565b600061078043611bdb565b6001600160a01b0381166000908152600a60205260408120548015610c36576001600160a01b0383166000908152600a6020526040902080546000198301908110610bff57610bff612e49565b60009182526020909120015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610c39565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cfc5760405162461bcd60e51b815260206004820152603160248201527f4b726f6d614d696e7461626c6545524332303a206f6e6c79206272696467652060448201527f63616e206d696e7420616e64206275726e0000000000000000000000000000006064820152608401610820565b61090f8282611c59565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610da35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610820565b61076b828686840361132f565b600033610746818585611519565b83421115610e0e5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610820565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e8890610e809060a00160405160208183030381529060405280519060200120611c9e565b858585611ce6565b9050610e9381611d0e565b8614610ee15760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610820565b610eeb818861199b565b50505050505050565b600c54610100900460ff1615808015610f145750600c54600160ff909116105b80610f2e5750303b158015610f2e5750600c5460ff166001145b610fa05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610820565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610ffe57600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611006611d36565b61100f82611272565b801561090f57600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b834211156110c55760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610820565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110f48c611d0e565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061114f82611c9e565b9050600061115f82878787611ce6565b9050896001600160a01b0316816001600160a01b0316146111c25760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610820565b6111cd8a8a8a61132f565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff841690811061121d5761121d612e49565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b61127a611aac565b607180546001600160a01b0383167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556112c3603f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60006020835110156113175761131083611dbb565b905061074c565b816113228482612f13565b5060ff905061074c565b90565b6001600160a01b0383166113aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0382166114265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461151357818110156115065760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610820565b611513848484840361132f565b50505050565b6001600160a01b0383166115955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0382166116115760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b038316600090815260208190526040902054818110156116a05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611513848484611e17565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561176557507f000000000000000000000000000000000000000000000000000000000000000046145b1561178f57507f000000000000000000000000000000000000000000000000000000000000000090565b610780604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b81546000908181600581111561189157600061185284611e22565b61185c9085612ff1565b600088815260209020909150869082015463ffffffff1611156118815780915061188f565b61188c816001612e02565b92505b505b808210156118de5760006118a58383611f0a565b600088815260209020909150869082015463ffffffff1611156118ca578091506118d8565b6118d5816001612e02565b92505b50611891565b801561191f576000868152602090208101600019015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611922565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b6119548282611f25565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161198f91815260200190565b60405180910390a25050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611513828483611fd1565b600063ffffffff821115611aa85760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610820565b5090565b603f546001600160a01b031633146109ec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610820565b607180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556109b58161210e565b606060ff8314611b4a5761131083612178565b818054611b5690612e78565b80601f0160208091040260200160405190810160405280929190818152602001828054611b8290612e78565b8015611bcf5780601f10611ba457610100808354040283529160200191611bcf565b820191906000526020600020905b815481529060010190602001808311611bb257829003601f168201915b5050505050905061074c565b600065ffffffffffff821115611aa85760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152608401610820565b611c6382826121b7565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161198f91815260200190565b600061074c611cab61170c565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611cf7878787876121cf565b91509150611d04816122b1565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600c54610100900460ff16611db35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610820565b6109ec612416565b600080829050601f81511115611dff57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016108209190612b12565b8051611e0a82613008565b179392505050565b505050565b611e1283838361249c565b600081600003611e3457506000919050565b60006001611e41846124ce565b901c6001901b90506001818481611e5a57611e5a61302c565b048201901c90506001818481611e7257611e7261302c565b048201901c90506001818481611e8a57611e8a61302c565b048201901c90506001818481611ea257611ea261302c565b048201901c90506001818481611eba57611eba61302c565b048201901c90506001818481611ed257611ed261302c565b048201901c90506001818481611eea57611eea61302c565b048201901c905061084b81828581611f0457611f0461302c565b04612562565b6000611f19600284841861305b565b61084b90848416612e02565b611f2f8282612578565b6002547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1015611fc35760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f746573000000000000000000000000000000006064820152608401610820565b611513600b61263f8361264b565b816001600160a01b0316836001600160a01b031614158015611ff35750600081115b15611e12576001600160a01b03831615612081576001600160a01b0383166000908152600a60205260408120819061202e906128148561264b565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612076929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611e12576001600160a01b0382166000908152600a6020526040812081906120b79061263f8561264b565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516120ff929190918252602082015260400190565b60405180910390a25050505050565b603f80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6060600061218583612820565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6121c18282612861565b611513600b6128148361264b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561220657506000905060036122a8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561225a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166122a1576000600192509250506122a8565b9150600090505b94509492505050565b60008160048111156122c5576122c5613096565b036122cd5750565b60018160048111156122e1576122e1613096565b0361232e5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610820565b600281600481111561234257612342613096565b0361238f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610820565b60038160048111156123a3576123a3613096565b036109b55760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610820565b600c54610100900460ff166124935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610820565b6109ec33611b06565b6001600160a01b03838116600090815260096020526040808220548584168352912054611e1292918216911683611fd1565b600080608083901c156124e357608092831c92015b604083901c156124f557604092831c92015b602083901c1561250757602092831c92015b601083901c1561251957601092831c92015b600883901c1561252b57600892831c92015b600483901c1561253d57600492831c92015b600283901c1561254f57600292831c92015b600183901c1561074c5760010192915050565b6000818310612571578161084b565b5090919050565b6001600160a01b0382166125ce5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610820565b80600260008282546125e09190612e02565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361090f60008383611e17565b600061084b8284612e02565b825460009081908181156126ad5760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660208201526126c2565b60408051808201909152600080825260208201525b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506126f784868863ffffffff16565b9250600082118015612721575061270c610ba7565b65ffffffffffff16816000015163ffffffff16145b1561277b5761272f836129d1565b60008881526020902083016000190180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff90921691909117905561280a565b86604051806040016040528061279f612792610ba7565b65ffffffffffff16611a2c565b63ffffffff1681526020016127b3866129d1565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b600061084b8284612ff1565b600060ff8216601f81111561074c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166128dd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0382166000908152602081905260409020548181101561296c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611e1283600084611e17565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115611aa85760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f32342062697473000000000000000000000000000000000000000000000000006064820152608401610820565b600060208284031215612a7757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461084b57600080fd5b6000815180845260005b81811015612acd57602081850181015186830182015201612ab1565b81811115612adf576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061084b6020830184612aa7565b80356001600160a01b0381168114612b3c57600080fd5b919050565b60008060408385031215612b5457600080fd5b612b5d83612b25565b946020939093013593505050565b600080600060608486031215612b8057600080fd5b612b8984612b25565b9250612b9760208501612b25565b9150604084013590509250925092565b600060208284031215612bb957600080fd5b61084b82612b25565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152612bfe60e084018a612aa7565b8381036040850152612c10818a612aa7565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612c6257835183529284019291840191600101612c46565b50909c9b505050505050505050505050565b600060208284031215612c8657600080fd5b5035919050565b803560ff81168114612b3c57600080fd5b60008060008060008060c08789031215612cb757600080fd5b612cc087612b25565b95506020870135945060408701359350612cdc60608801612c8d565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215612d1157600080fd5b612d1a88612b25565b9650612d2860208901612b25565b95506040880135945060608801359350612d4460808901612c8d565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612d7357600080fd5b612d7c83612b25565b9150612d8a60208401612b25565b90509250929050565b60008060408385031215612da657600080fd5b612daf83612b25565b9150602083013563ffffffff81168114612dc857600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115612e1557612e15612dd3565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680612e8c57607f821691505b602082108103611d30577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611e1257600081815260208120601f850160051c81016020861015612eec5750805b601f850160051c820191505b81811015612f0b57828155600101612ef8565b505050505050565b815167ffffffffffffffff811115612f2d57612f2d612e1a565b612f4181612f3b8454612e78565b84612ec5565b602080601f831160018114612f765760008415612f5e5750858301515b600019600386901b1c1916600185901b178555612f0b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612fc357888601518255948401946001909101908401612fa4565b5085821015612fe15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008282101561300357613003612dd3565b500390565b80516020808301519190811015611d305760001960209190910360031b1b16919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613091577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a", } // GovernanceTokenABI is the input ABI used to generate the binding from. @@ -805,6 +805,37 @@ func (_GovernanceToken *GovernanceTokenCallerSession) Owner() (common.Address, e return _GovernanceToken.Contract.Owner(&_GovernanceToken.CallOpts) } +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_GovernanceToken *GovernanceTokenCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _GovernanceToken.contract.Call(opts, &out, "pendingOwner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_GovernanceToken *GovernanceTokenSession) PendingOwner() (common.Address, error) { + return _GovernanceToken.Contract.PendingOwner(&_GovernanceToken.CallOpts) +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_GovernanceToken *GovernanceTokenCallerSession) PendingOwner() (common.Address, error) { + return _GovernanceToken.Contract.PendingOwner(&_GovernanceToken.CallOpts) +} + // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 _interfaceId) pure returns(bool) @@ -929,6 +960,27 @@ func (_GovernanceToken *GovernanceTokenCallerSession) Version() (string, error) return _GovernanceToken.Contract.Version(&_GovernanceToken.CallOpts) } +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_GovernanceToken *GovernanceTokenTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { + return _GovernanceToken.contract.Transact(opts, "acceptOwnership") +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_GovernanceToken *GovernanceTokenSession) AcceptOwnership() (*types.Transaction, error) { + return _GovernanceToken.Contract.AcceptOwnership(&_GovernanceToken.TransactOpts) +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_GovernanceToken *GovernanceTokenTransactorSession) AcceptOwnership() (*types.Transaction, error) { + return _GovernanceToken.Contract.AcceptOwnership(&_GovernanceToken.TransactOpts) +} + // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 amount) returns(bool) @@ -950,67 +1002,25 @@ func (_GovernanceToken *GovernanceTokenTransactorSession) Approve(spender common return _GovernanceToken.Contract.Approve(&_GovernanceToken.TransactOpts, spender, amount) } -// Burn is a paid mutator transaction binding the contract method 0x42966c68. -// -// Solidity: function burn(uint256 amount) returns() -func (_GovernanceToken *GovernanceTokenTransactor) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.contract.Transact(opts, "burn", amount) -} - -// Burn is a paid mutator transaction binding the contract method 0x42966c68. -// -// Solidity: function burn(uint256 amount) returns() -func (_GovernanceToken *GovernanceTokenSession) Burn(amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.Contract.Burn(&_GovernanceToken.TransactOpts, amount) -} - -// Burn is a paid mutator transaction binding the contract method 0x42966c68. -// -// Solidity: function burn(uint256 amount) returns() -func (_GovernanceToken *GovernanceTokenTransactorSession) Burn(amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.Contract.Burn(&_GovernanceToken.TransactOpts, amount) -} - -// Burn0 is a paid mutator transaction binding the contract method 0x9dc29fac. +// Burn is a paid mutator transaction binding the contract method 0x9dc29fac. // // Solidity: function burn(address _from, uint256 _amount) returns() -func (_GovernanceToken *GovernanceTokenTransactor) Burn0(opts *bind.TransactOpts, _from common.Address, _amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.contract.Transact(opts, "burn0", _from, _amount) +func (_GovernanceToken *GovernanceTokenTransactor) Burn(opts *bind.TransactOpts, _from common.Address, _amount *big.Int) (*types.Transaction, error) { + return _GovernanceToken.contract.Transact(opts, "burn", _from, _amount) } -// Burn0 is a paid mutator transaction binding the contract method 0x9dc29fac. +// Burn is a paid mutator transaction binding the contract method 0x9dc29fac. // // Solidity: function burn(address _from, uint256 _amount) returns() -func (_GovernanceToken *GovernanceTokenSession) Burn0(_from common.Address, _amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.Contract.Burn0(&_GovernanceToken.TransactOpts, _from, _amount) +func (_GovernanceToken *GovernanceTokenSession) Burn(_from common.Address, _amount *big.Int) (*types.Transaction, error) { + return _GovernanceToken.Contract.Burn(&_GovernanceToken.TransactOpts, _from, _amount) } -// Burn0 is a paid mutator transaction binding the contract method 0x9dc29fac. +// Burn is a paid mutator transaction binding the contract method 0x9dc29fac. // // Solidity: function burn(address _from, uint256 _amount) returns() -func (_GovernanceToken *GovernanceTokenTransactorSession) Burn0(_from common.Address, _amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.Contract.Burn0(&_GovernanceToken.TransactOpts, _from, _amount) -} - -// BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. -// -// Solidity: function burnFrom(address account, uint256 amount) returns() -func (_GovernanceToken *GovernanceTokenTransactor) BurnFrom(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.contract.Transact(opts, "burnFrom", account, amount) -} - -// BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. -// -// Solidity: function burnFrom(address account, uint256 amount) returns() -func (_GovernanceToken *GovernanceTokenSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.Contract.BurnFrom(&_GovernanceToken.TransactOpts, account, amount) -} - -// BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. -// -// Solidity: function burnFrom(address account, uint256 amount) returns() -func (_GovernanceToken *GovernanceTokenTransactorSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { - return _GovernanceToken.Contract.BurnFrom(&_GovernanceToken.TransactOpts, account, amount) +func (_GovernanceToken *GovernanceTokenTransactorSession) Burn(_from common.Address, _amount *big.Int) (*types.Transaction, error) { + return _GovernanceToken.Contract.Burn(&_GovernanceToken.TransactOpts, _from, _amount) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. @@ -2263,6 +2273,159 @@ func (_GovernanceToken *GovernanceTokenFilterer) ParseMint(log types.Log) (*Gove return event, nil } +// GovernanceTokenOwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the GovernanceToken contract. +type GovernanceTokenOwnershipTransferStartedIterator struct { + Event *GovernanceTokenOwnershipTransferStarted // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *GovernanceTokenOwnershipTransferStartedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(GovernanceTokenOwnershipTransferStarted) + 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 + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(GovernanceTokenOwnershipTransferStarted) + 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() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *GovernanceTokenOwnershipTransferStartedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *GovernanceTokenOwnershipTransferStartedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// GovernanceTokenOwnershipTransferStarted represents a OwnershipTransferStarted event raised by the GovernanceToken contract. +type GovernanceTokenOwnershipTransferStarted struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_GovernanceToken *GovernanceTokenFilterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*GovernanceTokenOwnershipTransferStartedIterator, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _GovernanceToken.contract.FilterLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return &GovernanceTokenOwnershipTransferStartedIterator{contract: _GovernanceToken.contract, event: "OwnershipTransferStarted", logs: logs, sub: sub}, nil +} + +// WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_GovernanceToken *GovernanceTokenFilterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *GovernanceTokenOwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _GovernanceToken.contract.WatchLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(GovernanceTokenOwnershipTransferStarted) + if err := _GovernanceToken.contract.UnpackLog(event, "OwnershipTransferStarted", 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 +} + +// ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_GovernanceToken *GovernanceTokenFilterer) ParseOwnershipTransferStarted(log types.Log) (*GovernanceTokenOwnershipTransferStarted, error) { + event := new(GovernanceTokenOwnershipTransferStarted) + if err := _GovernanceToken.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + // GovernanceTokenOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the GovernanceToken contract. type GovernanceTokenOwnershipTransferredIterator struct { Event *GovernanceTokenOwnershipTransferred // Event containing the contract specifics and raw log diff --git a/kroma-bindings/bindings/governancetoken_more.go b/kroma-bindings/bindings/governancetoken_more.go index b5c6b7742..5aa431f5d 100644 --- a/kroma-bindings/bindings/governancetoken_more.go +++ b/kroma-bindings/bindings/governancetoken_more.go @@ -9,11 +9,11 @@ import ( "github.com/ethereum-optimism/optimism/op-bindings/solc" ) -const GovernanceTokenStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_balances\",\"offset\":0,\"slot\":\"0\",\"type\":\"t_mapping(t_address,t_uint256)\"},{\"astId\":1001,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_allowances\",\"offset\":0,\"slot\":\"1\",\"type\":\"t_mapping(t_address,t_mapping(t_address,t_uint256))\"},{\"astId\":1002,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_totalSupply\",\"offset\":0,\"slot\":\"2\",\"type\":\"t_uint256\"},{\"astId\":1003,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_name\",\"offset\":0,\"slot\":\"3\",\"type\":\"t_string_storage\"},{\"astId\":1004,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_symbol\",\"offset\":0,\"slot\":\"4\",\"type\":\"t_string_storage\"},{\"astId\":1005,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_nameFallback\",\"offset\":0,\"slot\":\"5\",\"type\":\"t_string_storage\"},{\"astId\":1006,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_versionFallback\",\"offset\":0,\"slot\":\"6\",\"type\":\"t_string_storage\"},{\"astId\":1007,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_nonces\",\"offset\":0,\"slot\":\"7\",\"type\":\"t_mapping(t_address,t_struct(Counter)1018_storage)\"},{\"astId\":1008,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_PERMIT_TYPEHASH_DEPRECATED_SLOT\",\"offset\":0,\"slot\":\"8\",\"type\":\"t_bytes32\"},{\"astId\":1009,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_delegates\",\"offset\":0,\"slot\":\"9\",\"type\":\"t_mapping(t_address,t_address)\"},{\"astId\":1010,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_checkpoints\",\"offset\":0,\"slot\":\"10\",\"type\":\"t_mapping(t_address,t_array(t_struct(Checkpoint)1017_storage)dyn_storage)\"},{\"astId\":1011,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_totalSupplyCheckpoints\",\"offset\":0,\"slot\":\"11\",\"type\":\"t_array(t_struct(Checkpoint)1017_storage)dyn_storage\"},{\"astId\":1012,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_initialized\",\"offset\":0,\"slot\":\"12\",\"type\":\"t_uint8\"},{\"astId\":1013,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_initializing\",\"offset\":1,\"slot\":\"12\",\"type\":\"t_bool\"},{\"astId\":1014,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"__gap\",\"offset\":0,\"slot\":\"13\",\"type\":\"t_array(t_uint256)50_storage\"},{\"astId\":1015,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_owner\",\"offset\":0,\"slot\":\"63\",\"type\":\"t_address\"},{\"astId\":1016,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"__gap\",\"offset\":0,\"slot\":\"64\",\"type\":\"t_array(t_uint256)49_storage\"}],\"types\":{\"t_address\":{\"encoding\":\"inplace\",\"label\":\"address\",\"numberOfBytes\":\"20\"},\"t_array(t_struct(Checkpoint)1017_storage)dyn_storage\":{\"encoding\":\"dynamic_array\",\"label\":\"struct ERC20Votes.Checkpoint[]\",\"numberOfBytes\":\"32\",\"base\":\"t_struct(Checkpoint)1017_storage\"},\"t_array(t_uint256)49_storage\":{\"encoding\":\"inplace\",\"label\":\"uint256[49]\",\"numberOfBytes\":\"1568\",\"base\":\"t_uint256\"},\"t_array(t_uint256)50_storage\":{\"encoding\":\"inplace\",\"label\":\"uint256[50]\",\"numberOfBytes\":\"1600\",\"base\":\"t_uint256\"},\"t_bool\":{\"encoding\":\"inplace\",\"label\":\"bool\",\"numberOfBytes\":\"1\"},\"t_bytes32\":{\"encoding\":\"inplace\",\"label\":\"bytes32\",\"numberOfBytes\":\"32\"},\"t_mapping(t_address,t_address)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e address)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_address\"},\"t_mapping(t_address,t_array(t_struct(Checkpoint)1017_storage)dyn_storage)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e struct ERC20Votes.Checkpoint[])\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_array(t_struct(Checkpoint)1017_storage)dyn_storage\"},\"t_mapping(t_address,t_mapping(t_address,t_uint256))\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e mapping(address =\u003e uint256))\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_mapping(t_address,t_uint256)\"},\"t_mapping(t_address,t_struct(Counter)1018_storage)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e struct Counters.Counter)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_struct(Counter)1018_storage\"},\"t_mapping(t_address,t_uint256)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e uint256)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_uint256\"},\"t_string_storage\":{\"encoding\":\"bytes\",\"label\":\"string\",\"numberOfBytes\":\"32\"},\"t_struct(Checkpoint)1017_storage\":{\"encoding\":\"inplace\",\"label\":\"struct ERC20Votes.Checkpoint\",\"numberOfBytes\":\"32\"},\"t_struct(Counter)1018_storage\":{\"encoding\":\"inplace\",\"label\":\"struct Counters.Counter\",\"numberOfBytes\":\"32\"},\"t_uint224\":{\"encoding\":\"inplace\",\"label\":\"uint224\",\"numberOfBytes\":\"28\"},\"t_uint256\":{\"encoding\":\"inplace\",\"label\":\"uint256\",\"numberOfBytes\":\"32\"},\"t_uint32\":{\"encoding\":\"inplace\",\"label\":\"uint32\",\"numberOfBytes\":\"4\"},\"t_uint8\":{\"encoding\":\"inplace\",\"label\":\"uint8\",\"numberOfBytes\":\"1\"}}}" +const GovernanceTokenStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_balances\",\"offset\":0,\"slot\":\"0\",\"type\":\"t_mapping(t_address,t_uint256)\"},{\"astId\":1001,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_allowances\",\"offset\":0,\"slot\":\"1\",\"type\":\"t_mapping(t_address,t_mapping(t_address,t_uint256))\"},{\"astId\":1002,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_totalSupply\",\"offset\":0,\"slot\":\"2\",\"type\":\"t_uint256\"},{\"astId\":1003,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_name\",\"offset\":0,\"slot\":\"3\",\"type\":\"t_string_storage\"},{\"astId\":1004,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_symbol\",\"offset\":0,\"slot\":\"4\",\"type\":\"t_string_storage\"},{\"astId\":1005,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_nameFallback\",\"offset\":0,\"slot\":\"5\",\"type\":\"t_string_storage\"},{\"astId\":1006,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_versionFallback\",\"offset\":0,\"slot\":\"6\",\"type\":\"t_string_storage\"},{\"astId\":1007,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_nonces\",\"offset\":0,\"slot\":\"7\",\"type\":\"t_mapping(t_address,t_struct(Counter)1020_storage)\"},{\"astId\":1008,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_PERMIT_TYPEHASH_DEPRECATED_SLOT\",\"offset\":0,\"slot\":\"8\",\"type\":\"t_bytes32\"},{\"astId\":1009,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_delegates\",\"offset\":0,\"slot\":\"9\",\"type\":\"t_mapping(t_address,t_address)\"},{\"astId\":1010,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_checkpoints\",\"offset\":0,\"slot\":\"10\",\"type\":\"t_mapping(t_address,t_array(t_struct(Checkpoint)1019_storage)dyn_storage)\"},{\"astId\":1011,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_totalSupplyCheckpoints\",\"offset\":0,\"slot\":\"11\",\"type\":\"t_array(t_struct(Checkpoint)1019_storage)dyn_storage\"},{\"astId\":1012,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_initialized\",\"offset\":0,\"slot\":\"12\",\"type\":\"t_uint8\"},{\"astId\":1013,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_initializing\",\"offset\":1,\"slot\":\"12\",\"type\":\"t_bool\"},{\"astId\":1014,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"__gap\",\"offset\":0,\"slot\":\"13\",\"type\":\"t_array(t_uint256)50_storage\"},{\"astId\":1015,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_owner\",\"offset\":0,\"slot\":\"63\",\"type\":\"t_address\"},{\"astId\":1016,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"__gap\",\"offset\":0,\"slot\":\"64\",\"type\":\"t_array(t_uint256)49_storage\"},{\"astId\":1017,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"_pendingOwner\",\"offset\":0,\"slot\":\"113\",\"type\":\"t_address\"},{\"astId\":1018,\"contract\":\"contracts/governance/GovernanceToken.sol:GovernanceToken\",\"label\":\"__gap\",\"offset\":0,\"slot\":\"114\",\"type\":\"t_array(t_uint256)49_storage\"}],\"types\":{\"t_address\":{\"encoding\":\"inplace\",\"label\":\"address\",\"numberOfBytes\":\"20\"},\"t_array(t_struct(Checkpoint)1019_storage)dyn_storage\":{\"encoding\":\"dynamic_array\",\"label\":\"struct ERC20Votes.Checkpoint[]\",\"numberOfBytes\":\"32\",\"base\":\"t_struct(Checkpoint)1019_storage\"},\"t_array(t_uint256)49_storage\":{\"encoding\":\"inplace\",\"label\":\"uint256[49]\",\"numberOfBytes\":\"1568\",\"base\":\"t_uint256\"},\"t_array(t_uint256)50_storage\":{\"encoding\":\"inplace\",\"label\":\"uint256[50]\",\"numberOfBytes\":\"1600\",\"base\":\"t_uint256\"},\"t_bool\":{\"encoding\":\"inplace\",\"label\":\"bool\",\"numberOfBytes\":\"1\"},\"t_bytes32\":{\"encoding\":\"inplace\",\"label\":\"bytes32\",\"numberOfBytes\":\"32\"},\"t_mapping(t_address,t_address)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e address)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_address\"},\"t_mapping(t_address,t_array(t_struct(Checkpoint)1019_storage)dyn_storage)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e struct ERC20Votes.Checkpoint[])\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_array(t_struct(Checkpoint)1019_storage)dyn_storage\"},\"t_mapping(t_address,t_mapping(t_address,t_uint256))\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e mapping(address =\u003e uint256))\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_mapping(t_address,t_uint256)\"},\"t_mapping(t_address,t_struct(Counter)1020_storage)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e struct Counters.Counter)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_struct(Counter)1020_storage\"},\"t_mapping(t_address,t_uint256)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e uint256)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_uint256\"},\"t_string_storage\":{\"encoding\":\"bytes\",\"label\":\"string\",\"numberOfBytes\":\"32\"},\"t_struct(Checkpoint)1019_storage\":{\"encoding\":\"inplace\",\"label\":\"struct ERC20Votes.Checkpoint\",\"numberOfBytes\":\"32\"},\"t_struct(Counter)1020_storage\":{\"encoding\":\"inplace\",\"label\":\"struct Counters.Counter\",\"numberOfBytes\":\"32\"},\"t_uint224\":{\"encoding\":\"inplace\",\"label\":\"uint224\",\"numberOfBytes\":\"28\"},\"t_uint256\":{\"encoding\":\"inplace\",\"label\":\"uint256\",\"numberOfBytes\":\"32\"},\"t_uint32\":{\"encoding\":\"inplace\",\"label\":\"uint32\",\"numberOfBytes\":\"4\"},\"t_uint8\":{\"encoding\":\"inplace\",\"label\":\"uint8\",\"numberOfBytes\":\"1\"}}}" var GovernanceTokenStorageLayout = new(solc.StorageLayout) -var GovernanceTokenDeployedBin = "0x608060405234801561001057600080fd5b50600436106102775760003560e01c8063715018a6116101605780639dc29fac116100d8578063d505accf1161008c578063ee9a31a211610071578063ee9a31a214610619578063f1127ed814610640578063f2fde38b1461069257600080fd5b8063d505accf146105cd578063dd62ed3e146105e057600080fd5b8063a9059cbb116100bd578063a9059cbb14610594578063c3cda520146105a7578063c4d66de8146105ba57600080fd5b80639dc29fac1461056e578063a457c2d71461058157600080fd5b80638da5cb5b1161012f57806391ddadf41161011457806391ddadf41461050357806395d89b41146105225780639ab24eb01461055b57600080fd5b80638da5cb5b146104df5780638e539e8c146104f057600080fd5b8063715018a61461049657806379cc67901461049e5780637ecebe00146104b157806384b0196e146104c457600080fd5b80633a46b1a8116101f357806354fd4d50116101c25780635c19a95c116101a75780635c19a95c146104325780636fcfff451461044557806370a082311461046d57600080fd5b806354fd4d50146103ca578063587cde1e1461040657600080fd5b80633a46b1a81461038757806340c10f191461039a57806342966c68146103af5780634bf5d7e9146103c257600080fd5b806318160ddd1161024a578063313ce5671161022f578063313ce5671461035d5780633644e5151461036c578063395093511461037457600080fd5b806318160ddd1461033857806323b872dd1461034a57600080fd5b806301ffc9a71461027c578063033964be146102a457806306fdde03146102e3578063095ea7b314610325575b600080fd5b61028f61028a36600461294d565b6106a5565b60405190151581526020015b60405180910390f35b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161029b565b60408051808201909152600581527f4b726f6d6100000000000000000000000000000000000000000000000000000060208201525b60405161029b91906129fa565b61028f610333366004612a29565b610745565b6002545b60405190815260200161029b565b61028f610358366004612a53565b61075f565b6040516012815260200161029b565b61033c610783565b61028f610382366004612a29565b610792565b61033c610395366004612a29565b6107d1565b6103ad6103a8366004612a29565b61085f565b005b6103ad6103bd366004612a8f565b610920565b61031861092d565b6103186040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6102cb610414366004612aa8565b6001600160a01b039081166000908152600960205260409020541690565b6103ad610440366004612aa8565b6109c5565b610458610453366004612aa8565b6109cf565b60405163ffffffff909116815260200161029b565b61033c61047b366004612aa8565b6001600160a01b031660009081526020819052604090205490565b6103ad6109f1565b6103ad6104ac366004612a29565b610a05565b61033c6104bf366004612aa8565b610a1a565b6104cc610a38565b60405161029b9796959493929190612ac3565b603f546001600160a01b03166102cb565b61033c6104fe366004612a8f565b610add565b61050b610b48565b60405165ffffffffffff909116815260200161029b565b60408051808201909152600381527f4b524f00000000000000000000000000000000000000000000000000000000006020820152610318565b61033c610569366004612aa8565b610b53565b6103ad61057c366004612a29565b610bff565b61028f61058f366004612a29565b610c9d565b61028f6105a2366004612a29565b610d47565b6103ad6105b5366004612b86565b610d55565b6103ad6105c8366004612aa8565b610e8b565b6103ad6105db366004612bde565b61100c565b61033c6105ee366004612c48565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b61065361064e366004612c7b565b611170565b60408051825163ffffffff1681526020928301517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16928101929092520161029b565b6103ad6106a0366004612aa8565b611209565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f30a0c5a9000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000841682148061073d57507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b6000336107538185856112ca565b60019150505b92915050565b60003361076d858285611422565b6107788585856114b4565b506001949350505050565b600061078d6116a7565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061075390829086906107cc908790612cea565b6112ca565b60006107db610b48565b65ffffffffffff1682106108365760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061085890836117d2565b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108a05750603f546001600160a01b031633145b6109125760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e616e6365546f6b656e3a206f6e6c7920627269646765206f722060448201527f6f776e65722063616e206d696e74000000000000000000000000000000000000606482015260840161082d565b61091c82826118e5565b5050565b61092a33826118ef565b50565b606043610938610b48565b65ffffffffffff161461098d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161082d565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61092a33826118f9565b6001600160a01b0381166000908152600a60205260408120546107599061198a565b6109f9611a0a565b610a036000611a64565b565b610a10823383611422565b61091c82826118ef565b6001600160a01b038116600090815260076020526040812054610759565b600060608082808083610a6c7f00000000000000000000000000000000000000000000000000000000000000006005611ace565b610a977f00000000000000000000000000000000000000000000000000000000000000006006611ace565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6000610ae7610b48565b65ffffffffffff168210610b3d5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000604482015260640161082d565b610759600b836117d2565b600061078d43611b72565b6001600160a01b0381166000908152600a60205260408120548015610bd7576001600160a01b0383166000908152600a6020526040902080546000198301908110610ba057610ba0612d31565b60009182526020909120015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610bda565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a105760405162461bcd60e51b815260206004820152603160248201527f4b726f6d614d696e7461626c6545524332303a206f6e6c79206272696467652060448201527f63616e206d696e7420616e64206275726e000000000000000000000000000000606482015260840161082d565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610d3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161082d565b61077882868684036112ca565b6000336107538185856114b4565b83421115610da55760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161082d565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e1f90610e179060a00160405160208183030381529060405280519060200120611bf0565b858585611c38565b9050610e2a81611c60565b8614610e785760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161082d565b610e8281886118f9565b50505050505050565b600c54610100900460ff1615808015610eab5750600c54600160ff909116105b80610ec55750303b158015610ec55750600c5460ff166001145b610f375760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161082d565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f9557600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610f9d611c88565b610fa682611209565b801561091c57600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b8342111561105c5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161082d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861108b8c611c60565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110e682611bf0565b905060006110f682878787611c38565b9050896001600160a01b0316816001600160a01b0316146111595760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161082d565b6111648a8a8a6112ca565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff84169081106111b4576111b4612d31565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b611211611a0a565b6001600160a01b03811661128d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161082d565b61092a81611a64565b60006020835110156112b2576112ab83611d0d565b9050610759565b816112bd8482612dfb565b5060ff9050610759565b90565b6001600160a01b0383166113455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0382166113c15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146114ae57818110156114a15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161082d565b6114ae84848484036112ca565b50505050565b6001600160a01b0383166115305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0382166115ac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0383166000908152602081905260409020548181101561163b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36114ae848484611d69565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561170057507f000000000000000000000000000000000000000000000000000000000000000046145b1561172a57507f000000000000000000000000000000000000000000000000000000000000000090565b61078d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b81546000908181600581111561182c5760006117ed84611d74565b6117f79085612ed9565b600088815260209020909150869082015463ffffffff16111561181c5780915061182a565b611827816001612cea565b92505b505b808210156118795760006118408383611e5c565b600088815260209020909150869082015463ffffffff16111561186557809150611873565b611870816001612cea565b92505b5061182c565b80156118ba576000868152602090208101600019015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166118bd565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b61091c8282611e77565b61091c8282611f23565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46114ae828483611f3b565b600063ffffffff821115611a065760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f3220626974730000000000000000000000000000000000000000000000000000606482015260840161082d565b5090565b603f546001600160a01b03163314610a035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161082d565b603f80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff8314611ae1576112ab83612078565b818054611aed90612d60565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1990612d60565b8015611b665780601f10611b3b57610100808354040283529160200191611b66565b820191906000526020600020905b815481529060010190602001808311611b4957829003601f168201915b50505050509050610759565b600065ffffffffffff821115611a065760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f3820626974730000000000000000000000000000000000000000000000000000606482015260840161082d565b6000610759611bfd6116a7565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611c49878787876120b7565b91509150611c5681612199565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600c54610100900460ff16611d055760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161082d565b610a036122fe565b600080829050601f81511115611d5157826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161082d91906129fa565b8051611d5c82612ef0565b179392505050565b505050565b611d64838383612384565b600081600003611d8657506000919050565b60006001611d93846123b6565b901c6001901b90506001818481611dac57611dac612f14565b048201901c90506001818481611dc457611dc4612f14565b048201901c90506001818481611ddc57611ddc612f14565b048201901c90506001818481611df457611df4612f14565b048201901c90506001818481611e0c57611e0c612f14565b048201901c90506001818481611e2457611e24612f14565b048201901c90506001818481611e3c57611e3c612f14565b048201901c905061085881828581611e5657611e56612f14565b0461244a565b6000611e6b6002848418612f43565b61085890848416612cea565b611e818282612460565b6002547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1015611f155760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f74657300000000000000000000000000000000606482015260840161082d565b6114ae600b61252783612533565b611f2d82826126fc565b6114ae600b61286c83612533565b816001600160a01b0316836001600160a01b031614158015611f5d5750600081115b15611d64576001600160a01b03831615611feb576001600160a01b0383166000908152600a602052604081208190611f989061286c85612533565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611fe0929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611d64576001600160a01b0382166000908152600a6020526040812081906120219061252785612533565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612069929190918252602082015260400190565b60405180910390a25050505050565b6060600061208583612878565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156120ee5750600090506003612190565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612142573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b03811661218957600060019250925050612190565b9150600090505b94509492505050565b60008160048111156121ad576121ad612f7e565b036121b55750565b60018160048111156121c9576121c9612f7e565b036122165760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161082d565b600281600481111561222a5761222a612f7e565b036122775760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161082d565b600381600481111561228b5761228b612f7e565b0361092a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b600c54610100900460ff1661237b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161082d565b610a0333611a64565b6001600160a01b03838116600090815260096020526040808220548584168352912054611d6492918216911683611f3b565b600080608083901c156123cb57608092831c92015b604083901c156123dd57604092831c92015b602083901c156123ef57602092831c92015b601083901c1561240157601092831c92015b600883901c1561241357600892831c92015b600483901c1561242557600492831c92015b600283901c1561243757600292831c92015b600183901c156107595760010192915050565b60008183106124595781610858565b5090919050565b6001600160a01b0382166124b65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161082d565b80600260008282546124c89190612cea565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361091c60008383611d69565b60006108588284612cea565b825460009081908181156125955760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660208201526125aa565b60408051808201909152600080825260208201525b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506125df84868863ffffffff16565b925060008211801561260957506125f4610b48565b65ffffffffffff16816000015163ffffffff16145b1561266357612617836128b9565b60008881526020902083016000190180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff9092169190911790556126f2565b86604051806040016040528061268761267a610b48565b65ffffffffffff1661198a565b63ffffffff16815260200161269b866128b9565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b6001600160a01b0382166127785760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b038216600090815260208190526040902054818110156128075760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161082d565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611d6483600084611d69565b60006108588284612ed9565b600060ff8216601f811115610759576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115611a065760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f3234206269747300000000000000000000000000000000000000000000000000606482015260840161082d565b60006020828403121561295f57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461085857600080fd5b6000815180845260005b818110156129b557602081850181015186830182015201612999565b818111156129c7576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610858602083018461298f565b80356001600160a01b0381168114612a2457600080fd5b919050565b60008060408385031215612a3c57600080fd5b612a4583612a0d565b946020939093013593505050565b600080600060608486031215612a6857600080fd5b612a7184612a0d565b9250612a7f60208501612a0d565b9150604084013590509250925092565b600060208284031215612aa157600080fd5b5035919050565b600060208284031215612aba57600080fd5b61085882612a0d565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152612aff60e084018a61298f565b8381036040850152612b11818a61298f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612b6357835183529284019291840191600101612b47565b50909c9b505050505050505050505050565b803560ff81168114612a2457600080fd5b60008060008060008060c08789031215612b9f57600080fd5b612ba887612a0d565b95506020870135945060408701359350612bc460608801612b75565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215612bf957600080fd5b612c0288612a0d565b9650612c1060208901612a0d565b95506040880135945060608801359350612c2c60808901612b75565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612c5b57600080fd5b612c6483612a0d565b9150612c7260208401612a0d565b90509250929050565b60008060408385031215612c8e57600080fd5b612c9783612a0d565b9150602083013563ffffffff81168114612cb057600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115612cfd57612cfd612cbb565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680612d7457607f821691505b602082108103611c82577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611d6457600081815260208120601f850160051c81016020861015612dd45750805b601f850160051c820191505b81811015612df357828155600101612de0565b505050505050565b815167ffffffffffffffff811115612e1557612e15612d02565b612e2981612e238454612d60565b84612dad565b602080601f831160018114612e5e5760008415612e465750858301515b600019600386901b1c1916600185901b178555612df3565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612eab57888601518255948401946001909101908401612e8c565b5085821015612ec95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082821015612eeb57612eeb612cbb565b500390565b80516020808301519190811015611c825760001960209190910360031b1b16919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612f79577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a" +var GovernanceTokenDeployedBin = "0x608060405234801561001057600080fd5b50600436106102775760003560e01c806379ba509711610160578063a457c2d7116100d8578063dd62ed3e1161008c578063ee9a31a211610071578063ee9a31a21461060c578063f1127ed814610633578063f2fde38b1461068557600080fd5b8063dd62ed3e146105c2578063e30c3978146105fb57600080fd5b8063c3cda520116100bd578063c3cda52014610589578063c4d66de81461059c578063d505accf146105af57600080fd5b8063a457c2d714610563578063a9059cbb1461057657600080fd5b80638e539e8c1161012f57806395d89b411161011457806395d89b41146105045780639ab24eb01461053d5780639dc29fac1461055057600080fd5b80638e539e8c146104d257806391ddadf4146104e557600080fd5b806379ba50971461048b5780637ecebe001461049357806384b0196e146104a65780638da5cb5b146104c157600080fd5b80633a46b1a8116101f3578063587cde1e116101c25780636fcfff45116101a75780636fcfff451461043257806370a082311461045a578063715018a61461048357600080fd5b8063587cde1e146103f35780635c19a95c1461041f57600080fd5b80633a46b1a81461038757806340c10f191461039a5780634bf5d7e9146103af57806354fd4d50146103b757600080fd5b806318160ddd1161024a578063313ce5671161022f578063313ce5671461035d5780633644e5151461036c578063395093511461037457600080fd5b806318160ddd1461033857806323b872dd1461034a57600080fd5b806301ffc9a71461027c578063033964be146102a457806306fdde03146102e3578063095ea7b314610325575b600080fd5b61028f61028a366004612a65565b610698565b60405190151581526020015b60405180910390f35b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161029b565b60408051808201909152600581527f4b726f6d6100000000000000000000000000000000000000000000000000000060208201525b60405161029b9190612b12565b61028f610333366004612b41565b610738565b6002545b60405190815260200161029b565b61028f610358366004612b6b565b610752565b6040516012815260200161029b565b61033c610776565b61028f610382366004612b41565b610785565b61033c610395366004612b41565b6107c4565b6103ad6103a8366004612b41565b610852565b005b610318610913565b6103186040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6102cb610401366004612ba7565b6001600160a01b039081166000908152600960205260409020541690565b6103ad61042d366004612ba7565b6109ab565b610445610440366004612ba7565b6109b8565b60405163ffffffff909116815260200161029b565b61033c610468366004612ba7565b6001600160a01b031660009081526020819052604090205490565b6103ad6109da565b6103ad6109ee565b61033c6104a1366004612ba7565b610a79565b6104ae610a97565b60405161029b9796959493929190612bc2565b603f546001600160a01b03166102cb565b61033c6104e0366004612c74565b610b3c565b6104ed610ba7565b60405165ffffffffffff909116815260200161029b565b60408051808201909152600381527f4b524f00000000000000000000000000000000000000000000000000000000006020820152610318565b61033c61054b366004612ba7565b610bb2565b6103ad61055e366004612b41565b610c5e565b61028f610571366004612b41565b610d06565b61028f610584366004612b41565b610db0565b6103ad610597366004612c9e565b610dbe565b6103ad6105aa366004612ba7565b610ef4565b6103ad6105bd366004612cf6565b611075565b61033c6105d0366004612d60565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6071546001600160a01b03166102cb565b6102cb7f000000000000000000000000000000000000000000000000000000000000000081565b610646610641366004612d93565b6111d9565b60408051825163ffffffff1681526020928301517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16928101929092520161029b565b6103ad610693366004612ba7565b611272565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f30a0c5a9000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000841682148061073057507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b60003361074681858561132f565b60019150505b92915050565b600033610760858285611487565b61076b858585611519565b506001949350505050565b600061078061170c565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061074690829086906107bf908790612e02565b61132f565b60006107ce610ba7565b65ffffffffffff1682106108295760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061084b9083611837565b9392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108935750603f546001600160a01b031633145b6109055760405162461bcd60e51b815260206004820152602e60248201527f476f7665726e616e6365546f6b656e3a206f6e6c7920627269646765206f722060448201527f6f776e65722063616e206d696e740000000000000000000000000000000000006064820152608401610820565b61090f828261194a565b5050565b60604361091e610ba7565b65ffffffffffff16146109735760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000006044820152606401610820565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6109b5338261199b565b50565b6001600160a01b0381166000908152600a602052604081205461074c90611a2c565b6109e2611aac565b6109ec6000611b06565b565b60715433906001600160a01b03168114610a705760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610820565b6109b581611b06565b6001600160a01b03811660009081526007602052604081205461074c565b600060608082808083610acb7f00000000000000000000000000000000000000000000000000000000000000006005611b37565b610af67f00000000000000000000000000000000000000000000000000000000000000006006611b37565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6000610b46610ba7565b65ffffffffffff168210610b9c5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b7570000000000000006044820152606401610820565b61074c600b83611837565b600061078043611bdb565b6001600160a01b0381166000908152600a60205260408120548015610c36576001600160a01b0383166000908152600a6020526040902080546000198301908110610bff57610bff612e49565b60009182526020909120015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610c39565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cfc5760405162461bcd60e51b815260206004820152603160248201527f4b726f6d614d696e7461626c6545524332303a206f6e6c79206272696467652060448201527f63616e206d696e7420616e64206275726e0000000000000000000000000000006064820152608401610820565b61090f8282611c59565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610da35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610820565b61076b828686840361132f565b600033610746818585611519565b83421115610e0e5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610820565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e8890610e809060a00160405160208183030381529060405280519060200120611c9e565b858585611ce6565b9050610e9381611d0e565b8614610ee15760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610820565b610eeb818861199b565b50505050505050565b600c54610100900460ff1615808015610f145750600c54600160ff909116105b80610f2e5750303b158015610f2e5750600c5460ff166001145b610fa05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610820565b600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610ffe57600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611006611d36565b61100f82611272565b801561090f57600c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b834211156110c55760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610820565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110f48c611d0e565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061114f82611c9e565b9050600061115f82878787611ce6565b9050896001600160a01b0316816001600160a01b0316146111c25760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610820565b6111cd8a8a8a61132f565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff841690811061121d5761121d612e49565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b61127a611aac565b607180546001600160a01b0383167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556112c3603f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60006020835110156113175761131083611dbb565b905061074c565b816113228482612f13565b5060ff905061074c565b90565b6001600160a01b0383166113aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0382166114265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461151357818110156115065760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610820565b611513848484840361132f565b50505050565b6001600160a01b0383166115955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0382166116115760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b038316600090815260208190526040902054818110156116a05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611513848484611e17565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561176557507f000000000000000000000000000000000000000000000000000000000000000046145b1561178f57507f000000000000000000000000000000000000000000000000000000000000000090565b610780604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b81546000908181600581111561189157600061185284611e22565b61185c9085612ff1565b600088815260209020909150869082015463ffffffff1611156118815780915061188f565b61188c816001612e02565b92505b505b808210156118de5760006118a58383611f0a565b600088815260209020909150869082015463ffffffff1611156118ca578091506118d8565b6118d5816001612e02565b92505b50611891565b801561191f576000868152602090208101600019015464010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611922565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169695505050505050565b6119548282611f25565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161198f91815260200190565b60405180910390a25050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611513828483611fd1565b600063ffffffff821115611aa85760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610820565b5090565b603f546001600160a01b031633146109ec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610820565b607180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556109b58161210e565b606060ff8314611b4a5761131083612178565b818054611b5690612e78565b80601f0160208091040260200160405190810160405280929190818152602001828054611b8290612e78565b8015611bcf5780601f10611ba457610100808354040283529160200191611bcf565b820191906000526020600020905b815481529060010190602001808311611bb257829003601f168201915b5050505050905061074c565b600065ffffffffffff821115611aa85760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152608401610820565b611c6382826121b7565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161198f91815260200190565b600061074c611cab61170c565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611cf7878787876121cf565b91509150611d04816122b1565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600c54610100900460ff16611db35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610820565b6109ec612416565b600080829050601f81511115611dff57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016108209190612b12565b8051611e0a82613008565b179392505050565b505050565b611e1283838361249c565b600081600003611e3457506000919050565b60006001611e41846124ce565b901c6001901b90506001818481611e5a57611e5a61302c565b048201901c90506001818481611e7257611e7261302c565b048201901c90506001818481611e8a57611e8a61302c565b048201901c90506001818481611ea257611ea261302c565b048201901c90506001818481611eba57611eba61302c565b048201901c90506001818481611ed257611ed261302c565b048201901c90506001818481611eea57611eea61302c565b048201901c905061084b81828581611f0457611f0461302c565b04612562565b6000611f19600284841861305b565b61084b90848416612e02565b611f2f8282612578565b6002547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1015611fc35760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f746573000000000000000000000000000000006064820152608401610820565b611513600b61263f8361264b565b816001600160a01b0316836001600160a01b031614158015611ff35750600081115b15611e12576001600160a01b03831615612081576001600160a01b0383166000908152600a60205260408120819061202e906128148561264b565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612076929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611e12576001600160a01b0382166000908152600a6020526040812081906120b79061263f8561264b565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516120ff929190918252602082015260400190565b60405180910390a25050505050565b603f80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6060600061218583612820565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6121c18282612861565b611513600b6128148361264b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561220657506000905060036122a8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561225a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166122a1576000600192509250506122a8565b9150600090505b94509492505050565b60008160048111156122c5576122c5613096565b036122cd5750565b60018160048111156122e1576122e1613096565b0361232e5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610820565b600281600481111561234257612342613096565b0361238f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610820565b60038160048111156123a3576123a3613096565b036109b55760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610820565b600c54610100900460ff166124935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610820565b6109ec33611b06565b6001600160a01b03838116600090815260096020526040808220548584168352912054611e1292918216911683611fd1565b600080608083901c156124e357608092831c92015b604083901c156124f557604092831c92015b602083901c1561250757602092831c92015b601083901c1561251957601092831c92015b600883901c1561252b57600892831c92015b600483901c1561253d57600492831c92015b600283901c1561254f57600292831c92015b600183901c1561074c5760010192915050565b6000818310612571578161084b565b5090919050565b6001600160a01b0382166125ce5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610820565b80600260008282546125e09190612e02565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361090f60008383611e17565b600061084b8284612e02565b825460009081908181156126ad5760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660208201526126c2565b60408051808201909152600080825260208201525b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506126f784868863ffffffff16565b9250600082118015612721575061270c610ba7565b65ffffffffffff16816000015163ffffffff16145b1561277b5761272f836129d1565b60008881526020902083016000190180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092166401000000000263ffffffff90921691909117905561280a565b86604051806040016040528061279f612792610ba7565b65ffffffffffff16611a2c565b63ffffffff1681526020016127b3866129d1565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b600061084b8284612ff1565b600060ff8216601f81111561074c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166128dd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0382166000908152602081905260409020548181101561296c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610820565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611e1283600084611e17565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821115611aa85760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f32342062697473000000000000000000000000000000000000000000000000006064820152608401610820565b600060208284031215612a7757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461084b57600080fd5b6000815180845260005b81811015612acd57602081850181015186830182015201612ab1565b81811115612adf576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061084b6020830184612aa7565b80356001600160a01b0381168114612b3c57600080fd5b919050565b60008060408385031215612b5457600080fd5b612b5d83612b25565b946020939093013593505050565b600080600060608486031215612b8057600080fd5b612b8984612b25565b9250612b9760208501612b25565b9150604084013590509250925092565b600060208284031215612bb957600080fd5b61084b82612b25565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152612bfe60e084018a612aa7565b8381036040850152612c10818a612aa7565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612c6257835183529284019291840191600101612c46565b50909c9b505050505050505050505050565b600060208284031215612c8657600080fd5b5035919050565b803560ff81168114612b3c57600080fd5b60008060008060008060c08789031215612cb757600080fd5b612cc087612b25565b95506020870135945060408701359350612cdc60608801612c8d565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215612d1157600080fd5b612d1a88612b25565b9650612d2860208901612b25565b95506040880135945060608801359350612d4460808901612c8d565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612d7357600080fd5b612d7c83612b25565b9150612d8a60208401612b25565b90509250929050565b60008060408385031215612da657600080fd5b612daf83612b25565b9150602083013563ffffffff81168114612dc857600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115612e1557612e15612dd3565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680612e8c57607f821691505b602082108103611d30577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611e1257600081815260208120601f850160051c81016020861015612eec5750805b601f850160051c820191505b81811015612f0b57828155600101612ef8565b505050505050565b815167ffffffffffffffff811115612f2d57612f2d612e1a565b612f4181612f3b8454612e78565b84612ec5565b602080601f831160018114612f765760008415612f5e5750858301515b600019600386901b1c1916600185901b178555612f0b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612fc357888601518255948401946001909101908401612fa4565b5085821015612fe15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008282101561300357613003612dd3565b500390565b80516020808301519190811015611d305760001960209190910360031b1b16919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613091577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a" func init() { diff --git a/kroma-bindings/bindings/mintmanager.go b/kroma-bindings/bindings/mintmanager.go index 521ffc072..459450b4d 100644 --- a/kroma-bindings/bindings/mintmanager.go +++ b/kroma-bindings/bindings/mintmanager.go @@ -31,8 +31,8 @@ var ( // MintManagerMetaData contains all meta data concerning the MintManager contract. var MintManagerMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_governanceToken\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_recipients\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"_shares\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"GOVERNANCE_TOKEN\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractGovernanceToken\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MINT_CAP\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"SHARE_DENOMINATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"distribute\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"mint\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"minted\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recipients\",\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnershipOfToken\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"shareOf\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnershipOfToken\",\"inputs\":[{\"name\":\"newMintManager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false}]", - Bin: "0x60a06040523480156200001157600080fd5b506040516200154238038062001542833981016040819052620000349162000510565b6200003f33620002e4565b6001600160a01b038416608052620000578362000334565b8051825114620000ba5760405162461bcd60e51b8152602060048201526024808201527f4d696e744d616e616765723a20696e76616c6964206c656e677468206f6620616044820152637272617960e01b60648201526084015b60405180910390fd5b6000805b83518110156200024f576000848281518110620000df57620000df62000606565b6020026020010151905060006001600160a01b0316816001600160a01b031603620001605760405162461bcd60e51b815260206004820152602a60248201527f4d696e744d616e616765723a20726563697069656e74206164647265737320636044820152690616e6e6f7420626520360b41b6064820152608401620000b1565b600084838151811062000177576200017762000606565b6020026020010151905080600003620001d35760405162461bcd60e51b815260206004820152601e60248201527f4d696e744d616e616765723a2073686172652063616e6e6f74206265203000006044820152606401620000b1565b620001df818562000632565b600180548082019091557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b039094166001600160a01b0319909416841790556000928352600260205260409092205591508062000246816200064d565b915050620000be565b50620186a0811115620002d95760405162461bcd60e51b8152602060048201526044602482018190527f4d696e744d616e616765723a206d617820746f74616c20736861726520697320908201527f657175616c206f72206c657373207468616e2053484152455f44454e4f4d494e60648201526320aa27a960e11b608482015260a401620000b1565b505050505062000669565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6200033e620003b3565b6001600160a01b038116620003a55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620000b1565b620003b081620002e4565b50565b6000546001600160a01b031633146200040f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000b1565b565b80516001600160a01b03811681146200042957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200046f576200046f6200042e565b604052919050565b60006001600160401b038211156200049357620004936200042e565b5060051b60200190565b600082601f830112620004af57600080fd5b81516020620004c8620004c28362000477565b62000444565b82815260059290921b84018101918181019086841115620004e857600080fd5b8286015b84811015620005055780518352918301918301620004ec565b509695505050505050565b600080600080608085870312156200052757600080fd5b620005328562000411565b935060206200054381870162000411565b60408701519094506001600160401b03808211156200056157600080fd5b818801915088601f8301126200057657600080fd5b815162000587620004c28262000477565b81815260059190911b8301840190848101908b831115620005a757600080fd5b938501935b82851015620005d057620005c08562000411565b82529385019390850190620005ac565b60608b01519097509450505080831115620005ea57600080fd5b5050620005fa878288016200049d565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156200064857620006486200061c565b500190565b6000600182016200066257620006626200061c565b5060010190565b608051610e8c620006b660003960008181610126015281816102e20152818161045401528181610555015281816105d201528181610695015281816107fb01526108b30152610e8c6000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80637eb118451161008c578063baee5ed411610066578063baee5ed4146101f0578063d1bc76a1146101f8578063e4fc6b6d1461020b578063f2fde38b1461021357600080fd5b80637eb11845146101bd5780638da5cb5b146101c757806398f1312e146101e557600080fd5b8063457c3977116100bd578063457c39771461016d5780634f02c42014610180578063715018a6146101b557600080fd5b80631249c58b146100e457806321e5e2c4146100ee5780632efd46d614610121575b600080fd5b6100ec610226565b005b61010e6100fc366004610b74565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b6101487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610118565b6100ec61017b366004610b74565b610508565b6000546101a59074010000000000000000000000000000000000000000900460ff1681565b6040519015158152602001610118565b6100ec6105b4565b61010e620186a081565b60005473ffffffffffffffffffffffffffffffffffffffff16610148565b61010e633b9aca0081565b6100ec6105c8565b610148610206366004610bb1565b610652565b6100ec610689565b6100ec610221366004610b74565b6109c7565b61022e610a7e565b60005474010000000000000000000000000000000000000000900460ff16156102de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d696e744d616e616765723a20616c7265616479206d696e746564206f6e207460448201527f68697320636861696e000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f9190610bca565b61037a90600a610d3e565b61038890633b9aca00610d4d565b90506000805b60015481101561041e576000600182815481106103ad576103ad610d8a565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526002909152604082205490925090620186a06103f08388610d4d565b6103fa9190610db9565b90506104068186610df4565b9450505050808061041690610e0c565b91505061038e565b506040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906340c10f1990604401600060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050565b610510610a7e565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401600060405180830381600087803b15801561059957600080fd5b505af11580156105ad573d6000803e3d6000fd5b5050505050565b6105bc610a7e565b6105c66000610aff565b565b6105d0610a7e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561063857600080fd5b505af115801561064c573d6000803e3d6000fd5b50505050565b6001818154811061066257600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b610691610a7e565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107229190610bca565b61072d90600a610d3e565b61073b90633b9aca00610d4d565b905060005b6001548110156108815760006001828154811061075f5761075f610d8a565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526002909152604082205490925090620186a06107a28387610d4d565b6107ac9190610db9565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a9190610e44565b50505050808061087990610e0c565b915050610740565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561090f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109339190610e66565b905080156109c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d696e744d616e616765723a20746f6b656e732072656d61696e20616674657260448201527f20646973747269627574696f6e0000000000000000000000000000000000000060648201526084016102d5565b5050565b6109cf610a7e565b73ffffffffffffffffffffffffffffffffffffffff8116610a72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d5565b610a7b81610aff565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d5565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b8657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610baa57600080fd5b9392505050565b600060208284031215610bc357600080fd5b5035919050565b600060208284031215610bdc57600080fd5b815160ff81168114610baa57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b80851115610c7557817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610c5b57610c5b610bed565b80851615610c6857918102915b93841c9390800290610c21565b509250929050565b600082610c8c57506001610d38565b81610c9957506000610d38565b8160018114610caf5760028114610cb957610cd5565b6001915050610d38565b60ff841115610cca57610cca610bed565b50506001821b610d38565b5060208310610133831016604e8410600b8410161715610cf8575081810a610d38565b610d028383610c1c565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610d3457610d34610bed565b0290505b92915050565b6000610baa60ff841683610c7d565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610d8557610d85610bed565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610def577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008219821115610e0757610e07610bed565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e3d57610e3d610bed565b5060010190565b600060208284031215610e5657600080fd5b81518015158114610baa57600080fd5b600060208284031215610e7857600080fd5b505191905056fea164736f6c634300080f000a", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_governanceToken\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_owner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"_recipients\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"_shares\",\"type\":\"uint256[]\",\"internalType\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"GOVERNANCE_TOKEN\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractGovernanceToken\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MINT_CAP\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"SHARE_DENOMINATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"acceptOwnershipOfToken\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"distribute\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"mint\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"minted\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"pendingOwner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"recipients\",\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"renounceOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceOwnershipOfToken\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"shareOf\",\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"transferOwnershipOfToken\",\"inputs\":[{\"name\":\"newMintManager\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"OwnershipTransferStarted\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false}]", + Bin: "0x60a06040523480156200001157600080fd5b506040516200169338038062001693833981016040819052620000349162000574565b6200003f336200032a565b6001600160a01b038416608052620000578362000354565b8051825114620000ba5760405162461bcd60e51b8152602060048201526024808201527f4d696e744d616e616765723a20696e76616c6964206c656e677468206f6620616044820152637272617960e01b60648201526084015b60405180910390fd5b6000805b835181101562000295576000848281518110620000df57620000df6200066a565b6020026020010151905060006001600160a01b0316816001600160a01b031603620001605760405162461bcd60e51b815260206004820152602a60248201527f4d696e744d616e616765723a20726563697069656e74206164647265737320636044820152690616e6e6f7420626520360b41b6064820152608401620000b1565b60008483815181106200017757620001776200066a565b6020026020010151905080600003620001d35760405162461bcd60e51b815260206004820152601e60248201527f4d696e744d616e616765723a2073686172652063616e6e6f74206265203000006044820152606401620000b1565b6001600160a01b03821660009081526003602052604081205490036200023f57600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0384161790555b6001600160a01b038216600090815260036020526040812080548392906200026990849062000696565b909155506200027b9050818562000696565b9350505080806200028c90620006b1565b915050620000be565b50620186a08111156200031f5760405162461bcd60e51b8152602060048201526044602482018190527f4d696e744d616e616765723a206d617820746f74616c20736861726520697320908201527f657175616c206f72206c657373207468616e2053484152455f44454e4f4d494e60648201526320aa27a960e11b608482015260a401620000b1565b5050505050620006cd565b600180546001600160a01b03191690556200035181620003c7602090811b62000b5317901c565b50565b6200035e62000417565b600180546001600160a01b0319166001600160a01b0383169081179091556200038f6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620004735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000b1565b565b80516001600160a01b03811681146200048d57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620004d357620004d362000492565b604052919050565b60006001600160401b03821115620004f757620004f762000492565b5060051b60200190565b600082601f8301126200051357600080fd5b815160206200052c6200052683620004db565b620004a8565b82815260059290921b840181019181810190868411156200054c57600080fd5b8286015b8481101562000569578051835291830191830162000550565b509695505050505050565b600080600080608085870312156200058b57600080fd5b620005968562000475565b93506020620005a781870162000475565b60408701519094506001600160401b0380821115620005c557600080fd5b818801915088601f830112620005da57600080fd5b8151620005eb6200052682620004db565b81815260059190911b8301840190848101908b8311156200060b57600080fd5b938501935b828510156200063457620006248562000475565b8252938501939085019062000610565b60608b015190975094505050808311156200064e57600080fd5b50506200065e8782880162000501565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115620006ac57620006ac62000680565b500190565b600060018201620006c657620006c662000680565b5060010190565b608051610f796200071a6000396000818161014f01528181610331015281816104a3015281816105610152818161062e0152818161080a015281816108b30152610a190152610f796000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80637eb1184511610097578063d1bc76a111610066578063d1bc76a114610229578063e30c39781461023c578063e4fc6b6d1461025a578063f2fde38b1461026257600080fd5b80637eb11845146101ee5780638da5cb5b146101f857806398f1312e14610216578063baee5ed41461022157600080fd5b8063457c3977116100d3578063457c3977146101965780634f02c420146101a9578063715018a6146101de57806379ba5097146101e657600080fd5b80631249c58b1461010557806321e5e2c41461010f57806328df3f18146101425780632efd46d61461014a575b600080fd5b61010d610275565b005b61012f61011d366004610c7a565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b61010d610557565b6101717f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610139565b61010d6101a4366004610c7a565b6105e1565b6001546101ce9074010000000000000000000000000000000000000000900460ff1681565b6040519015158152602001610139565b61010d61068d565b61010d6106a1565b61012f620186a081565b60005473ffffffffffffffffffffffffffffffffffffffff16610171565b61012f633b9aca0081565b61010d610756565b610171610237366004610cb7565b610870565b60015473ffffffffffffffffffffffffffffffffffffffff16610171565b61010d6108a7565b61010d610270366004610c7a565b610aa3565b61027d610bc8565b60015474010000000000000000000000000000000000000000900460ff161561032d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d696e744d616e616765723a20616c7265616479206d696e746564206f6e207460448201527f68697320636861696e000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be9190610cd0565b6103c990600a610e44565b6103d790633b9aca00610e53565b90506000805b60025481101561046d576000600282815481106103fc576103fc610e90565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526003909152604082205490925090620186a061043f8388610e53565b6104499190610ebf565b90506104558186610efa565b9450505050808061046590610f12565b9150506103dd565b506040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906340c10f1990604401600060405180830381600087803b1580156104fc57600080fd5b505af1158015610510573d6000803e3d6000fd5b5050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050565b61055f610bc8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166379ba50976040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105c757600080fd5b505af11580156105db573d6000803e3d6000fd5b50505050565b6105e9610bc8565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401600060405180830381600087803b15801561067257600080fd5b505af1158015610686573d6000803e3d6000fd5b5050505050565b610695610bc8565b61069f6000610c49565b565b600154339073ffffffffffffffffffffffffffffffffffffffff16811461074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610324565b61075381610c49565b50565b61075e610bc8565b60015474010000000000000000000000000000000000000000900460ff16610808576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d696e744d616e616765723a206e6f74206d696e746564206265666f7265207260448201527f656e6f756e6365206f776e6572736869700000000000000000000000000000006064820152608401610324565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105c757600080fd5b6002818154811061088057600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6108af610bc8565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109409190610cd0565b61094b90600a610e44565b61095990633b9aca00610e53565b905060005b600254811015610a9f5760006002828154811061097d5761097d610e90565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526003909152604082205490925090620186a06109c08387610e53565b6109ca9190610ebf565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a889190610f4a565b505050508080610a9790610f12565b91505061095e565b5050565b610aab610bc8565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610b0e60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610324565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561075381610b53565b600060208284031215610c8c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cb057600080fd5b9392505050565b600060208284031215610cc957600080fd5b5035919050565b600060208284031215610ce257600080fd5b815160ff81168114610cb057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b80851115610d7b57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610d6157610d61610cf3565b80851615610d6e57918102915b93841c9390800290610d27565b509250929050565b600082610d9257506001610e3e565b81610d9f57506000610e3e565b8160018114610db55760028114610dbf57610ddb565b6001915050610e3e565b60ff841115610dd057610dd0610cf3565b50506001821b610e3e565b5060208310610133831016604e8410600b8410161715610dfe575081810a610e3e565b610e088383610d22565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610e3a57610e3a610cf3565b0290505b92915050565b6000610cb060ff841683610d83565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610e8b57610e8b610cf3565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610ef5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008219821115610f0d57610f0d610cf3565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f4357610f43610cf3565b5060010190565b600060208284031215610f5c57600080fd5b81518015158114610cb057600080fdfea164736f6c634300080f000a", } // MintManagerABI is the input ABI used to generate the binding from. @@ -357,6 +357,37 @@ func (_MintManager *MintManagerCallerSession) Owner() (common.Address, error) { return _MintManager.Contract.Owner(&_MintManager.CallOpts) } +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_MintManager *MintManagerCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _MintManager.contract.Call(opts, &out, "pendingOwner") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_MintManager *MintManagerSession) PendingOwner() (common.Address, error) { + return _MintManager.Contract.PendingOwner(&_MintManager.CallOpts) +} + +// PendingOwner is a free data retrieval call binding the contract method 0xe30c3978. +// +// Solidity: function pendingOwner() view returns(address) +func (_MintManager *MintManagerCallerSession) PendingOwner() (common.Address, error) { + return _MintManager.Contract.PendingOwner(&_MintManager.CallOpts) +} + // Recipients is a free data retrieval call binding the contract method 0xd1bc76a1. // // Solidity: function recipients(uint256 ) view returns(address) @@ -419,6 +450,48 @@ func (_MintManager *MintManagerCallerSession) ShareOf(arg0 common.Address) (*big return _MintManager.Contract.ShareOf(&_MintManager.CallOpts, arg0) } +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_MintManager *MintManagerTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { + return _MintManager.contract.Transact(opts, "acceptOwnership") +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_MintManager *MintManagerSession) AcceptOwnership() (*types.Transaction, error) { + return _MintManager.Contract.AcceptOwnership(&_MintManager.TransactOpts) +} + +// AcceptOwnership is a paid mutator transaction binding the contract method 0x79ba5097. +// +// Solidity: function acceptOwnership() returns() +func (_MintManager *MintManagerTransactorSession) AcceptOwnership() (*types.Transaction, error) { + return _MintManager.Contract.AcceptOwnership(&_MintManager.TransactOpts) +} + +// AcceptOwnershipOfToken is a paid mutator transaction binding the contract method 0x28df3f18. +// +// Solidity: function acceptOwnershipOfToken() returns() +func (_MintManager *MintManagerTransactor) AcceptOwnershipOfToken(opts *bind.TransactOpts) (*types.Transaction, error) { + return _MintManager.contract.Transact(opts, "acceptOwnershipOfToken") +} + +// AcceptOwnershipOfToken is a paid mutator transaction binding the contract method 0x28df3f18. +// +// Solidity: function acceptOwnershipOfToken() returns() +func (_MintManager *MintManagerSession) AcceptOwnershipOfToken() (*types.Transaction, error) { + return _MintManager.Contract.AcceptOwnershipOfToken(&_MintManager.TransactOpts) +} + +// AcceptOwnershipOfToken is a paid mutator transaction binding the contract method 0x28df3f18. +// +// Solidity: function acceptOwnershipOfToken() returns() +func (_MintManager *MintManagerTransactorSession) AcceptOwnershipOfToken() (*types.Transaction, error) { + return _MintManager.Contract.AcceptOwnershipOfToken(&_MintManager.TransactOpts) +} + // Distribute is a paid mutator transaction binding the contract method 0xe4fc6b6d. // // Solidity: function distribute() returns() @@ -545,6 +618,159 @@ func (_MintManager *MintManagerTransactorSession) TransferOwnershipOfToken(newMi return _MintManager.Contract.TransferOwnershipOfToken(&_MintManager.TransactOpts, newMintManager) } +// MintManagerOwnershipTransferStartedIterator is returned from FilterOwnershipTransferStarted and is used to iterate over the raw logs and unpacked data for OwnershipTransferStarted events raised by the MintManager contract. +type MintManagerOwnershipTransferStartedIterator struct { + Event *MintManagerOwnershipTransferStarted // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *MintManagerOwnershipTransferStartedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(MintManagerOwnershipTransferStarted) + 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 + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(MintManagerOwnershipTransferStarted) + 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() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *MintManagerOwnershipTransferStartedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *MintManagerOwnershipTransferStartedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// MintManagerOwnershipTransferStarted represents a OwnershipTransferStarted event raised by the MintManager contract. +type MintManagerOwnershipTransferStarted struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnershipTransferStarted is a free log retrieval operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_MintManager *MintManagerFilterer) FilterOwnershipTransferStarted(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*MintManagerOwnershipTransferStartedIterator, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _MintManager.contract.FilterLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return &MintManagerOwnershipTransferStartedIterator{contract: _MintManager.contract, event: "OwnershipTransferStarted", logs: logs, sub: sub}, nil +} + +// WatchOwnershipTransferStarted is a free log subscription operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_MintManager *MintManagerFilterer) WatchOwnershipTransferStarted(opts *bind.WatchOpts, sink chan<- *MintManagerOwnershipTransferStarted, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { + + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) + } + + logs, sub, err := _MintManager.contract.WatchLogs(opts, "OwnershipTransferStarted", previousOwnerRule, newOwnerRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(MintManagerOwnershipTransferStarted) + if err := _MintManager.contract.UnpackLog(event, "OwnershipTransferStarted", 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 +} + +// ParseOwnershipTransferStarted is a log parse operation binding the contract event 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700. +// +// Solidity: event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner) +func (_MintManager *MintManagerFilterer) ParseOwnershipTransferStarted(log types.Log) (*MintManagerOwnershipTransferStarted, error) { + event := new(MintManagerOwnershipTransferStarted) + if err := _MintManager.contract.UnpackLog(event, "OwnershipTransferStarted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + // MintManagerOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the MintManager contract. type MintManagerOwnershipTransferredIterator struct { Event *MintManagerOwnershipTransferred // Event containing the contract specifics and raw log diff --git a/kroma-bindings/bindings/mintmanager_more.go b/kroma-bindings/bindings/mintmanager_more.go index 2ab613aad..da056e4ab 100644 --- a/kroma-bindings/bindings/mintmanager_more.go +++ b/kroma-bindings/bindings/mintmanager_more.go @@ -9,11 +9,11 @@ import ( "github.com/ethereum-optimism/optimism/op-bindings/solc" ) -const MintManagerStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"_owner\",\"offset\":0,\"slot\":\"0\",\"type\":\"t_address\"},{\"astId\":1001,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"minted\",\"offset\":20,\"slot\":\"0\",\"type\":\"t_bool\"},{\"astId\":1002,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"recipients\",\"offset\":0,\"slot\":\"1\",\"type\":\"t_array(t_address)dyn_storage\"},{\"astId\":1003,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"shareOf\",\"offset\":0,\"slot\":\"2\",\"type\":\"t_mapping(t_address,t_uint256)\"}],\"types\":{\"t_address\":{\"encoding\":\"inplace\",\"label\":\"address\",\"numberOfBytes\":\"20\"},\"t_array(t_address)dyn_storage\":{\"encoding\":\"dynamic_array\",\"label\":\"address[]\",\"numberOfBytes\":\"32\",\"base\":\"t_address\"},\"t_bool\":{\"encoding\":\"inplace\",\"label\":\"bool\",\"numberOfBytes\":\"1\"},\"t_mapping(t_address,t_uint256)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e uint256)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_uint256\"},\"t_uint256\":{\"encoding\":\"inplace\",\"label\":\"uint256\",\"numberOfBytes\":\"32\"}}}" +const MintManagerStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"_owner\",\"offset\":0,\"slot\":\"0\",\"type\":\"t_address\"},{\"astId\":1001,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"_pendingOwner\",\"offset\":0,\"slot\":\"1\",\"type\":\"t_address\"},{\"astId\":1002,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"minted\",\"offset\":20,\"slot\":\"1\",\"type\":\"t_bool\"},{\"astId\":1003,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"recipients\",\"offset\":0,\"slot\":\"2\",\"type\":\"t_array(t_address)dyn_storage\"},{\"astId\":1004,\"contract\":\"contracts/governance/MintManager.sol:MintManager\",\"label\":\"shareOf\",\"offset\":0,\"slot\":\"3\",\"type\":\"t_mapping(t_address,t_uint256)\"}],\"types\":{\"t_address\":{\"encoding\":\"inplace\",\"label\":\"address\",\"numberOfBytes\":\"20\"},\"t_array(t_address)dyn_storage\":{\"encoding\":\"dynamic_array\",\"label\":\"address[]\",\"numberOfBytes\":\"32\",\"base\":\"t_address\"},\"t_bool\":{\"encoding\":\"inplace\",\"label\":\"bool\",\"numberOfBytes\":\"1\"},\"t_mapping(t_address,t_uint256)\":{\"encoding\":\"mapping\",\"label\":\"mapping(address =\u003e uint256)\",\"numberOfBytes\":\"32\",\"key\":\"t_address\",\"value\":\"t_uint256\"},\"t_uint256\":{\"encoding\":\"inplace\",\"label\":\"uint256\",\"numberOfBytes\":\"32\"}}}" var MintManagerStorageLayout = new(solc.StorageLayout) -var MintManagerDeployedBin = "0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80637eb118451161008c578063baee5ed411610066578063baee5ed4146101f0578063d1bc76a1146101f8578063e4fc6b6d1461020b578063f2fde38b1461021357600080fd5b80637eb11845146101bd5780638da5cb5b146101c757806398f1312e146101e557600080fd5b8063457c3977116100bd578063457c39771461016d5780634f02c42014610180578063715018a6146101b557600080fd5b80631249c58b146100e457806321e5e2c4146100ee5780632efd46d614610121575b600080fd5b6100ec610226565b005b61010e6100fc366004610b74565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b6101487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610118565b6100ec61017b366004610b74565b610508565b6000546101a59074010000000000000000000000000000000000000000900460ff1681565b6040519015158152602001610118565b6100ec6105b4565b61010e620186a081565b60005473ffffffffffffffffffffffffffffffffffffffff16610148565b61010e633b9aca0081565b6100ec6105c8565b610148610206366004610bb1565b610652565b6100ec610689565b6100ec610221366004610b74565b6109c7565b61022e610a7e565b60005474010000000000000000000000000000000000000000900460ff16156102de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d696e744d616e616765723a20616c7265616479206d696e746564206f6e207460448201527f68697320636861696e000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f9190610bca565b61037a90600a610d3e565b61038890633b9aca00610d4d565b90506000805b60015481101561041e576000600182815481106103ad576103ad610d8a565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526002909152604082205490925090620186a06103f08388610d4d565b6103fa9190610db9565b90506104068186610df4565b9450505050808061041690610e0c565b91505061038e565b506040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906340c10f1990604401600060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050565b610510610a7e565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401600060405180830381600087803b15801561059957600080fd5b505af11580156105ad573d6000803e3d6000fd5b5050505050565b6105bc610a7e565b6105c66000610aff565b565b6105d0610a7e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561063857600080fd5b505af115801561064c573d6000803e3d6000fd5b50505050565b6001818154811061066257600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b610691610a7e565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107229190610bca565b61072d90600a610d3e565b61073b90633b9aca00610d4d565b905060005b6001548110156108815760006001828154811061075f5761075f610d8a565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526002909152604082205490925090620186a06107a28387610d4d565b6107ac9190610db9565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a9190610e44565b50505050808061087990610e0c565b915050610740565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561090f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109339190610e66565b905080156109c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4d696e744d616e616765723a20746f6b656e732072656d61696e20616674657260448201527f20646973747269627574696f6e0000000000000000000000000000000000000060648201526084016102d5565b5050565b6109cf610a7e565b73ffffffffffffffffffffffffffffffffffffffff8116610a72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d5565b610a7b81610aff565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d5565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b8657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610baa57600080fd5b9392505050565b600060208284031215610bc357600080fd5b5035919050565b600060208284031215610bdc57600080fd5b815160ff81168114610baa57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b80851115610c7557817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610c5b57610c5b610bed565b80851615610c6857918102915b93841c9390800290610c21565b509250929050565b600082610c8c57506001610d38565b81610c9957506000610d38565b8160018114610caf5760028114610cb957610cd5565b6001915050610d38565b60ff841115610cca57610cca610bed565b50506001821b610d38565b5060208310610133831016604e8410600b8410161715610cf8575081810a610d38565b610d028383610c1c565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610d3457610d34610bed565b0290505b92915050565b6000610baa60ff841683610c7d565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610d8557610d85610bed565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610def577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008219821115610e0757610e07610bed565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e3d57610e3d610bed565b5060010190565b600060208284031215610e5657600080fd5b81518015158114610baa57600080fd5b600060208284031215610e7857600080fd5b505191905056fea164736f6c634300080f000a" +var MintManagerDeployedBin = "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80637eb1184511610097578063d1bc76a111610066578063d1bc76a114610229578063e30c39781461023c578063e4fc6b6d1461025a578063f2fde38b1461026257600080fd5b80637eb11845146101ee5780638da5cb5b146101f857806398f1312e14610216578063baee5ed41461022157600080fd5b8063457c3977116100d3578063457c3977146101965780634f02c420146101a9578063715018a6146101de57806379ba5097146101e657600080fd5b80631249c58b1461010557806321e5e2c41461010f57806328df3f18146101425780632efd46d61461014a575b600080fd5b61010d610275565b005b61012f61011d366004610c7a565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b61010d610557565b6101717f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610139565b61010d6101a4366004610c7a565b6105e1565b6001546101ce9074010000000000000000000000000000000000000000900460ff1681565b6040519015158152602001610139565b61010d61068d565b61010d6106a1565b61012f620186a081565b60005473ffffffffffffffffffffffffffffffffffffffff16610171565b61012f633b9aca0081565b61010d610756565b610171610237366004610cb7565b610870565b60015473ffffffffffffffffffffffffffffffffffffffff16610171565b61010d6108a7565b61010d610270366004610c7a565b610aa3565b61027d610bc8565b60015474010000000000000000000000000000000000000000900460ff161561032d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4d696e744d616e616765723a20616c7265616479206d696e746564206f6e207460448201527f68697320636861696e000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be9190610cd0565b6103c990600a610e44565b6103d790633b9aca00610e53565b90506000805b60025481101561046d576000600282815481106103fc576103fc610e90565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526003909152604082205490925090620186a061043f8388610e53565b6104499190610ebf565b90506104558186610efa565b9450505050808061046590610f12565b9150506103dd565b506040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906340c10f1990604401600060405180830381600087803b1580156104fc57600080fd5b505af1158015610510573d6000803e3d6000fd5b5050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050565b61055f610bc8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166379ba50976040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105c757600080fd5b505af11580156105db573d6000803e3d6000fd5b50505050565b6105e9610bc8565b6040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401600060405180830381600087803b15801561067257600080fd5b505af1158015610686573d6000803e3d6000fd5b5050505050565b610695610bc8565b61069f6000610c49565b565b600154339073ffffffffffffffffffffffffffffffffffffffff16811461074a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610324565b61075381610c49565b50565b61075e610bc8565b60015474010000000000000000000000000000000000000000900460ff16610808576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4d696e744d616e616765723a206e6f74206d696e746564206265666f7265207260448201527f656e6f756e6365206f776e6572736869700000000000000000000000000000006064820152608401610324565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105c757600080fd5b6002818154811061088057600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6108af610bc8565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109409190610cd0565b61094b90600a610e44565b61095990633b9aca00610e53565b905060005b600254811015610a9f5760006002828154811061097d5761097d610e90565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526003909152604082205490925090620186a06109c08387610e53565b6109ca9190610ebf565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a889190610f4a565b505050508080610a9790610f12565b91505061095e565b5050565b610aab610bc8565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610b0e60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610324565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561075381610b53565b600060208284031215610c8c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610cb057600080fd5b9392505050565b600060208284031215610cc957600080fd5b5035919050565b600060208284031215610ce257600080fd5b815160ff81168114610cb057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b80851115610d7b57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610d6157610d61610cf3565b80851615610d6e57918102915b93841c9390800290610d27565b509250929050565b600082610d9257506001610e3e565b81610d9f57506000610e3e565b8160018114610db55760028114610dbf57610ddb565b6001915050610e3e565b60ff841115610dd057610dd0610cf3565b50506001821b610e3e565b5060208310610133831016604e8410600b8410161715610dfe575081810a610e3e565b610e088383610d22565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115610e3a57610e3a610cf3565b0290505b92915050565b6000610cb060ff841683610d83565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610e8b57610e8b610cf3565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082610ef5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008219821115610f0d57610f0d610cf3565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f4357610f43610cf3565b5060010190565b600060208284031215610f5c57600080fd5b81518015158114610cb057600080fdfea164736f6c634300080f000a" func init() { diff --git a/op-e2e/e2eutils/setup.go b/op-e2e/e2eutils/setup.go index b4cea79a8..3e47f2fbd 100644 --- a/op-e2e/e2eutils/setup.go +++ b/op-e2e/e2eutils/setup.go @@ -263,44 +263,58 @@ func SetUpGovernanceTokenOnL1(t require.TestingT, ctx context.Context, l1Client require.NoError(t, err) deployConfig.GovernanceTokenAddress = govTokenAddr + // Deploy GovernanceToken on L1 l1GovTokenAddr, tx, _, err := bindings.DeployGovernanceToken(l1Opts, l1Client, l1Deployments.L1StandardBridgeProxy, govTokenAddr) require.NoError(t, err) _, err = wait.ForReceiptOK(ctx, l1Client, tx.Hash()) require.NoError(t, err) + // Deploy L1MintManager l1MintManagerShares := make([]*big.Int, len(deployConfig.L1MintManagerShares)) for i, v := range deployConfig.L1MintManagerShares { l1MintManagerShares[i] = new(big.Int).SetUint64(v) } - // Deploy L1MintManager l1MintManagerAddr, tx, l1MintManager, err := bindings.DeployMintManager(l1Opts, l1Client, l1GovTokenProxyAddr, deployConfig.MintManagerOwner, deployConfig.L1MintManagerRecipients, l1MintManagerShares) require.NoError(t, err) _, err = wait.ForReceiptOK(ctx, l1Client, tx.Hash()) require.NoError(t, err) + // Accept ownership of L1MintManager (sysCfgOwner as owner) + tx, err = l1MintManager.AcceptOwnership(l1Opts) + require.NoError(t, err) + _, err = wait.ForReceiptOK(ctx, l1Client, tx.Hash()) + require.NoError(t, err) + + // Upgrade proxy and initialize L1GovernanceToken govTokenABI, err := bindings.GovernanceTokenMetaData.GetAbi() require.NoError(t, err) data, err := govTokenABI.Pack("initialize", l1MintManagerAddr) require.NoError(t, err) - // Upgrade proxy and initialize L1GovernanceToken tx, err = l1GovTokenProxy.UpgradeToAndCall(l1Opts, l1GovTokenAddr, data) require.NoError(t, err) _, err = wait.ForReceiptOK(ctx, l1Client, tx.Hash()) require.NoError(t, err) - l1GovToken, err := bindings.NewGovernanceTokenCaller(l1GovTokenProxyAddr, l1Client) + // Accept ownership of L1GovernanceToken (L1MintManager as owner) + tx, err = l1MintManager.AcceptOwnershipOfToken(l1Opts) + require.NoError(t, err) + _, err = wait.ForReceiptOK(ctx, l1Client, tx.Hash()) require.NoError(t, err) // Ensure that the GovernanceToken is not distributed yet + l1GovToken, err := bindings.NewGovernanceTokenCaller(l1GovTokenProxyAddr, l1Client) + require.NoError(t, err) + for _, recipient := range deployConfig.L1MintManagerRecipients { balance, err := l1GovToken.BalanceOf(nil, recipient) require.NoError(t, err) require.Equal(t, "0", balance.String()) } + // Mint and distribute GovernanceToken tx, err = l1MintManager.Mint(l1Opts) require.NoError(t, err) _, err = wait.ForReceiptOK(ctx, l1Client, tx.Hash()) diff --git a/packages/contracts/.gas-snapshot b/packages/contracts/.gas-snapshot index e91d0593c..6a5915547 100644 --- a/packages/contracts/.gas-snapshot +++ b/packages/contracts/.gas-snapshot @@ -90,19 +90,17 @@ GasPriceOracleEcotone_Test:test_l1BaseFee_succeeds() (gas: 10745) GasPriceOracleEcotone_Test:test_overhead_legacyFunction_reverts() (gas: 10507) GasPriceOracleEcotone_Test:test_scalar_legacyFunction_reverts() (gas: 10517) GasPriceOracleEcotone_Test:test_setEcotone_wrongCaller_reverts() (gas: 11616) -GovernanceToken_Test:test_approve_succeeds() (gas: 146270) -GovernanceToken_Test:test_burnFrom_succeeds() (gas: 136197) -GovernanceToken_Test:test_burn_fromBridge_succeeds() (gas: 97657) -GovernanceToken_Test:test_burn_succeeds() (gas: 125058) -GovernanceToken_Test:test_constructor_succeeds() (gas: 26552) -GovernanceToken_Test:test_decreaseAllowance_succeeds() (gas: 150838) -GovernanceToken_Test:test_increaseAllowance_succeeds() (gas: 150886) -GovernanceToken_Test:test_initialize_succeeds() (gas: 14841) -GovernanceToken_Test:test_mint_fromBridge_succeeds() (gas: 116934) -GovernanceToken_Test:test_mint_fromNotMinter_reverts() (gas: 29934) -GovernanceToken_Test:test_mint_fromOwner_succeeds() (gas: 119073) -GovernanceToken_Test:test_transferFrom_succeeds() (gas: 161152) -GovernanceToken_Test:test_transfer_succeeds() (gas: 151943) +GovernanceToken_Test:test_approve_succeeds() (gas: 147735) +GovernanceToken_Test:test_burn_fromBridge_succeeds() (gas: 101673) +GovernanceToken_Test:test_burn_fromNotBridge_reverts() (gas: 119917) +GovernanceToken_Test:test_constructor_succeeds() (gas: 26460) +GovernanceToken_Test:test_decreaseAllowance_succeeds() (gas: 152214) +GovernanceToken_Test:test_increaseAllowance_succeeds() (gas: 152329) +GovernanceToken_Test:test_mint_fromBridge_succeeds() (gas: 120468) +GovernanceToken_Test:test_mint_fromNotMinter_reverts() (gas: 29912) +GovernanceToken_Test:test_mint_fromOwner_succeeds() (gas: 122562) +GovernanceToken_Test:test_transferFrom_succeeds() (gas: 162551) +GovernanceToken_Test:test_transfer_succeeds() (gas: 153430) Hashing_hashDepositSource_Test:test_hashDepositSource_succeeds() (gas: 639) KromaMintableERC20_Test:test_bridge_succeeds() (gas: 7707) KromaMintableERC20_Test:test_burn_notBridge_reverts() (gas: 11172) @@ -172,8 +170,8 @@ KromaVestingWalletTest:test_initialize_succeeds() (gas: 21631) KromaVestingWalletTest:test_release_afterFullyVested_succeeds() (gas: 79730) KromaVestingWalletTest:test_release_notBeneficiary_reverts() (gas: 28574) KromaVestingWalletTest:test_release_succeeds() (gas: 116326) -KromaVestingWalletTest:test_release_tokenAfterFullyVested_succeeds() (gas: 95092) -KromaVestingWalletTest:test_release_token_succeeds() (gas: 154585) +KromaVestingWalletTest:test_release_tokenAfterFullyVested_succeeds() (gas: 95049) +KromaVestingWalletTest:test_release_token_succeeds() (gas: 154458) L1BlockBedrock_Test:test_updateValues_succeeds() (gas: 65631) L1BlockEcotone_Test:test_setL1BlockValuesEcotone_isDepositor_succeeds() (gas: 80519) L1BlockEcotone_Test:test_setL1BlockValuesEcotone_notDepositor_fails() (gas: 7621) @@ -285,20 +283,23 @@ L2StandardBridge_Test:test_receive_succeeds() (gas: 128689) L2ToL1MessagePasserTest:test_burn_succeeds() (gas: 109877) L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract_succeeds() (gas: 70364) L2ToL1MessagePasserTest:test_initiateWithdrawal_fromEOA_succeeds() (gas: 75917) -MintManagerTest:test_constructor_invalidLengthArray_reverts() (gas: 144816) -MintManagerTest:test_constructor_succeeds() (gas: 133099) -MintManagerTest:test_constructor_tooManyShares_reverts() (gas: 663158) -MintManagerTest:test_constructor_zeroRecipient_reverts() (gas: 146906) -MintManagerTest:test_constructor_zeroShares_reverts() (gas: 146553) -MintManagerTest:test_distribute_fromNotOwner_reverts() (gas: 13005) -MintManagerTest:test_distribute_succeeds() (gas: 539675) -MintManagerTest:test_mint_alreadyMinted_reverts() (gas: 228314) -MintManagerTest:test_mint_fromNotOwner_reverts() (gas: 12975) -MintManagerTest:test_mint_succeeds() (gas: 226333) -MintManagerTest:test_renounceOwnershipOfToken_fromNotOwner_reverts() (gas: 12940) -MintManagerTest:test_renounceOwnershipOfToken_succeeds() (gas: 27632) -MintManagerTest:test_transferOwnershipOfToken_fromNotOwner_reverts() (gas: 13125) -MintManagerTest:test_transferOwnershipOfToken_succeeds() (gas: 35019) +MintManagerTest:test_acceptOwnershipOfToken_fromNotOwner_reverts() (gas: 13015) +MintManagerTest:test_constructor_invalidLengthArray_reverts() (gas: 162680) +MintManagerTest:test_constructor_sameRecipient_succeeds() (gas: 1059218) +MintManagerTest:test_constructor_succeeds() (gas: 132879) +MintManagerTest:test_constructor_tooManyShares_reverts() (gas: 688804) +MintManagerTest:test_constructor_zeroRecipient_reverts() (gas: 164769) +MintManagerTest:test_constructor_zeroShares_reverts() (gas: 164399) +MintManagerTest:test_distribute_fromNotOwner_reverts() (gas: 13055) +MintManagerTest:test_distribute_succeeds() (gas: 558730) +MintManagerTest:test_mint_alreadyMinted_reverts() (gas: 248847) +MintManagerTest:test_mint_fromNotOwner_reverts() (gas: 12959) +MintManagerTest:test_mint_succeeds() (gas: 246927) +MintManagerTest:test_renounceOwnershipOfToken_beforeMinted_reverts() (gas: 15197) +MintManagerTest:test_renounceOwnershipOfToken_fromNotOwner_reverts() (gas: 13014) +MintManagerTest:test_renounceOwnershipOfToken_succeeds() (gas: 254991) +MintManagerTest:test_transferAndAcceptOwnershipOfToken_succeeds() (gas: 1430287) +MintManagerTest:test_transferOwnershipOfToken_fromNotOwner_reverts() (gas: 13174) NodeReader_Test:test_readBytes32_32bytesting() (gas: 637) NodeReader_Test:test_readBytes32_too_short_byte() (gas: 3543) NodeReader_Test:test_readBytesN_4bytesting() (gas: 900) diff --git a/packages/contracts/.storage-layout b/packages/contracts/.storage-layout index 878c2c151..2fdf40bb8 100644 --- a/packages/contracts/.storage-layout +++ b/packages/contracts/.storage-layout @@ -379,14 +379,17 @@ | __gap | uint256[50] | 13 | 0 | 1600 | contracts/governance/GovernanceToken.sol:GovernanceToken | | _owner | address | 63 | 0 | 20 | contracts/governance/GovernanceToken.sol:GovernanceToken | | __gap | uint256[49] | 64 | 0 | 1568 | contracts/governance/GovernanceToken.sol:GovernanceToken | +| _pendingOwner | address | 113 | 0 | 20 | contracts/governance/GovernanceToken.sol:GovernanceToken | +| __gap | uint256[49] | 114 | 0 | 1568 | contracts/governance/GovernanceToken.sol:GovernanceToken | ======================= âž¡ contracts/governance/MintManager.sol:MintManager ======================= -| Name | Type | Slot | Offset | Bytes | Contract | -|------------|-----------------------------|------|--------|-------|--------------------------------------------------| -| _owner | address | 0 | 0 | 20 | contracts/governance/MintManager.sol:MintManager | -| minted | bool | 0 | 20 | 1 | contracts/governance/MintManager.sol:MintManager | -| recipients | address[] | 1 | 0 | 32 | contracts/governance/MintManager.sol:MintManager | -| shareOf | mapping(address => uint256) | 2 | 0 | 32 | contracts/governance/MintManager.sol:MintManager | +| Name | Type | Slot | Offset | Bytes | Contract | +|---------------|-----------------------------|------|--------|-------|--------------------------------------------------| +| _owner | address | 0 | 0 | 20 | contracts/governance/MintManager.sol:MintManager | +| _pendingOwner | address | 1 | 0 | 20 | contracts/governance/MintManager.sol:MintManager | +| minted | bool | 1 | 20 | 1 | contracts/governance/MintManager.sol:MintManager | +| recipients | address[] | 2 | 0 | 32 | contracts/governance/MintManager.sol:MintManager | +| shareOf | mapping(address => uint256) | 3 | 0 | 32 | contracts/governance/MintManager.sol:MintManager | diff --git a/packages/contracts/contracts/governance/GovernanceToken.sol b/packages/contracts/contracts/governance/GovernanceToken.sol index 02258c9c9..253576bae 100644 --- a/packages/contracts/contracts/governance/GovernanceToken.sol +++ b/packages/contracts/contracts/governance/GovernanceToken.sol @@ -1,9 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; -import { ERC20Burnable } from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol"; -import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; +import "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol"; import { KromaMintableERC20 } from "../universal/KromaMintableERC20.sol"; @@ -15,7 +14,7 @@ import { KromaMintableERC20 } from "../universal/KromaMintableERC20.sol"; * `Bridge`, and the total supply amount is minted at once (TGE). `Bridge` has the * permission to `mint` and `burn`, for the purpose of bridging KRO to the remote chain. */ -contract GovernanceToken is KromaMintableERC20, ERC20Burnable, ERC20Votes, OwnableUpgradeable { +contract GovernanceToken is KromaMintableERC20, ERC20Votes, Ownable2StepUpgradeable { /** * @notice Constructs the GovernanceToken contract. * @@ -35,7 +34,7 @@ contract GovernanceToken is KromaMintableERC20, ERC20Burnable, ERC20Votes, Ownab * @param _owner The owner of this contract. */ function initialize(address _owner) public initializer { - __Ownable_init(); + __Ownable2Step_init(); transferOwnership(_owner); } @@ -98,6 +97,7 @@ contract GovernanceToken is KromaMintableERC20, ERC20Burnable, ERC20Votes, Ownab */ function _mint(address account, uint256 amount) internal override(ERC20, ERC20Votes) { super._mint(account, amount); + emit Mint(account, amount); } /** @@ -108,6 +108,7 @@ contract GovernanceToken is KromaMintableERC20, ERC20Burnable, ERC20Votes, Ownab */ function _burn(address account, uint256 amount) internal override(ERC20, ERC20Votes) { super._burn(account, amount); + emit Burn(account, amount); } /** diff --git a/packages/contracts/contracts/governance/MintManager.sol b/packages/contracts/contracts/governance/MintManager.sol index 4316da96d..0c815e232 100644 --- a/packages/contracts/contracts/governance/MintManager.sol +++ b/packages/contracts/contracts/governance/MintManager.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; -import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; +import { Ownable2Step } from "@openzeppelin/contracts/access/Ownable2Step.sol"; import { GovernanceToken } from "./GovernanceToken.sol"; @@ -10,7 +10,7 @@ import { GovernanceToken } from "./GovernanceToken.sol"; * @notice MintManager issues mint cap amount of GovernanceToken at once (TGE) and distributes the * tokens to specified recipients. */ -contract MintManager is Ownable { +contract MintManager is Ownable2Step { /** * @notice The amount of tokens that can be minted. */ @@ -69,9 +69,11 @@ contract MintManager is Ownable { uint256 share = _shares[i]; require(share != 0, "MintManager: share cannot be 0"); + if (shareOf[recipient] == 0) { + recipients.push(recipient); + } + shareOf[recipient] += share; totalShares += share; - recipients.push(recipient); - shareOf[recipient] = share; } require( @@ -113,15 +115,14 @@ contract MintManager is Ownable { uint256 amount = (mintCap * share) / SHARE_DENOMINATOR; GOVERNANCE_TOKEN.transfer(recipient, amount); } - - uint256 balance = GOVERNANCE_TOKEN.balanceOf(address(this)); - require(balance == 0, "MintManager: tokens remain after distribution"); } /** * @notice Only the owner is allowed to renounce the ownership of the GovernanceToken. */ function renounceOwnershipOfToken() external onlyOwner { + require(minted, "MintManager: not minted before renounce ownership"); + GOVERNANCE_TOKEN.renounceOwnership(); } @@ -133,4 +134,11 @@ contract MintManager is Ownable { function transferOwnershipOfToken(address newMintManager) external onlyOwner { GOVERNANCE_TOKEN.transferOwnership(newMintManager); } + + /** + * @notice Only the owner is allowed to accept the ownership of the GovernanceToken. + */ + function acceptOwnershipOfToken() external onlyOwner { + GOVERNANCE_TOKEN.acceptOwnership(); + } } diff --git a/packages/contracts/contracts/test/GovernanceToken.t.sol b/packages/contracts/contracts/test/GovernanceToken.t.sol index 8884cbda9..7f7c545e8 100644 --- a/packages/contracts/contracts/test/GovernanceToken.t.sol +++ b/packages/contracts/contracts/test/GovernanceToken.t.sol @@ -17,6 +17,10 @@ contract GovernanceToken_Test is CommonTest { address remoteToken; address mintManager; + event Mint(address indexed account, uint256 amount); + + event Burn(address indexed account, uint256 amount); + /// @dev Sets up the test suite. function setUp() public virtual override { super.setUp(); @@ -33,6 +37,11 @@ contract GovernanceToken_Test is CommonTest { address(govTokenImpl), abi.encodeCall(governanceToken.initialize, mintManager) ); + assertEq(governanceToken.pendingOwner(), mintManager); + + vm.prank(mintManager); + governanceToken.acceptOwnership(); + assertEq(governanceToken.owner(), mintManager); } /// @dev Tests that the constructor sets the correct initial state. @@ -45,13 +54,11 @@ contract GovernanceToken_Test is CommonTest { assertEq(governanceToken.totalSupply(), 0); } - function test_initialize_succeeds() external { - assertEq(governanceToken.owner(), mintManager); - } - /// @dev Tests that the owner can successfully call `mint`. function test_mint_fromOwner_succeeds() external { // Mint 100 tokens. + vm.expectEmit(true, false, false, true, address(governanceToken)); + emit Mint(rando, 100); vm.prank(mintManager); governanceToken.mint(rando, 100); @@ -63,6 +70,8 @@ contract GovernanceToken_Test is CommonTest { /// @dev Tests the bridge contract can successfully call `mint`. function test_mint_fromBridge_succeeds() external { // Mint 100 tokens. + vm.expectEmit(true, false, false, true, address(governanceToken)); + emit Mint(rando, 100); vm.prank(bridge); governanceToken.mint(rando, 100); @@ -83,21 +92,6 @@ contract GovernanceToken_Test is CommonTest { assertEq(governanceToken.totalSupply(), 0); } - /// @dev Tests that the token owner can successfully call `burn`. - function test_burn_succeeds() external { - // Mint 100 tokens to rando. - vm.prank(mintManager); - governanceToken.mint(rando, 100); - - // Rando burns their tokens. - vm.prank(rando); - governanceToken.burn(50); - - // Balances have updated correctly. - assertEq(governanceToken.balanceOf(rando), 50); - assertEq(governanceToken.totalSupply(), 50); - } - /// @dev Tests that the bridge contract can successfully call `burn`. function test_burn_fromBridge_succeeds() external { // Mint 100 tokens to rando. @@ -105,6 +99,8 @@ contract GovernanceToken_Test is CommonTest { governanceToken.mint(rando, 100); // Bridge burns rando's tokens. + vm.expectEmit(true, false, false, true, address(governanceToken)); + emit Burn(rando, 100); vm.prank(bridge); governanceToken.burn(rando, 100); @@ -113,23 +109,15 @@ contract GovernanceToken_Test is CommonTest { assertEq(governanceToken.totalSupply(), 0); } - /// @dev Tests that non-owner can successfully call `burnFrom`. - function test_burnFrom_succeeds() external { + /// @dev Tests that other than bridge contract cannot call `burn`. + function test_burn_fromNotBridge_reverts() external { // Mint 100 tokens to rando. vm.prank(mintManager); governanceToken.mint(rando, 100); - // Rando approves alice to burn 50 tokens. + vm.expectRevert("KromaMintableERC20: only bridge can mint and burn"); vm.prank(rando); - governanceToken.approve(alice, 50); - - // Alice burns 50 tokens from rando. - vm.prank(alice); - governanceToken.burnFrom(rando, 50); - - // Balances have updated correctly. - assertEq(governanceToken.balanceOf(rando), 50); - assertEq(governanceToken.totalSupply(), 50); + governanceToken.burn(rando, 100); } /// @dev Tests that `transfer` correctly transfers tokens. diff --git a/packages/contracts/contracts/test/KromaVestingWallet.t.sol b/packages/contracts/contracts/test/KromaVestingWallet.t.sol index 39ff9fc11..f3a7419fb 100644 --- a/packages/contracts/contracts/test/KromaVestingWallet.t.sol +++ b/packages/contracts/contracts/test/KromaVestingWallet.t.sol @@ -49,6 +49,8 @@ contract KromaVestingWalletTest is CommonTest { address(tokenImpl), abi.encodeCall(token.initialize, tokenOwner) ); + vm.prank(tokenOwner); + token.acceptOwnership(); vm.prank(tokenOwner); token.mint(address(vestingWallet), totalAllocation); diff --git a/packages/contracts/contracts/test/MintManager.t.sol b/packages/contracts/contracts/test/MintManager.t.sol index 418e9c4b9..85c64e561 100644 --- a/packages/contracts/contracts/test/MintManager.t.sol +++ b/packages/contracts/contracts/test/MintManager.t.sol @@ -38,6 +38,11 @@ contract MintManagerTest is CommonTest { shares[i] = SHARE_DENOMINATOR / recipients.length; } mintManager = new MintManager(address(governanceToken), owner, recipients, shares); + assertEq(mintManager.pendingOwner(), owner); + + vm.prank(owner); + mintManager.acceptOwnership(); + assertEq(mintManager.owner(), owner); GovernanceToken govTokenImpl = new GovernanceToken(address(0), address(0)); vm.prank(multisig); @@ -45,6 +50,11 @@ contract MintManagerTest is CommonTest { address(govTokenImpl), abi.encodeCall(governanceToken.initialize, address(mintManager)) ); + assertEq(governanceToken.pendingOwner(), address(mintManager)); + + vm.prank(owner); + mintManager.acceptOwnershipOfToken(); + assertEq(governanceToken.owner(), address(mintManager)); MINT_CAP = mintManager.MINT_CAP() * 10 ** governanceToken.decimals(); } @@ -61,6 +71,28 @@ contract MintManagerTest is CommonTest { } } + function test_constructor_sameRecipient_succeeds() external { + recipients = new address[](3); + shares = new uint256[](3); + + recipients[0] = address(1); + recipients[1] = address(2); + recipients[2] = address(2); + + shares[0] = 3; + shares[1] = 1; + shares[2] = 2; + + mintManager = new MintManager(address(governanceToken), owner, recipients, shares); + + vm.expectRevert(bytes("")); + mintManager.recipients(2); + assertEq(mintManager.recipients(0), recipients[0]); + assertEq(mintManager.recipients(1), recipients[1]); + assertEq(mintManager.shareOf(recipients[0]), shares[0]); + assertEq(mintManager.shareOf(recipients[1]), shares[1] + shares[2]); + } + function test_constructor_invalidLengthArray_reverts() external { recipients = new address[](2); shares = new uint256[](1); @@ -163,6 +195,8 @@ contract MintManagerTest is CommonTest { } function test_renounceOwnershipOfToken_succeeds() external { + test_mint_succeeds(); + assertEq(governanceToken.owner(), address(mintManager)); vm.prank(owner); @@ -177,13 +211,34 @@ contract MintManagerTest is CommonTest { mintManager.renounceOwnershipOfToken(); } - function test_transferOwnershipOfToken_succeeds() external { + function test_renounceOwnershipOfToken_beforeMinted_reverts() external { + vm.prank(owner); + vm.expectRevert("MintManager: not minted before renounce ownership"); + mintManager.renounceOwnershipOfToken(); + } + + function test_transferAndAcceptOwnershipOfToken_succeeds() external { assertEq(governanceToken.owner(), address(mintManager)); + address newOwner = makeAddr("newOwner"); + MintManager newMintManager = new MintManager( + address(governanceToken), + newOwner, + recipients, + shares + ); + vm.prank(newOwner); + newMintManager.acceptOwnership(); + vm.prank(owner); - mintManager.transferOwnershipOfToken(rando); + mintManager.transferOwnershipOfToken(address(newMintManager)); + assertEq(governanceToken.pendingOwner(), address(newMintManager)); + assertEq(governanceToken.owner(), address(mintManager)); - assertEq(governanceToken.owner(), rando); + vm.prank(newOwner); + newMintManager.acceptOwnershipOfToken(); + assertEq(governanceToken.pendingOwner(), ZERO_ADDRESS); + assertEq(governanceToken.owner(), address(newMintManager)); } function test_transferOwnershipOfToken_fromNotOwner_reverts() external { @@ -191,4 +246,10 @@ contract MintManagerTest is CommonTest { vm.expectRevert("Ownable: caller is not the owner"); mintManager.transferOwnershipOfToken(rando); } + + function test_acceptOwnershipOfToken_fromNotOwner_reverts() external { + vm.prank(rando); + vm.expectRevert("Ownable: caller is not the owner"); + mintManager.acceptOwnershipOfToken(); + } } diff --git a/packages/contracts/deploy/L1/018-L1MintManager.ts b/packages/contracts/deploy/L1/018-L1MintManager.ts index a02e7212f..08f6df1f0 100644 --- a/packages/contracts/deploy/L1/018-L1MintManager.ts +++ b/packages/contracts/deploy/L1/018-L1MintManager.ts @@ -29,7 +29,7 @@ const deployFn: DeployFunction = async (hre) => { ) await assertContractVariable( contract, - 'owner', + 'pendingOwner', hre.deployConfig.mintManagerOwner ) }, diff --git a/packages/contracts/deploy/L1/019-L1GovernanceToken.ts b/packages/contracts/deploy/L1/019-L1GovernanceToken.ts index 0c1634e21..fbe9061a7 100644 --- a/packages/contracts/deploy/L1/019-L1GovernanceToken.ts +++ b/packages/contracts/deploy/L1/019-L1GovernanceToken.ts @@ -41,7 +41,7 @@ const deployFn: DeployFunction = async (hre) => { 'GovernanceToken', governanceTokenProxyAddress ) - assertContractVariable(upgradedProxy, 'owner', l1MintManagerAddress) + assertContractVariable(upgradedProxy, 'pendingOwner', l1MintManagerAddress) // Change admin of L1GovernanceTokenProxy to mintManagerOwner const { deployer } = await hre.getNamedAccounts() diff --git a/packages/contracts/deploy/L2/012-MintManager.ts b/packages/contracts/deploy/L2/012-MintManager.ts index 422fcab5f..55e18f8be 100644 --- a/packages/contracts/deploy/L2/012-MintManager.ts +++ b/packages/contracts/deploy/L2/012-MintManager.ts @@ -31,7 +31,7 @@ const deployFn: DeployFunction = async (hre) => { ) await assertContractVariable( contract, - 'owner', + 'pendingOwner', deployConfig.mintManagerOwner ) }, diff --git a/packages/contracts/deploy/L2/013-GovernanceToken.ts b/packages/contracts/deploy/L2/013-GovernanceToken.ts index 4175b39f2..0c5dae2ce 100644 --- a/packages/contracts/deploy/L2/013-GovernanceToken.ts +++ b/packages/contracts/deploy/L2/013-GovernanceToken.ts @@ -40,7 +40,7 @@ const deployFn: DeployFunction = async (hre) => { 'GovernanceToken', governanceTokenProxyAddress ) - assertContractVariable(upgradedProxy, 'owner', mintManagerAddress) + assertContractVariable(upgradedProxy, 'pendingOwner', mintManagerAddress) // Change admin of GovernanceTokenProxy to mintManagerOwner const { deployer } = await hre.getNamedAccounts() diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c78ad3b35..fbb783096 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@changesets/cli': specifier: ^2.27.1 - version: 2.27.5 + version: 2.27.6 '@codechecks/client': specifier: ^0.1.11 - version: 0.1.12(typescript@5.4.5) + version: 0.1.12(typescript@5.5.2) '@ethersproject/abstract-provider': specifier: ^5.7.0 version: 5.7.0 @@ -23,7 +23,7 @@ importers: version: 7.24.7(@babel/core@7.24.7)(eslint@8.57.0) '@changesets/changelog-github': specifier: ^0.4.8 - version: 0.4.8 + version: 0.4.8(encoding@0.1.13) '@types/chai': specifier: ^4.3.11 version: 4.3.16 @@ -32,16 +32,16 @@ importers: version: 7.1.8 '@types/mocha': specifier: ^10.0.6 - version: 10.0.6 + version: 10.0.7 '@types/node': specifier: ^20.11.17 - version: 20.14.4 + version: 20.14.9 '@typescript-eslint/eslint-plugin': specifier: ^6.21.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) '@typescript-eslint/parser': specifier: ^6.21.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) + version: 6.21.0(eslint@8.57.0)(typescript@5.5.2) chai: specifier: ^4.3.10 version: 4.4.1 @@ -62,16 +62,16 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-config-standard: specifier: ^16.0.3 - version: 16.0.3(eslint-plugin-import@2.29.1)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.57.0) + version: 16.0.3(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint-plugin-node@11.1.0(eslint@8.57.0))(eslint-plugin-promise@5.2.0(eslint@8.57.0))(eslint@8.57.0) eslint-import-resolver-typescript: specifier: ^3.5.5 - version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + version: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsdoc: specifier: ^48.0.6 - version: 48.2.12(eslint@8.57.0) + version: 48.5.0(eslint@8.57.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@8.57.0) @@ -80,13 +80,13 @@ importers: version: 1.2.3(eslint@8.57.0) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8) eslint-plugin-promise: specifier: ^5.1.0 version: 5.2.0(eslint@8.57.0) eslint-plugin-react: specifier: ^7.24.0 - version: 7.34.2(eslint@8.57.0) + version: 7.34.3(eslint@8.57.0) eslint-plugin-unicorn: specifier: ^50.0.1 version: 50.0.1(eslint@8.57.0) @@ -98,7 +98,7 @@ importers: version: 15.2.0 mocha: specifier: ^10.2.0 - version: 10.4.0 + version: 10.5.2 nx: specifier: 18.1.2 version: 18.1.2 @@ -119,16 +119,16 @@ importers: version: 5.0.7 ts-mocha: specifier: ^10.0.0 - version: 10.0.0(mocha@10.4.0) + version: 10.0.0(mocha@10.5.2) typescript: specifier: ^5.3.3 - version: 5.4.5 + version: 5.5.2 packages/common-ts: dependencies: '@kroma/core-utils': specifier: 1.0.0 - version: link:../core-utils + version: 1.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@sentry/node': specifier: ^6.3.1 version: 6.19.7 @@ -149,7 +149,7 @@ importers: version: 7.3.1 ethers: specifier: ^5.7.0 - version: 5.7.2 + version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) express: specifier: ^4.17.1 version: 4.19.2 @@ -204,7 +204,7 @@ importers: dependencies: '@kroma/core-utils': specifier: 1.0.0 - version: link:../core-utils + version: 1.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@openzeppelin/contracts': specifier: 4.9.3 version: 4.9.3 @@ -213,17 +213,17 @@ importers: version: 4.9.3 circomlibjs: specifier: ^0.1.7 - version: 0.1.7 + version: 0.1.7(bufferutil@4.0.8)(utf-8-validate@5.0.10) ethers: specifier: ^5.7.0 - version: 5.7.2 + version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: specifier: ^2.9.6 - version: 2.22.5(ts-node@10.9.2)(typescript@4.9.5) + version: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10) devDependencies: '@defi-wonderland/smock': specifier: ^2.0.2 - version: 2.4.0(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.22.5) + version: 2.4.0(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) '@ethersproject/abstract-provider': specifier: ^5.7.0 version: 5.7.0 @@ -235,25 +235,25 @@ importers: version: 0.1.3 '@foundry-rs/hardhat-forge': specifier: ^0.1.17 - version: 0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.22.5) + version: 0.1.17(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) '@kroma/hardhat-deploy-config': specifier: 1.0.0 - version: link:../hardhat-deploy-config + version: 1.0.0 '@nomiclabs/hardhat-ethers': specifier: ^2.0.0 - version: 2.2.3(ethers@5.7.2)(hardhat@2.22.5) + version: 2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) '@nomiclabs/hardhat-waffle': specifier: ^2.0.0 - version: 2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.22.5) + version: 2.0.6(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) '@rari-capital/solmate': specifier: https://github.com/transmissions11/solmate.git#8f9b23f8838670afda0fd8983f2c41e8037ae6bc version: https://codeload.github.com/transmissions11/solmate/tar.gz/8f9b23f8838670afda0fd8983f2c41e8037ae6bc '@typechain/ethers-v5': specifier: ^10.1.0 - version: 10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.3.2)(typescript@4.9.5) + version: 10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5) '@typescript-eslint/eslint-plugin': specifier: ^5.45.1 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.45.1 version: 5.62.0(eslint@8.57.0)(typescript@4.9.5) @@ -274,7 +274,7 @@ importers: version: ds-test.git#9310e879db8ba3ea6d5c6489a579118fd264a3f5@https://codeload.github.com/dapphub/ds-test/tar.gz/9310e879db8ba3ea6d5c6489a579118fd264a3f5 ethereum-waffle: specifier: ^3.0.0 - version: 3.4.4(typescript@4.9.5) + version: 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10) ethereumjs-wallet: specifier: ^1.0.2 version: 1.0.2 @@ -286,16 +286,16 @@ importers: version: 7.2.3 hardhat-deploy: specifier: ^0.11.4 - version: 0.11.45 + version: 0.11.45(bufferutil@4.0.8)(utf-8-validate@5.0.10) solhint: specifier: ^3.3.7 version: 3.6.2(typescript@4.9.5) solhint-plugin-prettier: specifier: ^0.0.5 - version: 0.0.5(prettier-plugin-solidity@1.3.1)(prettier@2.8.8) + version: 0.0.5(prettier-plugin-solidity@1.3.1(prettier@2.8.8))(prettier@2.8.8) ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.14.4)(typescript@4.9.5) + version: 10.9.2(@types/node@20.14.9)(typescript@4.9.5) typechain: specifier: ^8.1.0 version: 8.3.2(typescript@4.9.5) @@ -337,7 +337,7 @@ importers: version: 5.7.0 '@ethersproject/providers': specifier: ^5.7.0 - version: 5.7.2 + version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/rlp': specifier: ^5.7.0 version: 5.7.0 @@ -356,28 +356,28 @@ importers: devDependencies: mocha: specifier: ^10.0.0 - version: 10.4.0 + version: 10.5.2 packages/hardhat-deploy-config: devDependencies: ethers: specifier: ^5.7.0 - version: 5.7.2 + version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: specifier: ^2.9.6 - version: 2.22.5(ts-node@10.9.2)(typescript@5.4.5) + version: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10) ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.14.4)(typescript@5.4.5) + version: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) packages/sdk: dependencies: '@kroma/contracts': specifier: 1.0.0 - version: link:../contracts + version: 1.0.0(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10) '@kroma/core-utils': specifier: 1.0.0 - version: link:../core-utils + version: 1.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -393,34 +393,34 @@ importers: version: 5.7.0 '@nomiclabs/hardhat-ethers': specifier: ^2.0.2 - version: 2.2.3(ethers@5.7.2)(hardhat@2.22.5) + version: 2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10)) '@nomiclabs/hardhat-waffle': specifier: ^2.0.1 - version: 2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.22.5) + version: 2.0.6(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10)))(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10)) chai-as-promised: specifier: ^7.1.1 version: 7.1.2(chai@4.4.1) ethereum-waffle: specifier: ^3.4.0 - version: 3.4.4(typescript@4.7.4) + version: 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10) ethers: specifier: ^5.7.0 - version: 5.7.2 + version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: specifier: ^2.9.6 - version: 2.22.5(typescript@4.7.4) + version: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10) hardhat-deploy: specifier: ^0.11.4 - version: 0.11.45 + version: 0.11.45(bufferutil@4.0.8)(utf-8-validate@5.0.10) mocha: specifier: ^10.0.0 - version: 10.4.0 + version: 10.5.2 nyc: specifier: ^15.1.0 version: 15.1.0 typedoc: specifier: ^0.22.13 - version: 0.22.18(typescript@4.7.4) + version: 0.22.18(typescript@5.5.2) packages: @@ -538,8 +538,8 @@ packages: '@changesets/changelog-github@0.4.8': resolution: {integrity: sha512-jR1DHibkMAb5v/8ym77E4AMNWZKB5NPzw5a5Wtqm1JepAuIF+hrKp2u04NKM14oBZhHglkCfrla9uq8ORnK/dw==} - '@changesets/cli@2.27.5': - resolution: {integrity: sha512-UVppOvzCjjylBenFcwcZNG5IaZ8jsIaEVraV/pbXgukYNb0Oqa0d8UWb0LkYzA1Bf1HmUrOfccFcRLheRuA7pA==} + '@changesets/cli@2.27.6': + resolution: {integrity: sha512-PB7KS5JkCQ4WSXlnfThn8CXAHVwYxFdZvYTimhi12fls/tzj9iimUhKsYwkrKSbw1AiVlGCZtihj5Wkt6siIjA==} hasBin: true '@changesets/config@3.0.1': @@ -627,8 +627,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.1': - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -826,6 +826,15 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@kroma/contracts@1.0.0': + resolution: {integrity: sha512-FTXnEfjMlER9DvFiRzXEKwDakTsb1dAwEcXtjeu+4ign3YIaqiZVRsoMjFkJtsAprxjXehMuWW5NvjU0aS2QjA==} + + '@kroma/core-utils@1.0.0': + resolution: {integrity: sha512-mrQ4uqIbMWVWYZrPvORMAgZ/wLfp+LNfyeVp0AypvRfgwGfSseKJySfmG70qKW7TtA60/Xy+uIGuJ7MRHxKh7A==} + + '@kroma/hardhat-deploy-config@1.0.0': + resolution: {integrity: sha512-6hd1nFHh/1P9cZ7drJ6lgC9KIj6fSgzGkfJCZRIzOfUPHBo52p5C5HiS9fETz+Yyma1ZuaSvt6umEQ9jpTiN8A==} + '@ljharb/resumer@0.0.1': resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -1054,9 +1063,12 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@rari-capital/solmate@https://codeload.github.com/transmissions11/solmate/tar.gz/8f9b23f8838670afda0fd8983f2c41e8037ae6bc': resolution: {tarball: https://codeload.github.com/transmissions11/solmate/tar.gz/8f9b23f8838670afda0fd8983f2c41e8037ae6bc} - name: '@rari-capital/solmate' version: 7.0.0-alpha.3 '@resolver-engine/core@0.3.3': @@ -1223,8 +1235,8 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/express-serve-static-core@4.19.3': - resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -1256,14 +1268,11 @@ packages: '@types/minimatch@3.0.5': resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/mkdirp@0.5.2': resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} - '@types/mocha@10.0.6': - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + '@types/mocha@10.0.7': + resolution: {integrity: sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==} '@types/morgan@1.9.9': resolution: {integrity: sha512-iRYSDKVaC6FkGSpEVVIvrRGw0DfJMiQzIn3qr2G5B3C//AWkulhXgaBd7tS9/J79GWSYMTHGs7PfI5b3Y8m+RQ==} @@ -1274,8 +1283,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.14.4': - resolution: {integrity: sha512-1ChboN+57suCT2t/f8lwtPY/k3qTpuD/qnqQuYoBg6OQOcPyaw7PiZVdGpaZYAvhDDtqrt0oAaM8+oSu1xsUGw==} + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1423,8 +1432,8 @@ packages: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.13.1': - resolution: {integrity: sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==} + '@typescript-eslint/types@7.14.1': + resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -1468,20 +1477,20 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vue/compiler-core@3.4.29': - resolution: {integrity: sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==} + '@vue/compiler-core@3.4.31': + resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==} - '@vue/compiler-dom@3.4.29': - resolution: {integrity: sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==} + '@vue/compiler-dom@3.4.31': + resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==} - '@vue/compiler-sfc@3.4.29': - resolution: {integrity: sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==} + '@vue/compiler-sfc@3.4.31': + resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==} - '@vue/compiler-ssr@3.4.29': - resolution: {integrity: sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==} + '@vue/compiler-ssr@3.4.31': + resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==} - '@vue/shared@3.4.29': - resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} + '@vue/shared@3.4.31': + resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} @@ -2077,9 +2086,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} - brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} @@ -2195,10 +2201,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - camelcase-keys@7.0.2: resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} engines: {node: '>=12'} @@ -2215,8 +2217,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001636: - resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} + caniuse-lite@1.0.30001639: + resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} cardinal@2.1.1: resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} @@ -2271,10 +2273,6 @@ packages: checkpoint-store@1.1.0: resolution: {integrity: sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg==} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -2554,19 +2552,6 @@ packages: crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} - csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - - csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - - csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - - csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} - d@1.0.2: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} @@ -2636,10 +2621,6 @@ packages: supports-color: optional: true - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -2842,7 +2823,6 @@ packages: ds-test.git#9310e879db8ba3ea6d5c6489a579118fd264a3f5@https://codeload.github.com/dapphub/ds-test/tar.gz/9310e879db8ba3ea6d5c6489a579118fd264a3f5: resolution: {tarball: https://codeload.github.com/dapphub/ds-test/tar.gz/9310e879db8ba3ea6d5c6489a579118fd264a3f5} - name: ds-test.git#9310e879db8ba3ea6d5c6489a579118fd264a3f5 version: 0.0.0 duplexer3@0.1.5: @@ -2863,8 +2843,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.804: - resolution: {integrity: sha512-gXMMs2m7aUTdZpORQAvMCyH0JHywSpZxjblSc/C81aDr34jh0hmpplTFcM4AYrYALVmiVT/r63oA3tEG1BPVRw==} + electron-to-chromium@1.4.815: + resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -2958,6 +2938,9 @@ packages: resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -3063,8 +3046,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsdoc@48.2.12: - resolution: {integrity: sha512-sO9sKkJx5ovWoRk9hV0YiNzXQ4Z6j27CqE/po2E3wddZVuy9wvKPSTiIhpxMTrP/qURvKayJIDB2+o9kyCW1Fw==} + eslint-plugin-jsdoc@48.5.0: + resolution: {integrity: sha512-ukXPNpGby3KjCveCizIS8t1EbuJEHYEu/tBg8GCbn/YbHcXwphyvYCdvRZ/oMRfTscGSSzfsWoZ+ZkAP0/6YMQ==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -3097,8 +3080,8 @@ packages: peerDependencies: eslint: ^7.0.0 - eslint-plugin-react@7.34.2: - resolution: {integrity: sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==} + eslint-plugin-react@7.34.3: + resolution: {integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -3246,7 +3229,6 @@ packages: ethereumjs-abi@https://codeload.github.com/ethereumjs/ethereumjs-abi/tar.gz/ee3994657fa7a427238e6ba92a84d0b529bbcde0: resolution: {tarball: https://codeload.github.com/ethereumjs/ethereumjs-abi/tar.gz/ee3994657fa7a427238e6ba92a84d0b529bbcde0} - name: ethereumjs-abi version: 0.6.8 ethereumjs-account@2.0.5: @@ -3544,7 +3526,6 @@ packages: forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/46264e9788017fc74f9f58b7efa0bc6e1df6d410: resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/46264e9788017fc74f9f58b7efa0bc6e1df6d410} - name: forge-std version: 1.5.2 form-data@2.3.3: @@ -3704,8 +3685,8 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} hasBin: true @@ -3771,9 +3752,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -3786,10 +3764,6 @@ packages: engines: {node: '>=6'} deprecated: this library is no longer supported - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - hardhat-deploy@0.11.45: resolution: {integrity: sha512-aC8UNaq3JcORnEUIwV945iJuvBwi65tjHVDU3v6mOcqik7WAzHVCJ7cwmkkipsHrWysrB5YvGF1q9S1vIph83w==} @@ -4073,8 +4047,9 @@ packages: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} is-data-descriptor@1.0.1: resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} @@ -4189,10 +4164,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -4441,8 +4412,8 @@ packages: jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@2.4.0: resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} @@ -4492,10 +4463,6 @@ packages: klaw@1.3.1: resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - lcid@1.0.0: resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} engines: {node: '>=0.10.0'} @@ -4659,8 +4626,8 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} lru-cache@3.2.0: @@ -4702,10 +4669,6 @@ packages: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - map-obj@4.3.0: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} @@ -4786,10 +4749,6 @@ packages: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} - meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} - merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} @@ -4922,14 +4881,10 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -4959,10 +4914,6 @@ packages: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} - mixme@0.5.10: - resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} - engines: {node: '>= 8.0.0'} - mkdirp-promise@5.0.1: resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} engines: {node: '>=4'} @@ -4985,8 +4936,8 @@ packages: mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} + mocha@10.5.2: + resolution: {integrity: sha512-9btlN3JKCefPf+vKd/kcKz2SXxi12z6JswkGfaAF0saQvnsqLJk504ZmbxhSoENge08E9dsymozKgFMTl5PQsA==} engines: {node: '>= 14.0.0'} hasBin: true @@ -5001,6 +4952,10 @@ packages: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -5175,8 +5130,9 @@ packages: object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} @@ -5353,6 +5309,9 @@ packages: resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} engines: {node: '>=8'} + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -5367,6 +5326,10 @@ packages: parse-headers@2.0.5: resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} + parse-imports@2.1.0: + resolution: {integrity: sha512-JQWgmK2o4w8leUkZeZPatWdAny6vXGU/3siIUvMF6J2rDCud9aTt8h/px9oZJ6U3EcfhngBJ635uPFI0q0VAeA==} + engines: {node: '>= 18'} + parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -5529,8 +5492,8 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} postinstall-postinstall@2.1.0: @@ -5682,10 +5645,6 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -5751,10 +5710,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - redeyed@2.1.1: resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} @@ -6120,6 +6075,9 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + slashes@3.0.12: + resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} + slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -6132,11 +6090,6 @@ packages: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} engines: {node: '>=18'} - smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true - snapdragon-node@2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} @@ -6277,9 +6230,6 @@ packages: stream-to-pull-stream@1.7.3: resolution: {integrity: sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==} - stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - strict-uri-encode@1.1.0: resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} @@ -6303,8 +6253,8 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} string.prototype.matchall@4.0.11: @@ -6416,6 +6366,10 @@ packages: swarm-js@0.1.42: resolution: {integrity: sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==} + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + table-layout@1.0.2: resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} engines: {node: '>=8.0.0'} @@ -6534,10 +6488,6 @@ packages: resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} engines: {node: '>= 0.4'} - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - trim-right@1.0.1: resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} engines: {node: '>=0.10.0'} @@ -6636,11 +6586,6 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tty-table@4.2.3: - resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} - engines: {node: '>=8.0.0'} - hasBin: true - tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -6661,10 +6606,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -6739,18 +6680,13 @@ packages: peerDependencies: typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x || 4.7.x - typescript@4.7.4: - resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} - engines: {node: '>=4.2.0'} - hasBin: true - typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + typescript@5.5.2: + resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} engines: {node: '>=14.17'} hasBin: true @@ -7462,15 +7398,15 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/changelog-github@0.4.8': + '@changesets/changelog-github@0.4.8(encoding@0.1.13)': dependencies: - '@changesets/get-github-info': 0.5.2 + '@changesets/get-github-info': 0.5.2(encoding@0.1.13) '@changesets/types': 5.2.1 dotenv: 8.6.0 transitivePeerDependencies: - encoding - '@changesets/cli@2.27.5': + '@changesets/cli@2.27.6': dependencies: '@babel/runtime': 7.24.7 '@changesets/apply-release-plan': 7.0.3 @@ -7496,7 +7432,7 @@ snapshots: external-editor: 3.1.0 fs-extra: 7.0.1 human-id: 1.0.2 - meow: 6.1.1 + mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 preferred-pm: 3.1.3 @@ -7504,7 +7440,6 @@ snapshots: semver: 7.6.2 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.3 '@changesets/config@3.0.1': dependencies: @@ -7528,10 +7463,10 @@ snapshots: fs-extra: 7.0.1 semver: 7.6.2 - '@changesets/get-github-info@0.5.2': + '@changesets/get-github-info@0.5.2(encoding@0.1.13)': dependencies: dataloader: 1.4.0 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -7605,7 +7540,7 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@codechecks/client@0.1.12(typescript@5.4.5)': + '@codechecks/client@0.1.12(typescript@5.5.2)': dependencies: bluebird: 3.7.2 chalk: 2.4.2 @@ -7625,7 +7560,7 @@ snapshots: request: 2.88.2 request-promise: 4.2.6(request@2.88.2) ts-essentials: 1.0.4 - ts-node: 8.10.2(typescript@5.4.5) + ts-node: 8.10.2(typescript@5.5.2) url-join: 4.0.1 transitivePeerDependencies: - supports-color @@ -7635,16 +7570,16 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@defi-wonderland/smock@2.4.0(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.22.5)': + '@defi-wonderland/smock@2.4.0(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10))': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 '@nomicfoundation/ethereumjs-util': 9.0.4 - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.22.5) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) diff: 5.2.0 - ethers: 5.7.2 - hardhat: 2.22.5(ts-node@10.9.2)(typescript@4.9.5) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10) lodash.isequal: 4.5.0 lodash.isequalwith: 4.4.0 rxjs: 7.8.1 @@ -7666,7 +7601,7 @@ snapshots: dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 - '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/types': 7.14.1 comment-parser: 1.4.1 esquery: 1.5.0 jsdoc-type-pratt-parser: 4.0.0 @@ -7676,7 +7611,7 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.1': {} + '@eslint-community/regexpp@4.11.0': {} '@eslint/eslintrc@2.1.4': dependencies: @@ -7694,29 +7629,29 @@ snapshots: '@eslint/js@8.57.0': {} - '@ethereum-waffle/chai@3.4.4': + '@ethereum-waffle/chai@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: - '@ethereum-waffle/provider': 3.4.4 - ethers: 5.7.2 + '@ethereum-waffle/provider': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - '@ethereum-waffle/compiler@3.4.4(typescript@4.7.4)': + '@ethereum-waffle/compiler@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10)': dependencies: '@resolver-engine/imports': 0.3.3 '@resolver-engine/imports-fs': 0.3.3 - '@typechain/ethers-v5': 2.0.0(ethers@5.7.2)(typechain@3.0.0) + '@typechain/ethers-v5': 2.0.0(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@3.0.0(typescript@4.9.5)) '@types/mkdirp': 0.5.2 '@types/node-fetch': 2.6.11 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) mkdirp: 0.5.6 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) solc: 0.6.12 ts-generator: 0.1.1 - typechain: 3.0.0(typescript@4.7.4) + typechain: 3.0.0(typescript@4.9.5) transitivePeerDependencies: - bufferutil - encoding @@ -7724,19 +7659,19 @@ snapshots: - typescript - utf-8-validate - '@ethereum-waffle/compiler@3.4.4(typescript@4.9.5)': + '@ethereum-waffle/compiler@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10)': dependencies: '@resolver-engine/imports': 0.3.3 '@resolver-engine/imports-fs': 0.3.3 - '@typechain/ethers-v5': 2.0.0(ethers@5.7.2)(typechain@3.0.0) + '@typechain/ethers-v5': 2.0.0(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@3.0.0(typescript@5.5.2)) '@types/mkdirp': 0.5.2 '@types/node-fetch': 2.6.11 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) mkdirp: 0.5.6 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) solc: 0.6.12 ts-generator: 0.1.1 - typechain: 3.0.0(typescript@4.9.5) + typechain: 3.0.0(typescript@5.5.2) transitivePeerDependencies: - bufferutil - encoding @@ -7744,28 +7679,28 @@ snapshots: - typescript - utf-8-validate - '@ethereum-waffle/ens@3.4.4': + '@ethereum-waffle/ens@3.4.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ensdomains/ens': 0.4.5 '@ensdomains/resolver': 0.2.4 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - '@ethereum-waffle/mock-contract@3.4.4': + '@ethereum-waffle/mock-contract@3.4.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abi': 5.7.0 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - '@ethereum-waffle/provider@3.4.4': + '@ethereum-waffle/provider@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: - '@ethereum-waffle/ens': 3.4.4 - ethers: 5.7.2 - ganache-core: 2.13.2 + '@ethereum-waffle/ens': 3.4.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ganache-core: 2.13.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) patch-package: 6.5.1 postinstall-postinstall: 2.1.0 transitivePeerDependencies: @@ -7932,7 +7867,7 @@ snapshots: dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.7.2': + '@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -7953,7 +7888,7 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 bech32: 1.1.4 - ws: 7.4.6 + ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -8057,20 +7992,20 @@ snapshots: command-exists: 1.2.9 ts-interface-checker: 0.1.13 - '@foundry-rs/hardhat-forge@0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.22.5)': + '@foundry-rs/hardhat-forge@0.1.17(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10))': dependencies: '@foundry-rs/easy-foundryup': 0.1.3 - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.22.5) - '@nomiclabs/hardhat-waffle': 2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.22.5) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) + '@nomiclabs/hardhat-waffle': 2.0.6(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) '@types/sinon-chai': 3.2.12 '@types/web3': 1.0.19 camelcase-keys: 7.0.2 debug: 4.3.5 - ethereum-waffle: 3.4.4(typescript@4.9.5) - ethers: 5.7.2 + ethereum-waffle: 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) fs-extra: 10.1.0 glob: 7.2.3 - hardhat: 2.22.5(ts-node@10.9.2)(typescript@4.9.5) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10) true-case-path: 2.2.1 ts-interface-checker: 0.1.13 transitivePeerDependencies: @@ -8133,6 +8068,46 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + '@kroma/contracts@1.0.0(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10)': + dependencies: + '@kroma/core-utils': 1.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@openzeppelin/contracts': 4.9.3 + '@openzeppelin/contracts-upgradeable': 4.9.3 + circomlibjs: 0.1.7(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - c-kzg + - supports-color + - ts-node + - typescript + - utf-8-validate + + '@kroma/core-utils@1.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethersproject/rlp': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bufio: 1.2.1 + chai: 4.4.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@kroma/hardhat-deploy-config@1.0.0': {} + '@ljharb/resumer@0.0.1': dependencies: '@ljharb/through': 2.3.13 @@ -8266,18 +8241,31 @@ snapshots: '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 - '@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2)(hardhat@2.22.5)': + '@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10))': + dependencies: + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10) + + '@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10))': dependencies: - ethers: 5.7.2 - hardhat: 2.22.5(ts-node@10.9.2)(typescript@4.9.5) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10) - '@nomiclabs/hardhat-waffle@2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.22.5)': + '@nomiclabs/hardhat-waffle@2.0.6(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)))(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10))': dependencies: - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.22.5) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10)) '@types/sinon-chai': 3.2.12 - ethereum-waffle: 3.4.4(typescript@4.9.5) - ethers: 5.7.2 - hardhat: 2.22.5(ts-node@10.9.2)(typescript@4.9.5) + ethereum-waffle: 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10) + + '@nomiclabs/hardhat-waffle@2.0.6(@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10)))(@types/sinon-chai@3.2.12)(ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10))': + dependencies: + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10)) + '@types/sinon-chai': 3.2.12 + ethereum-waffle: 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + hardhat: 2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10) '@nrwl/nx-cloud@19.0.0': dependencies: @@ -8331,6 +8319,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pkgr/core@0.1.1': {} + '@rari-capital/solmate@https://codeload.github.com/transmissions11/solmate/tar.gz/8f9b23f8838670afda0fd8983f2c41e8037ae6bc': {} '@resolver-engine/core@0.3.3': @@ -8527,39 +8517,44 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@typechain/ethers-v5@10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@8.3.2)(typescript@4.9.5)': + '@typechain/ethers-v5@10.2.1(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@4.9.5))(typescript@4.9.5)': dependencies: '@ethersproject/abi': 5.7.0 - '@ethersproject/providers': 5.7.2 - ethers: 5.7.2 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) lodash: 4.17.21 ts-essentials: 7.0.3(typescript@4.9.5) typechain: 8.3.2(typescript@4.9.5) typescript: 4.9.5 - '@typechain/ethers-v5@2.0.0(ethers@5.7.2)(typechain@3.0.0)': + '@typechain/ethers-v5@2.0.0(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@3.0.0(typescript@4.9.5))': dependencies: - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) typechain: 3.0.0(typescript@4.9.5) + '@typechain/ethers-v5@2.0.0(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@3.0.0(typescript@5.5.2))': + dependencies: + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + typechain: 3.0.0(typescript@5.5.2) + '@types/bn.js@4.11.6': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/bn.js@5.1.5': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/responselike': 1.0.3 optional: true @@ -8571,7 +8566,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/eslint@8.56.10': dependencies: @@ -8580,9 +8575,9 @@ snapshots: '@types/estree@1.0.5': {} - '@types/express-serve-static-core@4.19.3': + '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8590,7 +8585,7 @@ snapshots: '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.3 + '@types/express-serve-static-core': 4.19.5 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 @@ -8605,7 +8600,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 optional: true '@types/lru-cache@5.1.1': {} @@ -8618,26 +8613,24 @@ snapshots: '@types/minimatch@3.0.5': {} - '@types/minimist@1.2.5': {} - '@types/mkdirp@0.5.2': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 - '@types/mocha@10.0.6': {} + '@types/mocha@10.0.7': {} '@types/morgan@1.9.9': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 form-data: 4.0.0 '@types/node@12.20.55': {} - '@types/node@20.14.4': + '@types/node@20.14.9': dependencies: undici-types: 5.26.5 @@ -8647,7 +8640,7 @@ snapshots: '@types/pbkdf2@3.1.2': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/pino-multi-stream@5.1.6': dependencies: @@ -8663,7 +8656,7 @@ snapshots: '@types/pino@6.3.12': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/pino-pretty': 5.0.0 '@types/pino-std-serializers': 4.0.0 sonic-boom: 2.8.0 @@ -8676,28 +8669,28 @@ snapshots: '@types/resolve@0.0.8': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/responselike@1.0.3': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 optional: true '@types/secp256k1@4.0.6': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/semver@7.5.8': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.4 + '@types/node': 20.14.9 '@types/send': 0.17.4 '@types/sinon-chai@3.2.12': @@ -8720,9 +8713,9 @@ snapshots: '@types/bn.js': 5.1.5 '@types/underscore': 1.11.15 - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5)': dependencies: - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) @@ -8734,17 +8727,18 @@ snapshots: natural-compare-lite: 1.4.0 semver: 7.6.2 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': dependencies: - '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.2) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.2) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.5 eslint: 8.57.0 @@ -8752,8 +8746,9 @@ snapshots: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.3.0(typescript@5.5.2) + optionalDependencies: + typescript: 5.5.2 transitivePeerDependencies: - supports-color @@ -8764,19 +8759,21 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) debug: 4.3.5 eslint: 8.57.0 + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.5 eslint: 8.57.0 - typescript: 5.4.5 + optionalDependencies: + typescript: 5.5.2 transitivePeerDependencies: - supports-color @@ -8797,18 +8794,20 @@ snapshots: debug: 4.3.5 eslint: 8.57.0 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.5.2)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.2) debug: 4.3.5 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.3.0(typescript@5.5.2) + optionalDependencies: + typescript: 5.5.2 transitivePeerDependencies: - supports-color @@ -8816,7 +8815,7 @@ snapshots: '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.13.1': {} + '@typescript-eslint/types@7.14.1': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)': dependencies: @@ -8827,11 +8826,12 @@ snapshots: is-glob: 4.0.3 semver: 7.6.2 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.5.2)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 @@ -8840,8 +8840,9 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.3.0(typescript@5.5.2) + optionalDependencies: + typescript: 5.5.2 transitivePeerDependencies: - supports-color @@ -8860,14 +8861,14 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.5.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.2) eslint: 8.57.0 semver: 7.6.2 transitivePeerDependencies: @@ -8886,37 +8887,37 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vue/compiler-core@3.4.29': + '@vue/compiler-core@3.4.31': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.29 + '@vue/shared': 3.4.31 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.29': + '@vue/compiler-dom@3.4.31': dependencies: - '@vue/compiler-core': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-core': 3.4.31 + '@vue/shared': 3.4.31 - '@vue/compiler-sfc@3.4.29': + '@vue/compiler-sfc@3.4.31': dependencies: '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.29 - '@vue/compiler-dom': 3.4.29 - '@vue/compiler-ssr': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-core': 3.4.31 + '@vue/compiler-dom': 3.4.31 + '@vue/compiler-ssr': 3.4.31 + '@vue/shared': 3.4.31 estree-walker: 2.0.2 magic-string: 0.30.10 - postcss: 8.4.38 + postcss: 8.4.39 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.29': + '@vue/compiler-ssr@3.4.31': dependencies: - '@vue/compiler-dom': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-dom': 3.4.31 + '@vue/shared': 3.4.31 - '@vue/shared@3.4.29': {} + '@vue/shared@3.4.31': {} '@yarnpkg/lockfile@1.1.0': {} @@ -9799,10 +9800,6 @@ snapshots: dependencies: fill-range: 7.1.1 - breakword@1.0.6: - dependencies: - wcwidth: 1.0.1 - brorand@1.1.0: {} browser-stdout@1.3.1: {} @@ -9853,13 +9850,13 @@ snapshots: browserslist@3.2.8: dependencies: - caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.804 + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.815 browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.804 + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.815 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) @@ -9976,12 +9973,6 @@ snapshots: callsites@3.1.0: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - camelcase-keys@7.0.2: dependencies: camelcase: 6.3.0 @@ -9995,7 +9986,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001636: {} + caniuse-lite@1.0.30001639: {} cardinal@2.1.1: dependencies: @@ -10058,18 +10049,6 @@ snapshots: dependencies: functional-red-black-tree: 1.0.1 - chokidar@3.5.3: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -10107,11 +10086,11 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 - circomlibjs@0.1.7: + circomlibjs@0.1.7(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: blake-hash: 2.0.0 blake2b: 2.1.4 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) ffjavascript: 0.2.63 transitivePeerDependencies: - bufferutil @@ -10152,7 +10131,7 @@ snapshots: cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 - string-width: 7.1.0 + string-width: 7.2.0 cliui@3.2.0: dependencies: @@ -10330,6 +10309,7 @@ snapshots: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + optionalDependencies: typescript: 4.9.5 create-ecdh@4.0.4: @@ -10357,9 +10337,9 @@ snapshots: create-require@1.1.1: {} - cross-fetch@2.2.6: + cross-fetch@2.2.6(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) whatwg-fetch: 2.0.4 transitivePeerDependencies: - encoding @@ -10399,19 +10379,6 @@ snapshots: randomfill: 1.0.4 optional: true - csv-generate@3.4.3: {} - - csv-parse@4.16.3: {} - - csv-stringify@5.6.5: {} - - csv@5.5.3: - dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - d@1.0.2: dependencies: es5-ext: 0.10.64 @@ -10458,17 +10425,13 @@ snapshots: debug@4.3.4(supports-color@8.1.1): dependencies: ms: 2.1.2 + optionalDependencies: supports-color: 8.1.1 debug@4.3.5: dependencies: ms: 2.1.2 - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - decamelize@1.2.0: {} decamelize@4.0.0: {} @@ -10560,7 +10523,7 @@ snapshots: dependencies: '@babel/parser': 7.24.7 '@babel/traverse': 7.24.7 - '@vue/compiler-sfc': 3.4.29 + '@vue/compiler-sfc': 3.4.31 callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -10568,7 +10531,7 @@ snapshots: deps-regex: 0.2.0 findup-sync: 5.0.0 ignore: 5.3.1 - is-core-module: 2.13.1 + is-core-module: 2.14.0 js-yaml: 3.14.1 json5: 2.2.3 lodash: 4.17.21 @@ -10706,7 +10669,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.4.804: {} + electron-to-chromium@1.4.815: {} elliptic@6.5.4: dependencies: @@ -10823,7 +10786,7 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -10864,6 +10827,8 @@ snapshots: iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 + es-module-lexer@1.5.4: {} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -10916,31 +10881,31 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-standard@16.0.3(eslint-plugin-import@2.29.1)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@8.57.0): + eslint-config-standard@16.0.3(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint-plugin-node@11.1.0(eslint@8.57.0))(eslint-plugin-promise@5.2.0(eslint@8.57.0))(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-node: 11.1.0(eslint@8.57.0) eslint-plugin-promise: 5.2.0(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.13.1 + is-core-module: 2.14.0 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.5 enhanced-resolve: 5.17.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 - is-core-module: 2.13.1 + is-core-module: 2.14.0 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -10948,13 +10913,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -10964,9 +10930,8 @@ snapshots: eslint-utils: 2.1.0 regexpp: 3.2.0 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -10975,9 +10940,9 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 - is-core-module: 2.13.1 + is-core-module: 2.14.0 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 @@ -10985,12 +10950,14 @@ snapshots: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsdoc@48.2.12(eslint@8.57.0): + eslint-plugin-jsdoc@48.5.0(eslint@8.57.0): dependencies: '@es-joy/jsdoccomment': 0.43.1 are-docs-informative: 0.0.2 @@ -10999,8 +10966,10 @@ snapshots: escape-string-regexp: 4.0.0 eslint: 8.57.0 esquery: 1.5.0 + parse-imports: 2.1.0 semver: 7.6.2 spdx-expression-parse: 4.0.0 + synckit: 0.9.0 transitivePeerDependencies: - supports-color @@ -11018,18 +10987,19 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8): + eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8): dependencies: eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.0) eslint-plugin-promise@5.2.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-react@7.34.2(eslint@8.57.0): + eslint-plugin-react@7.34.3(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -11096,7 +11066,7 @@ snapshots: eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -11186,9 +11156,9 @@ snapshots: idna-uts46-hx: 2.3.1 js-sha3: 0.5.7 - eth-json-rpc-infura@3.2.1: + eth-json-rpc-infura@3.2.1(encoding@0.1.13): dependencies: - cross-fetch: 2.2.6 + cross-fetch: 2.2.6(encoding@0.1.13) eth-json-rpc-middleware: 1.6.0 json-rpc-engine: 3.8.0 json-rpc-error: 2.0.0 @@ -11214,13 +11184,13 @@ snapshots: transitivePeerDependencies: - supports-color - eth-lib@0.1.29: + eth-lib@0.1.29(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: bn.js: 4.12.0 elliptic: 6.5.5 nano-json-stream-parser: 0.1.2 servify: 0.1.12 - ws: 3.3.3 + ws: 3.3.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) xhr-request-promise: 0.1.3 transitivePeerDependencies: - bufferutil @@ -11314,13 +11284,13 @@ snapshots: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - ethereum-waffle@3.4.4(typescript@4.7.4): + ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10): dependencies: - '@ethereum-waffle/chai': 3.4.4 - '@ethereum-waffle/compiler': 3.4.4(typescript@4.7.4) - '@ethereum-waffle/mock-contract': 3.4.4 - '@ethereum-waffle/provider': 3.4.4 - ethers: 5.7.2 + '@ethereum-waffle/chai': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + '@ethereum-waffle/compiler': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@4.9.5)(utf-8-validate@5.0.10) + '@ethereum-waffle/mock-contract': 3.4.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethereum-waffle/provider': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding @@ -11328,13 +11298,13 @@ snapshots: - typescript - utf-8-validate - ethereum-waffle@3.4.4(typescript@4.9.5): + ethereum-waffle@3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10): dependencies: - '@ethereum-waffle/chai': 3.4.4 - '@ethereum-waffle/compiler': 3.4.4(typescript@4.9.5) - '@ethereum-waffle/mock-contract': 3.4.4 - '@ethereum-waffle/provider': 3.4.4 - ethers: 5.7.2 + '@ethereum-waffle/chai': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + '@ethereum-waffle/compiler': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@5.0.10) + '@ethereum-waffle/mock-contract': 3.4.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@ethereum-waffle/provider': 3.4.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding @@ -11502,7 +11472,7 @@ snapshots: utf8: 3.0.0 uuid: 8.3.2 - ethers@5.7.2: + ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -11522,7 +11492,7 @@ snapshots: '@ethersproject/networks': 5.7.1 '@ethersproject/pbkdf2': 5.7.0 '@ethersproject/properties': 5.7.0 - '@ethersproject/providers': 5.7.2 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/random': 5.7.0 '@ethersproject/rlp': 5.7.0 '@ethersproject/sha2': 5.7.0 @@ -11836,7 +11806,7 @@ snapshots: imul: 1.0.1 follow-redirects@1.15.6(debug@4.3.5): - dependencies: + optionalDependencies: debug: 4.3.5 for-each@0.3.3: @@ -11966,7 +11936,7 @@ snapshots: functions-have-names@1.2.3: {} - ganache-core@2.13.2: + ganache-core@2.13.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10): dependencies: abstract-leveldown: 3.0.0 async: 2.6.2 @@ -11993,11 +11963,11 @@ snapshots: seedrandom: 3.0.1 source-map-support: 0.5.12 tmp: 0.1.0 - web3-provider-engine: 14.2.1 + web3-provider-engine: 14.2.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) websocket: 1.0.32 optionalDependencies: ethereumjs-wallet: 0.6.5 - web3: 1.2.11 + web3: 1.2.11(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding @@ -12059,12 +12029,13 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.1: + glob@10.4.2: dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 + package-json-from-dist: 1.0.0 path-scurry: 1.11.1 glob@7.1.7: @@ -12181,8 +12152,6 @@ snapshots: graceful-fs@4.2.11: {} - grapheme-splitter@1.0.4: {} - graphemer@1.4.0: {} har-schema@2.0.0: {} @@ -12192,9 +12161,7 @@ snapshots: ajv: 6.12.6 har-schema: 2.0.0 - hard-rejection@2.1.0: {} - - hardhat-deploy@0.11.45: + hardhat-deploy@0.11.45(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -12203,7 +12170,7 @@ snapshots: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@ethersproject/solidity': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 @@ -12213,19 +12180,19 @@ snapshots: chokidar: 3.6.0 debug: 4.3.5 enquirer: 2.4.1 - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) form-data: 4.0.0 fs-extra: 10.1.0 match-all: 1.2.6 murmur-128: 0.2.1 qs: 6.12.1 - zksync-web3: 0.14.4(ethers@5.7.2) + zksync-web3: 0.14.4(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - hardhat@2.22.5(ts-node@10.9.2)(typescript@4.9.5): + hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5))(typescript@4.9.5)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 @@ -12258,7 +12225,7 @@ snapshots: keccak: 3.0.4 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.4.0 + mocha: 10.5.2 p-map: 4.0.0 raw-body: 2.5.2 resolve: 1.17.0 @@ -12266,72 +12233,20 @@ snapshots: solc: 0.7.3(debug@4.3.5) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.2(@types/node@20.14.4)(typescript@4.9.5) tsort: 0.0.1 - typescript: 4.9.5 undici: 5.28.4 uuid: 8.3.2 - ws: 7.5.10 - transitivePeerDependencies: - - bufferutil - - c-kzg - - supports-color - - utf-8-validate - - hardhat@2.22.5(ts-node@10.9.2)(typescript@5.4.5): - dependencies: - '@ethersproject/abi': 5.7.0 - '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.4.0 - '@nomicfoundation/ethereumjs-common': 4.0.4 - '@nomicfoundation/ethereumjs-tx': 5.0.4 - '@nomicfoundation/ethereumjs-util': 9.0.4 - '@nomicfoundation/solidity-analyzer': 0.1.2 - '@sentry/node': 5.30.0 - '@types/bn.js': 5.1.5 - '@types/lru-cache': 5.1.1 - adm-zip: 0.4.16 - aggregate-error: 3.1.0 - ansi-escapes: 4.3.2 - boxen: 5.1.2 - chalk: 2.4.2 - chokidar: 3.6.0 - ci-info: 2.0.0 - debug: 4.3.5 - enquirer: 2.4.1 - env-paths: 2.2.1 - ethereum-cryptography: 1.2.0 - ethereumjs-abi: 0.6.8 - find-up: 2.1.0 - fp-ts: 1.19.3 - fs-extra: 7.0.1 - glob: 7.2.0 - immutable: 4.3.6 - io-ts: 1.10.4 - keccak: 3.0.4 - lodash: 4.17.21 - mnemonist: 0.38.5 - mocha: 10.4.0 - p-map: 4.0.0 - raw-body: 2.5.2 - resolve: 1.17.0 - semver: 6.3.1 - solc: 0.7.3(debug@4.3.5) - source-map-support: 0.5.21 - stacktrace-parser: 0.1.10 - ts-node: 10.9.2(@types/node@20.14.4)(typescript@5.4.5) - tsort: 0.0.1 - typescript: 5.4.5 - undici: 5.28.4 - uuid: 8.3.2 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + ts-node: 10.9.2(@types/node@20.14.9)(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - bufferutil - c-kzg - supports-color - utf-8-validate - hardhat@2.22.5(typescript@4.7.4): + hardhat@2.22.5(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 @@ -12364,7 +12279,7 @@ snapshots: keccak: 3.0.4 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.4.0 + mocha: 10.5.2 p-map: 4.0.0 raw-body: 2.5.2 resolve: 1.17.0 @@ -12373,10 +12288,12 @@ snapshots: source-map-support: 0.5.21 stacktrace-parser: 0.1.10 tsort: 0.0.1 - typescript: 4.7.4 undici: 5.28.4 uuid: 8.3.2 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) + typescript: 5.5.2 transitivePeerDependencies: - bufferutil - c-kzg @@ -12641,7 +12558,7 @@ snapshots: dependencies: ci-info: 2.0.0 - is-core-module@2.13.1: + is-core-module@2.14.0: dependencies: hasown: 2.0.2 @@ -12731,8 +12648,6 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@1.1.0: {} - is-plain-obj@2.1.0: {} is-plain-object@2.0.4: @@ -12961,7 +12876,7 @@ snapshots: jsonc-parser@3.2.0: {} - jsonc-parser@3.2.1: {} + jsonc-parser@3.3.1: {} jsonfile@2.4.0: optionalDependencies: @@ -13026,8 +12941,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - kleur@4.1.5: {} - lcid@1.0.0: dependencies: invert-kv: 1.0.0 @@ -13236,7 +13149,7 @@ snapshots: lowercase-keys@2.0.0: optional: true - lru-cache@10.2.2: {} + lru-cache@10.3.0: {} lru-cache@3.2.0: dependencies: @@ -13275,8 +13188,6 @@ snapshots: map-cache@0.2.2: {} - map-obj@1.0.1: {} - map-obj@4.3.0: {} map-visit@1.0.0: @@ -13400,20 +13311,6 @@ snapshots: memorystream@0.3.1: {} - meow@6.1.1: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - merge-descriptors@1.0.1: {} merge-stream@2.0.0: {} @@ -13582,16 +13479,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - minimist@1.2.8: {} minipass@2.9.0: @@ -13623,8 +13514,6 @@ snapshots: for-in: 1.0.2 is-extendable: 1.0.1 - mixme@0.5.10: {} - mkdirp-promise@5.0.1: dependencies: mkdirp: 3.0.1 @@ -13643,11 +13532,11 @@ snapshots: dependencies: obliterator: 2.0.4 - mocha@10.4.0: + mocha@10.5.2: dependencies: ansi-colors: 4.1.1 browser-stdout: 1.3.1 - chokidar: 3.5.3 + chokidar: 3.6.0 debug: 4.3.4(supports-color@8.1.1) diff: 5.0.0 escape-string-regexp: 4.0.0 @@ -13688,6 +13577,8 @@ snapshots: transitivePeerDependencies: - supports-color + mri@1.2.0: {} + ms@2.0.0: {} ms@2.1.2: {} @@ -13784,9 +13675,11 @@ snapshots: encoding: 0.1.13 is-stream: 1.1.0 - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-gyp-build@4.8.1: {} @@ -13946,7 +13839,7 @@ snapshots: object-inspect@1.12.3: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} object-is@1.1.6: dependencies: @@ -14142,6 +14035,8 @@ snapshots: lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 + package-json-from-dist@1.0.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -14167,6 +14062,11 @@ snapshots: parse-headers@2.0.5: {} + parse-imports@2.1.0: + dependencies: + es-module-lexer: 1.5.4 + slashes: 3.0.12 + parse-json@2.2.0: dependencies: error-ex: 1.3.2 @@ -14240,7 +14140,7 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 path-to-regexp@0.1.7: {} @@ -14345,7 +14245,7 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss@8.4.38: + postcss@8.4.39: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -14505,8 +14405,6 @@ snapshots: quick-format-unescaped@4.0.4: {} - quick-lru@4.0.1: {} - quick-lru@5.1.1: {} randombytes@2.1.0: @@ -14605,11 +14503,6 @@ snapshots: dependencies: picomatch: 2.3.1 - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - redeyed@2.1.1: dependencies: esprima: 4.0.1 @@ -14777,13 +14670,13 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 resolve@2.0.0-next.5: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -14823,7 +14716,7 @@ snapshots: rimraf@5.0.7: dependencies: - glob: 10.4.1 + glob: 10.4.2 ripemd160@2.0.2: dependencies: @@ -14992,7 +14885,7 @@ snapshots: shiki@0.10.1: dependencies: - jsonc-parser: 3.2.1 + jsonc-parser: 3.3.1 vscode-oniguruma: 1.7.0 vscode-textmate: 5.2.0 @@ -15001,7 +14894,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 signal-exit@3.0.7: {} @@ -15023,6 +14916,8 @@ snapshots: slash@3.0.0: {} + slashes@3.0.12: {} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -15039,15 +14934,6 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 - smartwrap@2.0.2: - dependencies: - array.prototype.flat: 1.3.2 - breakword: 1.0.6 - grapheme-splitter: 1.0.4 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 15.4.1 - snapdragon-node@2.1.1: dependencies: define-property: 1.0.0 @@ -15104,7 +14990,7 @@ snapshots: transitivePeerDependencies: - debug - solhint-plugin-prettier@0.0.5(prettier-plugin-solidity@1.3.1)(prettier@2.8.8): + solhint-plugin-prettier@0.0.5(prettier-plugin-solidity@1.3.1(prettier@2.8.8))(prettier@2.8.8): dependencies: prettier: 2.8.8 prettier-linter-helpers: 1.0.0 @@ -15256,10 +15142,6 @@ snapshots: looper: 3.0.0 pull-stream: 3.7.0 - stream-transform@2.1.3: - dependencies: - mixme: 0.5.10 - strict-uri-encode@1.1.0: optional: true @@ -15285,7 +15167,7 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string-width@7.1.0: + string-width@7.2.0: dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 @@ -15418,11 +15300,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swarm-js@0.1.42: + swarm-js@0.1.42(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: bluebird: 3.7.2 buffer: 5.7.1 - eth-lib: 0.1.29 + eth-lib: 0.1.29(bufferutil@4.0.8)(utf-8-validate@5.0.10) fs-extra: 4.0.3 got: 11.8.6 mime-types: 2.1.35 @@ -15437,6 +15319,11 @@ snapshots: - utf-8-validate optional: true + synckit@0.9.0: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.3 + table-layout@1.0.2: dependencies: array-back: 4.0.2 @@ -15589,17 +15476,15 @@ snapshots: typedarray.prototype.slice: 1.0.3 which-typed-array: 1.1.15 - trim-newlines@3.0.1: {} - trim-right@1.0.1: {} trough@1.0.5: {} true-case-path@2.2.1: {} - ts-api-utils@1.3.0(typescript@5.4.5): + ts-api-utils@1.3.0(typescript@5.5.2): dependencies: - typescript: 5.4.5 + typescript: 5.5.2 ts-command-line-args@2.5.1: dependencies: @@ -15610,14 +15495,14 @@ snapshots: ts-essentials@1.0.4: {} - ts-essentials@6.0.7(typescript@4.7.4): - dependencies: - typescript: 4.7.4 - ts-essentials@6.0.7(typescript@4.9.5): dependencies: typescript: 4.9.5 + ts-essentials@6.0.7(typescript@5.5.2): + dependencies: + typescript: 5.5.2 + ts-essentials@7.0.3(typescript@4.9.5): dependencies: typescript: 4.9.5 @@ -15636,21 +15521,21 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-mocha@10.0.0(mocha@10.4.0): + ts-mocha@10.0.0(mocha@10.5.2): dependencies: - mocha: 10.4.0 + mocha: 10.5.2 ts-node: 7.0.1 optionalDependencies: tsconfig-paths: 3.15.0 - ts-node@10.9.2(@types/node@20.14.4)(typescript@4.9.5): + ts-node@10.9.2(@types/node@20.14.9)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.4 + '@types/node': 20.14.9 acorn: 8.12.0 acorn-walk: 8.3.3 arg: 4.1.3 @@ -15661,21 +15546,21 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@20.14.4)(typescript@5.4.5): + ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.4 + '@types/node': 20.14.9 acorn: 8.12.0 acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.5 + typescript: 5.5.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -15690,13 +15575,13 @@ snapshots: source-map-support: 0.5.21 yn: 2.0.0 - ts-node@8.10.2(typescript@5.4.5): + ts-node@8.10.2(typescript@5.5.2): dependencies: arg: 4.1.3 diff: 4.0.2 make-error: 1.3.6 source-map-support: 0.5.21 - typescript: 5.4.5 + typescript: 5.5.2 yn: 3.1.1 tsconfig-paths@3.15.0: @@ -15725,16 +15610,6 @@ snapshots: tslib: 1.14.1 typescript: 4.9.5 - tty-table@4.2.3: - dependencies: - chalk: 4.1.2 - csv: 5.5.3 - kleur: 4.1.5 - smartwrap: 2.0.2 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 17.7.2 - tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -15751,8 +15626,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.13.1: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} @@ -15772,27 +15645,27 @@ snapshots: type@2.7.3: {} - typechain@3.0.0(typescript@4.7.4): + typechain@3.0.0(typescript@4.9.5): dependencies: command-line-args: 4.0.7 debug: 4.3.5 fs-extra: 7.0.1 js-sha3: 0.8.0 lodash: 4.17.21 - ts-essentials: 6.0.7(typescript@4.7.4) + ts-essentials: 6.0.7(typescript@4.9.5) ts-generator: 0.1.1 transitivePeerDependencies: - supports-color - typescript - typechain@3.0.0(typescript@4.9.5): + typechain@3.0.0(typescript@5.5.2): dependencies: command-line-args: 4.0.7 debug: 4.3.5 fs-extra: 7.0.1 js-sha3: 0.8.0 lodash: 4.17.21 - ts-essentials: 6.0.7(typescript@4.9.5) + ts-essentials: 6.0.7(typescript@5.5.2) ts-generator: 0.1.1 transitivePeerDependencies: - supports-color @@ -15861,20 +15734,18 @@ snapshots: typedarray@0.0.6: {} - typedoc@0.22.18(typescript@4.7.4): + typedoc@0.22.18(typescript@5.5.2): dependencies: glob: 8.1.0 lunr: 2.3.9 marked: 4.3.0 minimatch: 5.1.6 shiki: 0.10.1 - typescript: 4.7.4 - - typescript@4.7.4: {} + typescript: 5.5.2 typescript@4.9.5: {} - typescript@5.4.5: {} + typescript@5.5.2: {} typewise-core@1.2.0: {} @@ -16060,11 +15931,11 @@ snapshots: web-worker@1.2.0: {} - web3-bzz@1.2.11: + web3-bzz@1.2.11(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@types/node': 12.20.55 got: 9.6.0 - swarm-js: 0.1.42 + swarm-js: 0.1.42(bufferutil@4.0.8)(utf-8-validate@5.0.10) underscore: 1.9.1 transitivePeerDependencies: - bufferutil @@ -16225,14 +16096,14 @@ snapshots: - supports-color optional: true - web3-provider-engine@14.2.1: + web3-provider-engine@14.2.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10): dependencies: async: 2.6.2 backoff: 2.5.0 clone: 2.1.2 - cross-fetch: 2.2.6 + cross-fetch: 2.2.6(encoding@0.1.13) eth-block-tracker: 3.0.1 - eth-json-rpc-infura: 3.2.1 + eth-json-rpc-infura: 3.2.1(encoding@0.1.13) eth-sig-util: 1.4.2 ethereumjs-block: 1.7.1 ethereumjs-tx: 1.3.7 @@ -16244,7 +16115,7 @@ snapshots: readable-stream: 2.3.8 request: 2.88.2 semaphore: 1.1.0 - ws: 5.2.4 + ws: 5.2.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) xhr: 2.6.0 xtend: 4.0.2 transitivePeerDependencies: @@ -16309,9 +16180,9 @@ snapshots: utf8: 3.0.0 optional: true - web3@1.2.11: + web3@1.2.11(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: - web3-bzz: 1.2.11 + web3-bzz: 1.2.11(bufferutil@4.0.8)(utf-8-validate@5.0.10) web3-core: 1.2.11 web3-eth: 1.2.11 web3-eth-personal: 1.2.11 @@ -16440,7 +16311,7 @@ snapshots: wrap-ansi@9.0.0: dependencies: ansi-styles: 6.2.1 - string-width: 7.1.0 + string-width: 7.2.0 strip-ansi: 7.1.0 wrappy@1.0.2: {} @@ -16452,20 +16323,32 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - ws@3.3.3: + ws@3.3.3(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: async-limiter: 1.0.1 safe-buffer: 5.1.2 ultron: 1.1.1 + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 optional: true - ws@5.2.4: + ws@5.2.4(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: async-limiter: 1.0.1 + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 - ws@7.4.6: {} + ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 - ws@7.5.10: {} + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 xhr-request-promise@0.1.3: dependencies: @@ -16597,8 +16480,8 @@ snapshots: yocto-queue@0.1.0: {} - zksync-web3@0.14.4(ethers@5.7.2): + zksync-web3@0.14.4(ethers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ethers: 5.7.2 + ethers: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) zwitch@1.0.5: {}