import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { DiscountRegistry, DiscountRegistryInterface } from "../../registry/DiscountRegistry"; type DiscountRegistryConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class DiscountRegistry__factory extends ContractFactory { constructor(...args: DiscountRegistryConstructorParams); getDeployTransaction(registry: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(registry: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): DiscountRegistry__factory; static readonly bytecode = "0x60806040523480156200001157600080fd5b5060405162002d8938038062002d8983398101604081905262000034916200005a565b600080546001600160a01b0319166001600160a01b03929092169190911790556200008c565b6000602082840312156200006d57600080fd5b81516001600160a01b03811681146200008557600080fd5b9392505050565b612ced806200009c6000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c806366352e9f1161010457806393411bb6116100a2578063c77e740011610071578063c77e740014610431578063cd9d0ac714610451578063dab94e2a14610464578063f152fde51461047757600080fd5b806393411bb6146103ef5780639aca06dc14610402578063aecfa8d61461040b578063b9334a1b1461041e57600080fd5b806388173be8116100de57806388173be8146103a35780638cba1aa2146103b657806390c71315146103c957806392c0e853146103dc57600080fd5b806366352e9f146103525780637b103999146103655780637c7d4c961461039057600080fd5b80632e50849b116101715780635165100c1161014b5780635165100c146103065780635cd0b41f146103195780635eb0a5611461032c578063603f9ee31461033f57600080fd5b80632e50849b1461029757806346838f05146102b757806350af863d146102ca57600080fd5b80631ac11a98116101ad5780631ac11a98146102235780631eb3422514610243578063232c795f146102645780632336dbe41461027757600080fd5b8062bf0fca146101d357806301ffc9a7146101e85780630c90e2a414610210575b600080fd5b6101e66101e136600461205e565b61048a565b005b6101fb6101f63660046120d7565b61051b565b60405190151581526020015b60405180910390f35b6101e661021e366004612116565b610546565b610236610231366004612155565b6107b1565b60405161020791906121e6565b610256610251366004612322565b6108f2565b604051908152602001610207565b610256610272366004612356565b61096e565b61028a610285366004612356565b610989565b60405161020791906123dc565b6102aa6102a5366004612356565b610a9a565b60405161020791906123ef565b6101e66102c5366004612433565b610ab4565b6102566102d83660046124c4565b6037602090815260009283526040909220815180830184018051928152908401929093019190912091525481565b6102aa61031436600461250a565b610b14565b6101e66103273660046125ee565b610bbd565b6101fb61033a36600461261e565b610c15565b6101e661034d3660046125ee565b610c49565b6101e6610360366004612656565b610ca6565b600054610378906001600160a01b031681565b6040516001600160a01b039091168152602001610207565b61025661039e366004612433565b610da4565b6101fb6103b1366004612433565b610ddb565b6101e66103c43660046126a1565b610dfa565b6102aa6103d73660046126f9565b610e8d565b6101e66103ea36600461271e565b610ebb565b6101e66103fd366004612799565b610f1d565b61025660385481565b6102aa610419366004612356565b61104c565b6101e661042c366004612433565b611066565b61044461043f366004612155565b611099565b60405161020791906127d3565b6101e661045f36600461205e565b61123e565b61025661047236600461282a565b611279565b61025661048536600461286e565b6112a4565b846104948161130e565b836104db5760405162461bcd60e51b8152602060048201526012602482015271139bc81c185cdcd95cc81c1c9bdd9a59195960721b60448201526064015b60405180910390fd5b60005b848110156105125761050a878787848181106104fc576104fc6128d0565b905060200201358686611366565b6001016104de565b50505050505050565b60006001600160e01b03198216633bbace6160e21b1480610540575061054082611486565b92915050565b60006034600083815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201805461058b906128e6565b80601f01602080910402602001604051908101604052809291908181526020018280546105b7906128e6565b80156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b50505091835250506003820154602080830191909152600483015460408301526005830154606083015260069092015460ff8082161515608084015261010090910416151560a090910152810151909150851461067e576040516392963bcf60e01b815260048101869052602481018390526044016104d2565b8060c001516106a357604051634cc5c5bd60e01b8152600481018390526024016104d2565b8060e0015180156106dd575060008581526033602090815260408083206001600160a01b038716845290915290206106db90836114bc565b155b80156106f057506106ee85846114d4565b155b156107205760405163794c9eb960e01b8152600481018390526001600160a01b03841660248201526044016104d2565b60008160a0015111801561073c57508060a00151816080015110155b1561076a5760a08101516040516366f7916360e01b81526104d2918491600401918252602082015260400190565b600084815260366020526040902061078290836114bc565b156107aa57604051634b5c6f6d60e11b815260048101839052602481018590526044016104d2565b5050505050565b60606000826001600160401b038111156107cd576107cd61224a565b60405190808252806020026020018201604052801561080057816020015b60608152602001906001900390816107eb5790505b50905060005b838110156108ea5760346000868684818110610824576108246128d0565b9050602002013581526020019081526020016000206002018054610847906128e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610873906128e6565b80156108c05780601f10610895576101008083540402835291602001916108c0565b820191906000526020600020905b8154815290600101906020018083116108a357829003601f168201915b50505050508282815181106108d7576108d76128d0565b6020908102919091010152600101610806565b509392505050565b600080805b835181101561096757610922848281518110610915576109156128d0565b60200260200101516115ce565b60346000858381518110610938576109386128d0565b60200260200101518152602001908152602001600020600301548261095d9190612936565b91506001016108f7565b5092915050565b60008181526036602052604081206105409061025190611602565b610991611fca565b603460008381526020019081526020016000206040518061010001604052908160008201548152602001600182015481526020016002820180546109d4906128e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a00906128e6565b8015610a4d5780601f10610a2257610100808354040283529160200191610a4d565b820191906000526020600020905b815481529060010190602001808311610a3057829003601f168201915b505050918352505060038201546020820152600482015460408201526005820154606082015260069091015460ff8082161515608084015261010090910416151560a09091015292915050565b600081815260366020526040902060609061054090611602565b600082815260346020526040902060010154610acf8161130e565b6000838152603460205260409020610ae7908361160f565b6000838152603460205260408082206001015490518592600080516020612c9883398151915291a3505050565b6060600082516001600160401b03811115610b3157610b3161224a565b604051908082528060200260200182016040528015610b5a578160200160208202803683370190505b50905060005b8351811015610bb357610b8e878787878581518110610b8157610b816128d0565b60200260200101516112a4565b828281518110610ba057610ba06128d0565b6020908102919091010152600101610b60565b5095945050505050565b600082815260346020526040902060010154610bd88161130e565b60008381526034602052604080822060068101805460ff19168615151790556001015490518592600080516020612c9883398151915291a3505050565b60008381526033602090815260408083206001600160a01b03861684529091528120610c4190836114bc565b949350505050565b600082815260346020526040902060010154610c648161130e565b60008381526034602052604080822060068101805461ff001916610100871515021790556001015490518592600080516020612c9883398151915291a3505050565b82610cb081611668565b6000546040805163eebc3a6960e01b81529051610d9e926001600160a01b03169163eebc3a699160048083019260209291908290030181865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f9190612949565b6001600160a01b03166382f205dd866040518263ffffffff1660e01b8152600401610d4c91815260200190565b602060405180830381865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8d9190612966565b85610d97876116c9565b86866117af565b50505050565b60008281526036602052604081208190610dbd90611602565b90508051600003610dd15782915050610540565b610c418184611279565b6000828152603660205260408120610df390836114bc565b9392505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635cbf60cc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6f9190612949565b610e7881611946565b610e8586868686866117af565b505050505050565b60008281526033602090815260408083206001600160a01b03851684529091529020606090610df390611602565b600083815260346020526040902060010154610ed68161130e565b6000848152603460205260409020610eef908484611996565b6000848152603460205260408082206001015490518692600080516020612c9883398151915291a350505050565b8035610f288161130e565b60388054906000610f388361297f565b9091555050603854600081815260346020908152604090912091825583356001830155610f72908290610f6d90860186612998565b611996565b610f80818460400135611b35565b610f8e81846060013561160f565b610f9e60a08401608085016129de565b60068201805460ff1916911515919091179055610fc160c0840160a085016129de565b6006820180549115156101000261ff001990921691909117905560385483356000908152603560205260409020610ff791611b85565b5060385483357f5d815db4d6517de2700c50d01348422c2f90e8ba1402450458c5f9556056c73761102b6020870187612998565b876040013560405161103f939291906129fb565b60405180910390a3505050565b600081815260356020526040902060609061054090611602565b6000828152603460205260409020600101546110818161130e565b6000838152603460205260409020610ae79083611b35565b60606000826001600160401b038111156110b5576110b561224a565b6040519080825280602002602001820160405280156110ee57816020015b6110db611fca565b8152602001906001900390816110d35790505b50905060005b838110156108ea5760346000868684818110611112576111126128d0565b905060200201358152602001908152602001600020604051806101000160405290816000820154815260200160018201548152602001600282018054611157906128e6565b80601f0160208091040260200160405190810160405280929190818152602001828054611183906128e6565b80156111d05780601f106111a5576101008083540402835291602001916111d0565b820191906000526020600020905b8154815290600101906020018083116111b357829003601f168201915b505050918352505060038201546020820152600482015460408201526005820154606082015260069091015460ff8082161515608084015261010090910416151560a090910152825183908390811061122b5761122b6128d0565b60209081029190910101526001016110f4565b6000858152603460205260409020600101546112598161130e565b600086815260346020526040902060010154610e85908787878787611b91565b600080611285846108f2565b9050612710811061129a576000915050610540565b610c418184611d46565b60008481526037602052604080822090518291906112c3908590612a34565b9081526020016040518091039020549050806000036112f95785836040516302143c8b60e61b81526004016104d2929190612a50565b61130586868684610546565b95945050505050565b61131781611d69565b6113635760405162461bcd60e51b815260206004820181905260248201527f4e6f7420616e2061646d696e206f6620746865206f7267616e697a6174696f6e60448201526064016104d2565b50565b60008060009054906101000a90046001600160a01b03166001600160a01b031663eebc3a696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113de9190612949565b6001600160a01b03166382f205dd856040518263ffffffff1660e01b815260040161140b91815260200190565b602060405180830381865afa158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c9190612966565b90508481146114785760405163e947995960e01b815260048101869052602481018590526044016104d2565b6107aa8585610d97876116c9565b60006001600160e01b031982166301ffc9a760e01b148061054057506001600160e01b0319821663339ded9d60e21b1492915050565b60008181526001830160205260408120541515610df3565b60006114e08383611d75565b80610df3575060008054906101000a90046001600160a01b03166001600160a01b031663595439736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190612949565b60405163146a291160e01b8152600481018590526001600160a01b038481166024830152919091169063146a291190604401602060405180830381865afa1580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190612a69565b6000818152603460205260408120600101549003611363576040516329d2590360e01b8152600481018290526024016104d2565b60606000610df383611d9b565b801580611620575081600401548110155b6116605760405162461bcd60e51b815260206004820152601160248201527013585e081b5a5b9d1cc81c995858da1959607a1b60448201526064016104d2565b600590910155565b61167181611df7565b6113635760405162461bcd60e51b815260206004820152602360248201527f4e6f7420746865206f776e6572206f66207468652050726f647563745061737360448201526213919560ea1b60648201526084016104d2565b60008060009054906101000a90046001600160a01b03166001600160a01b031663758d59316040518163ffffffff1660e01b8152600401602060405180830381865afa15801561171d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117419190612949565b6001600160a01b0316636352211e836040518263ffffffff1660e01b815260040161176e91815260200190565b602060405180830381865afa15801561178b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105409190612949565b806117f35760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420646973636f756e742069647360601b60448201526064016104d2565b60005b81811015610e8557611822868686868686818110611816576118166128d0565b90506020020135610546565b60346000848484818110611838576118386128d0565b90506020020135815260200190815260200160002060040160008154809291906118619061297f565b919050555061189883838381811061187b5761187b6128d0565b600089815260366020908152604090912093910201359050611b85565b506118dc8383838181106118ae576118ae6128d0565b60008a81526033602090815260408083206001600160a01b038c168452825290912093910201359050611e13565b508282828181106118ef576118ef6128d0565b9050602002013585877f295cd791170de6328f709bf373f3b2c30845ef08183ebe24ec26485d024319708760405161193691906001600160a01b0391909116815260200190565b60405180910390a46001016117f6565b336001600160a01b038216146113635760405162461bcd60e51b815260206004820152601560248201527410d85b1b195c881b9bdd08185d5d1a1bdc9a5e9959605a1b60448201526064016104d2565b806119da5760405162461bcd60e51b81526020600482015260146024820152734e616d652063616e6e6f7420626520656d70747960601b60448201526064016104d2565b6020811115611a3c5760405162461bcd60e51b815260206004820152602860248201527f4e616d652063616e6e6f74206265206c6f6e676572207468616e203332206368604482015267617261637465727360c01b60648201526084016104d2565b6001830154600090815260376020526040908190209051611a609084908490612a86565b908152602001604051809103902054600014611ab25760405162461bcd60e51b815260206004820152601160248201527013985b5948185b1c9958591e481d5cd959607a1b60448201526064016104d2565b6001830154600090815260376020526040908190209051611ad7906002860190612a96565b9081526040519081900360200190206000905560028301611af9828483612b59565b5082546001840154600090815260376020526040908190209051611b209085908590612a86565b90815260405190819003602001902055505050565b611b3e81611e1f565b611b7d5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908191a5cd8dbdd5b9d60821b60448201526064016104d2565b600390910155565b6000610df38383611e34565b821580611b9e5750828114155b15611bbc5760405163d1798c5760e01b815260040160405180910390fd5b60005b8381101561051257828282818110611bd957611bd96128d0565b9050602002016020810190611bee91906129de565b15611c54576000878152603360205260408120611c4e91889190888886818110611c1a57611c1a6128d0565b9050602002016020810190611c2f9190612c18565b6001600160a01b03168152602081019190915260400160002090611b85565b50611cb1565b6000878152603360205260408120611caf91889190888886818110611c7b57611c7b6128d0565b9050602002016020810190611c909190612c18565b6001600160a01b03168152602081019190915260400160002090611e13565b505b848482818110611cc357611cc36128d0565b9050602002016020810190611cd89190612c18565b6001600160a01b031686887f92403cd89759d6cf86e4d0f2a46ca24388ac3bddeb721bfc43bf01c256b7d79f868686818110611d1657611d166128d0565b9050602002016020810190611d2b91906129de565b604051901515815260200160405180910390a4600101611bbf565b6000612710611d558484612c35565b611d5f9190612c4c565b610df39083612c6e565b600061054082336114d4565b6000816001600160a01b0316611d8a84611e83565b6001600160a01b0316149392505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611deb57602002820191906000526020600020905b815481526020019060010190808311611dd7575b50505050509050919050565b600033611e03836116c9565b6001600160a01b03161492915050565b6000610df38383611ed7565b60008082118015610540575050612710101590565b6000818152600183016020526040812054611e7b57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610540565b506000610540565b60008060009054906101000a90046001600160a01b03166001600160a01b031663cfd8fe0c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561171d573d6000803e3d6000fd5b60008181526001830160205260408120548015611fc0576000611efb600183612c6e565b8554909150600090611f0f90600190612c6e565b9050808214611f74576000866000018281548110611f2f57611f2f6128d0565b9060005260206000200154905080876000018481548110611f5257611f526128d0565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611f8557611f85612c81565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610540565b6000915050610540565b6040518061010001604052806000815260200160008152602001606081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b60008083601f84011261202557600080fd5b5081356001600160401b0381111561203c57600080fd5b6020830191508360208260051b850101111561205757600080fd5b9250929050565b60008060008060006060868803121561207657600080fd5b8535945060208601356001600160401b038082111561209457600080fd5b6120a089838a01612013565b909650945060408801359150808211156120b957600080fd5b506120c688828901612013565b969995985093965092949392505050565b6000602082840312156120e957600080fd5b81356001600160e01b031981168114610df357600080fd5b6001600160a01b038116811461136357600080fd5b6000806000806080858703121561212c57600080fd5b8435935060208501359250604085013561214581612101565b9396929550929360600135925050565b6000806020838503121561216857600080fd5b82356001600160401b0381111561217e57600080fd5b61218a85828601612013565b90969095509350505050565b60005b838110156121b1578181015183820152602001612199565b50506000910152565b600081518084526121d2816020860160208601612196565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561223d57603f1988860301845261222b8583516121ba565b9450928501929085019060010161220f565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156122885761228861224a565b604052919050565b60006001600160401b038211156122a9576122a961224a565b5060051b60200190565b600082601f8301126122c457600080fd5b813560206122d96122d483612290565b612260565b8083825260208201915060208460051b8701019350868411156122fb57600080fd5b602086015b848110156123175780358352918301918301612300565b509695505050505050565b60006020828403121561233457600080fd5b81356001600160401b0381111561234a57600080fd5b610c41848285016122b3565b60006020828403121561236857600080fd5b5035919050565b600061010082518452602083015160208501526040830151816040860152612399828601826121ba565b915050606083015160608501526080830151608085015260a083015160a085015260c0830151151560c085015260e0830151151560e08501528091505092915050565b602081526000610df3602083018461236f565b6020808252825182820181905260009190848201906040850190845b818110156124275783518352928401929184019160010161240b565b50909695505050505050565b6000806040838503121561244657600080fd5b50508035926020909101359150565b600082601f83011261246657600080fd5b81356001600160401b0381111561247f5761247f61224a565b612492601f8201601f1916602001612260565b8181528460208386010111156124a757600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156124d757600080fd5b8235915060208301356001600160401b038111156124f457600080fd5b61250085828601612455565b9150509250929050565b6000806000806080858703121561252057600080fd5b843593506020808601359350604086013561253a81612101565b925060608601356001600160401b038082111561255657600080fd5b818801915088601f83011261256a57600080fd5b81356125786122d482612290565b81815260059190911b8301840190848101908b83111561259757600080fd5b8585015b838110156125cf578035858111156125b35760008081fd5b6125c18e89838a0101612455565b84525091860191860161259b565b50989b979a50959850505050505050565b801515811461136357600080fd5b6000806040838503121561260157600080fd5b823591506020830135612613816125e0565b809150509250929050565b60008060006060848603121561263357600080fd5b83359250602084013561264581612101565b929592945050506040919091013590565b60008060006040848603121561266b57600080fd5b8335925060208401356001600160401b0381111561268857600080fd5b61269486828701612013565b9497909650939450505050565b6000806000806000608086880312156126b957600080fd5b853594506020860135935060408601356126d281612101565b925060608601356001600160401b038111156126ed57600080fd5b6120c688828901612013565b6000806040838503121561270c57600080fd5b82359150602083013561261381612101565b60008060006040848603121561273357600080fd5b8335925060208401356001600160401b038082111561275157600080fd5b818601915086601f83011261276557600080fd5b81358181111561277457600080fd5b87602082850101111561278657600080fd5b6020830194508093505050509250925092565b6000602082840312156127ab57600080fd5b81356001600160401b038111156127c157600080fd5b820160c08185031215610df357600080fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561223d57603f1988860301845261281885835161236f565b945092850192908501906001016127fc565b6000806040838503121561283d57600080fd5b82356001600160401b0381111561285357600080fd5b61285f858286016122b3565b95602094909401359450505050565b6000806000806080858703121561288457600080fd5b8435935060208501359250604085013561289d81612101565b915060608501356001600160401b038111156128b857600080fd5b6128c487828801612455565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b600181811c908216806128fa57607f821691505b60208210810361291a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561054057610540612920565b60006020828403121561295b57600080fd5b8151610df381612101565b60006020828403121561297857600080fd5b5051919050565b60006001820161299157612991612920565b5060010190565b6000808335601e198436030181126129af57600080fd5b8301803591506001600160401b038211156129c957600080fd5b60200191503681900382131561205757600080fd5b6000602082840312156129f057600080fd5b8135610df3816125e0565b604081528260408201528284606083013760006060848301015260006060601f19601f8601168301019050826020830152949350505050565b60008251612a46818460208701612196565b9190910192915050565b828152604060208201526000610c4160408301846121ba565b600060208284031215612a7b57600080fd5b8151610df3816125e0565b8183823760009101908152919050565b6000808354612aa4816128e6565b60018281168015612abc5760018114612ad157612b00565b60ff1984168752821515830287019450612b00565b8760005260208060002060005b85811015612af75781548a820152908401908201612ade565b50505082870194505b50929695505050505050565b601f821115612b54576000816000526020600020601f850160051c81016020861015612b355750805b601f850160051c820191505b81811015610e8557828155600101612b41565b505050565b6001600160401b03831115612b7057612b7061224a565b612b8483612b7e83546128e6565b83612b0c565b6000601f841160018114612bb85760008515612ba05750838201355b600019600387901b1c1916600186901b1783556107aa565b600083815260209020601f19861690835b82811015612be95786850135825560209485019460019092019101612bc9565b5086821015612c065760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b600060208284031215612c2a57600080fd5b8135610df381612101565b808202811582820484141761054057610540612920565b600082612c6957634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561054057610540612920565b634e487b7160e01b600052603160045260246000fdfe086a11cd51db98c76f2168d6b06f3c4401c9b5dc1709d847735822b423c5d147a2646970667358221220caf877ec8ae3f88bf109e5b48a49278937df971590418d12bceb2e7c8f14ef6964736f6c63430008180033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "registry"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }]; readonly name: "DiscountAccessRestricted"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }]; readonly name: "DiscountAlreadyMinted"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "DiscountDoesNotExist"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxMints"; readonly type: "uint256"; }]; readonly name: "DiscountMaxMintsReached"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "DiscountNotActive"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "DiscountNotForOrg"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }]; readonly name: "DiscountNotFound"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidRestrictedAccessInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }]; readonly name: "PassNotOrgMember"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }]; readonly name: "DiscountCreated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }]; readonly name: "DiscountMinted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "DiscountUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "accessId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "restricted"; readonly type: "bool"; }]; readonly name: "RestrictedAccessUpdated"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "calculateTotalDiscountedAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "calculateTotalPassDiscountedAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "canMintDiscount"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }]; readonly name: "canMintDiscountByName"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }, { readonly internalType: "string[]"; readonly name: "names"; readonly type: "string[]"; }]; readonly name: "canMintDiscountByNameBatch"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxMints"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }]; readonly internalType: "struct IDiscountRegistry.CreateDiscountParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createDiscount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly name: "discountNames"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "getDiscount"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalMints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxMints"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }]; readonly internalType: "struct IDiscountRegistry.Discount"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }]; readonly name: "getDiscountBatch"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalMints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxMints"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }]; readonly internalType: "struct IDiscountRegistry.Discount[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }]; readonly name: "getDiscountNames"; readonly outputs: readonly [{ readonly internalType: "string[]"; readonly name: ""; readonly type: "string[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }]; readonly name: "getOrgDiscountIds"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }]; readonly name: "getPassDiscountIds"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "getRestrictedAccess"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }]; readonly name: "getTotalDiscount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }]; readonly name: "getTotalPassDiscount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }]; readonly name: "hasPassDiscount"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "accessId"; readonly type: "uint256"; }]; readonly name: "hasRestrictedAccess"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }]; readonly name: "mintDiscountsToPass"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "uint256[]"; readonly name: "passIds"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }]; readonly name: "mintDiscountsToPassByOrg"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "passId"; readonly type: "uint256"; }, { readonly internalType: "uint256[]"; readonly name: "discountIds"; readonly type: "uint256[]"; }]; readonly name: "mintDiscountsToPassByOwner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "registry"; readonly outputs: readonly [{ readonly internalType: "contract IContractRegistry"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }]; readonly name: "setDiscount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly name: "setDiscountActive"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxMints"; readonly type: "uint256"; }]; readonly name: "setDiscountMaxMints"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }]; readonly name: "setDiscountName"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }]; readonly name: "setDiscountRestricted"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "discountId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "passOwners"; readonly type: "address[]"; }, { readonly internalType: "bool[]"; readonly name: "restricted"; readonly type: "bool[]"; }]; readonly name: "setRestrictedAccess"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalDiscounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): DiscountRegistryInterface; static connect(address: string, runner?: ContractRunner | null): DiscountRegistry; } export {};