/* 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 { BlockChatUpgradeable4, BlockChatUpgradeable4Interface, } from "../BlockChatUpgradeable4"; 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: "bytes32", name: "dataHash", type: "bytes32", }, { indexed: false, internalType: "string", name: "content", type: "string", }, ], name: "DataUploaded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: true, internalType: "bytes20", name: "recipientHash", type: "bytes20", }, { indexed: false, internalType: "uint48", name: "createDate", type: "uint48", }, { 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: "bytes20", name: "recipientHash", type: "bytes20", }, { internalType: "uint256", name: "start", type: "uint256", }, { internalType: "uint256", name: "length", type: "uint256", }, ], name: "batchRecipientMessageBlock", outputs: [ { internalType: "uint48[]", name: "", type: "uint48[]", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "blockSkip", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes20", name: "recipientHash", type: "bytes20", }, { internalType: "string", name: "content", type: "string", }, ], name: "createMessage", outputs: [], 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: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "dataBlockMap", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name", type: "string", }, ], name: "getNameHash", outputs: [ { internalType: "bytes12", name: "", type: "bytes12", }, ], 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: "getRecipientMessageBlockListLength", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], 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: [ { internalType: "bytes20", name: "", type: "bytes20", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "recipientMessageBlockListMap", 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: "uint256", name: "newBlockSkip", type: "uint256", }, ], name: "setBlockSkip", 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: "bytes12", name: "nameHash", type: "bytes12", }, { internalType: "string", name: "content", type: "string", }, ], name: "uploadData", outputs: [], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60a06040523060805234801561001457600080fd5b50600054610100900460ff168061002e575060005460ff16155b6100955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100b7576000805461ffff19166101011790555b80156100c9576000805461ff00191690555b50608051611c456100fa600039600081816106e801528181610728015281816107b101526107f10152611c456000f3fe6080604052600436106101355760003560e01c80636ea1a6ab116100ab5780638129fc1c1161006f5780638129fc1c146103d95780638b995039146103ee5780638cc4e65f1461040e57806391d148541461043b578063a217fddf1461045b578063d547741f1461047057600080fd5b80636ea1a6ab146102fa578063742bbd3e1461031a57806375bf7a031461035357806378e2a033146103695780637d7c3079146103a057600080fd5b80632f2ff15d116100fd5780632f2ff15d1461022357806336568abe146102435780633659cfe6146102635780634f1ef2861461028357806360ba450a14610296578063638633f0146102c357600080fd5b806301ffc9a71461013a57806306bfcec61461016f5780631d643d22146101a35780631f3d808e146101c5578063248a9ca3146101e5575b600080fd5b34801561014657600080fd5b5061015a61015536600461148f565b610490565b60405190151581526020015b60405180910390f35b34801561017b57600080fd5b506040805180820182526005815264302e342e3160d81b6020820152905161016691906114e9565b3480156101af57600080fd5b506101c36101be366004611582565b6104c7565b005b3480156101d157600080fd5b506101c36101e0366004611603565b61059b565b3480156101f157600080fd5b50610215610200366004611665565b60009081526065602052604090206001015490565b604051908152602001610166565b34801561022f57600080fd5b506101c361023e366004611695565b610634565b34801561024f57600080fd5b506101c361025e366004611695565b61065f565b34801561026f57600080fd5b506101c361027e3660046116c1565b6106dd565b6101c36102913660046116f2565b6107a6565b3480156102a257600080fd5b506102156102b1366004611665565b60fc6020526000908152604090205481565b3480156102cf57600080fd5b506102156102de3660046117b4565b6001600160601b031916600090815260fb602052604090205490565b34801561030657600080fd5b506101c3610315366004611665565b61085c565b34801561032657600080fd5b5061033a6103353660046117cf565b610888565b6040516001600160a01b03199091168152602001610166565b34801561035f57600080fd5b5061021560fd5481565b34801561037557600080fd5b50610389610384366004611811565b6108bb565b60405165ffffffffffff9091168152602001610166565b3480156103ac57600080fd5b506103c06103bb3660046117cf565b610906565b6040516001600160601b03199091168152602001610166565b3480156103e557600080fd5b506101c361093d565b3480156103fa57600080fd5b506101c361040936600461183b565b6109c8565b34801561041a57600080fd5b5061042e610429366004611859565b610b5e565b604051610166919061188c565b34801561044757600080fd5b5061015a610456366004611695565b610c53565b34801561046757600080fd5b50610215600081565b34801561047c57600080fd5b506101c361048b366004611695565b610c7e565b60006001600160e01b03198216637965db0b60e01b14806104c157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008560601c6001600160a01b031683836040516104e69291906118d8565b6000604051808303816000865af19150503d8060008114610523576040519150601f19603f3d011682016040523d82523d6000602084013e610528565b606091505b50509050806105885760405162461bcd60e51b815260206004820152602160248201527f426c6f636b436861745570677261646561626c65323a2063616c6c206572726f6044820152603960f91b60648201526084015b60405180910390fd5b6105938686866109c8565b505050505050565b604080516001600160601b03193360601b1660208201526001600160a01b031985166034820152600091016040516020818303038152906040526105de906118e8565b600081815260fc6020526040908190204390555190915081907f49c90b3999c4835facc88391d87593faa6306fe2e94bb3cb5d2e9dbb7d754698906106269086908690611938565b60405180910390a250505050565b6000828152606560205260409020600101546106508133610ca4565b61065a8383610d08565b505050565b6001600160a01b03811633146106cf5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161057f565b6106d98282610d8e565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107265760405162461bcd60e51b815260040161057f90611954565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610758610df5565b6001600160a01b03161461077e5760405162461bcd60e51b815260040161057f906119a0565b61078781610e23565b604080516000808252602082019092526107a391839190610e4a565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ef5760405162461bcd60e51b815260040161057f90611954565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610821610df5565b6001600160a01b0316146108475760405162461bcd60e51b815260040161057f906119a0565b61085082610e23565b6106d982826001610e4a565b610867600033610c53565b6108835760405162461bcd60e51b815260040161057f906119ec565b60fd55565b6000828260405160200161089d9291906118d8565b60405160208183030381529060405280519060200120905092915050565b60fb60205281600052604060002081815481106108d757600080fd5b9060005260206000209060059182820401919006600602915091509054906101000a900465ffffffffffff1681565b6000828260405160200161091b9291906118d8565b60408051601f19818403018152919052805160209091012060601b9392505050565b600054610100900460ff1680610956575060005460ff16155b6109725760405162461bcd60e51b815260040161057f90611a3b565b600054610100900460ff16158015610994576000805461ffff19166101011790555b61099c610f95565b6109a4611018565b6109af600033611076565b603260fd5580156107a3576000805461ff001916905550565b6001600160601b03198316600090815260fb6020908152604080832080548251818502810185019093528083529192909190830182828015610a5957602002820191906000526020600020906000905b82829054906101000a900465ffffffffffff1665ffffffffffff1681526020019060060190602082600501049283019260010382029150808411610a185790505b50505050509050805160001480610aaa575060fd548160018351610a7d9190611a9f565b81518110610a8d57610a8d611ab6565b602002602001015165ffffffffffff1643610aa89190611a9f565b115b15610b03576001600160601b03198416600090815260fb6020908152604082208054600181018255908352912060058083049091018054919092066006026101000a65ffffffffffff8181021990921643909216021790555b836bffffffffffffffffffffffff1916336001600160a01b03167f04645d1912a047d447f2f3fdbaefa7186c6d734f33ab33159768289870499423428686604051610b5093929190611acc565b60405180910390a350505050565b606060008267ffffffffffffffff811115610b7b57610b7b6116dc565b604051908082528060200260200182016040528015610ba4578160200160208202803683370190505b50905060005b83811015610c48576001600160601b03198616600090815260fb60205260409020610bd58287611aee565b81548110610be557610be5611ab6565b90600052602060002090600591828204019190066006029054906101000a900465ffffffffffff16828281518110610c1f57610c1f611ab6565b65ffffffffffff9092166020928302919091019091015280610c4081611b06565b915050610baa565b5090505b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600082815260656020526040902060010154610c9a8133610ca4565b61065a8383610d8e565b610cae8282610c53565b6106d957610cc6816001600160a01b03166014611080565b610cd1836020611080565b604051602001610ce2929190611b21565b60408051601f198184030181529082905262461bcd60e51b825261057f916004016114e9565b610d128282610c53565b6106d95760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610d4a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610d988282610c53565b156106d95760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610e2e600033610c53565b6107a35760405162461bcd60e51b815260040161057f906119ec565b6000610e54610df5565b9050610e5f8461121c565b600083511180610e6c5750815b15610e7d57610e7b84846112c1565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610f8e57805460ff191660011781556040516001600160a01b0383166024820152610efc90869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526112c1565b50805460ff19168155610f0d610df5565b6001600160a01b0316826001600160a01b031614610f855760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b606482015260840161057f565b610f8e856113ac565b5050505050565b600054610100900460ff1680610fae575060005460ff16155b610fca5760405162461bcd60e51b815260040161057f90611a3b565b600054610100900460ff16158015610fec576000805461ffff19166101011790555b610ff46113ec565b610ffc6113ec565b6110046113ec565b80156107a3576000805461ff001916905550565b600054610100900460ff1680611031575060005460ff16155b61104d5760405162461bcd60e51b815260040161057f90611a3b565b600054610100900460ff16158015610ff4576000805461ffff1916610101179055610ffc6113ec565b6106d98282610d08565b6060600061108f836002611b96565b61109a906002611aee565b67ffffffffffffffff8111156110b2576110b26116dc565b6040519080825280601f01601f1916602001820160405280156110dc576020820181803683370190505b509050600360fc1b816000815181106110f7576110f7611ab6565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061112657611126611ab6565b60200101906001600160f81b031916908160001a905350600061114a846002611b96565b611155906001611aee565b90505b60018111156111cd576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061118957611189611ab6565b1a60f81b82828151811061119f5761119f611ab6565b60200101906001600160f81b031916908160001a90535060049490941c936111c681611bb5565b9050611158565b508315610c4c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161057f565b803b6112805760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161057f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6113205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161057f565b600080846001600160a01b03168460405161133b9190611bcc565b600060405180830381855af49150503d8060008114611376576040519150601f19603f3d011682016040523d82523d6000602084013e61137b565b606091505b50915091506113a38282604051806060016040528060278152602001611be960279139611456565b95945050505050565b6113b58161121c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680611405575060005460ff16155b6114215760405162461bcd60e51b815260040161057f90611a3b565b600054610100900460ff16158015611004576000805461ffff191661010117905580156107a3576000805461ff001916905550565b60608315611465575081610c4c565b8251156114755782518084602001fd5b8160405162461bcd60e51b815260040161057f91906114e9565b6000602082840312156114a157600080fd5b81356001600160e01b031981168114610c4c57600080fd5b60005b838110156114d45781810151838201526020016114bc565b838111156114e3576000848401525b50505050565b60208152600082518060208401526115088160408501602087016114b9565b601f01601f19169190910160400192915050565b80356001600160601b03198116811461153457600080fd5b919050565b60008083601f84011261154b57600080fd5b50813567ffffffffffffffff81111561156357600080fd5b60208301915083602082850101111561157b57600080fd5b9250929050565b60008060008060006060868803121561159a57600080fd5b6115a38661151c565b9450602086013567ffffffffffffffff808211156115c057600080fd5b6115cc89838a01611539565b909650945060408801359150808211156115e557600080fd5b506115f288828901611539565b969995985093965092949392505050565b60008060006040848603121561161857600080fd5b83356001600160a01b03198116811461163057600080fd5b9250602084013567ffffffffffffffff81111561164c57600080fd5b61165886828701611539565b9497909650939450505050565b60006020828403121561167757600080fd5b5035919050565b80356001600160a01b038116811461153457600080fd5b600080604083850312156116a857600080fd5b823591506116b86020840161167e565b90509250929050565b6000602082840312156116d357600080fd5b610c4c8261167e565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561170557600080fd5b61170e8361167e565b9150602083013567ffffffffffffffff8082111561172b57600080fd5b818501915085601f83011261173f57600080fd5b813581811115611751576117516116dc565b604051601f8201601f19908116603f01168101908382118183101715611779576117796116dc565b8160405282815288602084870101111561179257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156117c657600080fd5b610c4c8261151c565b600080602083850312156117e257600080fd5b823567ffffffffffffffff8111156117f957600080fd5b61180585828601611539565b90969095509350505050565b6000806040838503121561182457600080fd5b61182d8361151c565b946020939093013593505050565b60008060006040848603121561185057600080fd5b6116308461151c565b60008060006060848603121561186e57600080fd5b6118778461151c565b95602085013595506040909401359392505050565b6020808252825182820181905260009190848201906040850190845b818110156118cc57835165ffffffffffff16835292840192918401916001016118a8565b50909695505050505050565b8183823760009101908152919050565b80516020808301519190811015611909576000198160200360031b1b821691505b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061194c60208301848661190f565b949350505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602f908201527f426c6f636b436861745570677261646561626c65323a2072657175697265206160408201526e3236b4b7103832b936b4b9b9b4b7b760891b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082821015611ab157611ab1611a89565b500390565b634e487b7160e01b600052603260045260246000fd5b65ffffffffffff841681526040602082015260006113a360408301848661190f565b60008219821115611b0157611b01611a89565b500190565b6000600019821415611b1a57611b1a611a89565b5060010190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611b598160178501602088016114b9565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611b8a8160288401602088016114b9565b01602801949350505050565b6000816000190483118215151615611bb057611bb0611a89565b500290565b600081611bc457611bc4611a89565b506000190190565b60008251611bde8184602087016114b9565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209e99c4143eac887446358a980404d6a535deae5875e7c63eafc091c1eac1387f64736f6c634300080c0033"; export class BlockChatUpgradeable4__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): BlockChatUpgradeable4 { return super.attach(address) as BlockChatUpgradeable4; } connect(signer: Signer): BlockChatUpgradeable4__factory { return super.connect(signer) as BlockChatUpgradeable4__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): BlockChatUpgradeable4Interface { return new utils.Interface(_abi) as BlockChatUpgradeable4Interface; } static connect( address: string, signerOrProvider: Signer | Provider ): BlockChatUpgradeable4 { return new Contract( address, _abi, signerOrProvider ) as BlockChatUpgradeable4; } }