import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { CouponRegistry, CouponRegistryInterface } from "../../registry/CouponRegistry"; type CouponRegistryConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class CouponRegistry__factory extends ContractFactory { constructor(...args: CouponRegistryConstructorParams); getDeployTransaction(_contractRegistry: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(_contractRegistry: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): CouponRegistry__factory; static readonly bytecode = "0x60806040523480156200001157600080fd5b5060405162002bdd38038062002bdd83398101604081905262000034916200005a565b600080546001600160a01b0319166001600160a01b03929092169190911790556200008c565b6000602082840312156200006d57600080fd5b81516001600160a01b03811681146200008557600080fd5b9392505050565b612b41806200009c6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806383e00510116100f9578063a5fc93d511610097578063c6d6d93d11610071578063c6d6d93d14610421578063cd9d0ac714610434578063cf58b96d14610447578063ebc5df5f1461045a57600080fd5b8063a5fc93d5146103e8578063b88347ff146103fb578063bdd7126e1461040e57600080fd5b806390c71315116100d357806390c7131514610399578063936e3169146103ac5780639a649edc146103cc5780639c0dc21e146103d557600080fd5b806383e005101461036057806384a591231461037357806386fd6cea1461038657600080fd5b8063572d5a31116101665780637370ec3b116101405780637370ec3b146102fc5780637b1039991461030f57806380b976531461033a578063834d90061461034d57600080fd5b8063572d5a31146102b65780635eb0a561146102c9578063710dc969146102dc57600080fd5b806325407d89116101a257806325407d891461025b5780632e89fe101461027b578063430b67721461029057806349853f64146102a357600080fd5b806301ffc9a7146101c957806317cffe62146101f157806321f0ff691461023b575b600080fd5b6101dc6101d7366004612150565b61046d565b60405190151581526020015b60405180910390f35b61022d6101ff36600461221d565b6036602090815260009283526040909220815180830184018051928152908401929093019190912091525481565b6040519081526020016101e8565b61024e610249366004612264565b610498565b6040516101e89190612362565b61026e610269366004612264565b61067e565b6040516101e891906123c6565b61028e61028936600461241f565b610698565b005b61022d61029e36600461245d565b610836565b61028e6102b13660046124a5565b610a45565b61028e6102c43660046124ca565b610a9d565b6101dc6102d7366004612506565b610d51565b6102ef6102ea36600461241f565b610d85565b6040516101e8919061253e565b61028e61030a3660046124a5565b610e2a565b600054610322906001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b61028e61034836600461259a565b610ecc565b61028e61035b36600461263b565b611096565b6101dc61036e36600461241f565b611219565b61028e6103813660046126b5565b611254565b6101dc6103943660046126d7565b6112a6565b61026e6103a736600461241f565b6112de565b6103bf6103ba366004612264565b611313565b6040516101e89190612723565b61022d60395481565b61022d6103e33660046126b5565b611441565b61028e6103f63660046124a5565b61145d565b61022d610409366004612736565b6114bc565b6101dc61041c366004612506565b6117ee565b61026e61042f36600461241f565b61181a565b61028e61044236600461263b565b611848565b61028e6104553660046126b5565b611885565b61028e6104683660046126b5565b6118b5565b60006001600160e01b03198216633e87695360e21b14806104925750610492826118e5565b92915050565b6000818152603560205260408120606091906104b39061191b565b9050805167ffffffffffffffff8111156104cf576104cf61217a565b60405190808252806020026020018201604052801561050857816020015b6104f56120a7565b8152602001906001900390816104ed5790505b50915060005b8151811015610677576034600083838151811061052d5761052d6127a2565b602002602001015181526020019081526020016000206040518061014001604052908160008201548152602001600182018054610569906127b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610595906127b8565b80156105e25780601f106105b7576101008083540402835291602001916105e2565b820191906000526020600020905b8154815290600101906020018083116105c557829003601f168201915b50505091835250506002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff808216151560a08401526101008083048216151560c08501526201000083048216151560e085015263010000009092041615159101528351849083908110610664576106646127a2565b602090810291909101015260010161050e565b5050919050565b60008181526035602052604090206060906104929061191b565b8181336001600160a01b0382161480610736575060008054906101000a90046001600160a01b03166001600160a01b0316635cbf60cc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072191906127f2565b6001600160a01b0316336001600160a01b0316145b80610745575061074582611928565b61076a5760405162461bcd60e51b81526004016107619061280f565b60405180910390fd5b6107748484611219565b6107b95760405162461bcd60e51b815260206004820152601660248201527510dbdd5c1bdb8818dbd919481a5cc81b9bdd081cd95d60521b6044820152606401610761565b60008481526038602090815260408083206001600160a01b038716845290915281206107e491612102565b826001600160a01b0316847f98a6874f6a1917b49dbe8260246dbce2e576217944c74599d00c4b514834957560405161082890602080825260009082015260400190565b60405180910390a350505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316635cbf60cc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae91906127f2565b6108b781611934565b60008681526038602090815260408083206001600160a01b0389168452909152812080546108e4906127b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610910906127b8565b801561095d5780601f106109325761010080835404028352916020019161095d565b820191906000526020600020905b81548152906001019060200180831161094057829003601f168201915b50505050509050610970878783886114bc565b50600087815260366020526040808220905161098d908490612853565b90815260200160405180910390205490506034600082815260200190815260200160002060040160008154809291906109c590612885565b909155505060008881526037602090815260408083206001600160a01b038b16845290915290206109f69082611987565b50866001600160a01b031681897f5b9153e69e73b7b01385619f23a12b81df331089d180e6492c067bf440a9535a60405160405180910390a4610a398186611441565b98975050505050505050565b600082815260346020526040902054610a5d81611993565b60008381526034602052604080822060068101805460ff1916861515179055805491519092869291600080516020612aec8339815191529190a350505050565b8035610aa881611993565b6000610ab7602084018461289e565b9050118015610ad457506020610acf8382018461289e565b905011155b610b165760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840c6dec8ca40d8cadccee8d606b1b6044820152606401610761565b8135600090815260366020908152604090912090610b369084018461289e565b604051610b449291906128e5565b908152602001604051809103902054600014610ba25760405162461bcd60e51b815260206004820152601a60248201527f436f75706f6e20636f646520616c7265616479206578697374730000000000006044820152606401610761565b60398054906000610bb283612885565b909155505060395460009081526034602090815260409091208335815590610bdc9084018461289e565b6001830191610bec919083612942565b50610bfd60c0840160a08501612a03565b60068201805460ff1916911515919091179055610c2060e0840160c08501612a03565b60068201805461ff0019166101009215158302179055610c4590840160e08501612a03565b600682018054911515620100000262ff000019909216919091179055610c7361012084016101008501612a03565b60068201805491151563010000000263ff00000019909216919091179055610c9f8160408501356119e8565b610cad818460600135611a38565b610cbb818460800135611a8d565b6039548335600090815260366020908152604090912090610cde9086018661289e565b604051610cec9291906128e5565b908152604080516020928190038301902092909255603954853560009081526035909252919020610d1c91611987565b506039546040518435907fa642f6125031e33b459faac09c60d43622ebedeb338901054283d9bb430deb1290600090a3505050565b60008381526033602090815260408083206001600160a01b03861684529091528120610d7d9083611af2565b949350505050565b603860209081526000928352604080842090915290825290208054610da9906127b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd5906127b8565b8015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b505050505081565b600082815260346020526040902054610e4281611993565b600083815260346020526040908190206006810180548515156101000261ff001990911617905580549151909185917f56b8c1854de95b2624d8a3565b8c38d034ee5ead19d57c4b7a7d67d87926a42290610ea290871515815260200190565b60405180910390a38054604051859190600080516020612aec83398151915290600090a350505050565b8383336001600160a01b0382161480610f6a575060008054906101000a90046001600160a01b03166001600160a01b0316635cbf60cc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5591906127f2565b6001600160a01b0316336001600160a01b0316145b80610f795750610f7982611928565b610f955760405162461bcd60e51b81526004016107619061280f565b610f9e86611b0a565b50600086815260366020526040908190209051610fbe90869086906128e5565b90815260200160405180910390205460000361101c5760405162461bcd60e51b815260206004820152601a60248201527f436f75706f6e20636f646520646f6573206e6f742065786973740000000000006044820152606401610761565b60008681526038602090815260408083206001600160a01b03891684529091529020611049848683612942565b50846001600160a01b0316867f98a6874f6a1917b49dbe8260246dbce2e576217944c74599d00c4b51483495758686604051611086929190612a20565b60405180910390a3505050505050565b846110a081611993565b83158015906110ae57508382145b6110f15760405162461bcd60e51b8152602060048201526014602482015273092dcecc2d8d2c840d2dce0eae840d8cadccee8d60631b6044820152606401610761565b60005b848110156112105783838281811061110e5761110e6127a2565b9050602002810190611120919061289e565b600089815260386020526040812090898986818110611141576111416127a2565b90506020020160208101906111569190612a4f565b6001600160a01b0316815260208101919091526040016000209161117b919083612942565b5085858281811061118e5761118e6127a2565b90506020020160208101906111a39190612a4f565b6001600160a01b0316877f98a6874f6a1917b49dbe8260246dbce2e576217944c74599d00c4b51483495758686858181106111e0576111e06127a2565b90506020028101906111f2919061289e565b604051611200929190612a20565b60405180910390a36001016110f4565b50505050505050565b60008281526038602090815260408083206001600160a01b038516845290915281208054829190611249906127b8565b905011905092915050565b60008281526034602052604090205461126c81611993565b60008381526034602052604090206112848184611a8d565b8054604051859190600080516020612aec83398151915290600090a350505050565b60008381526036602052604080822090516112c490859085906128e5565b908152604051908190036020019020541515949350505050565b60008281526033602090815260408083206001600160a01b0385168452909152902060609061130c9061191b565b9392505050565b61131b6120a7565b603460008381526020019081526020016000206040518061014001604052908160008201548152602001600182018054611354906127b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611380906127b8565b80156113cd5780601f106113a2576101008083540402835291602001916113cd565b820191906000526020600020905b8154815290600101906020018083116113b057829003601f168201915b50505091835250506002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff808216151560a08401526101008083048216151560c08501526201000083048216151560e0850152630100000090920416151591015292915050565b60008281526034602052604081206002015461130c9083611bf0565b60008281526034602052604090205461147581611993565b60008381526034602052604080822060068101805462ff000019166201000087151502179055805491519092869291600080516020612aec8339815191529190a350505050565b60008481526036602052604080822090518291906114db908690612853565b90815260200160405180910390205490508060000361150f578360405163d88995cf60e01b8152600401610761919061253e565b600060346000838152602001908152602001600020604051806101400160405290816000820154815260200160018201805461154a906127b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611576906127b8565b80156115c35780601f10611598576101008083540402835291602001916115c3565b820191906000526020600020905b8154815290600101906020018083116115a657829003601f168201915b50505091835250506002820154602082015260038201546040820152600482015460608201526005820154608082015260069091015460ff808216151560a08401526101008083048216151560c08501526201000083048216151560e0808601919091526301000000909304909116151592019190915281015190915061165f5760405162cd446560e41b815260048101839052602401610761565b428160600151111580156116765750606081015115155b156116975760405163faf5254560e01b815260048101839052602401610761565b60a0810151158015906116b257508060a00151816080015110155b156116e05760a0810151604051633027933760e21b8152610761918491600401918252602082015260400190565b8060c0015180156116ef575083155b156117105760405163cbb5039160e01b815260048101839052602401610761565b8061012001518015611749575060008781526037602090815260408083206001600160a01b038a16845290915290206117499083611af2565b15611779576040516309334d1960e01b8152600481018390526001600160a01b0387166024820152604401610761565b80610100015180156117b4575060008781526033602090815260408083206001600160a01b038a16845290915290206117b29083611af2565b155b156117e457604051635c38892760e01b8152600481018390526001600160a01b0387166024820152604401610761565b5095945050505050565b60008381526037602090815260408083206001600160a01b03861684529091528120610d7d9083611af2565b60008281526037602090815260408083206001600160a01b0385168452909152902060609061130c9061191b565b60008581526034602052604090205461186081611993565b60008681526034602052604090205461187d908787878787611c13565b505050505050565b60008281526034602052604090205461189d81611993565b600083815260346020526040902061128481846119e8565b6000828152603460205260409020546118cd81611993565b60008381526034602052604090206112848184611a38565b60006001600160e01b031982166301ffc9a760e01b148061049257506001600160e01b0319821663339ded9d60e21b1492915050565b6060600061130c83611dc8565b60006104928233611e24565b336001600160a01b038216146119845760405162461bcd60e51b815260206004820152601560248201527410d85b1b195c881b9bdd08185d5d1a1bdc9a5e9959605a1b6044820152606401610761565b50565b600061130c8383611f1e565b61199c81611928565b6119845760405162461bcd60e51b815260206004820181905260248201527f4e6f7420616e2061646d696e206f6620746865206f7267616e697a6174696f6e6044820152606401610761565b6119f181611f6d565b611a305760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908191a5cd8dbdd5b9d60821b6044820152606401610761565b600290910155565b42811180611a44575080155b611a855760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b21032bc3834b930ba34b7b760711b6044820152606401610761565b600390910155565b801580611a9e575081600401548110155b611aea5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206d617820746f74616c20726564656d7074696f6e730000006044820152606401610761565b600590910155565b6000818152600183016020526040812054151561130c565b60008060009054906101000a90046001600160a01b03166001600160a01b031663cfd8fe0c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8291906127f2565b6001600160a01b0316636352211e836040518263ffffffff1660e01b8152600401611baf91815260200190565b602060405180830381865afa158015611bcc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049291906127f2565b6000612710611bff8484612a6c565b611c099190612a83565b61130c9083612aa5565b821580611c205750828114155b15611c3e5760405163d1798c5760e01b815260040160405180910390fd5b60005b8381101561121057828282818110611c5b57611c5b6127a2565b9050602002016020810190611c709190612a03565b15611cd6576000878152603360205260408120611cd091889190888886818110611c9c57611c9c6127a2565b9050602002016020810190611cb19190612a4f565b6001600160a01b03168152602081019190915260400160002090611987565b50611d33565b6000878152603360205260408120611d3191889190888886818110611cfd57611cfd6127a2565b9050602002016020810190611d129190612a4f565b6001600160a01b03168152602081019190915260400160002090611f82565b505b848482818110611d4557611d456127a2565b9050602002016020810190611d5a9190612a4f565b6001600160a01b031686887f92403cd89759d6cf86e4d0f2a46ca24388ac3bddeb721bfc43bf01c256b7d79f868686818110611d9857611d986127a2565b9050602002016020810190611dad9190612a03565b604051901515815260200160405180910390a4600101611c41565b606081600001805480602002602001604051908101604052809291908181526020018280548015611e1857602002820191906000526020600020905b815481526020019060010190808311611e04575b50505050509050919050565b6000611e308383611f8e565b8061130c575060008054906101000a90046001600160a01b03166001600160a01b031663595439736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eab91906127f2565b60405163146a291160e01b8152600481018590526001600160a01b038481166024830152919091169063146a291190604401602060405180830381865afa158015611efa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130c9190612ab8565b6000818152600183016020526040812054611f6557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610492565b506000610492565b60008082118015610492575050612710101590565b600061130c8383611fb4565b6000816001600160a01b0316611fa384611b0a565b6001600160a01b0316149392505050565b6000818152600183016020526040812054801561209d576000611fd8600183612aa5565b8554909150600090611fec90600190612aa5565b905080821461205157600086600001828154811061200c5761200c6127a2565b906000526020600020015490508087600001848154811061202f5761202f6127a2565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061206257612062612ad5565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610492565b6000915050610492565b6040518061014001604052806000815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b50805461210e906127b8565b6000825580601f1061211e575050565b601f01602090049060005260206000209081019061198491905b8082111561214c5760008155600101612138565b5090565b60006020828403121561216257600080fd5b81356001600160e01b03198116811461130c57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f8301126121a157600080fd5b813567ffffffffffffffff808211156121bc576121bc61217a565b604051601f8301601f19908116603f011681019082821181831017156121e4576121e461217a565b816040528381528660208588010111156121fd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561223057600080fd5b82359150602083013567ffffffffffffffff81111561224e57600080fd5b61225a85828601612190565b9150509250929050565b60006020828403121561227657600080fd5b5035919050565b60005b83811015612298578181015183820152602001612280565b50506000910152565b600081518084526122b981602086016020860161227d565b601f01601f19169290920160200192915050565b60006101408251845260208301518160208601526122ed828601826122a1565b91505060408301516040850152606083015160608501526080830151608085015260a083015160a085015260c083015161232b60c086018215159052565b5060e083015161233f60e086018215159052565b506101008381015115159085015261012092830151151592909301919091525090565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156123b957603f198886030184526123a78583516122cd565b9450928501929085019060010161238b565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156123fe578351835292840192918401916001016123e2565b50909695505050505050565b6001600160a01b038116811461198457600080fd5b6000806040838503121561243257600080fd5b8235915060208301356124448161240a565b809150509250929050565b801515811461198457600080fd5b6000806000806080858703121561247357600080fd5b8435935060208501356124858161240a565b925060408501356124958161244f565b9396929550929360600135925050565b600080604083850312156124b857600080fd5b8235915060208301356124448161244f565b6000602082840312156124dc57600080fd5b813567ffffffffffffffff8111156124f357600080fd5b8201610120818503121561130c57600080fd5b60008060006060848603121561251b57600080fd5b83359250602084013561252d8161240a565b929592945050506040919091013590565b60208152600061130c60208301846122a1565b60008083601f84011261256357600080fd5b50813567ffffffffffffffff81111561257b57600080fd5b60208301915083602082850101111561259357600080fd5b9250929050565b600080600080606085870312156125b057600080fd5b8435935060208501356125c28161240a565b9250604085013567ffffffffffffffff8111156125de57600080fd5b6125ea87828801612551565b95989497509550505050565b60008083601f84011261260857600080fd5b50813567ffffffffffffffff81111561262057600080fd5b6020830191508360208260051b850101111561259357600080fd5b60008060008060006060868803121561265357600080fd5b85359450602086013567ffffffffffffffff8082111561267257600080fd5b61267e89838a016125f6565b9096509450604088013591508082111561269757600080fd5b506126a4888289016125f6565b969995985093965092949392505050565b600080604083850312156126c857600080fd5b50508035926020909101359150565b6000806000604084860312156126ec57600080fd5b83359250602084013567ffffffffffffffff81111561270a57600080fd5b61271686828701612551565b9497909650939450505050565b60208152600061130c60208301846122cd565b6000806000806080858703121561274c57600080fd5b84359350602085013561275e8161240a565b9250604085013567ffffffffffffffff81111561277a57600080fd5b61278687828801612190565b92505060608501356127978161244f565b939692955090935050565b634e487b7160e01b600052603260045260246000fd5b600181811c908216806127cc57607f821691505b6020821081036127ec57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561280457600080fd5b815161130c8161240a565b60208082526024908201527f4e6f7420617574686f72697a656420746f2075706461746520636f75706f6e20604082015263636f646560e01b606082015260800190565b6000825161286581846020870161227d565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016128975761289761286f565b5060010190565b6000808335601e198436030181126128b557600080fd5b83018035915067ffffffffffffffff8211156128d057600080fd5b60200191503681900382131561259357600080fd5b8183823760009101908152919050565b601f82111561293d576000816000526020600020601f850160051c8101602086101561291e5750805b601f850160051c820191505b8181101561187d5782815560010161292a565b505050565b67ffffffffffffffff83111561295a5761295a61217a565b61296e8361296883546127b8565b836128f5565b6000601f8411600181146129a2576000851561298a5750838201355b600019600387901b1c1916600186901b1783556129fc565b600083815260209020601f19861690835b828110156129d357868501358255602094850194600190920191016129b3565b50868210156129f05760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060208284031215612a1557600080fd5b813561130c8161244f565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600060208284031215612a6157600080fd5b813561130c8161240a565b80820281158282048414176104925761049261286f565b600082612aa057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104925761049261286f565b600060208284031215612aca57600080fd5b815161130c8161244f565b634e487b7160e01b600052603160045260246000fdfe6f936fc86f2b77121896d5f40a1470aafd93edcf6c0c5264fa61633f9c9dda61a26469706673582212208f9d44acf29e6eb00f26eac202e41fc15607660fc9600867cba3c542853c3e5464736f6c63430008180033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_contractRegistry"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "CouponAlreadyRedeemed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "CouponCodeNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponExpired"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponInitialPurchaseOnly"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxRedemptions"; readonly type: "uint256"; }]; readonly name: "CouponMaxRedemptionsReached"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponNotActive"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "CouponRestricted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidCouponCode"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidRestrictedAccessInput"; 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: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponCreated"; 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: "couponId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "CouponRedeemed"; 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: "couponId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly name: "CouponStatusUpdated"; 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: "couponId"; readonly type: "uint256"; }]; readonly name: "CouponUpdated"; 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: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "PassCouponCodeSet"; 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 components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isOneTimeUse"; readonly type: "bool"; }]; readonly internalType: "struct ICouponRegistry.CreateCouponParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createCoupon"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "discountedAmount"; 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: "couponId"; readonly type: "uint256"; }]; readonly name: "getCoupon"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isOneTimeUse"; readonly type: "bool"; }]; readonly internalType: "struct ICouponRegistry.Coupon"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }]; readonly name: "getOrgCouponIds"; 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 name: "getOrgCoupons"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isOneTimeUse"; readonly type: "bool"; }]; readonly internalType: "struct ICouponRegistry.Coupon[]"; readonly name: "_coupons"; readonly type: "tuple[]"; }]; 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: "getRedeemedCoupons"; 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: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "hasPassCouponCode"; 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: "couponId"; readonly type: "uint256"; }]; readonly name: "hasRedeemedCoupon"; 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: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "code"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchase"; readonly type: "bool"; }]; readonly name: "isCodeRedeemable"; 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: ""; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly name: "orgCouponCodes"; 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: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "orgCouponExists"; 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: ""; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "passOwnerCodes"; 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 internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchase"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "redeemCoupon"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; 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: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "passOwner"; readonly type: "address"; }]; readonly name: "removePassCouponCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "active"; readonly type: "bool"; }]; readonly name: "setCouponActive"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "discount"; readonly type: "uint256"; }]; readonly name: "setCouponDiscount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiration"; readonly type: "uint256"; }]; readonly name: "setCouponExpiration"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalRedemptions"; readonly type: "uint256"; }]; readonly name: "setCouponMaxRedemptions"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isInitialPurchaseOnly"; readonly type: "bool"; }]; readonly name: "setCouponNewCustomers"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "restricted"; readonly type: "bool"; }]; readonly name: "setCouponRestricted"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; 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: "string"; readonly name: "code"; readonly type: "string"; }]; readonly name: "setPassCouponCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "passOwners"; readonly type: "address[]"; }, { readonly internalType: "string[]"; readonly name: "codes"; readonly type: "string[]"; }]; readonly name: "setPassCouponCodeBatch"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "couponId"; 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: "totalCoupons"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): CouponRegistryInterface; static connect(address: string, runner?: ContractRunner | null): CouponRegistry; } export {};