/* 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 { BlockChatUpgradeable3, BlockChatUpgradeable3Interface, } from "../BlockChatUpgradeable3"; 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: false, internalType: "string", name: "content", type: "string", }, ], name: "DataUploaded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "uint48", name: "createDate", type: "uint48", }, { indexed: true, internalType: "bytes20", name: "recipientHash", type: "bytes20", }, { indexed: false, internalType: "string", name: "content", type: "string", }, ], name: "MessageCreated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "uint48", name: "createDate", type: "uint48", }, { indexed: false, internalType: "bytes20[]", name: "recipientHashList", type: "bytes20[]", }, { indexed: false, internalType: "string", name: "content", type: "string", }, ], name: "MessageCreatedToList", 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: "string", name: "content", type: "string", }, ], name: "createMessage", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes20[]", name: "recipientHashList", type: "bytes20[]", }, { internalType: "string", name: "content", type: "string", }, ], name: "createMessageToList", 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: "string", name: "name", type: "string", }, ], name: "getDataHash", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], 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: "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: "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: [], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60a06040523060805234801561001457600080fd5b50600054610100900460ff168061002e575060005460ff16155b6100955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100b7576000805461ffff19166101011790555b80156100c9576000805461ff00191690555b506080516118406100fa6000396000818161059d015281816105dd0152818161066601526106a601526118406000f3fe6080604052600436106100fe5760003560e01c80633659cfe6116100955780638b995039116100645780638b995039146102cd57806391d14854146102ed578063a0cb2f441461030d578063a217fddf1461032d578063d547741f1461034257600080fd5b80633659cfe61461024c5780634f1ef2861461026c5780637d7c30791461027f5780638129fc1c146102b857600080fd5b806323385b66116100d157806323385b66146101bc578063248a9ca3146101dc5780632f2ff15d1461020c57806336568abe1461022c57600080fd5b806301ffc9a714610103578063048fb8621461013857806306bfcec6146101665780631d643d221461019a575b600080fd5b34801561010f57600080fd5b5061012361011e3660046110e1565b610362565b60405190151581526020015b60405180910390f35b34801561014457600080fd5b50610158610153366004611154565b610399565b60405190815260200161012f565b34801561017257600080fd5b5060408051808201825260058152640302e332e360dc1b6020820152905161012f91906111c6565b3480156101a657600080fd5b506101ba6101b5366004611216565b6103cc565b005b3480156101c857600080fd5b506101ba6101d7366004611297565b6104a0565b3480156101e857600080fd5b506101586101f73660046112e3565b60009081526065602052604090206001015490565b34801561021857600080fd5b506101ba610227366004611313565b6104e9565b34801561023857600080fd5b506101ba610247366004611313565b610514565b34801561025857600080fd5b506101ba61026736600461133f565b610592565b6101ba61027a366004611370565b61065b565b34801561028b57600080fd5b5061029f61029a366004611154565b610711565b6040516001600160601b0319909116815260200161012f565b3480156102c457600080fd5b506101ba610748565b3480156102d957600080fd5b506101ba6102e8366004611432565b6107ce565b3480156102f957600080fd5b50610123610308366004611313565b61081b565b34801561031957600080fd5b506101ba61032836600461146c565b610846565b34801561033957600080fd5b50610158600081565b34801561034e57600080fd5b506101ba61035d366004611313565b610895565b60006001600160e01b03198216637965db0b60e01b148061039357506301ffc9a760e01b6001600160e01b03198316145b92915050565b600082826040516020016103ae929190611506565b60405160208183030381529060405280519060200120905092915050565b60008560601c6001600160a01b031683836040516103eb929190611506565b6000604051808303816000865af19150503d8060008114610428576040519150601f19603f3d011682016040523d82523d6000602084013e61042d565b606091505b505090508061048d5760405162461bcd60e51b815260206004820152602160248201527f426c6f636b436861745570677261646561626c65323a2063616c6c206572726f6044820152603960f91b60648201526084015b60405180910390fd5b6104988686866107ce565b505050505050565b82336001600160a01b03167f7336136b437173458f840c243884ab1f4cebc69db04107f1e1f0e260c1dd30a584846040516104dc92919061153f565b60405180910390a3505050565b60008281526065602052604090206001015461050581336108bb565b61050f838361091f565b505050565b6001600160a01b03811633146105845760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610484565b61058e82826109a5565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105db5760405162461bcd60e51b81526004016104849061155b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661060d610a0c565b6001600160a01b0316146106335760405162461bcd60e51b8152600401610484906115a7565b61063c81610a3a565b6040805160008082526020820190925261065891839190610aa9565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106a45760405162461bcd60e51b81526004016104849061155b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106d6610a0c565b6001600160a01b0316146106fc5760405162461bcd60e51b8152600401610484906115a7565b61070582610a3a565b61058e82826001610aa9565b60008282604051602001610726929190611506565b60408051601f19818403018152919052805160209091012060601b9392505050565b600054610100900460ff1680610761575060005460ff16155b61077d5760405162461bcd60e51b8152600401610484906115f3565b600054610100900460ff1615801561079f576000805461ffff19166101011790555b6107a7610bf4565b6107af610c63565b6107ba600033610cc1565b8015610658576000805461ff001916905550565b826bffffffffffffffffffffffff1916336001600160a01b03167f6bb5b8667531ed182295565a933c192b8baa7d218682cce1286cc55e66a5533e4285856040516104dc93929190611641565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b336001600160a01b03167f153bc774d0bf12e9573c095aad8501cd0ed34faf2e9ca36ed4f5c7147ac5e8a74286868686604051610887959493929190611663565b60405180910390a250505050565b6000828152606560205260409020600101546108b181336108bb565b61050f83836109a5565b6108c5828261081b565b61058e576108dd816001600160a01b03166014610ccb565b6108e8836020610ccb565b6040516020016108f99291906116d8565b60408051601f198184030181529082905262461bcd60e51b8252610484916004016111c6565b610929828261081b565b61058e5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556109613390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6109af828261081b565b1561058e5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610a4560003361081b565b6106585760405162461bcd60e51b815260206004820152602f60248201527f426c6f636b436861745570677261646561626c65333a2072657175697265206160448201526e3236b4b7103832b936b4b9b9b4b7b760891b6064820152608401610484565b6000610ab3610a0c565b9050610abe84610e6e565b600083511180610acb5750815b15610adc57610ada8484610f13565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610bed57805460ff191660011781556040516001600160a01b0383166024820152610b5b90869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052610f13565b50805460ff19168155610b6c610a0c565b6001600160a01b0316826001600160a01b031614610be45760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610484565b610bed85610ffe565b5050505050565b600054610100900460ff1680610c0d575060005460ff16155b610c295760405162461bcd60e51b8152600401610484906115f3565b600054610100900460ff16158015610c4b576000805461ffff19166101011790555b610c5361103e565b610c5b61103e565b6107ba61103e565b600054610100900460ff1680610c7c575060005460ff16155b610c985760405162461bcd60e51b8152600401610484906115f3565b600054610100900460ff16158015610c53576000805461ffff1916610101179055610c5b61103e565b61058e828261091f565b60606000610cda836002611763565b610ce5906002611782565b67ffffffffffffffff811115610cfd57610cfd61135a565b6040519080825280601f01601f191660200182016040528015610d27576020820181803683370190505b509050600360fc1b81600081518110610d4257610d4261179a565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610d7157610d7161179a565b60200101906001600160f81b031916908160001a9053506000610d95846002611763565b610da0906001611782565b90505b6001811115610e18576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610dd457610dd461179a565b1a60f81b828281518110610dea57610dea61179a565b60200101906001600160f81b031916908160001a90535060049490941c93610e11816117b0565b9050610da3565b508315610e675760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610484565b9392505050565b803b610ed25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610484565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b610f725760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610484565b600080846001600160a01b031684604051610f8d91906117c7565b600060405180830381855af49150503d8060008114610fc8576040519150601f19603f3d011682016040523d82523d6000602084013e610fcd565b606091505b5091509150610ff582826040518060600160405280602781526020016117e4602791396110a8565b95945050505050565b61100781610e6e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff1680611057575060005460ff16155b6110735760405162461bcd60e51b8152600401610484906115f3565b600054610100900460ff161580156107ba576000805461ffff19166101011790558015610658576000805461ff001916905550565b606083156110b7575081610e67565b8251156110c75782518084602001fd5b8160405162461bcd60e51b815260040161048491906111c6565b6000602082840312156110f357600080fd5b81356001600160e01b031981168114610e6757600080fd5b60008083601f84011261111d57600080fd5b50813567ffffffffffffffff81111561113557600080fd5b60208301915083602082850101111561114d57600080fd5b9250929050565b6000806020838503121561116757600080fd5b823567ffffffffffffffff81111561117e57600080fd5b61118a8582860161110b565b90969095509350505050565b60005b838110156111b1578181015183820152602001611199565b838111156111c0576000848401525b50505050565b60208152600082518060208401526111e5816040850160208701611196565b601f01601f19169190910160400192915050565b80356001600160601b03198116811461121157600080fd5b919050565b60008060008060006060868803121561122e57600080fd5b611237866111f9565b9450602086013567ffffffffffffffff8082111561125457600080fd5b61126089838a0161110b565b9096509450604088013591508082111561127957600080fd5b506112868882890161110b565b969995985093965092949392505050565b6000806000604084860312156112ac57600080fd5b83359250602084013567ffffffffffffffff8111156112ca57600080fd5b6112d68682870161110b565b9497909650939450505050565b6000602082840312156112f557600080fd5b5035919050565b80356001600160a01b038116811461121157600080fd5b6000806040838503121561132657600080fd5b82359150611336602084016112fc565b90509250929050565b60006020828403121561135157600080fd5b610e67826112fc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561138357600080fd5b61138c836112fc565b9150602083013567ffffffffffffffff808211156113a957600080fd5b818501915085601f8301126113bd57600080fd5b8135818111156113cf576113cf61135a565b604051601f8201601f19908116603f011681019083821181831017156113f7576113f761135a565b8160405282815288602084870101111561141057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060006040848603121561144757600080fd5b611450846111f9565b9250602084013567ffffffffffffffff8111156112ca57600080fd5b6000806000806040858703121561148257600080fd5b843567ffffffffffffffff8082111561149a57600080fd5b818701915087601f8301126114ae57600080fd5b8135818111156114bd57600080fd5b8860208260051b85010111156114d257600080fd5b6020928301965094509086013590808211156114ed57600080fd5b506114fa8782880161110b565b95989497509550505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611553602083018486611516565b949350505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b65ffffffffffff84168152604060208201526000610ff5604083018486611516565b65ffffffffffff8616815260606020808301829052908201859052600090869060808401835b888110156116b6576001600160601b03196116a3856111f9565b1682529282019290820190600101611689565b5084810360408601526116ca818789611516565b9a9950505050505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611710816017850160208801611196565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611741816028840160208801611196565b01602801949350505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561177d5761177d61174d565b500290565b600082198211156117955761179561174d565b500190565b634e487b7160e01b600052603260045260246000fd5b6000816117bf576117bf61174d565b506000190190565b600082516117d9818460208701611196565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fe2463bdedfacaa60adddf8937402b1d6d9f66ec0523f5886d1865d12f58246f64736f6c634300080c0033"; export class BlockChatUpgradeable3__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): BlockChatUpgradeable3 { return super.attach(address) as BlockChatUpgradeable3; } connect(signer: Signer): BlockChatUpgradeable3__factory { return super.connect(signer) as BlockChatUpgradeable3__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): BlockChatUpgradeable3Interface { return new utils.Interface(_abi) as BlockChatUpgradeable3Interface; } static connect( address: string, signerOrProvider: Signer | Provider ): BlockChatUpgradeable3 { return new Contract( address, _abi, signerOrProvider ) as BlockChatUpgradeable3; } }