/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { BlockChatUpgradeable2, BlockChatUpgradeable2Interface, } from "../BlockChatUpgradeable2"; const _abi = [ { inputs: [], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "previousAdmin", type: "address", }, { indexed: false, internalType: "address", name: "newAdmin", type: "address", }, ], name: "AdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "beacon", type: "address", }, ], name: "BeaconUpgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: true, internalType: "bytes32", name: "dataHash", type: "bytes32", }, { indexed: true, internalType: "uint48", name: "messageId", type: "uint48", }, ], name: "DataUploaded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint48", name: "messageId", type: "uint48", }, { indexed: false, internalType: "uint48", name: "createDate", type: "uint48", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "bytes20[]", name: "recipientHashList", type: "bytes20[]", }, { indexed: false, internalType: "string", name: "content", type: "string", }, ], name: "MessageCreated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "implementation", type: "address", }, ], name: "Upgraded", type: "event", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint48[]", name: "messageIdList", type: "uint48[]", }, ], name: "batchMessage", outputs: [ { components: [ { internalType: "bytes26", name: "messageHash", type: "bytes26", }, { internalType: "uint48", name: "createBlock", type: "uint48", }, ], internalType: "struct IBlockChatUpgradeable2.Message[]", name: "", type: "tuple[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes20", name: "recipientHash", type: "bytes20", }, { internalType: "uint48", name: "start", type: "uint48", }, { internalType: "uint48", name: "length", type: "uint48", }, ], name: "batchRecipientMessageId", outputs: [ { internalType: "uint48[]", name: "", type: "uint48[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes20", name: "recipientHash", type: "bytes20", }, { internalType: "string", name: "content", type: "string", }, ], name: "createMessage", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes20[]", name: "recipientHashList", type: "bytes20[]", }, { internalType: "string", name: "content", type: "string", }, ], name: "createMessageToList", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes20", name: "recipientHash", type: "bytes20", }, { internalType: "string", name: "content", type: "string", }, { internalType: "bytes", name: "data", type: "bytes", }, ], name: "createMessageWithData", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "dataMap", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name", type: "string", }, ], name: "getDataHash", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "address", name: "sender", type: "address", }, { internalType: "uint48", name: "createDate", type: "uint48", }, { internalType: "uint48", name: "createBlock", type: "uint48", }, { internalType: "bytes20[]", name: "recipientHashList", type: "bytes20[]", }, { internalType: "string", name: "content", type: "string", }, ], name: "getMessageHash", outputs: [ { internalType: "bytes26", name: "", type: "bytes26", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "string", name: "name", type: "string", }, ], name: "getRecipientHash", outputs: [ { internalType: "bytes20", name: "", type: "bytes20", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "bytes20", name: "recipientHash", type: "bytes20", }, ], name: "getRecipientMessageListLength", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "implementationVersion", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "pure", type: "function", }, { inputs: [], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "messageLength", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], name: "messageMap", outputs: [ { internalType: "bytes26", name: "messageHash", type: "bytes26", }, { internalType: "uint48", name: "createBlock", type: "uint48", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes20", name: "", type: "bytes20", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "recipientMessageListMap", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4", }, ], name: "supportsInterface", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, ], name: "upgradeTo", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, { internalType: "bytes", name: "data", type: "bytes", }, ], name: "upgradeToAndCall", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "dataHash", type: "bytes32", }, { internalType: "string", name: "content", type: "string", }, ], name: "uploadData", outputs: [ { internalType: "uint48", name: "", type: "uint48", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60a06040523060805234801561001457600080fd5b50600054610100900460ff168061002e575060005460ff16155b6100955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100b7576000805461ffff19166101011790555b80156100c9576000805461ff00191690555b506080516124156100fa600039600081816109580152818161099801528181610a640152610aa401526124156000f3fe6080604052600436106101665760003560e01c80634f1ef286116100d1578063a217fddf1161008a578063d547741f11610064578063d547741f146104a5578063e67a9219146104c5578063f057af72146104fc578063f960a60b1461052957600080fd5b8063a217fddf14610431578063a9f3d19914610446578063b597fe771461048657600080fd5b80634f1ef286146103705780637d7c3079146103835780638129fc1c146103bc5780638b995039146103d157806391d14854146103f1578063a0cb2f441461041157600080fd5b8063248a9ca311610123578063248a9ca3146102795780632cbedfaf146102a95780632f2ff15d146102d657806336568abe146102f85780633659cfe61461031857806340e186621461033857600080fd5b80630155c34f1461016b57806301ffc9a7146101a7578063048fb862146101d757806306bfcec6146102055780631d643d221461023957806323385b6614610259575b600080fd5b34801561017757600080fd5b5061018b6101863660046118fa565b610591565b60405165ffffffffffff90911681526020015b60405180910390f35b3480156101b357600080fd5b506101c76101c2366004611924565b6105dc565b604051901515815260200161019e565b3480156101e357600080fd5b506101f76101f2366004611996565b610613565b60405190815260200161019e565b34801561021157600080fd5b506040805180820182526005815264302e322e3560d81b6020820152905161019e9190611a07565b34801561024557600080fd5b5061018b610254366004611a3a565b610646565b34801561026557600080fd5b5061018b610274366004611aba565b61071e565b34801561028557600080fd5b506101f7610294366004611b05565b60009081526065602052604090206001015490565b3480156102b557600080fd5b506102c96102c4366004611b34565b61079a565b60405161019e9190611b77565b3480156102e257600080fd5b506102f66102f1366004611bda565b6108a4565b005b34801561030457600080fd5b506102f6610313366004611bda565b6108cf565b34801561032457600080fd5b506102f6610333366004611c06565b61094d565b34801561034457600080fd5b50610358610353366004611c67565b610a16565b60405165ffffffffffff19909116815260200161019e565b6102f661037e366004611d6f565b610a59565b34801561038f57600080fd5b506103a361039e366004611996565b610b0f565b6040516001600160601b0319909116815260200161019e565b3480156103c857600080fd5b506102f6610b46565b3480156103dd57600080fd5b5061018b6103ec366004611e14565b610bcc565b3480156103fd57600080fd5b506101c761040c366004611bda565b610d64565b34801561041d57600080fd5b5061018b61042c366004611e91565b610d8f565b34801561043d57600080fd5b506101f7600081565b34801561045257600080fd5b5061018b610461366004611efc565b60fe60209081526000928352604080842090915290825290205465ffffffffffff1681565b34801561049257600080fd5b5060fd5461018b9065ffffffffffff1681565b3480156104b157600080fd5b506102f66104c0366004611bda565b610f6b565b3480156104d157600080fd5b5061018b6104e0366004611f18565b6001600160601b031916600090815260fb602052604090205490565b34801561050857600080fd5b5061051c610517366004611f33565b610f91565b60405161019e9190611f68565b34801561053557600080fd5b5061056b610544366004611fc8565b60fc60205260009081526040902054603081901b90600160d01b900465ffffffffffff1682565b6040805165ffffffffffff19909316835265ffffffffffff90911660208301520161019e565b60fb60205281600052604060002081815481106105ad57600080fd5b9060005260206000209060059182820401919006600602915091509054906101000a900465ffffffffffff1681565b60006001600160e01b03198216637965db0b60e01b148061060d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008282604051602001610628929190611fe3565b60405160208183030381529060405280519060200120905092915050565b6000808660601c6001600160a01b03168484604051610666929190611fe3565b6000604051808303816000865af19150503d80600081146106a3576040519150601f19603f3d011682016040523d82523d6000602084013e6106a8565b606091505b50509050806107085760405162461bcd60e51b815260206004820152602160248201527f426c6f636b436861745570677261646561626c65323a2063616c6c206572726f6044820152603960f91b60648201526084015b60405180910390fd5b610713878787610bcc565b979650505050505050565b60008061072f3360601b8585610bcc565b33600081815260fe602090815260408083208a8452909152808220805465ffffffffffff191665ffffffffffff86169081179091559051939450928892917f21811c66ce8ec86c525e81801f70992b34faf34f7d0bf9b324a7957e43c87ce991a490505b9392505050565b606060008265ffffffffffff166001600160401b038111156107be576107be611c21565b6040519080825280602002602001820160405280156107e7578160200160208202803683370190505b50905060005b8365ffffffffffff1681101561089b576001600160601b03198616600090815260fb602052604090206108288265ffffffffffff8816612009565b8154811061083857610838612021565b90600052602060002090600591828204019190066006029054906101000a900465ffffffffffff1682828151811061087257610872612021565b65ffffffffffff909216602092830291909101909101528061089381612037565b9150506107ed565b50949350505050565b6000828152606560205260409020600101546108c081336110bf565b6108ca8383611123565b505050565b6001600160a01b038116331461093f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106ff565b61094982826111a9565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156109965760405162461bcd60e51b81526004016106ff90612052565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109c8611210565b6001600160a01b0316146109ee5760405162461bcd60e51b81526004016106ff9061209e565b6109f78161123e565b60408051600080825260208201909252610a13918391906112ad565b50565b6000868686868686604051602001610a33969594939291906120ea565b60408051601f19818403018152919052805160209091012060301b979650505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610aa25760405162461bcd60e51b81526004016106ff90612052565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ad4611210565b6001600160a01b031614610afa5760405162461bcd60e51b81526004016106ff9061209e565b610b038261123e565b610949828260016112ad565b60008282604051602001610b24929190611fe3565b60408051601f19818403018152919052805160209091012060601b9392505050565b600054610100900460ff1680610b5f575060005460ff16155b610b7b5760405162461bcd60e51b81526004016106ff9061216a565b600054610100900460ff16158015610b9d576000805461ffff19166101011790555b610ba56113f8565b610bad611467565b610bb86000336114c5565b8015610a13576000805461ff001916905550565b604080516001808252818301909252600091829190602080830190803683370190505090508481600081518110610c0557610c05612021565b6001600160601b03199092166020928302919091019091015260fd805465ffffffffffff16906000610c36836121b8565b91906101000a81548165ffffffffffff021916908365ffffffffffff160217905550506040518060400160405280610c72334243868a8a610a16565b65ffffffffffff191681524365ffffffffffff90811660209283015260fd80548216600090815260fc845260408082208651968601518516600160d01b0260309790971c969096179095556001600160601b03198a16815260fb8452848120825481546001810183559183529490912060058083049091018054958516600692909306919091026101000a9182029184021990941617909255905491513392909116907f49f1abf6494c3798f5c48a66f8bb8ab8025914e3a04bf9aeead3462917afe34890610d4890429086908a908a90612207565b60405180910390a3505060fd5465ffffffffffff169392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60fd805460009165ffffffffffff9091169082610dab836121b8565b91906101000a81548165ffffffffffff021916908365ffffffffffff160217905550506040518060400160405280610e1c3342438a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b9150610a169050565b65ffffffffffff191681524365ffffffffffff90811660209283015260fd548116600090815260fc83526040812084519490930151909116600160d01b0260309390931c9290921790555b84811015610f085760fb6000878784818110610e8557610e85612021565b9050602002016020810190610e9a9190611f18565b6001600160601b0319168152602080820192909252604001600090812060fd548154600181018355918352929091206005808304909101805465ffffffffffff929093066006026101000a828102199093169190931690910217905580610f0081612037565b915050610e67565b5060fd54604051339165ffffffffffff16907f49f1abf6494c3798f5c48a66f8bb8ab8025914e3a04bf9aeead3462917afe34890610f4f9042908a908a908a908a9061227c565b60405180910390a35060fd5465ffffffffffff16949350505050565b600082815260656020526040902060010154610f8781336110bf565b6108ca83836111a9565b60606000826001600160401b03811115610fad57610fad611c21565b604051908082528060200260200182016040528015610ff257816020015b6040805180820190915260008082526020820152815260200190600190039081610fcb5790505b50905060005b65ffffffffffff81168411156110b75760fc600086868465ffffffffffff1681811061102657611026612021565b905060200201602081019061103b9190611fc8565b65ffffffffffff9081168252602080830193909352604091820160002082518084019093525465ffffffffffff19603082901b168352600160d01b900481169282019290925283519091849190841690811061109957611099612021565b602002602001018190525080806110af906121b8565b915050610ff8565b509392505050565b6110c98282610d64565b610949576110e1816001600160a01b031660146114cf565b6110ec8360206114cf565b6040516020016110fd9291906122f1565b60408051601f198184030181529082905262461bcd60e51b82526106ff91600401611a07565b61112d8282610d64565b6109495760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556111653390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111b38282610d64565b156109495760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b611249600033610d64565b610a135760405162461bcd60e51b815260206004820152602f60248201527f426c6f636b436861745570677261646561626c65323a2072657175697265206160448201526e3236b4b7103832b936b4b9b9b4b7b760891b60648201526084016106ff565b60006112b7611210565b90506112c28461166a565b6000835111806112cf5750815b156112e0576112de848461170f565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166113f157805460ff191660011781556040516001600160a01b038316602482015261135f90869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261170f565b50805460ff19168155611370611210565b6001600160a01b0316826001600160a01b0316146113e85760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016106ff565b6113f1856117fa565b5050505050565b600054610100900460ff1680611411575060005460ff16155b61142d5760405162461bcd60e51b81526004016106ff9061216a565b600054610100900460ff1615801561144f576000805461ffff19166101011790555b61145761183a565b61145f61183a565b610bb861183a565b600054610100900460ff1680611480575060005460ff16155b61149c5760405162461bcd60e51b81526004016106ff9061216a565b600054610100900460ff16158015611457576000805461ffff191661010117905561145f61183a565b6109498282611123565b606060006114de836002612366565b6114e9906002612009565b6001600160401b0381111561150057611500611c21565b6040519080825280601f01601f19166020018201604052801561152a576020820181803683370190505b509050600360fc1b8160008151811061154557611545612021565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061157457611574612021565b60200101906001600160f81b031916908160001a9053506000611598846002612366565b6115a3906001612009565b90505b600181111561161b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115d7576115d7612021565b1a60f81b8282815181106115ed576115ed612021565b60200101906001600160f81b031916908160001a90535060049490941c9361161481612385565b90506115a6565b5083156107935760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106ff565b803b6116ce5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106ff565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b61176e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106ff565b600080846001600160a01b031684604051611789919061239c565b600060405180830381855af49150503d80600081146117c4576040519150601f19603f3d011682016040523d82523d6000602084013e6117c9565b606091505b50915091506117f182826040518060600160405280602781526020016123b9602791396118a4565b95945050505050565b6118038161166a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680611853575060005460ff16155b61186f5760405162461bcd60e51b81526004016106ff9061216a565b600054610100900460ff16158015610bb8576000805461ffff19166101011790558015610a13576000805461ff001916905550565b606083156118b3575081610793565b8251156118c35782518084602001fd5b8160405162461bcd60e51b81526004016106ff9190611a07565b80356001600160601b0319811681146118f557600080fd5b919050565b6000806040838503121561190d57600080fd5b611916836118dd565b946020939093013593505050565b60006020828403121561193657600080fd5b81356001600160e01b03198116811461079357600080fd5b60008083601f84011261196057600080fd5b5081356001600160401b0381111561197757600080fd5b60208301915083602082850101111561198f57600080fd5b9250929050565b600080602083850312156119a957600080fd5b82356001600160401b038111156119bf57600080fd5b6119cb8582860161194e565b90969095509350505050565b60005b838110156119f25781810151838201526020016119da565b83811115611a01576000848401525b50505050565b6020815260008251806020840152611a268160408501602087016119d7565b601f01601f19169190910160400192915050565b600080600080600060608688031215611a5257600080fd5b611a5b866118dd565b945060208601356001600160401b0380821115611a7757600080fd5b611a8389838a0161194e565b90965094506040880135915080821115611a9c57600080fd5b50611aa98882890161194e565b969995985093965092949392505050565b600080600060408486031215611acf57600080fd5b8335925060208401356001600160401b03811115611aec57600080fd5b611af88682870161194e565b9497909650939450505050565b600060208284031215611b1757600080fd5b5035919050565b803565ffffffffffff811681146118f557600080fd5b600080600060608486031215611b4957600080fd5b611b52846118dd565b9250611b6060208501611b1e565b9150611b6e60408501611b1e565b90509250925092565b6020808252825182820181905260009190848201906040850190845b81811015611bb757835165ffffffffffff1683529284019291840191600101611b93565b50909695505050505050565b80356001600160a01b03811681146118f557600080fd5b60008060408385031215611bed57600080fd5b82359150611bfd60208401611bc3565b90509250929050565b600060208284031215611c1857600080fd5b61079382611bc3565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c5f57611c5f611c21565b604052919050565b60008060008060008060a08789031215611c8057600080fd5b611c8987611bc3565b95506020611c98818901611b1e565b9550611ca660408901611b1e565b945060608801356001600160401b0380821115611cc257600080fd5b818a0191508a601f830112611cd657600080fd5b813581811115611ce857611ce8611c21565b8060051b611cf7858201611c37565b918252838101850191858101908e841115611d1157600080fd5b948601945b83861015611d3657611d27866118dd565b82529486019490860190611d16565b985050505060808a0135925080831115611d4f57600080fd5b5050611d5d89828a0161194e565b979a9699509497509295939492505050565b60008060408385031215611d8257600080fd5b611d8b83611bc3565b91506020808401356001600160401b0380821115611da857600080fd5b818601915086601f830112611dbc57600080fd5b813581811115611dce57611dce611c21565b611de0601f8201601f19168501611c37565b91508082528784828501011115611df657600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060408486031215611e2957600080fd5b611e32846118dd565b925060208401356001600160401b03811115611aec57600080fd5b60008083601f840112611e5f57600080fd5b5081356001600160401b03811115611e7657600080fd5b6020830191508360208260051b850101111561198f57600080fd5b60008060008060408587031215611ea757600080fd5b84356001600160401b0380821115611ebe57600080fd5b611eca88838901611e4d565b90965094506020870135915080821115611ee357600080fd5b50611ef08782880161194e565b95989497509550505050565b60008060408385031215611f0f57600080fd5b61191683611bc3565b600060208284031215611f2a57600080fd5b610793826118dd565b60008060208385031215611f4657600080fd5b82356001600160401b03811115611f5c57600080fd5b6119cb85828601611e4d565b602080825282518282018190526000919060409081850190868401855b82811015611fbb578151805165ffffffffffff1916855286015165ffffffffffff16868501529284019290850190600101611f85565b5091979650505050505050565b600060208284031215611fda57600080fd5b61079382611b1e565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561201c5761201c611ff3565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561204b5761204b611ff3565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006bffffffffffffffffffffffff19808960601b16835265ffffffffffff60d01b808960d01b166014850152808860d01b16601a850152506020808401875182890160005b8281101561214e578151861684529284019290840190600101612130565b5050508587823760009501948552509298975050505050505050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600065ffffffffffff808316818114156121d4576121d4611ff3565b6001019392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006060820165ffffffffffff871683526020606081850152818751808452608086019150828901935060005b8181101561225a5784516001600160601b03191683529383019391830191600101612234565b5050848103604086015261226f8187896121de565b9998505050505050505050565b65ffffffffffff8616815260606020808301829052908201859052600090869060808401835b888110156122cf576001600160601b03196122bc856118dd565b16825292820192908201906001016122a2565b5084810360408601526122e38187896121de565b9a9950505050505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123298160178501602088016119d7565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161235a8160288401602088016119d7565b01602801949350505050565b600081600019048311821515161561238057612380611ff3565b500290565b60008161239457612394611ff3565b506000190190565b600082516123ae8184602087016119d7565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c7d9f91727ee927a1f93ce8468b127418175733f9ac46a8f538fa191172385bf64736f6c634300080c0033"; export class BlockChatUpgradeable2__factory extends ContractFactory { constructor(signer?: Signer) { super(_abi, _bytecode, signer); } deploy( overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy(overrides || {}) as Promise; } getDeployTransaction( overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(overrides || {}); } attach(address: string): BlockChatUpgradeable2 { return super.attach(address) as BlockChatUpgradeable2; } connect(signer: Signer): BlockChatUpgradeable2__factory { return super.connect(signer) as BlockChatUpgradeable2__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): BlockChatUpgradeable2Interface { return new utils.Interface(_abi) as BlockChatUpgradeable2Interface; } static connect( address: string, signerOrProvider: Signer | Provider ): BlockChatUpgradeable2 { return new Contract( address, _abi, signerOrProvider ) as BlockChatUpgradeable2; } }