import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../common";
import type { Core, CoreInterface } from "../Core";
type CoreConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class Core__factory extends ContractFactory {
    constructor(...args: CoreConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<Core>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): Core;
    connect(signer: Signer): Core__factory;
    static readonly bytecode = "0x60a0806040523461003257306080526156e9908162000038823960805181818161290f01528181612cd101526133cb0152f35b600080fdfe60806040526004361015610018575b361561001657005b005b60003560e01c8063016301d414613ab457806301ffc9a714613a5e578063248a9ca314613a2f578063298e4f791461398b5780632f2ff15d146138f4578063330c18fe146138345780633347e4d6146137cc578063348ee1b01461370d578063360f20b11461366d57806336568abe146135d15780633659cfe6146133a7578063398d92bb146132a9578063405d98e61461325d578063411f2d65146130dc5780634a96ea7214612ebc5780634f1ef28614612c8257806350be339414612b4f578063512f1a3c146129bb57806352d1902d146128fc578063530d43ae14612894578063572b6c051461285e5780635c975abb1461283a5780635e70c85b1461258d57806364ec03fe146122e55780636d6e2bb7146122be578063707921fe14612291578063715018a6146122465780637f7bd2df1461216457806386f9c8641461207457806389b08f11146120305780638b5f41e7146120125780638c51643014611f185780638da5cb5b14611eef57806391d1485414611ea257806395dfb95114611d625780639c63b83214611c53578063a217fddf14611c37578063a35c28db14611a03578063a864026b1461164e578063c0c53b8b146113bd578063c397c5431461136b578063cb3d97d914611188578063ce1b815f1461115e578063d547741f14611116578063d856892d14610e4f578063daf9c21014610e0f578063def807af14610dca578063f2fde38b14610d3d578063f880f2c314610b25578063fa19c0db146109cc5763fd464ea40361000e57346108b6576101603660031901126108b657610268613e11565b610270613e27565b90610279613e3d565b9160ff60e4351660e435036108b657610104356001600160401b0381116108b6576102a8903690600401613f0b565b61014435151561014435036108b6576102bf614818565b604080516004356020820152602435918101919091526001600160601b0319606085811b82168184015284811b8216607484015286901b16608882015260a435609c82015260c43560bc8201526001600160f81b031960e43560f81b1660dc82015260bd81529260e084018085116001600160401b03909111176109b65760e084016040819052845160208087019190912061019954638655d90560e01b84529092906001600160a01b031660df198861037f6004358a60e48401614b61565b03019060e08901905afa9485156108c35760009561097c575b50806000526101976020526040600020546001810181116109545760018691011161096a578060005261019760205260406000205490600182018211610954576000908152610197602090815260409182902060018401905561019954915163e001237760e01b8152600480359082015260248035908201526001600160a01b0385811660448301528781166064830152898116608483015260a480359083015260c480359083015260e4803560ff169083015261012061010483015292909216948290819061046d90610124830190613ff2565b0381875afa9081156108c357600091610925575b501561091357602060016104af926040519384928392632eddbaaf60e01b8452016004358960048501614b36565b0381865afa9081156108c3576000916108e1575b504211156108cf5760206040518093631de5b92f60e01b825281806104ee6004358960048401614b61565b03915afa9081156108c357600091610888575b61051d925060e43591868560c4359360a4359360243590614e07565b610525614818565b600081815261019360208190526040909120600101546001600160a01b039081169061054f61530a565b1681036108805750610124351561086e57600082815260209190915260409020600381015460098201546005830154600b840154600285015460018601546001600160a01b039081169692959294911692914281116108505750856001600160a01b036105ba61530a565b160361082b5760ff8560a01c16610819576105d487615043565b916101243583106107f7575060018060a01b03851660005261019460205260406000208360005260205260406000205461012435116107b15760066000805160206154f4833981519152947fb80640ff7b47bf0eb98b9092b2031b83333cb5ace22c64303b06be5573385094999794879461075c9460ff60409c9a60a81c166000146107a557600a8401555b61067061012435858501546146ae565b808585015560058401541160001461079857610690906101243590614b54565b60078301555b61019890610729816106bf8160018060a01b038654166106b461530a565b9061012435906153e7565b9460018060a01b038a166000526101946020528e600020836000526020526106ef61012435604060002054614b54565b60018060a01b038b166000526101946020528f600020846000526020528f6000205560018060a01b0390541660018060a01b038a16614b7c565b610144351561077f5761074691876001600160a01b038816614d58565b015487519384936001600160a01b03168461498d565b0390a28151600435815260208101949094526001600160a01b03908116941692a3005b61079391876001600160a01b038816614b7c565b610746565b5060006007830155610696565b5042600a840155610660565b50908360018060a01b03166000526101946020526040600020816000526020526107f3604060002054604051938493633799ecf360e21b855260048501614b36565b0390fd5b6040516304c1d40f60e11b81529081906107f390610124358760048501614b36565b604051630bf1407160e21b8152600490fd5b8561083461530a565b6107f36040519283926309aa026760e41b84526004840161495b565b6044906040519063bfc547eb60e01b82524260048301526024820152fd5b604051630db73cdf60e41b8152600490fd5b61083461530a565b90506020823d6020116108bb575b816108a360209383613ed1565b810103126108b65761051d915190610501565b600080fd5b3d9150610896565b6040513d6000823e3d90fd5b6040516394b498b960e01b8152600490fd5b90506020813d60201161090b575b816108fc60209383613ed1565b810103126108b65751386104c3565b3d91506108ef565b604051630544769760e51b8152600490fd5b610947915060203d60201161094d575b61093f8183613ed1565b810190614975565b38610481565b503d610935565b634e487b7160e01b600052601160045260246000fd5b604051635e92f0ed60e11b8152600490fd5b9094506020813d6020116109ae575b8161099b60209360e08401613ed1565b810103126108b65760e001519338610398565b3d915061098b565b634e487b7160e01b600052604160045260246000fd5b346108b6576109da36613fa8565b9290916109ef6109ea828661469b565b615270565b9260005b828110610a145760405160208082528190610a1090820188613ff2565b0390f35b60005b868110610a2757506001016109f3565b610a40610a3a838998959697949861469b565b826146ae565b6001600160a01b03919082610a5e610a59848c8a6152a2565b6152b2565b1615610b025782610a73610a59848c8a6152a2565b16610a82610a598a8a886152a2565b906040519485926370a0823160e01b845216600483015281602460209687935afa9384156108c357600094610acf575b505091610ac16001938661485d565b525b01939291949093610a17565b90809450813d8311610afb575b610ae68183613ed1565b810103126108b657610ac16001935193610ab2565b503d610adc565b60019250610b1f610b17610a598a8a886152a2565b31918661485d565b52610ac3565b346108b65760403660031901126108b657610b3e613e53565b6024356001600160401b0381116108b657610b5d903690600401613f78565b9091610b6882615270565b91610b7281615270565b6001600160a01b03838116949192919060005b8660005260209061019282526001918260406000200154821015610c5d5760005b86888c878c848610610bc9575050505050505090610bc491016152fb565b610b85565b859384938a9693610c01610a59610c129a610be58e8e986152c6565b97886000526101938098528460026040600020015416956152a2565b1614610c17575b50505050016152fb565b610ba6565b610c4993610c249161485d565b51916000528652610c4360406000206006600582015491015490614b54565b906146ae565b610c53828c61485d565b52808e808c610c08565b838588888c8e60005b838110610c9757610c8986610a1087604051938493604085526040850190613ff2565b908382036020850152613ff2565b80610ca46001928761485d565b518460005261019460209181835260406000208b610cc6610a59878c8b6152a2565b1660005283526040600020541015600014610cf15750506000610ce9828961485d565b525b01610c66565b610d2d91610cff848a61485d565b51918760005281526040600020908b610d1c610a59878c8b6152a2565b166000525260406000205490614b54565b610d37828961485d565b52610ceb565b346108b65760203660031901126108b657610d56613e53565b610d5e614412565b6001600160a01b03811615610d765761001690614475565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346108b65760403660031901126108b6576024356001600160401b0381116108b657610e07610dff60209236906004016140d4565b60043561533f565b604051908152f35b346108b65760203660031901126108b6576001600160a01b03610e30613e53565b16600052610196602052602060ff604060002054166040519015158152f35b346108b65760603660031901126108b6576004356044351515604435036108b657610e78614818565b600081815261019360208190526040909120600101546001600160a01b0390811690610ea261530a565b16810361088057506024351561086e578160005260205260406000209060038201546009830154926005810190815494600b8201549260018060a01b036002840154169160018060a01b03600185015416954281116108505750856001600160a01b03610f0d61530a565b160361082b5760ff8560a01c1661081957610f2787615043565b9760243589106110f5575060018060a01b038516600052610194602052604060002083600052602052604060002054602435116110b357916000805160206154f4833981519152969761107c949260069460ff8860a81c166000146110a757600a8501555b610f9b602435868601546146ae565b908186860155541160001461109a57610fb79060243590614b54565b60078301555b6101989061104981610fe58160018060a01b03865416610fdb61530a565b90602435906153e7565b9460018060a01b038a16600052610194602052604060002083600052602052611015602435604060002054614b54565b6001600160a01b038b8116600081815261019460209081526040808320898452909152902092909255915490911690614b7c565b604435156110815761106591876001600160a01b038816614d58565b01546040519384936001600160a01b03168461498d565b0390a2005b61109591876001600160a01b038816614b7c565b611065565b5060006007830155610fbd565b5042600a850155610f8c565b87838660018060a01b03166000526101946020526040600020816000526020526107f3604060002054604051938493633799ecf360e21b855260048501614b36565b6040516304c1d40f60e11b81529081906107f3906024358760048501614b36565b346108b65760403660031901126108b657610016600435611135613e69565b908060005260fb60205261115960016040600020015461115361530a565b906141e0565b614386565b346108b65760003660031901126108b657610191546040516001600160a01b039091168152602090f35b346108b6576020806003193601126108b6576004356111a5614818565b8060005261019380835260ff600b6040600020015460b01c168015908115611360575b5061134e578160005282526040600020600481015460018060a01b038060028401541690600b840193845494828616958542101561132f5760ff60a01b1916600160a01b17905561121886615043565b9660068201946112298987546146ae565b8655600a830155856000526101949081815260406000208560005281526040600020548910156112f8577fa3a00444b44ba1cde3390545fc2e2d81eb82e7619e75616d015ccfa7d89fc94c9798926112e79594926001928960005281815260406000208760005281526112a186604060002054614b54565b918a600052815260406000209087600052526040600020556112de856112d781866101985416976112d061530a565b90896153e7565b968b614b7c565b01541685614b7c565b549061107c60405192839283614b61565b8490899288600052815260406000209082600052526107f3604060002054604051938493633799ecf360e21b855260048501614b36565b604051637bd42f0560e11b815242600482015260248101879052604490fd5b6040516369df036160e11b8152600490fd5b6003915014846111c8565b346108b65760403660031901126108b657611384613e53565b61138c613e69565b9060018060a01b03809116600052610194602052604060002091166000526020526020604060002054604051908152f35b346108b65760603660031901126108b6576113d6613e53565b6113de613e69565b6113e6613e11565b906000549060ff92838360081c161594858096611642575b801561162c575b156115d05760ff1984811660011760005593866115be575b5060018060a01b039260018060a01b03199184610198911683825416179055836101999116828254161790558261019a92169082541617905561146f8360005460081c1661146a816147b8565b6147b8565b61147f61147a61530a565b614475565b61149c8360005460081c16611493816147b8565b61146a816147b8565b61015f8281541690556114ad61530a565b811660008181527fc88390e7e62175be0932452175b6a7222b6b094ab0ef984a5153c620345d8975602090815260409091205490949193911615611577575b505050600080516020615594833981519152918260005260fb82526000600160408220018181549155604051947fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff8380a461154357005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff00196000541660005560018152a1005b6000805260fb8452604060002083600052845260016040600020918254161790556115a061530a565b169060006000805160206154b48339815191528180a48280806114ec565b61ffff1916610101176000558661141d565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156114055750600185851614611405565b506001858516106113fe565b346108b65760403660031901126108b6576004356001600160401b038082116108b657366023830112156108b65781600401359161168b83613ef4565b926116996040519485613ed1565b8084526020918285016024809360051b830101913683116108b6578301905b8282106119e45750505080359283116108b657366023840112156108b6578260040135926116e584613ef4565b936116f36040519586613ed1565b808552828486019160051b830101913683116108b6578301905b8282106119cc5750505061171f61530a565b936000805160206155948339815191528060005260fb845260406000209260018060a01b038097169384600052855260ff9384604060002054161561181857505050805193805185036118065760005b85811061177857005b806117856001928461485d565b51151588611793838761485d565b511660005261019687526040600020908660ff198354169116179055876117ba828661485d565b51167ff84d6b9bdf9d6e550fc123d5ba5e8deb5945ff79d1a89a4eeee4f3fef433a15e60406117e761530a565b6117f1858861485d565b5115158c8351921682528a820152a20161176f565b60405163afb5d0c360e01b8152600490fd5b859350611824906146cc565b6040519161183183613e7f565b604283528483019360603686378351156119b7576030855383516001908110156119a257607860218601536041905b808211611934575050611904576107f36118b46118ec60488888886118dd89604051978576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a978801528251928391603789019101614191565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190614191565b01036028810184520182613ed1565b60405162461bcd60e51b8152918291600483016141b4565b606490856040519162461bcd60e51b83528160048401528201526000805160206154d48339815191526044820152fd5b9091600f8116601081101561198d576f181899199a1a9b1b9c1cb0b131b232b360811b901a61196384886146bb565b5360041c918015611978576000190190611860565b83634e487b7160e01b60005260116004526000fd5b84634e487b7160e01b60005260326004526000fd5b82634e487b7160e01b60005260326004526000fd5b50634e487b7160e01b60009081526032600452fd5b813580151581036108b657815290840190840161170d565b81356001600160a01b03811681036108b65781529084019084016116b8565b611a0c36614026565b9561012d97939795919295966002885414611bf25760028855611a2d614818565b6001600160a01b038381169790939088151580611bd8575b611bbf5790849291611a5561530a565b89851696168614611bad578515611b9b5783611a6f61530a565b1615611b9b578415611b8957428c1115611b775742811115611b655760019b7e20edbbf17d282581d08ab7e37f66211efb7d429096626d14cb9c7fa47f949e99608099611b1c611b2c9688611ac261530a565b16600052611b166101928060205260406000205415611b50575b611aee898d611ae961530a565b6149af565b611af661530a565b908b611b0061530a565b16600052602052600160406000200154906152c6565b9b614dd2565b9488611b2661530a565b92614e07565b50611b3561530a565b1695604051938452602084015260408301526060820152a255005b611b60611b5b61530a565b614871565b611adc565b6040516349f8456b60e11b8152600490fd5b604051633060050d60e21b8152600490fd5b604051630d65e52560e21b8152600490fd5b60405163f6b2911f60e01b8152600490fd5b6040516371b286e160e01b8152600490fd5b60405163961c9a4f60e01b8152600481018a9052602490fd5b508860005261019660205260ff6040600020541615611a45565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b346108b65760003660031901126108b657602060405160008152f35b346108b65760a03660031901126108b657600435606435604435602435608435611c7b614818565b600085815261019360205260409020600b810154909490936001600160a01b0380861690611ca761530a565b168103611d3e576003870195865480421015611d20575060a01c60ff16610819578360057fea39ca66cea168f4382bab65e26c16b931f35fa51cff8c39b9251287316eaada988460a0995587815584600a82015585600482015501556040519485526020850152604084015260608301526080820152a2005b60449060405190630bc225d560e31b82524260048301526024820152fd5b611d4661530a565b6107f36040519283926338b042dd60e01b84526004840161495b565b346108b65760203660031901126108b657600435611d7e614818565b806000526101936020526040600020600381015490600481015490600a810180549260098301908154600585015493874210611e835782421015611e6457600b860192835460ff8160a81c1615611e52577f1b7fcd4978de2acad5f246f28c3de8e74f1b8f824373a1dbaa9fbd5c44efede899611e2f600098611e2a600897611e3b97611e2260209f611e459c611e359960ff60a81b19169055610c438442614b54565b905542614b54565b61469b565b92614b54565b906153c7565b94019384546146ae565b80935555604051908152a2005b60405163077fa5f360e31b8152600490fd5b604051637bd42f0560e11b815242600482015260248101849052604490fd5b60405163bfc547eb60e01b815242600482015260248101899052604490fd5b346108b65760403660031901126108b657611ebb613e69565b60043560005260fb60205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346108b65760003660031901126108b6576097546040516001600160a01b039091168152602090f35b346108b65760a03660031901126108b657611f31613e69565b60443590611f3d613e27565b611f45613f69565b91611f4e614818565b6001600160a01b039381851680151580611ff8575b611fe0575084831615611b9b578015611fcb5784611f7f61530a565b1660005261019260205260406000205415611faa576100169450611fa161530a565b91600435614c74565b602485611fb561530a565b604051636155bce160e11b815291166004820152fd5b60405160016273261960e01b03198152600490fd5b6024906040519063961c9a4f60e01b82526004820152fd5b508060005261019660205260ff6040600020541615611f63565b346108b65760203660031901126108b6576020610e07600435615043565b346108b65760203660031901126108b6576001600160a01b03612051613e53565b166000526101926020526040806000206001815491015482519182526020820152f35b346108b65760003660031901126108b65761208d614412565b61015f805460ff8116156121275750805460ff8116156120eb5760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa60206120d861530a565b6040516001600160a01b039091168152a1005b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b600190612132614818565b60ff19161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25860206120d861530a565b346108b65760203660031901126108b6576004356000526101936020526101e0604060002060ff81549160018060a01b038060018301541691816002820154166060600383015460048401546121bc6005860161415f565b91600986015494600b600a880154970154986040519b8c5260208c015260408b0152838a01526080890152805160a0890152602081015160c0890152604081015160e089015201516101008701526101208601526101408501528116610160840152818160a01c161515610180840152818160a81c1615156101a084015260b01c166101c0820152f35b346108b65760003660031901126108b65761225f614412565b609780546001600160a01b031981169091556000906001600160a01b03166000805160206155b48339815191528280a3005b346108b65760203660031901126108b6576004356000526101976020526020604060002054604051908152f35b346108b65760403660031901126108b6576020610e076122dc613e53565b602435906152c6565b6122ee366140f2565b91966001600160a01b03861615159693949391929091908780612569575b6124c05761019a5460405163ebf0c71760e01b81526001600160a01b0390911695906020816004818a5afa9081156108c357600091612536575b506020916123539161533f565b6024604051809881936331a9108f60e11b835260048301525afa9485156108c357600095612505575b5061012d976002895414611bf25760028955612396614818565b806124e1575b6124c0576123a861530a565b6001600160a01b038681169491168414611bad578315611b9b576001600160a01b036123d261530a565b1615611b9b578215611b895742871115611b7757428a1115611b65576001997e20edbbf17d282581d08ab7e37f66211efb7d429096626d14cb9c7fa47f949e9760809761247f94612474906001600160a01b0361242d61530a565b1660005261246e8d6124556101929182602052604060002054156124b0575b8b611ae961530a565b61245d61530a565b906001600160a01b03611b0061530a565b99614dd2565b938b87611b2661530a565b50878060a01b0361248e61530a565b1695604051938452888060a01b0316602084015260408301526060820152a255005b6124bb611b5b61530a565b61244c565b60405163961c9a4f60e01b81526001600160a01b0388166004820152602490fd5b506001600160a01b0387166000908152610196602052604090205460ff161561239c565b61252891955060203d60201161252f575b6125208183613ed1565b810190614c55565b938961237c565b503d612516565b90506020813d602011612561575b8161255160209383613ed1565b810103126108b657516020612346565b3d9150612544565b506001600160a01b0387166000908152610196602052604090205460ff161561230c565b346108b65760603660031901126108b6576125a6613e53565b6125ae613e69565b6044356125b961530a565b6001600160a01b0390811660008181527f8d61383f43bc49f45c83c92e4b62ca06cb779b7d86dc31b8b46736a36708e898602090815260409091205490916000805160206155348339815191529160ff1615612716575050818516948515611b9b578261262461530a565b1660005261019282526040600020541561270b578261264161530a565b166000526101948083526040600020908487169182600052845285604060002054106126cb5750507f09409f26be23bc0829097e5cf170124ebffdfda893a6f10d4160c5228148d3e19392916126a2610195928761269d61530a565b615475565b60005252816040600020556126b561530a565b16926126c660405192839283614b61565b0390a3005b9150926126d995949561530a565b166000528152604060002091600052526107f3604060002054604051938493633799ecf360e21b855260048501614b36565b602483611fb561530a565b61271f906146cc565b6040519061272c82613e7f565b604282528382019260603685378251156128245760308453825160019081101561282457607860218501536041905b8082116127e05750506127af576107f3936118b4936118ec936118dd604894604051978576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a978801528251928391603789019101614191565b6064846040519062461bcd60e51b825280600483015260248201526000805160206154d48339815191526044820152fd5b9091600f81166010811015612824576f181899199a1a9b1b9c1cb0b131b232b360811b901a61280f84876146bb565b5360041c91801561095457600019019061275b565b634e487b7160e01b600052603260045260246000fd5b346108b65760003660031901126108b657602060ff61015f54166040519015158152f35b346108b65760203660031901126108b6576020612879613e53565b610191546040516001600160a01b0392831691909216148152f35b346108b65760203660031901126108b6576128ad613e53565b6128b5614412565b61019980546001600160a01b0319166001600160a01b039290921691821790557f90f856b5018fe63561ae83ac4a61bbe2ef3e4b1b50acf834c629ed522427c1fa600080a2005b346108b65760003660031901126108b6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036129555760206040516000805160206155748339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b60a03660031901126108b6576129cf613e69565b604435906064356001600160401b0381116108b6576129f29036906004016140d4565b6129fa613f69565b6001600160a01b0393909284811680151593919291908480612b35575b611fe0578661019a54169460405163ebf0c71760e01b815260209384826004818b5afa80156108c3578592600091612b02575b5090612a559161533f565b6024604051809981936331a9108f60e11b835260048301525afa9586156108c357600096612ae3575b50612a87614818565b80612aca575b611fe0575085841615611b9b578115611fcb576101929086612aad61530a565b166000525260406000205415611faa576100169450611fa161530a565b5080600052610196825260ff6040600020541615612a8d565b612afb919650833d851161252f576125208183613ed1565b9488612a7e565b8381939492503d8311612b2e575b612b1a8183613ed1565b810103126108b65751849190612a55612a4a565b503d612b10565b508060005261019660205260ff6040600020541615612a17565b346108b65760203660031901126108b657600435612b6b614818565b8060005261019380602052600b6040600020015460ff8160b01c169060018214918215612c77575b508115612c69575b50612c5757816000526020526040600020600b8101805460018060a01b0380821690612bc561530a565b168103611d3e575060038301548042106108505750600483015480421015612c39575060ff60a81b1916600160a81b17905542600991909101557f0b2198d4074fb10f64c810d4e46d21cc97c9f859a47327265fccd18ea008d85d6040612c2b83615043565b8151904282526020820152a2005b60449060405190637bd42f0560e11b82524260048301526024820152fd5b60405163ac69d13d60e01b8152600490fd5b60ff915060a81c1683612b9b565b600314915084612b93565b60403660031901126108b657612c96613e53565b6024356001600160401b0381116108b657366023820112156108b657612cc690369060248160040135910161409d565b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612cff308314156144ac565b612d1c6000805160206155748339815191529282845416146144fb565b612d24614412565b6000805160206155148339815191525460ff1615612d48575050610016915061454a565b6040516352d1902d60e01b81526020939291831691908481600481865afa60009181612e8d575b50612dbe5760405162461bcd60e51b815260048101869052602e602482015260008051602061569483398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b03612e4857612dcc8261454a565b6000805160206155d4833981519152600080a2825115801590612e40575b612df057005b6000806100169460405194612e0486613eb6565b6027865260008051602061567483398151915281870152660819985a5b195960ca1b604087015281519101845af4612e3a6145da565b9161460a565b506001612dea565b60405162461bcd60e51b815260048101849052602960248201526000805160206156348339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508581813d8311612eb5575b612ea58183613ed1565b810103126108b657519087612d6f565b503d612e9b565b346108b657612eca366140f2565b969194929392906001600160a01b038216151580806130b8575b6130975761019a5460405163ebf0c71760e01b81526001600160a01b0390911695906020816004818a5afa9081156108c357600091613064575b50602091612f2b9161533f565b6024604051809881936331a9108f60e11b835260048301525afa9485156108c357600095613043575b50612f5d614818565b8061301f575b612ffe57612f6f61530a565b6001600160a01b0385811691168114611bad5715611b9b576001600160a01b03612f9761530a565b1615611b9b578615611b895742851115611b775742861115611b655761001697612fe5916001600160a01b03612fcb61530a565b1660005261019260205260406000205415612fee57614dd2565b95611b2661530a565b612ff9611b5b61530a565b614dd2565b60405163961c9a4f60e01b81526001600160a01b0383166004820152602490fd5b506001600160a01b0382166000908152610196602052604090205460ff1615612f63565b61305d91955060203d60201161252f576125208183613ed1565b9389612f54565b90506020813d60201161308f575b8161307f60209383613ed1565b810103126108b657516020612f1e565b3d9150613072565b60405163961c9a4f60e01b81526001600160a01b0384166004820152602490fd5b506001600160a01b0383166000908152610196602052604090205460ff1615612ee4565b346108b65760803660031901126108b6576130f5613e53565b6130fd613e69565b90613106613e11565b6001600160a01b039182811691606435918315611b9b57848616948515611b9b5761313961313261530a565b8484615475565b908160005261019590602090828252866040600020541061323757876000526101948083526040600020918716918260005283526040600020548881106132185750938793899a9b938a61320998948a987f8dae5adcd19d0e3ad64f98accb2ca948a4350bedd1116a9732e5043bd46f57759d60005280845260406000208260005284526131cc89604060002054614b54565b9260005283526040600020906000528252604060002055826000528181526131f986604060002054614b54565b9260005252604060002055614b7c565b6126c660405192839283614b61565b604051633799ecf360e21b81529081906107f3908b8b60048501614b36565b8561324061530a565b6040516338aa956f60e11b81529182916107f3916004840161495b565b346108b65760603660031901126108b657613290613279613e53565b613281613e69565b9061328a613e11565b90615475565b6000526101956020526020604060002054604051908152f35b346108b65760403660031901126108b6576004356132c5613e69565b6132cd614818565b6001600160a01b0391826132df61530a565b1660005260209261019284526040600020541561339c57811561086e5761330461530a565b908061330e61530a565b166000526101949485815260406000209082861691826000528152846040600020541061338f57610016968361334261530a565b16600052808252604060002083600052825261336386604060002054614b54565b9361336c61530a565b1660005281526040600020916000525260406000205561338a61530a565b614b7c565b92509294906126d961530a565b602490611fb561530a565b346108b6576020806003193601126108b6576133c1613e53565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692906133fa308514156144ac565b6134176000805160206155748339815191529482865416146144fb565b61341f614412565b60405193828501916001600160401b038311868410176109b657826040526000865260ff60008051602061551483398151915254166000146134695750505050610016915061454a565b84939416906040516352d1902d60e01b81528581600481865afa600091816135a2575b506134db5760405162461bcd60e51b815260048101879052602e602482015260008051602061569483398151915260448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b0361355d576134e98361454a565b6000805160206155d4833981519152600080a2835115801590613555575b61350d57005b60008091610016956000805160206156748339815191526040519661353188613eb6565b60278852870152660819985a5b195960ca1b60408701525190845af4612e3a6145da565b506000613507565b60405162461bcd60e51b815260048101859052602960248201526000805160206156348339815191526044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d83116135ca575b6135ba8183613ed1565b810103126108b65751908861348c565b503d6135b0565b346108b65760403660031901126108b6576135ea613e69565b6001600160a01b03806135fb61530a565b16908216036136105761001690600435614386565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346108b65761367b36614026565b61368b9792959197949394614818565b6001600160a01b0390828216801515806136f3575b611fe05750816136ae61530a565b86821691168114611bad5715611b9b57816136c761530a565b1615611b9b578715611b895742861115611b775742871115611b655761001698612fe592612fcb61530a565b508060005261019660205260ff60406000205416156136a0565b346108b65761371b36613fa8565b90929161372b6109ea828461469b565b9360005b82811061374c5760405160208082528190610a1090820189613ff2565b60005b84811061375f575060010161372f565b9360018295613774610a3a839a96958561469b565b868961378b610a598b878060a01b039485946152a2565b16600052602061019481526040600020916137aa610a5986898b6152a2565b16600052526137bf604060002054918761485d565b520190949192965061374f565b346108b65760203660031901126108b6576137e5613e53565b6137ed614412565b61019880546001600160a01b0319166001600160a01b039290921691821790557f6397f5b135542bb3f477cb346cfab5abdec1251d08dc8f8d4efb4ffe122ea0bf600080a2005b346108b6576020806003193601126108b65761384e613e53565b90613857614412565b600080516020615594833981519152918260005260fb825261388360016040600020015461115361530a565b600083815260fb835260408082206001600160a01b0393841680845290855291205490929060ff16156138b257005b8360005260fb815260406000209083600052526040600020600160ff198254161790556138dd61530a565b16916000805160206154b4833981519152600080a4005b346108b65760403660031901126108b657600435613910613e69565b8160005260fb60205261392d60016040600020015461115361530a565b8160005260fb60205260406000209060018060a01b03809116918260005260205260ff604060002054161561395e57005b8260005260fb6020526040600020826000526020526040600020600160ff198254161790556138dd61530a565b60603660031901126108b65761399f613e53565b6139a7613e11565b6139af614818565b6001600160a01b03818116929083151580613a15575b6139fc5761001693508116600052610192602052604060002054156139ee575b602435906149af565b6139f781614871565b6139e5565b60405163961c9a4f60e01b815260048101859052602490fd5b508360005261019660205260ff60406000205416156139c5565b346108b65760203660031901126108b65760043560005260fb6020526020600160406000200154604051908152f35b346108b65760203660031901126108b65760043563ffffffff60e01b81168091036108b657602090637965db0b60e01b8114908115613aa3575b506040519015158152f35b6301ffc9a760e01b14905082613a98565b346108b65760e03660031901126108b657613acd613e11565b613ad5613e27565b613add613e3d565b916001600160401b039060a4358281116108b657613aff903690600401613f0b565b9160c435151560c435036108b657613b15614818565b60405191602083016004358152602435604085015260018060601b0319808360601b166060860152808760601b1660748601528760601b166088850152607c845260a0840192848410908411176109b6576040839052835190206101998054638655d90560e01b85526001600160a01b03959294919291906020908290881681609f1986613ba96004358f60a48401614b61565b0301915afa9182156108c357600092613de2575b50508360005261019760205260406000205460018101809111610954571161096a57826000526101976020526040600020549060018201821161095457602085613c61928660005261019783526001850160406000205554169660405180938192633a82097360e21b8352600435600484015260243560248401528988166044840152898c166064840152898d16608484015260c060a484015260c4830190613ff2565b0381895afa9081156108c357600091613dc3575b50156109135760206001613ca3926040519384928392632eddbaaf60e01b8452016004358b60048501614b36565b0381885afa9081156108c357600091613d91575b504211156108cf5760206040518095631de5b92f60e01b82528180613ce26004358b60048401614b61565b03915afa9384156108c35786948691600091613d45575b509160008051602061565483398151915295613d2192604096959460c4359360243591614c74565b600052610197602052808260002054948351956004358752602087015216941692a3005b9550505091906020843d602011613d89575b81613d6460209383613ed1565b810103126108b657925185939192908590600080516020615654833981519152613cf9565b3d9150613d57565b90506020813d602011613dbb575b81613dac60209383613ed1565b810103126108b6575187613cb7565b3d9150613d9f565b613ddc915060203d60201161094d5761093f8183613ed1565b88613c75565b6020809293503d8311613e0a575b613dfa8185613ed1565b810103126108b657518880613bbd565b503d613df0565b604435906001600160a01b03821682036108b657565b606435906001600160a01b03821682036108b657565b608435906001600160a01b03821682036108b657565b600435906001600160a01b03821682036108b657565b602435906001600160a01b03821682036108b657565b608081019081106001600160401b038211176109b657604052565b61018081019081106001600160401b038211176109b657604052565b606081019081106001600160401b038211176109b657604052565b601f909101601f19168101906001600160401b038211908210176109b657604052565b6001600160401b0381116109b65760051b60200190565b81601f820112156108b657803591613f2283613ef4565b92613f306040519485613ed1565b808452602092838086019260051b8201019283116108b6578301905b828210613f5a575050505090565b81358152908301908301613f4c565b6084359081151582036108b657565b9181601f840112156108b6578235916001600160401b0383116108b6576020808501948460051b0101116108b657565b60406003198201126108b6576001600160401b03916004358381116108b65782613fd491600401613f78565b939093926024359182116108b657613fee91600401613f78565b9091565b90815180825260208080930193019160005b828110614012575050505090565b835185529381019392810192600101614004565b6101009060031901126108b65760043590602435906001600160a01b039060443582811681036108b6579160643590811681036108b657906084359060a4359060c43580151581036108b6579060e43580151581036108b65790565b6001600160401b0381116109b657601f01601f191660200190565b9291926140a982614082565b916140b76040519384613ed1565b8294818452818301116108b6578281602093846000960137010152565b9080601f830112156108b6578160206140ef9335910161409d565b90565b906101006003198301126108b65760043591602435916044356001600160a01b03811681036108b65791606435906001600160401b0382116108b65761413a916004016140d4565b906084359060a4359060c43580151581036108b6579060e43580151581036108b65790565b9060405161416c81613e7f565b6060600382948054845260018101546020850152600281015460408501520154910152565b60005b8381106141a45750506000910152565b8181015183820152602001614194565b604091602082526141d48151809281602086015260208686019101614191565b601f01601f1916010190565b600081815260209160fb83526040938483209060018060a01b031690818452845260ff858420541615614214575050505050565b61421d906146cc565b84519161422983613e7f565b6042835284830193606036863783511561437257603085538351906001918210156143725790607860218601536041915b818311614304575050506142d4576118b49385936142be936142af6048946107f39951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101614191565b01036028810185520183613ed1565b5162461bcd60e51b8152918291600483016141b4565b60648486519062461bcd60e51b825280600483015260248201526000805160206154d48339815191526044820152fd5b909192600f8116601081101561435e576f181899199a1a9b1b9c1cb0b131b232b360811b901a61433485886146bb565b5360041c92801561434a5760001901919061425a565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b600081815260fb602090815260408083206001600160a01b039586168085529252822054919390929160ff166143bd575b50505050565b7ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9082855260fb602052604085208486526020526040852060ff19815416905561440561530a565b169380a4388080806143b7565b6097546001600160a01b039081169061442961530a565b160361443157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b609780546001600160a01b039283166001600160a01b0319821681179092559091166000805160206155b4833981519152600080a3565b156144b357565b60405162461bcd60e51b815260206004820152602c602482015260008051602061555483398151915260448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561450257565b60405162461bcd60e51b815260206004820152602c602482015260008051602061555483398151915260448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1561457f5760008051602061557483398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15614605573d906145eb82614082565b916145f96040519384613ed1565b82523d6000602084013e565b606090565b9192901561466c575081511561461e575090565b3b156146275790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561467f5750805190602001fd5b60405162461bcd60e51b81529081906107f390600483016141b4565b8181029291811591840414171561095457565b9190820180921161095457565b908151811015612824570160200190565b604051906146d982613eb6565b602a82526020820160403682378251156128245760309053815160019081101561282457607860218401536029905b80821161474a5750506147185790565b606460405162461bcd60e51b815260206004820152602060248201526000805160206154d48339815191526044820152fd5b9091600f811660108110156147a3576f181899199a1a9b1b9c1cb0b131b232b360811b901a61477984866146bb565b5360041c91801561478e576000190190614708565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b156147bf57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60ff61015f541661482557565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b80518210156128245760209160051b010190565b60408051909181830191906001600160401b038311828410176109b657837f05b05658eed9f5101cc7cf492145a51cc09fb098f8c5b1af89d8e328e602ea47936001955242835260209182840191600094858452878060a01b03809316978894858852610192875283882092518355519101556000805160206155348339815191529384865260fb8152818620848752815260ff828720541615614919575b505050505080a2565b84865260fb815281862084875290528420805460ff1916600117905561493d61530a565b16916000805160206154b48339815191528480a43883818080614910565b6001600160a01b0391821681529116602082015260400190565b908160209103126108b6575180151581036108b65790565b6001600160a01b03918216815291166020820152604081019190915260600190565b9091906001600160a01b0380831680614a4e57843403614a35576000805160206155f4833981519152939291614a30915b60408285169160009083825261019480602052838320828452602052614a098b858520546146ae565b9483526020528282209082526020522055614a2261530a565b16946040519384938461498d565b0390a2565b60405163c39ba1a960e01b815260048101869052602490fd5b604051636eb1769f60e11b815290939291602091828180614a7330886004840161495b565b0381895afa80156108c3578791600091614b03575b5010614afa576040516323b872dd60e01b815294828680614aae8a30896004850161498d565b03816000855af19283156108c3576000805160206155f483398151915296614a3094614adc575b50506149e0565b81614af292903d1061094d5761093f8183613ed1565b503880614ad5565b8361324061530a565b91508382813d8311614b2f575b614b1a8183613ed1565b81010312614b2c575086905138614a88565b80fd5b503d614b10565b604091949392606082019560018060a01b0316825260208201520152565b9190820391821161095457565b6001600160a01b039091168152602081019190915260400190565b9193926001600160a01b03919082811680614be75750600080808089865af1614ba36145da565b5015614bce57600080516020615614833981519152939495614a30915b60405194859416968461498d565b60405163c39ba1a960e01b815260048101879052602490fd5b9394956020604051809663a9059cbb60e01b825281600081614c0d878a60048401614b61565b03925af19182156108c35760008051602061561483398151915295614a3093614c37575b50614bc0565b614c4e9060203d811161094d5761093f8183613ed1565b5038614c31565b908160209103126108b657516001600160a01b03811681036108b65790565b949391909260018060a01b03938482169560009287845261019492602092848452604095868120958a841696878352865287822054898110614d3a57509789819795938d8a857f7290157e7f1a63e44d9885f47419dc2cc8d7f874059cf7316d446c82528d14d99f9d60609f9d9b9997849052808a528282208b83528a52614cff8784842054614b54565b93825289528181208a82528952205515614d2c57614d1c93614d58565b8251998a528901528701521693a3565b614d3593614b7c565b614d1c565b8851633799ecf360e21b81529081906107f3908c8860048501614b36565b614a307fc558b864ea2b7182e8bc7ffca27a68e83632c7ace57b9ededebb6324f8fc1cde9394929460018060a01b038096169560406000888152610194928360205282822090881690818352602052614db485848420546146ae565b938a835260205282822090825260205220556040519384938461498d565b908080614e00575b15614de6575050600290565b15614df15750600090565b15614dfb57600190565b600390565b5081614dda565b92949796909591939560018060a01b038616600052610192602052600160406000200192614e368454886152c6565b99604051614e4381613e7f565b83815260006020820152600060408201526000606082015260405190614e6882613e9a565b87825260018060a01b038b16602083015260018060a01b038916604083015282606083015283608083015260a0820152600060c08201528160e082015260018060a01b0389166101008201526000610120820152600061014082015261016081019060ff861682528c600052610193602052600b6040600020825181556001810160018060a01b036020850151169060018060a01b03199182825416179055600282019060018060a01b03604086015116908254161790556060830151600382015560808301516004820155606060a08401518051600584015560208101516006840155604081015160078401550151600882015560c0830151600982015560e0830151600a820155019160018060a01b03610100830151169183549260ff60a01b610120830151151560a01b169161014060ff60a81b910151151560a81b169260ff60b01b905160b01b169360018060b81b03191617171717905584549660018801809811610954578b997f53c4d26168bc64a3a5a112b8700996c56b7629b3734a93f792dff387330b5b88996101009960ff985560405198895260018060a01b0316602089015260018060a01b0316604088015260018060a01b03166060870152608086015260a085015260c08401521660e0820152a2565b6140ef90600081815261019390816020526040918282209383519161506783613e9a565b8554835260018601546001600160a01b0390811660208501526002870154811686850152600387015460608501526004870154608085015291600b6150ae6005890161415f565b9760a08601988952600981015460c0870152600a81015460e0870152015493610100908486168282015260ff93849361012092858960a01c1615158482015261014098868160a81c1615158a83015261016096879160b01c1691015288526020528780882093815161511f81613e9a565b85548152876001870154166020820152876002870154168382015260038601549160608201928352600487015497608083019889526151606005890161415f565b9960a08401968b885260098a0154988960c0870152600b600a8c01549b8c60e0890152015492831690860152828260a01c16151590850152818160a81c161515809c85015260b01c16910152519451955196428610156000146151d0575050505050505050915b510151906146ae565b90919293949596975042871115600014615238571561520657505061520094611e2a611e359493611e2f93614b54565b916151c7565b93509350505061522e6152226152009460208551015190614b54565b60608451015190614b54565b9151015190614b54565b91505094929460001461525a57611e3592611e2a6152009693611e2f93614b54565b5092611e2f611e3592611e2a6152009642614b54565b9061527a82613ef4565b6152876040519182613ed1565b8281528092615298601f1991613ef4565b0190602036910137565b91908110156128245760051b0190565b356001600160a01b03811681036108b65790565b60405160609190911b6001600160601b031916602082019081526034808301939093529181526152f581613eb6565b51902090565b60001981146109545760010190565b60143610158061532a575b156153265736601319013560601c90565b3390565b50610191546001600160a01b03163314615315565b9080511561539157604051615371602082816153648183019687815193849201614191565b8101038084520182613ed1565b51902060405190602082019283526040820152604081526152f581613eb6565b60405162461bcd60e51b815260206004820152600e60248201526d4c6162656c20697320456d70747960901b6044820152606490fd5b81156153d1570490565b634e487b7160e01b600052601260045260246000fd5b92602091949361540d9360405180958194829363254fedab60e21b84526004840161495b565b03916001600160a01b03165afa9081156108c357600091615442575b5061271061543a6140ef928561469b565b048093614b54565b906020823d821161546d575b8161545b60209383613ed1565b81010312614b2c575051612710615429565b3d915061544e565b6040516001600160601b0319606092831b81166020830190815293831b811660348301529390911b9092166048830152603c8252906152f581613eb656fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d537472696e67733a20686578206c656e67746820696e73756666696369656e74f0542b2d3b76bd0ad209e1a08f67c2150e6c9b5f7b476fc086373b25b971a2fa4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91438eeb81daed87e8bb3a629d26dbb1a91219bc3452a85e1d6c61f66263aa0dd6a346756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8619cecd8b9e095ab43867f5b69d492180450fe862e6b50bfbfb24b75dd84c8a8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b1a0b42192bd87f901af5da67a080a510d8c86ccd976904272a9b78c11e7fe08536bfa62ef915d7a9c5a3546b071e3f0b812df2c2ef6283e6a1ffdaec8a14511745524331393637557067726164653a20756e737570706f727465642070726f781a7952fcd4c7fbaba5e0603f4ff921879f1192aae83459e556eb99f28389f2e4416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c45524331393637557067726164653a206e657720696d706c656d656e74617469a2646970667358221220bc8715d897fb76059026be775f37b38d68012839738c51c82217643f54d769b664736f6c63430008120033";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly name: "BulkTransferInvalidProof";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BulkTransferNotStarted";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BulkTransferStreamAlreadyInitialized";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "requestAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "availableAmount";
            readonly type: "uint256";
        }];
        readonly name: "InSufficientReleasableAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "requestAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "vaultAmount";
            readonly type: "uint256";
        }];
        readonly name: "InSufficientCrestFiWalletAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidInstantTransferAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "InvalidOwner";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }];
        readonly name: "InvalidReceiver";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }];
        readonly name: "InvalidSender";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidStreamEndTime";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidStreamStartTime";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "InvalidToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }];
        readonly name: "InvalidTokenAllowance";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidTokenData";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidWithdrawAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidZeroAddress";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SenderCannotBeReceiver";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "currentTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }];
        readonly name: "StreamAlreadyEnded";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "currentTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }];
        readonly name: "StreamAlreadyStarted";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "StreamAmountCannotBeZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "StreamCanceled";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "StreamNotCancelable";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "currentTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }];
        readonly name: "StreamNotEnded";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "StreamNotPausable";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "StreamNotPaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "currentTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }];
        readonly name: "StreamNotStarted";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "StreamPaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "TransferFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "vault";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }];
        readonly name: "CrestFiWalletAlreadyExists";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }];
        readonly name: "CrestFiWalletDoesNotExists";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "previousAdmin";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newAdmin";
            readonly type: "address";
        }];
        readonly name: "AdminChanged";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "beacon";
            readonly type: "address";
        }];
        readonly name: "BeaconUpgraded";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "contractAddress";
            readonly type: "address";
        }];
        readonly name: "BulkTransferContractUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "bulkTransferIndex";
            readonly type: "uint256";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "recurringFrequency";
            readonly type: "uint256";
        }];
        readonly name: "BulkTransferInstantTransfer";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "bulkTransferIndex";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "recurringFrequency";
            readonly type: "uint256";
        }];
        readonly name: "BulkTransferStreamed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "streamSender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "streamReceiver";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "streamingToken";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "streamingAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "streamParam";
            readonly type: "uint8";
        }];
        readonly name: "CreatedStream";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "CreatedCrestFiWallet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }];
        readonly name: "CreatedCrestFiWalletAndStreamed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "DepositedToken";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "FundApproval";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "FundTransfer";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "version";
            readonly type: "uint8";
        }];
        readonly name: "Initialized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "name";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }];
        readonly name: "InstantTokenTransfer";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferred";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "Paused";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "pausedTime";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "releasableAmount";
            readonly type: "uint256";
        }];
        readonly name: "PausedStreaming";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "pausedAmount";
            readonly type: "uint256";
        }];
        readonly name: "ResumedStreaming";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "previousAdminRole";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "newAdminRole";
            readonly type: "bytes32";
        }];
        readonly name: "RoleAdminChanged";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }];
        readonly name: "RoleGranted";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "sender";
            readonly type: "address";
        }];
        readonly name: "RoleRevoked";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "contractAddress";
            readonly type: "address";
        }];
        readonly name: "StakingContractUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "releasedAmount";
            readonly type: "uint256";
        }];
        readonly name: "StoppedStreaming";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "whitelistWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "bool";
            readonly name: "whitelisted";
            readonly type: "bool";
        }];
        readonly name: "TokenWhitelisted";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "Unpaused";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "streamAmount";
            readonly type: "uint256";
        }];
        readonly name: "UpdatedStream";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "implementation";
            readonly type: "address";
        }];
        readonly name: "Upgraded";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "WalletWithdrawn";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "streamAddress";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "releasedAmount";
            readonly type: "uint256";
        }];
        readonly name: "WithdrawnStream";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "CrestFiWalletWithdrawn";
        readonly type: "event";
    }, {
        readonly stateMutability: "payable";
        readonly type: "fallback";
    }, {
        readonly inputs: readonly [];
        readonly name: "DEFAULT_ADMIN_ROLE";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly name: "bulkTransferWithdrawCount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly internalType: "address[]";
            readonly name: "tokenAddress";
            readonly type: "address[]";
        }];
        readonly name: "calculateMinimumDepositAmount";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "minimumDeposit";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "outgoingStreamBalance";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamBytes";
            readonly type: "bytes32";
        }];
        readonly name: "calculateReleasableAmount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "releaseAmount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "crestfiWallet";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_streamCount";
            readonly type: "uint256";
        }];
        readonly name: "calculateStreamBytes";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamBytes";
            readonly type: "bytes32";
        }];
        readonly name: "cancelStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamingAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "streamingToken";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "streamReceiver";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "streamCancelable";
            readonly type: "bool";
        }, {
            readonly internalType: "bool";
            readonly name: "streamPausable";
            readonly type: "bool";
        }];
        readonly name: "createStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamingAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "streamingToken";
            readonly type: "address";
        }, {
            readonly internalType: "string";
            readonly name: "streamReceiverLabel";
            readonly type: "string";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "streamCancelable";
            readonly type: "bool";
        }, {
            readonly internalType: "bool";
            readonly name: "streamPausable";
            readonly type: "bool";
        }];
        readonly name: "createStreamTNS";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "crestfiWalletAddress";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }];
        readonly name: "depositTokens";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }];
        readonly name: "fundAllowance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "fundApproval";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "fundTransferFrom";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }];
        readonly name: "getRoleAdmin";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getTrustedForwarder";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "forwarder";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "sender";
            readonly type: "address[]";
        }, {
            readonly internalType: "address[]";
            readonly name: "tokenAddresses";
            readonly type: "address[]";
        }];
        readonly name: "getWalletTokenBalance";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "sender";
            readonly type: "address[]";
        }, {
            readonly internalType: "address[]";
            readonly name: "tokenAddresses";
            readonly type: "address[]";
        }];
        readonly name: "getCrestFiWalletTokenBalance";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "grantRole";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "user";
            readonly type: "address";
        }];
        readonly name: "grantWhitelisterRole";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "hasRole";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_staking";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "_bulkTransfer";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "_tnsRegistry";
            readonly type: "address";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamingAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "streamingToken";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "streamReceiver";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "streamCancelable";
            readonly type: "bool";
        }, {
            readonly internalType: "bool";
            readonly name: "streamPausable";
            readonly type: "bool";
        }];
        readonly name: "instantStream";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamingAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "streamingToken";
            readonly type: "address";
        }, {
            readonly internalType: "string";
            readonly name: "streamReceiverLabel";
            readonly type: "string";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "streamCancelable";
            readonly type: "bool";
        }, {
            readonly internalType: "bool";
            readonly name: "streamPausable";
            readonly type: "bool";
        }];
        readonly name: "instantStreamTNS";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "name";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly internalType: "bool";
            readonly name: "crestfiWalletWithdraw";
            readonly type: "bool";
        }];
        readonly name: "instantTokenTransfer";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "name";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "string";
            readonly name: "receiverLabel";
            readonly type: "string";
        }, {
            readonly internalType: "bool";
            readonly name: "crestfiWalletWithdraw";
            readonly type: "bool";
        }];
        readonly name: "instantTokenTransferTNS";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "forwarder";
            readonly type: "address";
        }];
        readonly name: "isTrustedForwarder";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamBytes";
            readonly type: "bytes32";
        }];
        readonly name: "pauseStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "paused";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "proxiableUUID";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "renounceOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "renounceRole";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamBytes";
            readonly type: "bytes32";
        }];
        readonly name: "resumeStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "role";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "revokeRole";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly name: "streams";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "name";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "receiver";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "startTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "endTime";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "streamAmount";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "releasedAmount";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "unlockedAmount";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "pausedAmount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Core.Amount";
            readonly name: "amounts";
            readonly type: "tuple";
        }, {
            readonly internalType: "uint256";
            readonly name: "pausedTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "withdrawTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "originCrestFiWallet";
            readonly type: "address";
        }, {
            readonly internalType: "bool";
            readonly name: "canceled";
            readonly type: "bool";
        }, {
            readonly internalType: "bool";
            readonly name: "paused";
            readonly type: "bool";
        }, {
            readonly internalType: "uint8";
            readonly name: "streamParam";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenId";
            readonly type: "uint256";
        }, {
            readonly internalType: "string";
            readonly name: "label";
            readonly type: "string";
        }];
        readonly name: "subTokenId";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "pure";
        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: "toggleContractPause";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "transferOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "bulkTransferContract";
            readonly type: "address";
        }];
        readonly name: "updateBulkTransferContract";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "stakingContract";
            readonly type: "address";
        }];
        readonly name: "updateStakingContract";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamBytes";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes32";
            readonly name: "streamName";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamStartTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamEndTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamAmount";
            readonly type: "uint256";
        }];
        readonly name: "updateStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address[]";
            readonly name: "tokens";
            readonly type: "address[]";
        }, {
            readonly internalType: "bool[]";
            readonly name: "isWhitelisted";
            readonly type: "bool[]";
        }];
        readonly name: "updateWhitelistedTokens";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newImplementation";
            readonly type: "address";
        }];
        readonly name: "upgradeTo";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newImplementation";
            readonly type: "address";
        }, {
            readonly internalType: "bytes";
            readonly name: "data";
            readonly type: "bytes";
        }];
        readonly name: "upgradeToAndCall";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "walletTokenBalances";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "wallets";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "createTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "streamCount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "whitelistedTokens";
        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: "bulkTransferIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "transferingAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "transferingToken";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "transferSender";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "transferReceiver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32[]";
            readonly name: "proofs";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "bool";
            readonly name: "crestfiWalletWithdraw";
            readonly type: "bool";
        }];
        readonly name: "withdrawBulkInstantTransfer";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "bulkTransferIndex";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "transferingAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "transferingToken";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "transferSender";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "transferReceiver";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "transferStartTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "transferEndTime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "streamParam";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes32[]";
            readonly name: "proofs";
            readonly type: "bytes32[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "withdrawAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "crestfiWalletWithdraw";
            readonly type: "bool";
        }];
        readonly name: "withdrawBulkTransferStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "streamBytes";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "withdrawAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "crestfiWalletWithdraw";
            readonly type: "bool";
        }];
        readonly name: "withdrawStream";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }];
        readonly name: "withdrawTokens";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly stateMutability: "payable";
        readonly type: "receive";
    }];
    static createInterface(): CoreInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): Core;
}
export {};
