@metatrongg/sdk 0.8.0-dev.6ac4e78 → 0.8.0-dev.a548c7d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import*as e from"zod";var t=class extends Error{status;code;body;constructor(e,t,n,r){super(n),this.name=`TronError`,this.status=e,this.code=t,this.body=r}},n=class extends t{error;errorDescription;errorUri;constructor(e,t,n,r,i){super(e,t,`oauth ${e} ${t}${r===void 0?``:`: ${r}`}`,n),this.name=`TronOauthError`,this.error=t,this.errorDescription=r,this.errorUri=i}};const r={BAD_REQUEST:4400,UNAUTHORIZED:4401,FORBIDDEN:4403,NOT_FOUND:4404,UNAVAILABLE:4503};var i=class extends Error{code;reason;constructor(e,t){super(`tron ws closed: ${e}${t===``?``:` ${t}`}`),this.name=`TronWsCloseError`,this.code=e,this.reason=t}get isApplicationError(){return this.code>=4e3&&this.code<5e3}get isPermanent(){return[r.BAD_REQUEST,r.UNAUTHORIZED,r.FORBIDDEN,r.NOT_FOUND].includes(this.code)}};async function a(e,t){if(t.raw===!0)throw Error("sendJson does not support `raw: true`; call send() directly");let n=t.method??`GET`;return e.dedupe!==void 0&&n===`GET`?await e.dedupe.run(o(t),async()=>await c(await s(e,t))):await c(await s(e,t))}function o(e){let t=e.query===void 0?``:JSON.stringify(e.query);return`GET ${e.path}?${t}|${e.bearer??``}`}async function s(e,t){let n=l(e.issuer,t.path,t.query),r=new Headers(t.headers);t.bearer===void 0?t.basicAuth!==void 0&&r.set(`authorization`,`Basic ${d(`${t.basicAuth.username}:${t.basicAuth.password}`)}`):r.set(`authorization`,`Bearer ${t.bearer}`),t.idempotencyKey!==void 0&&r.set(`idempotency-key`,t.idempotencyKey);let i=null;t.form===void 0?t.body!==void 0&&(r.set(`content-type`,`application/json`),i=JSON.stringify(t.body)):(r.set(`content-type`,`application/x-www-form-urlencoded`),i=new URLSearchParams(t.form).toString());let a=t.method??`GET`;e.rateLimiter!==void 0&&await e.rateLimiter.acquire(a);let o={method:a,headers:r};i!==null&&(o.body=i);let s=await e.fetch(n,o);if(t.raw===!0)return s;if(!s.ok){let e=await s.text();throw u(s.status,e)}return s}async function c(e){let n=await e.text();if(n!==``)try{return JSON.parse(n)}catch{throw new t(e.status,`non_json`,`response was not json`,n)}}function l(e,t,n){let r=new URL(t,e.endsWith(`/`)?e:`${e}/`);if(n!==void 0){for(let[e,t]of Object.entries(n))if(t!==void 0)if(typeof t==`string`||typeof t==`number`)r.searchParams.set(e,String(t));else for(let n of t)r.searchParams.append(e,n)}return r.href}function u(e,r){let i;try{i=JSON.parse(r)}catch{return new t(e,`non_json`,`tron ${e}: non-json response`,r)}if(typeof i==`object`&&i){let a=i;if(typeof a.error==`string`&&(a.error_description!==void 0||a.error_uri!==void 0))return new n(e,a.error,r,typeof a.error_description==`string`?a.error_description:void 0,typeof a.error_uri==`string`?a.error_uri:void 0);if(typeof a.error==`string`)return new t(e,a.error,`tron ${e} ${a.error}`,r);if(Array.isArray(a.issues))return new t(e,`validation_failed`,`tron ${e} validation_failed`,r)}return new t(e,`unknown`,`tron ${e}: unknown error shape`,r)}function d(e){return typeof Buffer<`u`?Buffer.from(e,`utf8`).toString(`base64`):btoa(e)}const f=e.string().min(3).max(18).regex(/^[a-z][a-z0-9_]*$/),p=e.string().nullable(),m=e.string().max(256).nullable(),ee=e.url().max(2048).nullable(),h=e.enum([`yellow`,`green`,`blue`,`white`,`black`]),g=e.enum([`super-admin`,`admin`,`read-only`]).nullable(),te=e.enum([`auto`,`online`,`offline`]),ne=e.enum([`development`,`production`]),_=e.object({id:e.string().min(1),email:e.email().nullable(),emailVerified:e.boolean(),name:f,displayName:p,bio:m,websiteUrl:ee,image:e.string().nullish(),banner:h,role:g,presenceStatusMode:te,environmentViewMode:ne,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}),re=e.string().min(1);e.object({user:_,token:re.optional()}),e.object({error:e.string().min(1),traceId:e.string().min(1).optional()}),e.object({name:f,email:e.email(),password:e.string().min(8),image:e.url().optional(),callbackURL:e.url().optional()}),e.object({redirect:e.boolean(),token:re.optional(),url:e.url().optional(),user:_.optional()}),e.object({email:e.email(),password:e.string().min(1),callbackURL:e.url().optional(),rememberMe:e.boolean().optional()}),e.object({success:e.boolean()});const ie=e.object({id:e.string().min(1),token:e.string().min(1),userId:e.string().min(1),expiresAt:e.iso.datetime(),ipAddress:e.string().nullish(),userAgent:e.string().nullish(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()});e.union([e.object({session:ie,user:_}),e.unknown()]),e.object({status:e.boolean()}),e.object({status:e.boolean()}),e.object({email:e.email(),callbackURL:e.url().optional()}),e.object({status:e.boolean()}),e.object({email:e.email(),redirectTo:e.url().optional()}),e.object({status:e.boolean()}),e.object({newPassword:e.string().min(8),token:e.string().min(1)});const ae=e.object({issuer:e.url(),authorization_endpoint:e.url(),token_endpoint:e.url(),userinfo_endpoint:e.url(),revocation_endpoint:e.url(),registration_endpoint:e.url(),response_types_supported:e.array(e.enum([`code`])),grant_types_supported:e.array(e.enum([`authorization_code`,`refresh_token`,`client_credentials`])),code_challenge_methods_supported:e.array(e.enum([`S256`])),token_endpoint_auth_methods_supported:e.array(e.enum([`client_secret_basic`,`client_secret_post`,`none`])),scopes_supported:e.array(e.enum([`openid`,`profile`,`payments:charge`,`inventory:read`,`developer:read`,`developer:apps`,`developer:pages`]))}),v=e.url().max(2048),y=e.string().min(1).regex(/^[A-Za-z0-9_:.-]+(?: [A-Za-z0-9_:.-]+)*$/),oe=e.object({client_id:e.string().regex(/^tg_dc_[a-f0-9]{32}$/),client_id_issued_at:e.int().gte(0),client_name:e.string().min(1),redirect_uris:e.array(v),token_endpoint_auth_method:e.enum([`none`]),grant_types:e.array(e.enum([`authorization_code`,`refresh_token`])),response_types:e.array(e.enum([`code`])),scope:y});e.object({error:e.enum([`invalid_redirect_uri`,`invalid_client_metadata`]),error_description:e.string().optional()}),e.object({redirect_uris:e.array(v).min(1).max(10),client_name:e.string().min(1).max(128).optional(),token_endpoint_auth_method:e.enum([`none`]).optional(),grant_types:e.array(e.enum([`authorization_code`,`refresh_token`])).optional(),response_types:e.array(e.enum([`code`])).optional(),scope:y.optional()});const b=e.string().regex(/^tg_(?:dev|prod|dc)_[A-Za-z0-9]{16,64}$/),se=e.string().min(1).max(2048),ce=e.string().regex(/^[A-Za-z0-9_~.-]{43,128}$/),x=e.string().regex(/^[a-f0-9]{32}$/);e.object({request:x,app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),clientKind:e.enum([`app`,`connector`]),scopes:e.array(e.enum([`openid`,`profile`,`payments:charge`,`inventory:read`,`developer:read`,`developer:apps`,`developer:pages`])).min(1),developerRole:e.object({approved:e.boolean(),policyVersion:e.string().min(1)}).nullable(),alreadyGranted:e.array(e.enum([`openid`,`profile`,`payments:charge`,`inventory:read`,`developer:read`,`developer:apps`,`developer:pages`])),redirectUriHost:e.string().min(1),payment:e.object({tiersCents:e.array(e.int().gt(0)).min(1),currentLimitCents:e.int().gte(0).nullable(),currentMonthSpentCents:e.int().gte(0).nullable(),payoutChains:e.array(e.string().min(1))}).nullable()}),e.object({consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),tiersCents:e.array(e.int().gt(0)).min(1)}),e.object({app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),developer:e.object({studioName:e.string().nullable(),logoUrl:e.url().nullable(),studioUrl:e.url().nullable(),studioXHandle:e.string().nullable()})}),e.object({redirect:e.url()});const le=e.int().gte(100).lte(5e6).nullable();e.object({request:x,decision:e.enum([`allow`,`deny`]),acceptDeveloperPolicy:e.boolean().optional(),payment:e.object({monthlyLimitCents:le}).optional()});const S=e.object({access_token:e.string().min(1),token_type:e.enum([`Bearer`]),expires_in:e.int().gt(0),refresh_token:e.string().min(1).optional(),scope:y.optional()});e.object({error:e.enum([`invalid_request`,`invalid_client`,`invalid_grant`,`unauthorized_client`,`unsupported_grant_type`,`unsupported_response_type`,`invalid_scope`,`access_denied`,`server_error`,`temporarily_unavailable`,`invalid_token`,`insufficient_scope`]),error_description:e.string().optional(),error_uri:e.url().optional(),state:se.optional()});const ue=e.string().regex(/^[A-Za-z0-9_~.-]{43,128}$/),C=e.string().regex(/^[a-f0-9]{64}$/),de=e.object({grant_type:e.enum([`authorization_code`]),code:e.string().min(1),redirect_uri:v,code_verifier:ue,client_id:b.optional(),client_secret:C.optional()}),fe=e.object({grant_type:e.enum([`refresh_token`]),refresh_token:e.string().min(1),scope:y.optional(),client_id:b.optional(),client_secret:C.optional()}),pe=e.object({grant_type:e.enum([`client_credentials`]),scope:y.optional(),client_id:b.optional(),client_secret:C.optional()});e.discriminatedUnion(`grant_type`,[de.extend({grant_type:e.literal(`authorization_code`)}),fe.extend({grant_type:e.literal(`refresh_token`)}),pe.extend({grant_type:e.literal(`client_credentials`)})]);const me=e.object({sub:e.string().min(1),name:e.string().min(1).nullable(),picture:e.url().nullable()});e.object({token:e.string().min(1),token_type_hint:e.enum([`access_token`,`refresh_token`]).optional(),client_id:b.optional(),client_secret:C.optional()});const he=e.object({status:e.enum([`completed`]),intentId:e.string().min(1),paymentId:e.string().min(1),usdCents:e.int().gte(0),txHash:e.string().nullable()}),ge=e.object({status:e.enum([`redirect`]),intentId:e.string().min(1),redirectUrl:e.url(),usdCents:e.int().gte(0)}),_e=e.discriminatedUnion(`status`,[he.extend({status:e.literal(`completed`)}),ge.extend({status:e.literal(`redirect`)})]),ve=e.object({error:e.enum([`monthly_limit_exceeded`]),currentLimitCents:e.int().gte(0),monthSpentCents:e.int().gte(0),attemptedUsdCents:e.int().gte(0),redirectUrl:e.url()});e.object({error:e.enum([`idempotency_key_reused`]),intentId:e.string().min(1)});const w=e.object({purpose:e.string().min(1).max(64).optional(),title:e.string().min(1).max(120).optional(),note:e.string().min(1).max(280).optional(),quantity:e.int().gte(1).lte(1e6).optional(),category:e.string().min(1).max(64).optional(),sessionId:e.string().min(1).max(128).optional(),groupId:e.string().min(1).max(128).optional(),image:e.url().max(2048).optional(),extra:e.record(e.string(),e.union([e.string().max(512),e.number(),e.boolean()])).optional()});e.object({chain:e.string().min(1),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),returnUri:e.url().max(2048),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/).optional(),rakeBps:e.int().gte(0).lte(3e3).optional(),metadata:w.optional()});const ye=e.object({monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),periodStart:e.iso.datetime(),offlineAutoChargeEnabled:e.boolean(),perTxOfflineCapCents:e.int().gte(0).nullable(),walletDelegated:e.boolean()}),be=e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),tokenDecimals:e.int().gte(0),usdRate:e.string().min(1),feed:e.object({aggregatorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),decimals:e.int().gte(0),answer:e.string().regex(/^\d+$/),updatedAt:e.iso.datetime()}),usdCents:e.int().gte(0).optional(),amount:e.string().regex(/^\d+$/).optional()}),xe=e.object({intentId:e.string().min(1),appId:e.string().min(1),status:e.enum([`pending`,`awaiting_funding`,`completed`,`denied`,`expired`]),paymentId:e.string().nullable(),txHash:e.string().nullable(),usdCents:e.int().gte(0),chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),grossAmount:e.string().regex(/^\d+$/).nullable(),creditedAmount:e.string().regex(/^\d+$/).nullable(),settlement:e.enum([`instant`,`locked`]).nullable(),resolvedAt:e.iso.datetime().nullable(),expiresAt:e.iso.datetime()}),Se=e.object({intentId:e.string().min(1),consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),chain:e.string().min(1),token:e.string(),amount:e.string(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appealable:e.boolean(),usdCents:e.int().gte(0),monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),offlineAutoChargeEnabled:e.boolean(),perTxOfflineCapCents:e.int().gte(0).nullable(),walletDelegated:e.boolean(),canonicalWalletAddress:e.string().nullable(),offlineDenialReason:e.enum([`no_active_play_session`,`driver_unavailable`,`wallet_not_delegated`,`deposit_cap_exceeded`,`insufficient_balance`,`fire_failed`]).nullable(),returnUriHost:e.string().min(1),status:e.enum([`pending`,`awaiting_funding`]),expiresAt:e.iso.datetime(),accessDenied:e.object({reason:e.enum([`not_invited`]),developer:e.object({studioName:e.string().nullable(),logoUrl:e.url().nullable(),studioUrl:e.url().nullable(),studioXHandle:e.string().nullable()})}).nullish()}),Ce=e.object({chain:e.string().min(1),chainId:e.int().gte(0),id:e.string().regex(/^0x[0-9a-fA-F]{32}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),data:e.string().regex(/^0x[0-9a-fA-F]*$/),appealable:e.boolean(),payer:e.string().regex(/^0x[0-9a-fA-F]{40}$/),deadline:e.int().gte(0),routerAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),signature:e.string().regex(/^0x[0-9a-fA-F]+$/)}),we=e.object({redirect:e.url()}),Te=e.object({method:e.enum([`signed`]),paymentId:e.string().min(1)}),Ee=e.object({method:e.enum([`offline`])});e.discriminatedUnion(`method`,[Te.extend({method:e.literal(`signed`)}),Ee.extend({method:e.literal(`offline`)})]);const De=e.object({consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),periodStart:e.iso.datetime(),offlineAutoChargeEnabled:e.boolean(),perTxOfflineCapCents:e.int().gte(0).nullable()}),Oe=e.object({authorizations:e.array(De)}),ke=e.int().gte(100).lte(1e5).nullable();e.object({offlineAutoChargeEnabled:e.boolean().optional(),perTxOfflineCapCents:ke.optional(),monthlyLimitCents:le.optional()});const Ae=e.object({clientName:e.string().min(1),connectedAt:e.iso.datetime()});e.object({connections:e.array(Ae)});const je=e.object({consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),monthlyLimitTronCents:e.int().gte(0).nullable(),monthSpentTronCents:e.int().gte(0),autoApproveTronCapCents:e.int().gte(0).nullable()});e.object({authorizations:e.array(je).max(200)}),e.object({monthlyTronLimitCents:e.int().gt(0).lte(1e8).nullish(),autoApproveTronCapCents:e.int().gt(0).lte(1e8).nullish()});const T=e.string().min(3).max(40).regex(/^[a-z0-9-]+$/),Me=e.object({appId:e.uuid(),name:e.string().min(1).max(80),slug:T,bannerUrl:e.url().nullable(),thumbnailUrl:e.url().nullable(),thumbnailVideoUrl:e.url().nullable(),categories:e.array(e.enum(`adventure.battle_royale.board.cards.casino.casual.fighting.idle.mmo.moba.platformer.prediction.puzzle.racing.rhythm.roguelike.rpg.rts.sandbox.shooter.simulation.sports.strategy.survival.tools.tower_defense.visual_novel.other`.split(`.`))),studio:e.object({name:e.string().min(1).max(80).nullable(),logoUrl:e.url().nullable()}).nullable(),firstPublishedAt:e.iso.datetime()}),Ne=e.object({items:e.array(Me),nextBefore:e.iso.datetime().nullable()}),E=e.array(e.enum(`adventure.battle_royale.board.cards.casino.casual.fighting.idle.mmo.moba.platformer.prediction.puzzle.racing.rhythm.roguelike.rpg.rts.sandbox.shooter.simulation.sports.strategy.survival.tools.tower_defense.visual_novel.other`.split(`.`))).max(4),Pe=e.string().min(1).max(80),Fe=e.object({url:e.url().max(2048),caption:e.string().max(200).optional(),order:e.int().gte(0)}),Ie=e.array(Fe).max(6),Le=e.object({heading:e.string().min(1).max(80),body:e.string().min(1).max(2e3),order:e.int().gte(0)}),Re=e.array(Le).max(8),ze=e.object({label:e.string().min(1).max(40),url:e.url().max(2048),order:e.int().gte(0)}),Be=e.array(ze).max(10),Ve=e.object({name:e.string().nullable(),logoUrl:e.url().nullable(),websiteUrl:e.url().nullable(),xHandle:e.string().nullable(),githubUrl:e.url().nullable()}),He=e.object({appId:e.uuid(),slug:T,appName:e.string(),appLogoUrl:e.url().nullable(),categories:E,tagline:Pe,bannerUrl:e.url().nullable(),playUrl:e.url().nullable(),discordUrl:e.url().nullable(),twitterUrl:e.url().nullable(),redditUrl:e.url().nullable(),telegramUrl:e.url().nullable(),gallery:Ie,chapters:Re,links:Be,studio:Ve,oauthScopes:e.array(e.string()),chains:e.array(e.string()),publishedAt:e.iso.datetime()}),Ue=e.object({1:e.int().gte(0),2:e.int().gte(0),3:e.int().gte(0),4:e.int().gte(0),5:e.int().gte(0)}),We=e.object({average:e.number().gte(1).lte(5).nullable(),count:e.int().gte(0),distribution:Ue}),Ge=e.int().gte(1).lte(5),Ke=e.string().min(1).max(2e3),qe=e.object({name:e.string().min(1).max(80).nullable(),avatarUrl:e.url().nullable()}),Je=e.string().min(1).max(2e3),Ye=e.object({body:Je,repliedAt:e.iso.datetime()}).nullable(),Xe=e.object({id:e.uuid(),rating:Ge,body:Ke,author:qe,developerReply:Ye,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}),Ze=e.object({aggregate:We,reviews:e.array(Xe),total:e.int().gte(0),hasMore:e.boolean()}),Qe=e.enum([`newest`,`oldest`,`highest`,`lowest`]).default(`newest`),$e=e.enum([`payment`,`reward`]).nullable(),et=e.object({id:e.uuid(),rating:Ge,body:Ke,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).nullable(),tt=e.object({eligible:e.boolean(),eligibleVia:$e,review:et,isAppOwner:e.boolean()});e.object({rating:Ge,body:Ke});const nt=e.object({developerReply:Ye});e.object({body:Je});const rt=e.object({created:e.boolean()}),it=e.enum([`abuse`,`inappropriate_content`,`cheating`,`spam`,`other`]);e.object({category:it,details:e.string().max(2e3).optional()});const at=e.enum([`open`,`acknowledged`,`dismissed`]),ot=e.object({id:e.uuid(),category:it,details:e.string().nullable(),status:at,acknowledgedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),st=e.object({reports:e.array(ot),total:e.int().gte(0),hasMore:e.boolean()});e.object({status:e.enum([`acknowledged`,`dismissed`])});const ct=e.object({id:e.string().min(1),family:e.enum([`evm`,`solana`]),displayName:e.string().min(1),chainId:e.int().optional(),paymentRouter:e.string().optional(),paymentProgram:e.string().optional()}),lt=e.object({chains:e.array(ct)}),ut=e.object({id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),payer:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vaultKind:e.enum([`credit`,`platform`]),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),grossAmount:e.string().regex(/^\d+$/),creditedAmount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`]).nullable(),appealable:e.boolean(),vaultReleaseAt:e.iso.datetime().nullable(),consolidatedAt:e.iso.datetime().nullable(),status:e.enum([`pending`,`completed`,`expired`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),deadline:e.iso.datetime(),signedAt:e.iso.datetime(),completedAt:e.iso.datetime().nullable(),recipientApp:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}).nullable()}),dt=e.object({payments:e.array(ut),nextBefore:e.iso.datetime().nullable()}),ft=e.object({kind:e.enum([`payment`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`,`incoming`]),payer:e.string().regex(/^0x[0-9a-fA-F]{40}$/),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),beneficiaryApp:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vaultKind:e.enum([`credit`,`platform`]),targetKind:e.enum([`credit`,`pot`]),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),grossAmount:e.string().regex(/^\d+$/),creditedAmount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`]).nullable(),appealable:e.boolean(),disputableLegId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vaultReleaseAt:e.iso.datetime().nullable(),consolidatedAt:e.iso.datetime().nullable(),status:e.enum([`pending`,`completed`,`expired`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),logIndex:e.int().gte(0).nullable(),metadata:w.nullish(),usdCents:e.int().gte(0).nullable()}),pt=e.object({kind:e.enum([`payment_withdrawal`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),mt=e.object({kind:e.enum([`matured_withdrawal`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),ht=e.object({kind:e.enum([`payout_sent`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),metadata:w.nullish(),usdCents:e.int().gte(0).nullable()}),gt=e.object({kind:e.enum([`credit_transferred`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),_t=e.object({kind:e.enum([`pot_leg`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),distributionId:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),settlement:e.enum([`instant`,`locked`]),releaseAt:e.iso.datetime().nullable(),claimedAt:e.iso.datetime().nullable(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),logIndex:e.int().gte(0).nullable(),metadata:w.nullish(),usdCents:e.int().gte(0).nullable()}),vt=e.object({kind:e.enum([`payment_autoclaim`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),autoclaimKind:e.enum([`withdraw_matured`,`withdraw_escrow`,`claim_refund`]),status:e.enum([`pending`,`in_flight`,`succeeded`,`skipped`,`failed`]),attempts:e.int().gte(0),lastError:e.string().nullable(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),settledAt:e.iso.datetime().nullable()}),yt=e.object({kind:e.enum([`appeal`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`]),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),status:e.enum([`pending_onchain`,`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),logIndex:e.int().gte(0).nullable(),resolvedAt:e.iso.datetime().nullable(),refundClaimedAt:e.iso.datetime().nullable(),hasRoom:e.boolean(),resolution:e.object({resolutionId:e.string().regex(/^0x[0-9a-f]{32}$/),outcome:e.int().gte(0).lte(1),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]{130}$/)}).nullable(),usdCents:e.int().gte(0).nullable()}),bt=e.object({kind:e.enum([`moonpay_buy`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),externalId:e.string().min(1),fiatAmountCents:e.int().gte(0),fiatCurrency:e.string().min(1),cryptoAmount:e.string().regex(/^\d+$/),cryptoToken:e.string().regex(/^0x[0-9a-fA-F]{40}$/),cryptoTxHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),status:e.enum([`pending`,`completed`,`failed`])}),xt=e.object({kind:e.enum([`moonpay_sell`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`]),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),externalId:e.string().min(1),fiatAmountCents:e.int().gte(0),fiatCurrency:e.string().min(1),cryptoAmount:e.string().regex(/^\d+$/),cryptoToken:e.string().regex(/^0x[0-9a-fA-F]{40}$/),cryptoTxHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),status:e.enum([`pending`,`completed`,`failed`])}),St=e.object({kind:e.enum([`tron_deposit`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),amountCents:e.int().gt(0),status:e.enum([`completed`,`disputed`,`clawed_back`]),receiptUrl:e.url().nullable(),paymentIntentId:e.string().min(1).nullable()}),Ct=e.object({kind:e.enum([`tron_pot`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`incoming`,`outgoing`]),leg:e.enum([`stake`,`payout`,`dev_cut`,`purchase`,`referral`]),amountCents:e.int().gt(0),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),metadata:w.nullish()}),wt=e.object({kind:e.enum([`tron_cashout`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`]),method:e.enum([`stripe`,`usdc`]),amountCents:e.int().gt(0),feeCents:e.int().gte(0),destinationAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),chain:e.string().min(1).nullable(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),status:e.enum([`pending`,`approved`,`rejected`,`settled`,`failed`]),stripeTransferId:e.string().min(1).nullable(),rejectionReason:e.string().min(1).nullable(),settledAt:e.iso.datetime().nullable()}),Tt=e.object({kind:e.enum([`referral_earning`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),referralAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),reversed:e.boolean(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),Et=e.discriminatedUnion(`kind`,[ft.extend({kind:e.literal(`payment`)}),pt.extend({kind:e.literal(`payment_withdrawal`)}),mt.extend({kind:e.literal(`matured_withdrawal`)}),ht.extend({kind:e.literal(`payout_sent`)}),gt.extend({kind:e.literal(`credit_transferred`)}),_t.extend({kind:e.literal(`pot_leg`)}),vt.extend({kind:e.literal(`payment_autoclaim`)}),yt.extend({kind:e.literal(`appeal`)}),bt.extend({kind:e.literal(`moonpay_buy`)}),xt.extend({kind:e.literal(`moonpay_sell`)}),St.extend({kind:e.literal(`tron_deposit`)}),Ct.extend({kind:e.literal(`tron_pot`)}),wt.extend({kind:e.literal(`tron_cashout`)}),Tt.extend({kind:e.literal(`referral_earning`)})]),Dt=e.object({rows:e.array(Et),nextBefore:e.iso.datetime().nullable(),nextCursor:e.string().nullable(),hasHidden:e.boolean()}),Ot=e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),creditedWei:e.string().regex(/^\d+$/),drainedWei:e.string().regex(/^\d+$/),outstandingWei:e.string().regex(/^\d+$/)}),kt=e.object({rows:e.array(Ot)}),At=e.object({enabled:e.boolean(),direction:e.enum([`buy`,`sell`,`both`]).nullable(),countryCode:e.string().regex(/^[A-Z]{2}$/).nullable(),regionSupported:e.boolean()}),jt=e.object({url:e.url(),intentId:e.string().min(1),expiresAt:e.iso.datetime(),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});e.object({intentId:e.string().min(1)});const Mt=e.object({url:e.url(),transactionId:e.uuid(),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});e.object({usdcAmount:e.string().regex(/^\d+$/),chain:e.string().min(1).optional()});const Nt=e.object({enabled:e.boolean(),balanceCents:e.int().gte(0),frozenCents:e.int().gte(0),currency:e.enum([`tron`]),flagged:e.boolean(),minDepositCents:e.int().gt(0),maxDepositCents:e.int().gt(0)}),Pt=e.object({id:e.uuid(),kind:e.enum([`deposit`,`pot_stake`,`pot_payout`,`dev_earning`,`cashout_hold`,`cashout_release`,`dispute_freeze`,`dispute_unfreeze`,`hosted_billing`,`store_purchase`,`referral_earning`]),amountCents:e.int(),currency:e.string().min(1),createdAt:e.iso.datetime()}),Ft=e.object({entries:e.array(Pt).max(100),nextBefore:e.iso.datetime().nullable()}),It=e.object({clientSecret:e.string().min(1),publishableKey:e.string().min(1),amountCents:e.int().gt(0),currency:e.string().min(1),depositId:e.uuid()});e.object({amountCents:e.int().gt(0).lte(1e6)});const Lt=e.object({balanceCents:e.int().gte(0),rakeBps:e.int().gte(0).lte(3e3)}),Rt=e.object({status:e.enum([`completed`]),potId:e.string().regex(/^0x[0-9a-f]{32}$/),balanceCents:e.int().gte(0)}),zt=e.object({status:e.enum([`insufficient_balance`]),potId:e.string().regex(/^0x[0-9a-f]{32}$/),balanceCents:e.int().gte(0)}),Bt=e.object({status:e.enum([`redirect`]),intentId:e.string().min(1),redirectUrl:e.url(),amountCents:e.int().gt(0),potId:e.string().regex(/^0x[0-9a-f]{32}$/)}),Vt=e.discriminatedUnion(`status`,[Rt.extend({status:e.literal(`completed`)}),zt.extend({status:e.literal(`insufficient_balance`)}),Bt.extend({status:e.literal(`redirect`)})]);e.object({potId:e.string().regex(/^0x[0-9a-f]{32}$/),amountCents:e.int().gt(0),returnUri:e.url(),metadata:w.optional()});const Ht=e.object({status:e.enum([`completed`]),balanceCents:e.int().gte(0)}),Ut=e.object({status:e.enum([`insufficient_balance`]),balanceCents:e.int().gte(0)}),Wt=e.object({status:e.enum([`redirect`]),intentId:e.string().min(1),redirectUrl:e.url(),amountCents:e.int().gt(0)}),Gt=e.discriminatedUnion(`status`,[Ht.extend({status:e.literal(`completed`)}),Ut.extend({status:e.literal(`insufficient_balance`)}),Wt.extend({status:e.literal(`redirect`)})]);e.object({amountCents:e.int().gt(0),returnUri:e.url(),metadata:w.optional()}),e.object({intentId:e.string().min(1),consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),amountCents:e.int().gt(0),kind:e.enum([`pot_stake`,`store_purchase`]),potId:e.string().nullable(),monthlyLimitTronCents:e.int().gte(0).nullable(),monthSpentTronCents:e.int().gte(0),autoApproveTronCapCents:e.int().gte(0).nullable(),balanceCents:e.int().gte(0),returnUriHost:e.string().min(1),status:e.enum([`pending`]),expiresAt:e.iso.datetime()});const Kt=e.object({status:e.enum([`redirect`]),redirect:e.url()}),qt=e.object({status:e.enum([`insufficient_balance`]),balanceCents:e.int().gte(0)});e.discriminatedUnion(`status`,[Kt.extend({status:e.literal(`redirect`)}),qt.extend({status:e.literal(`insufficient_balance`)})]);const Jt=e.object({status:e.enum([`distributed`,`replayed`]),potId:e.string().regex(/^0x[0-9a-f]{32}$/),potBalanceCents:e.int().gte(0)});e.object({potId:e.string().regex(/^0x[0-9a-f]{32}$/),legs:e.array(e.object({recipientUserId:e.uuid(),amountCents:e.int().gt(0)})).max(64),rakeBps:e.int().gte(0).lte(1e4).optional(),devCutCents:e.int().gte(0).optional().default(0),closePot:e.boolean().optional().default(!0),metadata:w.optional()});const Yt=e.object({url:e.url()}),Xt=e.object({id:e.uuid(),method:e.enum([`stripe`,`usdc`]),status:e.enum([`pending`,`approved`,`rejected`,`settled`,`failed`]),amountCents:e.int().gt(0),feeCents:e.int().gte(0),currency:e.string().min(1),destinationAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),chain:e.string().min(1).nullable(),txHash:e.string().min(1).nullable(),rejectionReason:e.string().min(1).nullable(),createdAt:e.iso.datetime(),settledAt:e.iso.datetime().nullable()});e.object({method:e.enum([`stripe`,`usdc`]),amountCents:e.int().gt(0),chain:e.string().min(1).optional()});const Zt=e.object({requests:e.array(Xt).max(100)}),D=e.object({id:e.uuid(),method:e.enum([`stripe`,`usdc`]),status:e.enum([`pending`,`approved`,`rejected`,`settled`,`failed`]),amountCents:e.int().gt(0),feeCents:e.int().gte(0),currency:e.string().min(1),destinationAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),chain:e.string().min(1).nullable(),txHash:e.string().min(1).nullable(),rejectionReason:e.string().min(1).nullable(),createdAt:e.iso.datetime(),settledAt:e.iso.datetime().nullable(),userId:e.uuid(),requestIdHex:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),usdcAmount:e.string().regex(/^\d+$/).nullable(),backendSignature:e.string().regex(/^0x[0-9a-f]+$/).nullable(),signatureDeadline:e.iso.datetime().nullable(),poolAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable()}),Qt=e.object({requests:e.array(D).max(100)});e.object({reason:e.string().min(1).max(500)});const $t=e.array(e.object({id:e.enum([`ethereum-mainnet`,`base-mainnet`,`ethereum-sepolia`]),displayName:e.string().min(1),chainId:e.int().gt(0)})),O=e.string().min(1).max(24).regex(/^[a-z0-9]+$/).nullable(),en=e.object({id:e.string().min(1),name:e.string().min(1),deletedAt:e.iso.datetime().nullable()}).nullable(),k=e.object({native:e.string().regex(/^\d+(?:\.\d+)?$/),usdc:e.string().regex(/^\d+(?:\.\d+)?$/).optional()}),tn=e.object({"ethereum-mainnet":k.optional(),"base-mainnet":k.optional(),"ethereum-sepolia":k.optional()}),nn=e.enum([`infinite`,`custom`,`scoped`]).nullable(),rn=e.object({native:e.string().regex(/^\d+$/),usdc:e.string().regex(/^\d+$/)}).nullable(),an=e.object({mode:nn,caps:rn,policyId:e.string().min(1).nullable()}),on=e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/),label:O,kind:e.enum([`personal`,`app`]),app:en,balances:tn,delegation:an}),sn=e.object({chains:$t,wallets:e.array(on)}),cn=e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/),label:O});e.object({label:O});const ln=e.object({policyId:e.string().min(1).nullable()});e.union([e.object({mode:e.enum([`infinite`])}),e.object({mode:e.enum([`custom`]),caps:rn}),e.object({mode:e.enum([`scoped`])})]);const un=e.object({ok:e.literal(!0)});e.object({name:f.optional(),displayName:p.optional(),bio:e.string().min(1).max(256).nullish(),websiteUrl:ee.optional(),banner:h.optional(),presenceStatusMode:te.optional(),environmentViewMode:ne.optional()});const dn=e.object({id:e.string().min(1),title:e.string().max(500),gifUrl:e.url(),previewUrl:e.url(),width:e.int().gt(0),height:e.int().gt(0)}),fn=e.object({results:e.array(dn)}),pn=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),image:e.url().nullable()}),A=e.object({v:e.literal(1),alg:e.enum([`x25519-ecdh-hkdf-sha256-aes256gcm`]),senderPubKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),senderKeyId:e.string().min(1).max(128),recipientKeyId:e.string().min(1).max(128),iv:e.string().max(64).regex(/^[A-Za-z0-9_-]+$/),ct:e.string().max(16384).regex(/^[A-Za-z0-9_-]+$/)}).nullable(),mn=e.object({id:e.string().min(1),senderUserId:e.string().min(1),body:e.string().max(2e3),envelope:A.optional(),attachment:e.object({url:e.url(),count:e.int().gt(0)}).nullable(),sentAt:e.iso.datetime()}).nullable(),hn=e.object({kind:e.enum([`direct`]),id:e.string().min(1),otherParticipant:pn,lastMessage:mn,unreadCount:e.int().gte(0),pinnedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),j=e.string().min(1).max(80).regex(/^\S(?:.*\S)?$/),M=e.string().max(500).nullable(),gn=e.url().max(2048).nullable(),N=e.enum([`admin`,`member`]),_n=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),image:e.url().nullable(),role:N}),vn=e.object({kind:e.enum([`group`]),id:e.string().min(1),title:j,description:M,logoUrl:gn,participants:e.array(_n),myRole:N,lastMessage:mn,unreadCount:e.int().gte(0),pinnedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),P=e.discriminatedUnion(`kind`,[hn.extend({kind:e.literal(`direct`)}),vn.extend({kind:e.literal(`group`)})]),yn=e.object({threads:e.array(P)});e.object({thread:P,created:e.boolean()});const bn=e.object({kind:e.enum([`direct`]).optional().default(`direct`),recipientUserId:e.string().min(1)}),xn=e.object({kind:e.enum([`group`]),title:j,description:M.optional(),invitedUserIds:e.array(e.string().min(1)).min(1).max(100)}),F=e.object({ok:e.literal(!0)}),I=e.object({thread:vn});e.object({title:j.optional(),description:M.optional()});const Sn=e.object({id:e.string().min(1),senderUserId:e.string().min(1),body:e.string().max(2e3).nullable(),envelope:A.optional()}).nullable(),L=e.enum([`👍`,`👎`,`❤️`,`😂`,`😮`,`😢`,`🔥`,`🎉`,`🙏`,`👀`,`✅`,`🎮`]),Cn=e.object({emoji:L,count:e.int().gt(0),userIds:e.array(e.string().min(1))}),wn=e.enum([`image`]),R=e.object({id:e.string().min(1),kind:wn,url:e.url(),contentType:e.string().min(1),fileName:e.string().min(1),byteSize:e.int().gte(0),width:e.int().gt(0).nullable(),height:e.int().gt(0).nullable()}),Tn=e.object({url:e.url(),title:e.string().max(500).nullable(),description:e.string().max(1e3).nullable(),imageUrl:e.url().nullable(),siteName:e.string().max(200).nullable()}),En=e.object({id:e.string().min(1),threadId:e.string().min(1),senderUserId:e.string().min(1),body:e.string().max(2e3),envelope:A.optional(),sentAt:e.iso.datetime(),editedAt:e.iso.datetime().nullable(),deletedAt:e.iso.datetime().nullable(),replyTo:Sn,reactions:e.array(Cn),attachments:e.array(R),linkPreviews:e.array(Tn)}),Dn=e.object({messages:e.array(En),nextBefore:e.iso.datetime().nullable()}),On=e.string().max(2e3);e.object({body:On.optional(),envelope:A.optional(),replyToMessageId:e.string().min(1).optional(),attachmentIds:e.array(e.string().min(1)).max(3).optional()});const kn=e.string().min(1).max(2e3);e.object({body:kn.optional(),envelope:A.optional()});const An=e.object({aggregate:Cn.nullable()}),z=e.object({attachment:R});e.object({userIds:e.array(e.string().min(1)).min(1).max(100)});const jn=e.object({pinnedAt:e.iso.datetime()}),Mn=e.enum([`x25519`]),Nn=e.object({userId:e.string().min(1),keyId:e.string().min(1).max(128),publicKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),algorithm:Mn}),B=e.object({key:Nn});e.object({publicKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),keyId:e.string().min(1).max(128),algorithm:Mn});const Pn=e.object({threadId:e.string().min(1),key:Nn.nullable()}),Fn=e.object({keys:e.array(Pn)});e.object({threadIds:e.array(e.string().min(1)).min(1).max(200)});const In=e.object({exists:e.boolean(),attemptsRemaining:e.int().gte(0),kdfSalt:e.string().length(22).regex(/^[A-Za-z0-9_-]+$/).nullable(),kdfIterations:e.int().gte(1e5).lte(5e6).nullable()}),Ln=e.object({ok:e.literal(!0)});e.object({scalar:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),secret:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),pinKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),kdfSalt:e.string().length(22).regex(/^[A-Za-z0-9_-]+$/),kdfIterations:e.int().gte(1e5).lte(5e6)});const Rn=e.union([e.object({result:e.enum([`ok`]),scalar:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/)}),e.object({result:e.enum([`wrong-pin`]),attemptsRemaining:e.int().gte(0)})]);e.object({pinKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/)}),e.object({role:N});const V=e.object({name:e.string().nullable(),handle:e.string().nullable()}).nullable(),zn=e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),usdCents:e.int().nullable()}),Bn=e.object({code:e.string().nullable(),xLinked:e.boolean(),referrer:V,refereeCount:e.int().gte(0),lifetimeEarnings:e.array(zn),lifetimeUsdCents:e.int().nullable(),last30dEarnings:e.array(zn),last30dUsdCents:e.int().nullable()}),Vn=e.object({code:e.string().min(1),generatedAt:e.iso.datetime()}),Hn=e.object({status:e.enum([`eligible`,`already-referred`,`self-referral`,`unknown-code`,`revoked-code`,`window-expired`]),referrer:V}),Un=e.object({status:e.enum([`bound`,`already-referred`,`self-referral`,`unknown-code`,`revoked-code`,`window-expired`]),referrer:V});e.object({code:e.string().min(1).max(64),source:e.enum([`signup-url`,`manual-claim`,`cookie-restore`]).optional().default(`manual-claim`)});const H=e.string().regex(/^[a-f0-9]{64}$/);e.object({playSessionId:H,expiresAt:e.iso.datetime()});const U=e.uuid();e.object({appId:U});const Wn=e.object({ok:e.literal(!0),ttlSeconds:e.int().gt(0)});e.object({playSessionId:H,status:e.enum([`pending`,`active`,`ended`])});const Gn=e.uuid();e.object({playSessionId:H,userId:Gn}),e.object({status:e.enum([`pending`,`active`,`ended`])}),e.object({playSessionId:H}),e.object({status:e.enum([`ended`])}),e.object({playSessionId:H});const Kn=e.object({appId:U,name:e.string(),logoUrl:e.string().nullable(),sessionCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),qn=e.object({apps:e.array(Kn),totalSessionCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),Jn=e.object({date:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),appId:U,sessionCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),Yn=e.object({from:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),to:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),buckets:e.array(Jn)});e.object({appId:U,sessionCount:e.int().gte(0),uniquePlayerCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),e.object({followers:e.int().gte(0),following:e.int().gte(0),gamesPlayed:e.int().gte(0),totalPlaytimeSeconds:e.int().gte(0),reviewsLeft:e.int().gte(0),rewardsWon:e.int().gte(0),rewardsValueUsdCents:e.int().gte(0)});const Xn=e.object({date:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),rewardsWon:e.int().gte(0),valueUsdCents:e.int().gte(0)});e.object({from:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),to:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),totalRewardsWon:e.int().gte(0),totalValueUsdCents:e.int().gte(0),buckets:e.array(Xn)});const Zn=e.object({collectionId:e.string(),collectionAddress:e.string(),chain:e.string(),kind:e.enum([`erc721`,`erc1155`]),tokenId:e.string(),amount:e.string(),name:e.string().nullable(),imageAssetId:e.string().nullable(),bannerAssetId:e.string().nullable(),devMetadata:e.record(e.string(),e.unknown())}),Qn=e.object({items:e.array(Zn)}),$n=e.object({mintRequestId:e.string(),txHash:e.string(),status:e.enum([`submitted`,`completed`]),mintedTokenId:e.string().nullable()});e.object({collectionAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),chain:e.string().min(1),toWallet:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional(),toUserId:e.string().optional(),tokenId:e.string().regex(/^\d+$/).optional(),amount:e.string().regex(/^\d+$/).optional()});const er=e.object({requesterId:e.string().min(1),requesterName:e.string().min(1),requesterDisplayName:e.string().nullable(),requesterImage:e.url().nullable(),friendshipId:e.string().min(1)}),tr=e.object({accepterId:e.string().min(1),accepterName:e.string().min(1),accepterDisplayName:e.string().nullable(),accepterImage:e.url().nullable(),friendshipId:e.string().min(1)}),nr=e.object({appId:e.uuid(),appName:e.string().min(1),scope:e.enum([`publish`,`changes`])}),rr=e.object({appId:e.uuid(),appName:e.string().min(1),scope:e.enum([`publish`,`changes`]),notes:e.string().min(1).max(1e3)}),ir=e.object({appId:e.uuid(),appName:e.string().min(1),appLogoUrl:e.url().nullable(),inviterId:e.string().min(1),inviterName:e.string().min(1),inviterDisplayName:e.string().nullable()}),ar=e.object({appId:e.uuid(),appName:e.string().min(1),accepterId:e.string().min(1),accepterName:e.string().min(1),accepterDisplayName:e.string().nullable(),accepterImage:e.url().nullable()}),or=e.union([e.object({id:e.string().min(1),kind:e.enum([`friend_request`]),payload:er,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`friend_accepted`]),payload:tr,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_page_approved`]),payload:nr,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_page_rejected`]),payload:rr,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_participant_invite`]),payload:ir,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_participant_accepted`]),payload:ar,read:e.boolean(),createdAt:e.iso.datetime()})]),sr=e.object({notifications:e.array(or),unreadCount:e.int().gte(0)});e.object({ok:e.literal(!0)}),e.object({read:e.boolean()});const cr=e.enum([`online`,`offline`]),lr=e.object({user:pn,friendshipId:e.string().min(1),acceptedAt:e.iso.datetime(),onlineStatus:cr}),ur=e.object({friends:e.array(lr)});e.object({decision:e.enum([`accept`,`reject`])});const W=e.object({provider:e.enum([`twitter`,`discord`,`github`]),subject:e.string().min(1),username:e.string().nullable(),name:e.string().nullable(),profilePictureUrl:e.url().nullable(),verifiedAt:e.iso.datetime().nullable()}),dr=e.object({accounts:e.array(W)}),G=e.string().nullable(),fr=e.url().max(2048).nullable(),K=e.object({studioName:e.string().min(1).max(80).nullable(),studioUrl:e.url().max(2048).nullable(),studioXHandle:G,githubUrl:fr,logoUrl:e.url().max(2048).nullable()}),pr=e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().max(2048).nullable(),environment:e.enum([`development`,`production`])}),mr=e.object({profile:K,apps:e.array(pr)}).nullable(),hr=e.object({followers:e.int().gte(0),following:e.int().gte(0)}),gr=e.object({gamesPlayed:e.int().gte(0),totalPlaytimeSeconds:e.int().gte(0),reviewsLeft:e.int().gte(0),rewardsWon:e.int().gte(0),rewardsValueUsdCents:e.int().gte(0)}),_r=e.object({appId:e.string().min(1),name:e.string().min(1),logoUrl:e.url().max(2048).nullable(),sessionCount:e.int().gte(0),totalPlaytimeSeconds:e.int().gte(0)}),vr=e.object({appId:e.string().min(1),appName:e.string().min(1),appLogoUrl:e.url().max(2048).nullable(),rating:e.int().gte(1).lte(5),body:e.string(),createdAt:e.iso.datetime()}),yr=e.object({isFollowing:e.boolean(),isFollowedBy:e.boolean(),friendship:e.enum([`none`,`pending_out`,`pending_in`,`accepted`]),friendshipId:e.string().min(1).nullable()}).nullable(),br=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),bio:e.string().nullable(),websiteUrl:e.url().max(2048).nullable(),image:e.url().nullable(),banner:h,createdAt:e.iso.datetime(),socials:e.array(W),developer:mr,counts:hr,stats:gr,topGames:e.array(_r),recentReviews:e.array(vr),relationship:yr}),xr=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),image:e.url().nullable(),socials:e.array(W)}),Sr=e.object({results:e.array(xr)});e.object({ok:e.literal(!0),friendshipId:e.string().min(1)});const Cr=e.object({id:e.string().min(1),keyPrefix:e.string().min(1),scopes:e.array(e.enum([`developer:read`,`developer:apps`,`developer:pages`])),createdAt:e.iso.datetime(),expiresAt:e.iso.datetime().nullable(),lastUsedAt:e.iso.datetime().nullable(),revokedAt:e.iso.datetime().nullable()}),wr=e.object({key:Cr,secret:e.string().min(1)});e.object({scopes:e.array(e.enum([`developer:read`,`developer:apps`,`developer:pages`])).min(1),expiresAt:e.iso.datetime().nullish()});const Tr=e.object({keys:e.array(Cr)}),q=e.object({ok:e.literal(!0)}),Er=e.object({id:e.string().min(1)}),Dr=e.string().regex(/^[A-Za-z0-9 ._-]{1,40}$/),Or=e.object({chain:e.string().min(1),custody:e.enum([`server`])});e.object({name:Dr,chains:e.array(Or).optional()});const kr=e.string().min(1).max(2048),Ar=e.enum([`eth`,`tron`]),jr=e.array(Ar).min(1).max(2);e.object({name:Dr.optional(),logoUrl:e.url().max(2048).nullish(),testAccess:e.enum([`private`,`public`]).optional(),redirectUris:e.array(e.url().max(2048)).max(20).optional(),embedOrigins:e.array(kr).max(20).optional(),acceptedCurrencies:jr.optional(),paymentStatusWebhookUrl:e.url().max(2048).nullish(),paymentStatusWebhookUrlTest:e.url().max(2048).nullish()});const J=e.object({logoUrl:e.url().nullable()}),Mr=e.object({chain:e.string().min(1),token:e.string().min(1),tokenDecimals:e.int(),lockedWei:e.string(),unlockedWei:e.string(),walletBalanceWei:e.string().nullable()}),Nr=e.object({appId:e.string().min(1),balances:e.array(Mr)}),Pr=e.object({appId:e.string().min(1),availableCents:e.int().gte(0),lockedCents:e.int().gte(0),totalCents:e.int().gte(0)}),Fr=e.object({ts:e.iso.datetime(),sumCents:e.number(),paymentCount:e.int()}),Ir=e.object({appId:e.string().min(1),range:e.string().min(1),bucketSecs:e.int(),windowSecs:e.int(),chain:e.string().nullable(),buckets:e.array(Fr)}),Lr=e.object({ts:e.iso.datetime(),sessionCount:e.int(),uniquePlayerCount:e.int(),totalDurationSeconds:e.int()}),Rr=e.object({appId:e.string().min(1),range:e.string().min(1),bucketSecs:e.int(),windowSecs:e.int(),buckets:e.array(Lr)}),zr=e.object({appId:e.string().min(1),earnedCents:e.int(),earningEventCount:e.int(),distinctPayers:e.int(),sessionCount:e.int(),uniquePlayerCount:e.int(),totalPlaytimeSeconds:e.int()}),Br=e.object({chain:e.string().min(1),address:e.string().regex(/^0x[0-9a-fA-F]{40}$/),custody:e.enum([`server`]).nullable(),walletId:e.string().nullable(),autoSweepEnabled:e.boolean(),sweepThresholdCents:e.int().nullable()}),Vr=e.object({appId:e.string().min(1),wallets:e.array(Br)}),Hr=e.object({appId:e.string().min(1),chain:e.string().min(1),autoSweepEnabled:e.boolean(),sweepThresholdCents:e.int().nullable()});e.object({enabled:e.boolean(),thresholdCents:e.int().gt(0).nullish()});const Ur=e.object({appId:e.string().min(1),chain:e.string().min(1),custody:e.enum([`server`]),walletId:e.string().min(1),address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),Wr=e.object({appId:e.string().min(1),chain:e.string().min(1),token:e.string().min(1),txHash:e.string().min(1),amountWei:e.string().min(1),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),Gr=e.object({appId:e.string().min(1),chain:e.string().min(1),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),transfers:e.array(e.object({token:e.string().min(1),txHash:e.string().min(1),amountWei:e.string().min(1)}))}),Kr=e.object({id:e.string().min(1),clientId:e.string().min(1),environment:e.enum([`development`,`production`]),secretLast4:e.string().min(1),createdAt:e.iso.datetime(),lastUsedAt:e.iso.datetime().nullable()}),qr=e.object({key:Kr,clientSecret:e.string().min(1)}),Jr=e.object({ok:e.literal(!0),status:e.enum([`pending`,`approved`])});e.object({reason:e.string().min(1).max(500).optional()});const Yr=e.object({secret:e.string().regex(/^[a-f0-9]{64}$/),secretLast4:e.string().length(4)}),Xr=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),status:e.enum([`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),reason:e.string().nullable(),filedAt:e.iso.datetime(),resolvedAt:e.iso.datetime().nullable()}),Zr=e.object({appeals:e.array(Xr)}),Qr=e.object({paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),grossAmount:e.string().regex(/^\d+$/),creditedAmount:e.string().regex(/^\d+$/),vaultReleaseAt:e.iso.datetime(),signedAt:e.iso.datetime(),matured:e.boolean(),hasActiveAppeal:e.boolean()}),$r=e.object({deposits:e.array(Qr)}),ei=e.object({appCount:e.int().gte(0),availableCents:e.int().gte(0),lockedCents:e.int().gte(0),totalCents:e.int().gte(0)}),ti=e.object({userId:e.string().min(1),status:e.enum([`invited`,`accepted`,`revoked`]),name:e.string().nullable(),email:e.string().nullable(),image:e.url().nullable(),invitedAt:e.iso.datetime(),respondedAt:e.iso.datetime().nullable()}),ni=e.object({participants:e.array(ti)});e.object({identifier:e.string().min(1).max(80)});const ri=e.object({appId:e.string().min(1),appName:e.string().min(1),appLogoUrl:e.url().nullable(),status:e.enum([`invited`,`accepted`,`revoked`]),invitedAt:e.iso.datetime()}),ii=e.object({invites:e.array(ri)}),ai=e.object({id:e.string().min(1),displayName:e.string().nullable(),email:e.string().nullable()}).nullable(),oi=e.string().min(1).max(80).nullable(),si=e.string().min(10).max(1e3).nullable(),ci=e.object({policyVersion:e.string().min(1),policyAcceptedAt:e.iso.datetime(),logoUrl:e.url().max(2048).nullable(),email:e.email().nullable(),xHandle:G,teamName:oi,projectDescription:si}),li=e.object({reason:e.string().min(1).max(500).optional()}),ui=e.object({id:e.string().min(1),userId:e.string().min(1),user:ai,kind:e.enum([`role`,`production`]),status:e.enum([`pending`,`approved`,`rejected`,`cancelled`]),appId:e.string().min(1).nullable(),payload:e.union([e.object({kind:e.enum([`role`]),data:ci}),e.object({kind:e.enum([`production`]),data:li})]),reviewedBy:e.string().min(1).nullable(),reviewedAt:e.iso.datetime().nullable(),reviewNotes:e.string().nullable(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).nullable(),di=e.object({chain:e.string().min(1),address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),fi=e.object({id:e.string().min(1),name:Dr,logoUrl:e.url().max(2048).nullable(),environment:e.enum([`development`,`production`]),productionApprovedAt:e.iso.datetime().nullable(),testAccess:e.enum([`private`,`public`]),createdAt:e.iso.datetime(),redirectUris:e.array(e.url().max(2048)),embedOrigins:e.array(kr),acceptedCurrencies:jr,payoutAddresses:e.array(di),keys:e.array(Kr),pendingProductionRequestId:e.string().min(1).nullable(),paymentStatusWebhookUrl:e.url().max(2048).nullable(),paymentStatusWebhookSecretLast4:e.string().length(4).nullable(),paymentStatusWebhookUrlTest:e.url().max(2048).nullable(),paymentStatusWebhookSecretLast4Test:e.string().length(4).nullable()}),pi=e.object({roleStatus:e.enum([`none`,`pending`,`approved`,`rejected`,`cancelled`]),latestRequest:ui,profile:K.nullable(),apps:e.array(fi)});e.object({studioName:e.string().min(1).max(80).nullish(),studioUrl:e.url().max(2048).nullish(),studioXHandle:G.optional(),githubUrl:fr.optional(),logoUrl:e.url().max(2048).nullish()}),e.object({acceptPolicy:e.literal(!0),logoUrl:e.url().max(2048).optional(),email:e.email().optional(),teamName:oi.optional(),projectDescription:si.optional()});const Y=e.object({appId:e.uuid(),slug:T.nullable(),status:e.enum([`draft`,`pending_review`,`published`,`hidden`]),categories:E,tagline:Pe.nullable(),bannerUrl:e.url().max(2048).nullable(),thumbnailUrl:e.url().max(2048).nullable(),thumbnailVideoUrl:e.url().max(2048).nullable(),playUrl:e.url().max(2048).nullable(),discordUrl:e.url().max(2048).nullable(),twitterUrl:e.url().max(2048).nullable(),redditUrl:e.url().max(2048).nullable(),telegramUrl:e.url().max(2048).nullable(),gallery:Ie,chapters:Re,links:Be,firstPublishedAt:e.iso.datetime().nullable(),reviewedAt:e.iso.datetime().nullable(),reviewNotes:e.string().nullable(),hiddenAt:e.iso.datetime().nullable(),hiddenReasonPublic:e.string().nullable(),pendingReview:e.boolean()});e.object({slug:T.nullish(),categories:E.optional(),tagline:Pe.nullish(),bannerUrl:e.url().max(2048).nullish(),thumbnailUrl:e.url().max(2048).nullish(),thumbnailVideoUrl:e.url().max(2048).nullish(),playUrl:e.url().max(2048).nullish(),discordUrl:e.url().max(2048).nullish(),twitterUrl:e.url().max(2048).nullish(),redditUrl:e.url().max(2048).nullish(),telegramUrl:e.url().max(2048).nullish(),gallery:Ie.optional(),chapters:Re.optional(),links:Be.optional()});const mi=e.object({url:e.url().max(2048)}),hi=e.object({playSessionId:e.string().min(1),userId:e.uuid(),appId:e.uuid(),status:e.enum([`pending`,`active`]),userHalfFresh:e.boolean(),gameHalfFresh:e.boolean(),active:e.boolean(),startedAt:e.iso.datetime(),activatedAt:e.iso.datetime().nullable(),lastSeenAt:e.iso.datetime().nullable()}),gi=e.object({players:e.array(hi),total:e.int().gte(0),liveCount:e.int().gte(0),generatedAt:e.iso.datetime()}),_i=e.object({id:e.string().min(1),email:e.email().nullable(),role:g,addedBy:e.string().min(1).nullable(),addedAt:e.iso.datetime(),lastAccessedAt:e.iso.datetime().nullable()}),vi=e.object({admins:e.array(_i)}),yi=e.object({id:e.string()});e.object({email:e.email(),role:g.optional()});const bi=e.object({id:e.string(),role:g});e.object({role:g});const xi=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),email:e.email().nullable(),createdAt:e.iso.datetime(),bannedAt:e.iso.datetime().nullable(),deletedAt:e.iso.datetime().nullable()}),Si=e.object({users:e.array(xi),total:e.int().gte(0),offset:e.int().gte(0),limit:e.int().gt(0)}),Ci=e.object({id:e.string(),banned:e.boolean()});e.object({banned:e.boolean(),reason:e.string().min(1).max(280).optional()});const wi=e.object({id:e.string().min(1),actorId:e.string().min(1).nullable(),actorKind:e.enum([`user`,`system`,`service`]),action:e.string().min(1),targetType:e.string().min(1),targetId:e.string().min(1),purpose:e.string().min(1),legalBasis:e.enum([`consent`,`contract`,`legitimate-interest`,`legal-obligation`,`vital-interest`,`public-task`]),occurredAt:e.iso.datetime(),attributes:e.record(e.string(),e.unknown()),traceId:e.string().min(1).nullable()}),Ti=e.object({rows:e.array(wi),total:e.int().gte(0),offset:e.int().gte(0),limit:e.int().gt(0)}),Ei=e.object({requests:e.array(ui)}),Di=e.object({id:e.string().min(1),status:e.enum([`pending`,`approved`,`rejected`,`cancelled`])});e.object({decision:e.enum([`approve`,`reject`]),notes:e.string().min(1).max(1e3).optional()});const Oi=e.object({id:e.string().min(1),name:e.string(),environment:e.enum([`development`,`production`]),logoUrl:e.url().nullable(),productionApprovedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),ki=e.object({userId:e.string().min(1),email:e.email(),displayName:e.string().nullable(),image:e.url().nullable(),studio:K.nullable(),apps:e.array(Oi),grantedAt:e.iso.datetime().nullable()}),Ai=e.object({developers:e.array(ki)}),ji=e.object({appId:e.uuid(),appName:e.string(),ownerDisplayName:e.string().nullable(),ownerImage:e.string().nullable(),ownerUserId:e.uuid(),ownerEmail:e.string().nullable(),appLogoUrl:e.string().nullable(),slug:e.string().nullable(),status:e.enum([`draft`,`pending_review`,`published`,`hidden`]),categories:E,tagline:e.string().nullable(),submittedAt:e.iso.datetime().nullable(),firstPublishedAt:e.iso.datetime().nullable(),hiddenAt:e.iso.datetime().nullable(),hiddenReasonInternal:e.string().nullable(),pendingChangesSubmittedAt:e.iso.datetime().nullable()}),Mi=e.object({items:e.array(ji)}),X=e.object({status:e.enum([`draft`,`pending_review`,`published`,`hidden`])});e.object({reasonPublic:e.string().min(1).max(500),reasonInternal:e.string().max(2e3).optional()}),e.union([e.object({decision:e.enum([`approve`])}),e.object({decision:e.enum([`reject`]),notes:e.string().min(1).max(1e3)})]);const Ni=e.object({field:e.string(),label:e.string(),from:e.string(),to:e.string()}),Pi=e.object({appId:e.uuid(),submittedAt:e.iso.datetime().nullable(),changes:e.array(Ni)}),Fi=e.object({purchaseFeeBps:e.int().gte(0).lte(1e4),stakeFeeBps:e.int().gte(0).lte(1e4),updatedAt:e.iso.datetime(),updatedBy:e.string().min(1).nullable()}),Z=e.object({chain:e.string().min(1),chainId:e.int().gte(0),to:e.string().regex(/^0x[0-9a-fA-F]{40}$/),calldataHex:e.string().regex(/^0x[0-9a-fA-F]*$/)}),Ii=e.object({target:e.enum([`purchase`]),envelope:Z}),Li=e.object({purchaseFeeBps:e.int().gte(0).lte(1e4),stakeFeeBps:e.int().gte(0).lte(1e4),updatedAt:e.iso.datetime(),updatedBy:e.string().min(1).nullable(),envelopes:e.array(Ii)});e.object({purchaseFeeBps:e.int().gte(0).lte(1e4).optional(),stakeFeeBps:e.int().gte(0).lte(1e4).optional()});const Ri=e.object({appId:e.string().min(1),platformFeeBps:e.int().gte(0).lte(1e4).nullable(),rakeCapBps:e.int().gte(0).lte(3e3).nullable(),effectivePlatformFeeBps:e.int().gte(0).lte(1e4),effectiveRakeCapBps:e.int().gte(0).lte(3e3),updatedAt:e.iso.datetime().nullable(),updatedBy:e.string().min(1).nullable()});e.object({platformFeeBps:e.int().gte(0).lte(1e4).nullish(),rakeCapBps:e.int().gte(0).lte(3e3).nullish()}),e.object({chain:e.string().min(1),vaultAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),action:e.enum([`add`,`remove`])}),e.object({chain:e.string().min(1),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),newTreasury:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});const zi=e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),reason:e.string().min(1),flaggedBy:e.string().min(1),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()});e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),reason:e.string().min(1).max(2e3)});const Bi=e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),removed:e.literal(!0)});e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});const Vi=e.object({entries:e.array(zi)});e.object({chain:e.string().min(1),target:e.enum([`router`,`credit_vault`,`platform_vault`]),newOperator:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({chain:e.string().min(1),target:e.enum([`router`,`credit_vault`,`platform_vault`]),action:e.enum([`pause`,`unpause`])}),e.object({chain:e.string().min(1),vaultAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),lockSeconds:e.int().gte(0)}),e.object({chain:e.string().min(1),account:e.string().regex(/^0x[0-9a-fA-F]{40}$/),lockSeconds:e.int().gte(0)});const Hi=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),status:e.enum([`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),reason:e.string().nullable(),filedAt:e.iso.datetime(),resolvedAt:e.iso.datetime().nullable(),resolvedBy:e.string().nullable(),resolutionNotes:e.string().nullable()}),Ui=e.object({appeals:e.array(Hi),nextCursorFiledAt:e.iso.datetime().nullable()}),Wi=e.enum([`pending_onchain`,`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),Gi=e.enum([`purchase`,`pot`,`matured`]),Ki=e.object({source:Gi,chain:e.string(),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),depositId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellantUserId:e.string().nullable(),respondent:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),respondentUserId:e.string().nullable(),reason:e.string().nullable(),filedAt:e.iso.datetime(),resolvedAt:e.iso.datetime().nullable(),resolution:e.object({resolutionId:e.string().regex(/^0x[0-9a-f]{32}$/),outcome:e.int().gte(0).lte(1),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]+$/)}).nullable(),refundClaimedAt:e.iso.datetime().nullable()}),qi=e.enum([`party`,`admin`,`system`]),Ji=e.object({id:e.string().min(1),senderUserId:e.string().nullable(),senderRole:qi,body:e.string().nullable(),attachments:e.array(R),sentAt:e.iso.datetime()}),Yi=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),threadId:e.string().nullable(),status:Wi,readOnly:e.boolean(),canResolve:e.boolean(),detail:Ki,messages:e.array(Ji)}),Xi=e.object({message:Ji});e.object({body:e.string().min(1).max(4e3).optional(),attachmentIds:e.array(e.string().min(1)).max(3).optional()});const Zi=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),resolutionId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),outcome:e.int().gte(0).lte(1),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]+$/),status:e.enum([`resolved_refund`,`resolved_dismiss`])});e.object({decision:e.enum([`refund`,`dismiss`]),notes:e.string().min(1).max(2e3).optional()});const Qi=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]+$/)});e.object({paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),amount:e.string().regex(/^\d+$/),reason:e.string().min(1).max(2e3)}),e.object({legId:e.string().regex(/^0x[0-9a-f]{32}$/),reason:e.string().min(1).max(2e3)});const $i=e.object({kind:e.enum([`direct`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/)}),ea=e.object({kind:e.enum([`pull`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/)}),ta=e.discriminatedUnion(`kind`,[$i.extend({kind:e.literal(`direct`)}),ea.extend({kind:e.literal(`pull`)})]);e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional(),recipientUserId:e.string().min(1).optional(),metadata:w.optional()});const na=e.object({distributionId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),closePot:e.boolean(),legs:e.array(e.object({recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`])}))});e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),closePot:e.boolean().optional().default(!0),legs:e.array(e.object({recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional(),recipientUserId:e.string().min(1).optional(),amount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`]).optional().default(`locked`)})).min(1).max(50),metadata:w.optional()});const ra=e.object({potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/)});e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/)}),e.object({status:e.enum([`ok`])});const ia=e.object({id:e.string(),purpose:e.string(),version:e.string(),grantedAt:e.iso.datetime(),withdrawnAt:e.iso.datetime().nullable()}),aa=e.object({accountId:e.string(),providerId:e.string(),hasPassword:e.boolean(),scope:e.string().nullable(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}),oa=e.object({id:e.string(),action:e.string(),targetType:e.string(),targetId:e.string(),purpose:e.string(),legalBasis:e.string(),occurredAt:e.iso.datetime(),traceId:e.string().nullable(),attributes:e.record(e.string(),e.unknown())}),sa=e.object({id:e.string(),threadId:e.string(),contentMode:e.enum([`plaintext`,`e2e-encrypted`]),body:e.string().nullable(),envelope:e.unknown().optional(),note:e.string().nullable(),sentAt:e.iso.datetime(),editedAt:e.iso.datetime().nullable(),deletedAt:e.iso.datetime().nullable()});e.object({user:_,sessions:e.array(ie),consents:e.array(ia),accounts:e.array(aa),auditEvents:e.array(oa),messages:e.array(sa),exportedAt:e.iso.datetime()}),e.object({name:f.optional(),image:e.string().min(1).max(2048).nullish()});const ca=e.object({purpose:e.string(),version:e.string(),grantedAt:e.iso.datetime(),withdrawnAt:e.iso.datetime().nullable()});e.object({consents:e.array(ca)});const la=e.string().regex(/^[a-z][a-z0-9-]{2,63}$/);e.object({purpose:la,version:e.string().min(1).max(64),granted:e.boolean()}),e.object({token:e.string().min(1),callbackURL:e.url().optional()}),e.object({response_type:e.enum([`code`]),client_id:b,redirect_uri:v,scope:y,state:se,code_challenge:ce,code_challenge_method:e.enum([`S256`]),prompt:e.enum([`consent`]).optional()}),e.object({request:x}),e.object({client_id:e.string().min(1),return_uri:e.url()}),e.object({clientId:e.string().min(1)}),e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/).optional(),usdCents:e.int().gte(0).nullish()});const ua=Oe;e.void(),e.void(),e.void(),e.object({genre:e.enum(`adventure.battle_royale.board.cards.casino.casual.fighting.idle.mmo.moba.platformer.prediction.puzzle.racing.rhythm.roguelike.rpg.rts.sandbox.shooter.simulation.sports.strategy.survival.tools.tower_defense.visual_novel.other`.split(`.`)).optional(),q:e.string().min(1).max(200).optional(),before:e.iso.datetime().optional(),limit:e.int().gte(1).lte(48).optional().default(24)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({sort:Qe.optional(),limit:e.int().gte(1).lte(50).optional().default(10),offset:e.int().gte(0).nullish().default(0)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({appId:e.uuid()}),e.object({sort:Qe.optional(),limit:e.int().gte(1).lte(50).optional().default(10),offset:e.int().gte(0).nullish().default(0)}),e.object({appId:e.uuid(),reviewId:e.uuid()}),e.object({appId:e.uuid(),reviewId:e.uuid()}),e.object({appId:e.uuid()});const da=rt;e.object({id:e.uuid()}),e.object({status:at.optional(),limit:e.int().gte(1).lte(50).optional().default(20),offset:e.int().gte(0).nullish().default(0)});const fa=st;e.object({id:e.uuid(),reportId:e.uuid()});const pa=ot;e.object({status:e.enum([`pending`,`completed`,`expired`,`all`]).optional().default(`completed`),limit:e.int().gte(1).lte(100).optional().default(20),before:e.iso.datetime().optional()}),e.object({kind:e.string().optional(),direction:e.enum([`outgoing`,`incoming`]).optional(),sort:e.enum([`newest`,`oldest`,`value_desc`,`value_asc`]).optional().default(`newest`),chain:e.string().min(1).optional(),limit:e.int().gte(1).lte(100).optional().default(20),cursor:e.string().min(1).optional(),before:e.iso.datetime().optional(),includeInactive:e.enum([`true`,`false`]).optional().default(`false`)}),e.object({groupId:e.string().min(1).max(128)}),e.object({chain:e.string().min(1).optional()}),e.object({before:e.iso.datetime().optional()}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});const ma=_,ha=_;e.object({file:e.string()});const ga=_;e.object({q:e.string().max(200).optional()});const _a=fn;e.union([bn,xn]),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({limit:e.int().gt(0).lte(100).optional(),before:e.iso.datetime().optional()}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1),msgId:e.string().min(1)}),e.object({id:e.string().min(1),msgId:e.string().min(1)}),e.object({id:e.string().min(1),msgId:e.string().min(1),emoji:L}),e.object({id:e.string().min(1),msgId:e.string().min(1),emoji:L}),e.object({id:e.string().min(1)}),e.object({file:e.string()}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({file:e.string()}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1),userId:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1),userId:e.string().min(1)}),e.object({regenerate:e.boolean().optional()}),e.object({code:e.string().min(1).max(64)});const va=Wn;e.object({days:e.int().gt(0).lte(366).optional().default(30)}),e.object({appId:e.uuid()}),e.object({days:e.int().gt(0).lte(366).optional().default(30)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({handle:e.string().min(1)}),e.object({q:e.string().min(1).max(64),limit:e.int().gte(1).lte(50).optional().default(20)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)});const ya=Tr,ba=wr;e.object({id:e.string().min(1)});const xa=q,Sa=Er;e.object({id:e.string().min(1)});const Ca=Er;e.object({id:e.string().min(1)});const wa=Er;e.object({id:e.string().min(1)});const Ta=J;e.object({file:e.string()}),e.object({id:e.string().min(1)});const Ea=J;e.object({id:e.string().min(1)});const Da=Nr;e.object({id:e.string().min(1)});const Oa=Pr;e.object({id:e.string().min(1)}),e.object({range:e.string().optional(),chain:e.string().optional()});const ka=Ir;e.object({id:e.string().min(1)}),e.object({range:e.string().optional()});const Aa=Rr;e.object({id:e.string().min(1)});const ja=zr;e.object({id:e.string().min(1)}),e.object({kind:e.string().optional(),direction:e.enum([`outgoing`,`incoming`]).optional(),sort:e.enum([`newest`,`oldest`,`value_desc`,`value_asc`]).optional().default(`newest`),chain:e.string().min(1).optional(),limit:e.int().gte(1).lte(100).optional().default(20),cursor:e.string().min(1).optional(),before:e.iso.datetime().optional(),includeInactive:e.enum([`true`,`false`]).optional().default(`false`)});const Ma=Dt;e.object({id:e.string().min(1)});const Na=Vr;e.object({id:e.string().min(1),chain:e.string().min(1)});const Pa=Hr;e.object({id:e.string().min(1),chain:e.string().min(1)});const Fa=Ur;e.object({id:e.string().min(1),chain:e.string().min(1)}),e.object({token:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional()});const Ia=Wr;e.object({id:e.string().min(1),chain:e.string().min(1)});const La=Gr;e.object({id:e.string().min(1),env:e.enum([`development`,`production`])});const Ra=qr;e.object({id:e.string().min(1)});const za=Jr;e.object({id:e.string().min(1)});const Ba=Yr;e.object({chain:e.string().optional()});const Va=Zr;e.object({chain:e.string().optional()});const Ha=$r,Ua=ei;e.object({id:e.string().min(1)});const Wa=ni;e.object({id:e.string().min(1)});const Ga=ni;e.object({id:e.string().min(1),userId:e.string().min(1)});const Ka=q,qa=ii;e.object({appId:e.string().min(1)});const Ja=q;e.object({appId:e.string().min(1)});const Ya=q,Xa=pi,Za=q,Qa=J;e.object({file:e.string()});const $a=J,eo=q,to=J;e.object({file:e.string()});const no=J;e.object({appId:e.string().min(1)});const ro=Y;e.object({appId:e.string().min(1)});const io=Y;e.object({appId:e.string().min(1)}),e.void(),e.object({file:e.string()}),e.object({appId:e.string().min(1)});const ao=e.object({bannerUrl:e.url()});e.object({appId:e.string().min(1)}),e.void(),e.object({file:e.string()}),e.object({appId:e.string().min(1)});const oo=e.object({thumbnailUrl:e.url()});e.object({appId:e.string().min(1)}),e.void(),e.object({file:e.string()}),e.object({appId:e.string().min(1)});const so=e.object({thumbnailVideoUrl:e.url()});e.object({file:e.string()}),e.object({appId:e.string().min(1)});const co=mi;e.object({appId:e.string().min(1)});const lo=Y;e.object({appId:e.string().min(1)});const uo=Y;e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({search:e.string().optional(),offset:e.int().gte(0).nullish(),limit:e.int().gt(0).lte(100).optional()}),e.object({id:e.string().min(1)}),e.object({action:e.string().optional(),actorId:e.string().optional(),targetType:e.string().optional(),targetId:e.string().optional(),offset:e.int().gte(0).nullish(),limit:e.int().gt(0).lte(100).optional()}),e.object({status:e.enum([`pending`,`approved`,`rejected`,`cancelled`]).optional(),kind:e.enum([`role`,`production`]).optional()}),e.object({id:e.string().min(1)}),e.object({status:e.union([e.enum([`draft`,`pending_review`,`published`,`hidden`]),e.enum([`all`]),e.enum([`pending_changes`])]).optional()}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({processorId:e.string().min(1)}),e.object({chain:e.string().min(1).optional()}),e.object({vaultAddress:e.string().min(1)}),e.object({vaultAddress:e.string().min(1)}),e.object({vaultAddress:e.string().min(1)}),e.object({vaultAddress:e.string().min(1)}),e.object({status:e.array(e.enum([`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`])).optional(),chain:e.string().min(1).optional(),cursorFiledAt:e.iso.datetime().optional(),limit:e.int().gte(1).lte(100).optional()}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({file:e.string()}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({file:e.string()}),e.object({appealId:e.string().min(1)}),e.void(),e.void();async function fo(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${mo(e.issuer)}/me/avatar`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return ga.parse(a)}async function po(e,t){let n=await a(e,{path:`/me/avatar`,method:`DELETE`,bearer:t.bearer});return ha.parse(n)}function mo(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function ho(e,t){let n=await a(e,{path:`/me/giphy/search`,bearer:t.bearer,query:{q:t.q}});return _a.parse(n)}async function go(e,t){let n=await a(e,{path:`/me/oauth/payment-authorizations`,bearer:t.bearer});return ua.parse(n)}async function _o(e,t){await s(e,{path:`/me/oauth/payment-authorizations/${encodeURIComponent(t.consentId)}`,method:`PATCH`,bearer:t.bearer,body:t.body})}async function vo(e,t){await s(e,{path:`/me/oauth/payment-authorizations/${encodeURIComponent(t.consentId)}`,method:`DELETE`,bearer:t.bearer})}async function yo(e,t){let n=await a(e,{path:`/me/presence/heartbeat`,method:`POST`,bearer:t.bearer});return va.parse(n)}async function bo(e,t){let n=await a(e,{path:`/me/profile`,method:`PATCH`,bearer:t.bearer,body:t.body});return ma.parse(n)}async function xo(e,t){let n=await a(e,{path:`/admin/active-players`,bearer:t.bearer});return gi.parse(n)}async function So(e,t){let n=await a(e,{path:`/admin/app-pages`,bearer:t.bearer,query:{status:t.status}});return Mi.parse(n)}async function Co(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/changes`,bearer:t.bearer});return Pi.parse(n)}async function wo(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/review-changes`,method:`POST`,bearer:t.bearer,body:t.body});return X.parse(n)}async function To(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/hide`,method:`POST`,bearer:t.bearer,body:t.body});return X.parse(n)}async function Eo(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/unhide`,method:`POST`,bearer:t.bearer});return X.parse(n)}async function Do(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/review`,method:`POST`,bearer:t.bearer,body:t.body});return X.parse(n)}async function Oo(e,t){let n=await a(e,{path:`/admin/payments/appeals`,bearer:t.bearer,query:{status:t.statuses===void 0?void 0:[...t.statuses],chain:t.chain,cursorFiledAt:t.cursorFiledAt,limit:t.limit}});return Ui.parse(n)}async function ko(e,t){let n=await a(e,{path:`/admin/payments/appeals/${encodeURIComponent(t.appealId)}/room`,bearer:t.bearer});return Yi.parse(n)}async function Ao(e,t){let n=await a(e,{path:`/admin/payments/appeals/${encodeURIComponent(t.appealId)}/room/messages`,method:`POST`,bearer:t.bearer,body:t.body});return Xi.parse(n)}async function jo(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${No(e.issuer)}/admin/payments/appeals/${encodeURIComponent(t.appealId)}/room/attachments`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return z.parse(a)}async function Mo(e,t){let n=await a(e,{path:`/admin/payments/appeals/${encodeURIComponent(t.appealId)}/resolve`,method:`POST`,bearer:t.bearer,body:t.body});return Zi.parse(n)}function No(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function Po(e,t){let n=await a(e,{path:`/admin/developer-requests`,bearer:t.bearer,query:{status:t.status,kind:t.kind}});return Ei.parse(n)}async function Fo(e,t){let n=await a(e,{path:`/admin/developer-requests/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return Di.parse(n)}async function Io(e,t){let n=await a(e,{path:`/admin/developers`,bearer:t.bearer});return Ai.parse(n)}async function Lo(e,t){let n=await a(e,{path:`/admin/platform-fees`,bearer:t.bearer});return Fi.parse(n)}async function Ro(e,t){let n=await a(e,{path:`/admin/platform-fees`,method:`PATCH`,bearer:t.bearer,body:t.body});return Li.parse(n)}async function zo(e,t){let n=await a(e,{path:`/admin/apps/${encodeURIComponent(t.appId)}/fee-config`,bearer:t.bearer});return Ri.parse(n)}async function Bo(e,t){let n=await a(e,{path:`/admin/apps/${encodeURIComponent(t.appId)}/fee-config`,method:`PATCH`,bearer:t.bearer,body:t.body});return Ri.parse(n)}async function Vo(e,t){let n=await a(e,{path:`/admin/payments/processors/whitelist`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Ho(e,t){let n=await a(e,{path:`/admin/payments/processors/${encodeURIComponent(t.processorId)}/treasury`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Uo(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/operator`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Wo(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/pause`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Go(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/withdraw-lock-default`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Ko(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/withdraw-lock-override`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function qo(e,t){let n=await a(e,{path:`/admin/payments/appeal-blacklist`,method:`POST`,bearer:t.bearer,body:t.body});return zi.parse(n)}async function Jo(e,t){let n=await a(e,{path:`/admin/payments/appeal-blacklist`,method:`DELETE`,bearer:t.bearer,body:t.body});return Bi.parse(n)}async function Yo(e,t){let n=await a(e,{path:`/admin/payments/appeal-blacklist`,bearer:t.bearer,query:{chain:t.chain}});return Vi.parse(n)}async function Xo(e,t){let n=await a(e,{path:`/admin/tron/cashouts${t.status===void 0?``:`?status=${encodeURIComponent(t.status)}`}`,bearer:t.bearer});return Qt.parse(n)}async function Zo(e,t){let n=await a(e,{path:`/admin/tron/cashouts/${encodeURIComponent(t.id)}/approve`,method:`POST`,bearer:t.bearer});return D.parse(n)}async function Qo(e,t){let n=await a(e,{path:`/admin/tron/cashouts/${encodeURIComponent(t.id)}/reject`,method:`POST`,bearer:t.bearer,body:t.body});return D.parse(n)}async function $o(e,t){let n=await a(e,{path:`/admin/admins`,bearer:t.bearer});return vi.parse(n)}async function es(e,t){let n=await a(e,{path:`/admin/admins`,method:`POST`,bearer:t.bearer,body:t.body});return yi.parse(n)}async function ts(e,t){let n=await a(e,{path:`/admin/admins/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return bi.parse(n)}async function ns(e,t){let n=await a(e,{path:`/admin/admins/${encodeURIComponent(t.id)}`,method:`DELETE`,bearer:t.bearer});return yi.parse(n)}async function rs(e,t){let n=await a(e,{path:`/admin/users`,bearer:t.bearer,query:{search:t.search,offset:t.offset,limit:t.limit}});return Si.parse(n)}async function is(e,t){let n=await a(e,{path:`/admin/users/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return Ci.parse(n)}async function as(e,t){let n=await a(e,{path:`/admin/audit`,bearer:t.bearer,query:{action:t.action,actorId:t.actorId,targetType:t.targetType,targetId:t.targetId,offset:t.offset,limit:t.limit}});return Ti.parse(n)}async function os(e,t){let n=await a(e,{path:`/public/apps/${encodeURIComponent(t.slug)}`,bearer:t.bearer});return He.parse(n)}async function ss(e,t){let n=await a(e,{path:`/me/apps/${encodeURIComponent(t.appId)}/report`,method:`POST`,bearer:t.bearer,body:t.report});return da.parse(n)}async function cs(e,t){let n=await a(e,{path:`/public/library`,bearer:t.bearer,query:{genre:t.genre,q:t.q,before:t.before,limit:t.limit}});return Ne.parse(n)}async function ls(e,t){let n=await a(e,{path:`/public/apps/${encodeURIComponent(t.slug)}/reviews`,bearer:t.bearer,query:{sort:t.sort,limit:t.limit,offset:t.offset}});return Ze.parse(n)}async function us(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/reviews`,bearer:t.bearer,query:{sort:t.sort,limit:t.limit,offset:t.offset}});return Ze.parse(n)}async function ds(e,t){let n=await a(e,{path:`/me/reviews/${encodeURIComponent(t.slug)}`,bearer:t.bearer});return tt.parse(n)}async function fs(e,t){let n=await a(e,{path:`/me/reviews/${encodeURIComponent(t.slug)}`,method:`PUT`,bearer:t.bearer,body:t.review});return tt.parse(n)}async function ps(e,t){let n=await a(e,{path:`/me/reviews/${encodeURIComponent(t.slug)}`,method:`DELETE`,bearer:t.bearer});return tt.parse(n)}async function ms(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/reviews/${encodeURIComponent(t.reviewId)}/reply`,method:`PUT`,bearer:t.bearer,body:t.reply});return nt.parse(n)}async function hs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/reviews/${encodeURIComponent(t.reviewId)}/reply`,method:`DELETE`,bearer:t.bearer});return nt.parse(n)}function gs(){let e=new Map;return{run:async(t,n)=>{let r=e.get(t);if(r!==void 0)return await r;let i=(async()=>{try{return await n()}finally{e.delete(t)}})();return e.set(t,i),await i}}}const _s=new Set([`localhost`,`127.0.0.1`,`::1`]);function vs(e,t={}){if(!(t.isProduction??ys()))return;let n;try{n=new URL(e)}catch{throw Error(`@metatrongg/sdk: invalid issuer URL: ${e}`)}if(n.protocol!==`https:`&&!(n.protocol===`http:`&&_s.has(n.hostname)))throw Error(`@metatrongg/sdk: issuer must be https:// in production (got ${n.protocol}//${n.host})`)}function ys(){return typeof process<`u`&&typeof process.env==`object`?process.env.NODE_ENV===`production`:!1}function bs(){return{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}}function xs(e=`[tron-sdk]`){return{debug:(t,n)=>{console.log(e,t,n??``)},info:(t,n)=>{console.info(e,t,n??``)},warn:(t,n)=>{console.warn(e,t,n??``)},error:(t,n)=>{console.error(e,t,n??``)}}}const Ss=6e4,Cs=60,ws=5,Ts={acquire:async()=>{await Promise.resolve()}};function Es(e,t){let n=Math.max(1,t),r=e/1e3,i=n,a=Date.now(),o=[],s=null;function c(){let e=Date.now();for(i=Math.min(n,i+(e-a)*r),a=e;o.length>0&&i>=1;)--i,o.shift()?.();if(o.length>0&&s===null){let e=Math.max(5,Math.ceil((1-i)/r));s=setTimeout(()=>{s=null,c()},e)}}return{acquire:async()=>{await new Promise(e=>{o.push(e),c()})}}}const Ds=e=>e===`GET`||e===`HEAD`,Os=e=>e/Ss*1e3;function ks(e={}){let t=Es(e.read?.requestsPerSecond??Os(60),e.read?.burst??60),n=Es(e.write?.requestsPerSecond??Os(5),e.write?.burst??5);return{acquire:async e=>{await(Ds(e)?t:n).acquire()}}}function As(){let e=new Map;return{async get(t){return e.get(t)??null},async set(t,n){e.set(t,n)},async clear(t){e.delete(t)}}}async function js(e,t){let n=await a(e,{path:`/payments/me/activity`,bearer:t.bearer,query:{kind:t.kind,direction:t.direction,sort:t.sort,chain:t.chain,limit:t.limit,cursor:t.cursor,before:t.before,includeInactive:t.includeInactive===!0?`true`:void 0}});return Dt.parse(n)}async function Ms(e,t){let n=await a(e,{path:`/payments/me/activity/group/${encodeURIComponent(t.groupId)}`,bearer:t.bearer});return Dt.parse(n)}async function Ns(e,t){let n=await a(e,{path:`/payments/chains`,bearer:t.bearer});return lt.parse(n)}async function Ps(e,t){let n=await a(e,{path:`/payments/me/outstanding`,bearer:t.bearer,query:{chain:t.chain}});return kt.parse(n)}async function Fs(e,t){let n=await a(e,{path:`/payments/me`,bearer:t.bearer,query:{status:t.status,limit:t.limit,before:t.before}});return dt.parse(n)}async function Is(e,t){let n=await a(e,{path:`/me/developer/keys`,method:`POST`,bearer:t.bearer,body:t.body});return ba.parse(n)}async function Ls(e,t){let n=await a(e,{path:`/me/developer/keys`,method:`GET`,bearer:t.bearer});return ya.parse(n)}async function Rs(e,t){let n=await a(e,{path:`/me/developer/keys/${encodeURIComponent(t.id)}`,method:`DELETE`,bearer:t.bearer});return xa.parse(n)}async function zs(e,t){let n=await a(e,{path:`/me/developer`,bearer:t.bearer});return Xa.parse(n)}async function Bs(e,t){let n=await a(e,{path:`/me/developer/profile`,method:`PATCH`,bearer:t.bearer,body:t.body});return Za.parse(n)}async function Vs(e,t){let n=await Q(e,{path:`/me/developer/profile/logo`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return $a.parse(n)}async function Hs(e,t){let n=await a(e,{path:`/me/developer/profile/logo`,method:`DELETE`,bearer:t.bearer});return Qa.parse(n)}async function Us(e,t){let n=await a(e,{path:`/me/developer/request`,method:`POST`,bearer:t.bearer,body:t.body});return eo.parse(n)}async function Ws(e,t){let n=await Q(e,{path:`/me/developer/request/logo`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return no.parse(n)}async function Gs(e,t){let n=await a(e,{path:`/me/developer/request/logo`,method:`DELETE`,bearer:t.bearer});return to.parse(n)}async function Q(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${Ks(e.issuer)}${t.path}`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}return await i.json()}function Ks(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function qs(e,t){let n=await a(e,{path:`/me/developer/apps`,method:`POST`,bearer:t.bearer,body:t.body});return Sa.parse(n)}async function Js(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return wa.parse(n)}async function Ys(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}`,method:`DELETE`,bearer:t.bearer});return Ca.parse(n)}async function Xs(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/logo`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return Ea.parse(n)}async function Zs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/logo`,method:`DELETE`,bearer:t.bearer});return Ta.parse(n)}async function Qs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/balances`,bearer:t.bearer});return Da.parse(n)}async function $s(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/tron-balance`,bearer:t.bearer});return Oa.parse(n)}async function ec(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/activity`,bearer:t.bearer,query:{kind:t.kind,direction:t.direction,sort:t.sort,chain:t.chain,limit:t.limit,cursor:t.cursor,before:t.before}});return Ma.parse(n)}async function tc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/earnings`,bearer:t.bearer,query:{range:t.range,chain:t.chain}});return ka.parse(n)}async function nc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/playtime`,bearer:t.bearer,query:{range:t.range}});return Aa.parse(n)}async function rc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/overview`,bearer:t.bearer});return ja.parse(n)}async function ic(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets`,bearer:t.bearer});return Na.parse(n)}async function ac(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/auto-sweep`,method:`PATCH`,bearer:t.bearer,body:t.body});return Pa.parse(n)}async function oc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/provision`,method:`POST`,bearer:t.bearer});return Fa.parse(n)}async function sc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/withdraw`,method:`POST`,bearer:t.bearer,query:{token:t.token}});return Ia.parse(n)}async function cc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/consolidate`,method:`POST`,bearer:t.bearer});return La.parse(n)}async function lc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/keys/${encodeURIComponent(t.env)}`,method:`PUT`,bearer:t.bearer});return Ra.parse(n)}async function uc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/production-request`,method:`POST`,bearer:t.bearer,body:t.body});return za.parse(n)}async function dc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/payment-status-webhook/secret`,method:`POST`,bearer:t.bearer});return Ba.parse(n)}async function fc(e,t){let n=await a(e,{path:`/me/developer/payments/appeals`,bearer:t.bearer,query:{chain:t.chain}});return Va.parse(n)}async function pc(e,t){let n=await a(e,{path:`/me/developer/payments/pending-deposits`,bearer:t.bearer,query:{chain:t.chain}});return Ha.parse(n)}async function mc(e,t){let n=await a(e,{path:`/me/developer/payments/tron-balance`,bearer:t.bearer});return Ua.parse(n)}async function hc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/reports`,bearer:t.bearer,query:{status:t.status,limit:t.limit,offset:t.offset}});return fa.parse(n)}async function gc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/reports/${encodeURIComponent(t.reportId)}`,method:`PATCH`,bearer:t.bearer,body:{status:t.status}});return pa.parse(n)}async function _c(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page`,bearer:t.bearer});return ro.parse(n)}async function vc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page`,method:`PATCH`,bearer:t.bearer,body:t.body});return io.parse(n)}async function yc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/banner`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return ao.parse(n)}async function bc(e,t){await s(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/banner`,method:`DELETE`,bearer:t.bearer})}async function xc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return oo.parse(n)}async function Sc(e,t){await s(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail`,method:`DELETE`,bearer:t.bearer})}async function Cc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail-video`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return so.parse(n)}async function wc(e,t){await s(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail-video`,method:`DELETE`,bearer:t.bearer})}async function Tc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/gallery`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return co.parse(n)}async function Ec(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/submit-for-review`,method:`POST`,bearer:t.bearer});return lo.parse(n)}async function Dc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/unpublish`,method:`POST`,bearer:t.bearer});return uo.parse(n)}async function Oc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/participants`,method:`GET`,bearer:t.bearer});return Wa.parse(n)}async function kc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/participants`,method:`POST`,bearer:t.bearer,body:t.body});return Ga.parse(n)}async function Ac(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/participants/${encodeURIComponent(t.userId)}`,method:`DELETE`,bearer:t.bearer});return Ka.parse(n)}async function jc(e,t){let n=await a(e,{path:`/me/developer/invites`,method:`GET`,bearer:t.bearer});return qa.parse(n)}async function Mc(e,t){let n=await a(e,{path:`/me/developer/invites/${encodeURIComponent(t.appId)}/accept`,method:`POST`,bearer:t.bearer});return Ja.parse(n)}async function Nc(e,t){let n=await a(e,{path:`/me/developer/invites/${encodeURIComponent(t.appId)}/decline`,method:`POST`,bearer:t.bearer});return Ya.parse(n)}const Pc=e.object({event:e.enum([`intent.completed`,`intent.denied`,`intent.expired`,`intent.txhash_indexed`]),deliveredAt:e.iso.datetime(),intent:xe});async function Fc(e){let t=e.signatureHeader;if(typeof t!=`string`||t===``)return{ok:!1,reason:`missing_signature`};let n=e.timestampHeader;if(typeof n!=`string`||n===``)return{ok:!1,reason:`missing_timestamp`};let r=Number(n);if(!Number.isFinite(r)||r<=0)return{ok:!1,reason:`invalid_timestamp`};let i=e.toleranceSeconds??300,a=Math.floor((e.now??Date.now())/1e3);if(Math.abs(a-r)>i)return{ok:!1,reason:`stale_timestamp`};if(!Lc(await Ic(e.secret,`${n}.${e.rawBody}`),t))return{ok:!1,reason:`signature_mismatch`};let o;try{o=JSON.parse(e.rawBody)}catch{return{ok:!1,reason:`schema_mismatch`}}let s=Pc.safeParse(o);return s.success?{ok:!0,body:s.data}:{ok:!1,reason:`schema_mismatch`}}async function Ic(e,t){let n=new TextEncoder,r=await crypto.subtle.importKey(`raw`,n.encode(e),{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]),i=await crypto.subtle.sign(`HMAC`,r,n.encode(t)),a=new Uint8Array(i),o=``;for(let e of a)o+=e.toString(16).padStart(2,`0`);return o}function Lc(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(n.length!==r.length)return!1;let i=0;for(let e=0;e<n.length;e++)i|=n.charCodeAt(e)^r.charCodeAt(e);return i===0}const Rc=`x-metatron-signature`,zc=`x-metatron-timestamp`;function Bc(e){let t=e.logger,n=WebSocket,r=e.WebSocketImpl??n;if(r===void 0)throw Error(`@metatrongg/sdk: WebSocket is not available; pass WebSocketImpl on node <22 or in a non-WS runtime`);let a=r,o=e.initialBackoffMs??1e3,s=e.maxBackoffMs??3e4,c=!1,l=o,u=null,d=null;function f(){if(c||d!==null)return;let e=1+(Math.random()-.5)*.5,t=Math.min(s,Math.max(o,l*e));l=Math.min(s,Math.max(o,l*2)),d=setTimeout(()=>{d=null,m()},t);let n=d.unref;typeof n==`function`&&n.call(d)}function p(){let t=new URL(e.issuer),n=t.protocol===`https:`?`wss:`:`ws:`,r=new URL(`/oauth/payments/events`,`${n}//${t.host}`);return r.searchParams.set(`client_id`,e.clientId),r.searchParams.set(`client_secret`,e.clientSecret),r.href}function m(){if(c)return;let n=p();t?.info(`tron events: connecting`,{origin:new URL(n).origin});let r=new a(n);u=r,r.addEventListener(`open`,()=>{l=o,e.lifecycle.onOpen?.()}),r.addEventListener(`message`,n=>{let r=typeof n.data==`string`?n.data:new TextDecoder().decode(n.data),i;try{i=JSON.parse(r)}catch{t?.warn(`tron events: non-json frame`,{preview:r.slice(0,200)});return}if(typeof i==`object`&&i&&`kind`in i){let t=i;t.kind===`subscribed`&&typeof t.appId==`string`&&e.lifecycle.onSubscribed?.(t.appId);return}let a=Pc.safeParse(i);if(!a.success){t?.warn(`tron events: schema mismatch`,{issues:a.error.issues});return}Promise.resolve(e.lifecycle.onMessage(a.data)).catch(n=>{let r=n instanceof Error?n:Error(String(n));t?.error(`tron events: onMessage threw`,{message:r.message}),e.lifecycle.onError?.(r)})}),r.addEventListener(`close`,n=>{u=null;let r=new i(n.code,n.reason);t?.warn(`tron events: closed`,{code:n.code,reason:n.reason}),e.lifecycle.onClose?.(r),e.shouldReconnect?.(r)??!r.isPermanent?f():c=!0}),r.addEventListener(`error`,()=>{e.lifecycle.onError?.(Error(`tron events: socket error (close incoming)`))})}return m(),{stop(){c=!0,d!==null&&(clearTimeout(d),d=null),u?.close(),u=null}}}async function Vc(e,t){let n=await a(e,{path:`/me/inventory`,bearer:t.bearer});return Qn.parse(n)}async function Hc(e,t){let n=await a(e,{path:`/oauth/inventory`,bearer:t.bearer});return Qn.parse(n)}async function Uc(e,t){let n=await a(e,{path:`/oauth/inventory/mint`,method:`POST`,bearer:t.appBearer,body:t.body});return $n.parse(n)}async function Wc(e,t){let n=await a(e,{path:`/me/dm-key-backup`,bearer:t.bearer});return In.parse(n)}async function Gc(e,t){let n=await a(e,{path:`/me/dm-key-backup`,method:`POST`,bearer:t.bearer,body:t.body});return Ln.parse(n)}async function Kc(e,t){let n=await a(e,{path:`/me/dm-key-backup/unlock`,method:`POST`,bearer:t.bearer,body:t.body});return Rn.parse(n)}async function qc(e,t){let n=await a(e,{path:`/me/dm-key`,method:`PUT`,bearer:t.bearer,body:t.body});return B.parse(n)}async function Jc(e,n){try{let t=await a(e,{path:`/me/dm-key`,bearer:n.bearer});return B.parse(t)}catch(e){if(e instanceof t&&e.status===404)return null;throw e}}async function Yc(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/dm-key`,bearer:t.bearer});return B.parse(n)}async function Xc(e,t){let n=await a(e,{path:`/me/threads/dm-keys`,method:`POST`,bearer:t.bearer,body:{threadIds:[...t.threadIds]}});return Fn.parse(n)}async function Zc(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${$c(e.issuer)}/me/threads/${encodeURIComponent(t.threadId)}/logo`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return I.parse(a)}async function Qc(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/logo`,method:`DELETE`,bearer:t.bearer});return I.parse(n)}function $c(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function el(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}`,method:`DELETE`,bearer:t.bearer});return F.parse(n)}async function tl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return En.parse(n)}async function nl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}/reactions/${encodeURIComponent(t.emoji)}`,method:`PUT`,bearer:t.bearer});return An.parse(n)}async function rl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}/reactions/${encodeURIComponent(t.emoji)}`,method:`DELETE`,bearer:t.bearer});return An.parse(n)}async function il(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/participants/${encodeURIComponent(t.userId)}`,method:`DELETE`,bearer:t.bearer});return I.parse(n)}async function al(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/participants/${encodeURIComponent(t.userId)}/role`,method:`PATCH`,bearer:t.bearer,body:t.body});return I.parse(n)}async function ol(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}`,method:`DELETE`,bearer:t.bearer});return F.parse(n)}async function sl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return I.parse(n)}async function cl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/hide`,method:`POST`,bearer:t.bearer});return F.parse(n)}async function ll(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/invite`,method:`POST`,bearer:t.bearer,body:t.body});return I.parse(n)}async function ul(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/leave`,method:`POST`,bearer:t.bearer});return F.parse(n)}async function dl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/pin`,method:`POST`,bearer:t.bearer});return jn.parse(n)}async function fl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/pin`,method:`DELETE`,bearer:t.bearer});return F.parse(n)}async function pl(e){let t=await a(e,{path:`/.well-known/oauth-authorization-server`});return ae.parse(t)}function ml(e){let t=e.endsWith(`/`)?e.slice(0,-1):e;return{authorize:`${t}/oauth/authorize`,token:`${t}/oauth/token`,userinfo:`${t}/userinfo`,revoke:`${t}/oauth/revoke`}}async function hl(){let e=$(vl(32));return{codeVerifier:e,codeChallenge:await gl(e)}}async function gl(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return $(new Uint8Array(n))}function _l(e=32){return $(vl(e))}function vl(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function $(e){let t=``;for(let n of e)t+=String.fromCodePoint(n);return(typeof btoa==`function`?btoa(t):Buffer.from(t,`binary`).toString(`base64`)).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replaceAll(/=+$/g,``)}async function yl(e){let t=e.pkce??await hl(),n=e.state??_l(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,scope:e.scopes.join(` `),state:n,code_challenge:t.codeChallenge,code_challenge_method:`S256`});e.forceConsent===!0&&r.set(`prompt`,`consent`);let{authorize:i}=ml(e.issuer);return{url:`${i}?${r.toString()}`,state:n,codeVerifier:t.codeVerifier,codeChallenge:t.codeChallenge}}async function bl(e,t){let n={grant_type:`authorization_code`,code:t.code,redirect_uri:t.redirectUri,code_verifier:t.codeVerifier,client_id:t.clientId};t.clientSecret!==void 0&&(n.client_secret=t.clientSecret);let r=await a(e,{path:`/oauth/token`,method:`POST`,form:n});return S.parse(r)}async function xl(e,t){let n={grant_type:`refresh_token`,refresh_token:t.refreshToken,client_id:t.clientId};t.clientSecret!==void 0&&(n.client_secret=t.clientSecret),t.scope!==void 0&&(n.scope=t.scope.join(` `));let r=await a(e,{path:`/oauth/token`,method:`POST`,form:n});return S.parse(r)}function Sl(e,t){return{accessToken:t.access_token,refreshToken:t.refresh_token??null,expiresAt:e+t.expires_in*1e3,scope:t.scope??null,tokenType:t.token_type}}function Cl(e){return e===void 0?``:e.toSorted((e,t)=>e.localeCompare(t)).join(` `)}async function wl(e,t){let n={grant_type:`client_credentials`};t.scope!==void 0&&(n.scope=t.scope.join(` `));let r=await a(e,{path:`/oauth/token`,method:`POST`,basicAuth:{username:t.clientId,password:t.clientSecret},form:n});return S.parse(r)}function Tl(e){let t=e.skewMs??6e4,n=null,r=null;async function i(t){let n=Date.now(),r=Sl(n,await wl(e.ctx,{clientId:e.clientId,clientSecret:e.clientSecret,scope:t}));return{accessToken:r.accessToken,expiresAt:r.expiresAt??n+6e4,scopeKey:Cl(t)}}return{async getAccessToken(e){let a=Cl(e),o=Date.now();if(n!==null&&n.scopeKey===a&&n.expiresAt-t>o)return n.accessToken;r??=(async()=>{try{return await i(e)}finally{r=null}})();let s=await r;return n=s,s.accessToken},invalidate(){n=null}}}async function El(e,t){let n=await a(e,{path:`/oauth/register`,method:`POST`,body:t});return oe.parse(n)}async function Dl(e,t){let n={token:t.token,client_id:t.clientId};t.tokenTypeHint!==void 0&&(n.token_type_hint=t.tokenTypeHint),t.clientSecret!==void 0&&(n.client_secret=t.clientSecret),await s(e,{path:`/oauth/revoke`,method:`POST`,form:n})}async function Ol(e,t){let n=await a(e,{path:`/userinfo`,bearer:t.bearer});return me.parse(n)}async function kl(e,t){let n=await a(e,{path:`/payments/appeals`,method:`POST`,bearer:t.bearer,body:t.body});return Qi.parse(n)}async function Al(e,t){let n=await a(e,{path:`/payments/appeals/pot-leg`,method:`POST`,bearer:t.bearer,body:t.body});return Qi.parse(n)}async function jl(e,t){let n=await a(e,{path:`/payments/appeals/${encodeURIComponent(t.appealId)}/room`,bearer:t.bearer});return Yi.parse(n)}async function Ml(e,t){let n=await a(e,{path:`/payments/appeals/${encodeURIComponent(t.appealId)}/room/messages`,method:`POST`,bearer:t.bearer,body:t.body});return Xi.parse(n)}async function Nl(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${Pl(e.issuer)}/payments/appeals/${encodeURIComponent(t.appealId)}/room/attachments`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return z.parse(a)}function Pl(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function Fl(e,t){let n=await a(e,{path:`/oauth/payments/cancel-pot`,method:`POST`,bearer:t.appBearer,body:t.body});return ra.parse(n)}async function Il(e,t){let n=t.idempotencyKey??crypto.randomUUID(),r=await s(e,{path:`/oauth/payments/charge`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:n,raw:!0});if(r.status===402){let e=await c(r),t=ve.parse(e);return{status:`monthly_limit_exceeded`,currentLimitCents:t.currentLimitCents,monthSpentCents:t.monthSpentCents,attemptedUsdCents:t.attemptedUsdCents,redirectUrl:t.redirectUrl}}if(!r.ok){let e=await r.text();throw Error(`tron ${r.status}: ${e}`)}let i=await c(r);return _e.parse(i)}async function Ll(e,t){let n=await a(e,{path:`/oauth/payments/distribute`,method:`POST`,bearer:t.appBearer,body:t.body});return na.parse(n)}async function Rl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}`,bearer:t.bearer});return Se.parse(n)}async function zl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}/sign`,method:`POST`,bearer:t.bearer});return Ce.parse(n)}async function Bl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}/complete`,method:`POST`,bearer:t.bearer,body:t.body});return we.parse(n)}async function Vl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}/deny`,method:`POST`,bearer:t.bearer});return we.parse(n)}async function Hl(e,t){let n=await a(e,{path:`/oauth/payments/limits`,bearer:t.bearer});return ye.parse(n)}async function Ul(e,t){let n=await a(e,{path:`/payments/me/moonpay/availability`,bearer:t.bearer});return At.parse(n)}async function Wl(e,t){let n=await a(e,{path:`/payments/me/moonpay/buy-url`,method:`POST`,bearer:t.bearer,body:t.body});return jt.parse(n)}async function Gl(e,t){let n=await a(e,{path:`/payments/me/moonpay/sell-url`,method:`POST`,bearer:t.bearer,body:t.body});return Mt.parse(n)}async function Kl(e,t){let n=await a(e,{path:`/oauth/payments/payout`,method:`POST`,bearer:t.appBearer,body:t.body});return ta.parse(n)}async function ql(e,t){let{bearer:n,chain:r,token:i,amount:o,usdCents:s}=t,c=await a(e,{path:`/oauth/payments/price`,bearer:n,query:{chain:r,token:i,amount:o,usdCents:s===void 0?void 0:String(s)}});return be.parse(c)}async function Jl(e,t){let n=await a(e,{path:`/oauth/payments/status/${encodeURIComponent(t.intentId)}`,bearer:t.bearer});return xe.parse(n)}async function Yl(e,t){let n=await a(e,{path:`/payments/me/tron`,bearer:t.bearer});return Nt.parse(n)}async function Xl(e,t){let n=await a(e,{path:`/payments/me/tron/ledger${t.before===void 0?``:`?before=${encodeURIComponent(t.before)}`}`,bearer:t.bearer});return Ft.parse(n)}async function Zl(e,t){let n=await a(e,{path:`/payments/me/tron/deposit`,method:`POST`,bearer:t.bearer,body:t.body});return It.parse(n)}async function Ql(e,t){let n=await a(e,{path:`/payments/me/tron/connect`,method:`POST`,bearer:t.bearer});return Yt.parse(n)}async function $l(e,t){let n=await a(e,{path:`/payments/me/tron/cashouts`,method:`POST`,bearer:t.bearer,body:t.body});return Xt.parse(n)}async function eu(e,t){let n=await a(e,{path:`/payments/me/tron/cashouts`,bearer:t.bearer});return Zt.parse(n)}async function tu(e,t){let n=await a(e,{path:`/oauth/payments/tron/charge`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:t.idempotencyKey});return Vt.parse(n)}async function nu(e,t){let n=await a(e,{path:`/oauth/payments/tron/charge-direct`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:t.idempotencyKey});return Gt.parse(n)}async function ru(e,t){let n=await a(e,{path:`/oauth/payments/tron/distribute`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:t.idempotencyKey});return Jt.parse(n)}async function iu(e,t){let n=await a(e,{path:`/oauth/payments/tron/balance`,method:`GET`,bearer:t.bearer});return Lt.parse(n)}function au(e){let t=new URL(e.apiOrigin).origin,n=e.gameOrigin??globalThis.location.origin,r=e.container??document.body,i=e.background??``,a=document.createElement(`iframe`),o=i===``?``:`&bg=${encodeURIComponent(i)}`;a.src=`${t}/presence/embed?client_id=${encodeURIComponent(e.clientId)}&origin=${encodeURIComponent(n)}${o}`,a.title=`Metatron presence`,e.styleIframe?e.styleIframe(a):(a.style.border=`0`,a.style.display=`block`,a.style.width=`190px`,a.style.height=`44px`),i!==``&&(a.style.background=i);let s=null,c=t=>{t===`overlay`?(s??=a.style.cssText,a.style.cssText=`position:fixed;inset:0;width:100%;height:100%;border:0;z-index:2147483646;opacity:1;transition:opacity 160ms ease`):s!==null&&(a.style.cssText=s,s=null),e.onPresentationChange?.(t)},l=n=>{if(n.origin!==t||n.source!==a.contentWindow)return;let r=n.data;if(r?.source===`tg-presence`)switch(r.kind){case`play-session`:e.onPlaySessionId?.(typeof r.playSessionId==`string`?r.playSessionId:null);break;case`status`:typeof r.status==`string`&&e.onStatus?.(r.status);break;case`auth`:e.onAuthChange?.(r.authenticated===!0);break;case`expand`:c(`overlay`);break;case`collapse`:c(`chip`);break;default:break}};return window.addEventListener(`message`,l),r.append(a),{destroy(){window.removeEventListener(`message`,l),a.remove()}}}async function ou(e,t){return await a(e,{path:`/oauth/play-sessions/confirm`,method:`POST`,basicAuth:{username:t.credentials.clientId,password:t.credentials.clientSecret},body:{playSessionId:t.playSessionId,userId:t.userId}})}async function su(e,t){return await a(e,{path:`/oauth/play-sessions/heartbeat`,method:`POST`,basicAuth:{username:t.credentials.clientId,password:t.credentials.clientSecret},body:{playSessionId:t.playSessionId}})}async function cu(e,t){return await a(e,{path:`/oauth/play-sessions/end`,method:`POST`,basicAuth:{username:t.credentials.clientId,password:t.credentials.clientSecret},body:{playSessionId:t.playSessionId}})}async function lu(e,t){let n=await a(e,{path:`/me/threads`,bearer:t.bearer,query:{limit:t.limit,cursor:t.cursor}});return yn.parse(n)}async function uu(e,t){let n=await a(e,{path:`/me/threads`,method:`POST`,bearer:t.bearer,body:t.body});return P.parse(n)}async function du(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages`,bearer:t.bearer,query:{limit:t.limit,cursor:t.cursor}});return Dn.parse(n)}async function fu(e,t){await s(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages`,method:`POST`,bearer:t.bearer,body:t.body})}async function pu(e,t){await s(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/read`,method:`POST`,bearer:t.bearer})}async function mu(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${hu(e.issuer)}/me/threads/${encodeURIComponent(t.threadId)}/attachments`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return z.parse(a)}function hu(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function gu(e,t){let n=await a(e,{path:`/me/notifications`,bearer:t.bearer,query:{limit:t.limit,cursor:t.cursor}});return sr.parse(n)}async function _u(e,t){await s(e,{path:`/me/notifications/${encodeURIComponent(t.notificationId)}`,method:`PATCH`,bearer:t.bearer,body:t.body})}async function vu(e,t){await s(e,{path:`/me/notifications/mark-all-read`,method:`POST`,bearer:t.bearer})}async function yu(e,t){let n=await a(e,{path:`/me/playtime`,bearer:t.bearer});return qn.parse(n)}async function bu(e,t){let n=await a(e,{path:`/me/playtime/timeseries`,bearer:t.bearer,query:{days:t.days}});return Yn.parse(n)}async function xu(e,t){let n=await a(e,{path:`/users/${encodeURIComponent(t.handle)}`,bearer:t.bearer});return br.parse(n)}async function Su(e,t){let n=await a(e,{path:`/users/search`,bearer:t.bearer,query:{q:t.q,limit:t.limit}});return Sr.parse(n)}async function Cu(e,t){let n=await a(e,{path:`/me/referral`,bearer:t.bearer});return Bn.parse(n)}async function wu(e,t){let n=await a(e,{path:`/me/referral/code`,method:`POST`,bearer:t.bearer,body:{regenerate:t.regenerate??!1}});return Vn.parse(n)}async function Tu(e,t){let n=await a(e,{path:`/me/referral/preview`,query:{code:t.code},bearer:t.bearer});return Hn.parse(n)}async function Eu(e,t){let n={code:t.code,source:t.source},r=await a(e,{path:`/me/referral/bind`,method:`POST`,bearer:t.bearer,body:n});return Un.parse(r)}async function Du(e,t){await s(e,{path:`/users/${encodeURIComponent(t.userId)}/follow`,method:`POST`,bearer:t.bearer})}async function Ou(e,t){await s(e,{path:`/users/${encodeURIComponent(t.userId)}/follow`,method:`DELETE`,bearer:t.bearer})}async function ku(e,t){await s(e,{path:`/users/${encodeURIComponent(t.userId)}/friend`,method:`POST`,bearer:t.bearer})}async function Au(e,t){await s(e,{path:`/me/friend-requests/${encodeURIComponent(t.requestId)}`,method:`PATCH`,bearer:t.bearer,body:{decision:t.decision}})}async function ju(e,t){await s(e,{path:`/me/friend-requests/${encodeURIComponent(t.requestId)}`,method:`DELETE`,bearer:t.bearer})}async function Mu(e,t){let n=await a(e,{path:`/me/friends`,bearer:t.bearer});return ur.parse(n)}async function Nu(e,t){let n=await a(e,{path:`/me/socials`,bearer:t.bearer});return dr.parse(n)}async function Pu(e,t){let n=await a(e,{path:`/me/wallets`,bearer:t.bearer});return sn.parse(n)}async function Fu(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}/delegate`,bearer:t.bearer});return an.parse(n)}async function Iu(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}/delegate`,method:`POST`,bearer:t.bearer,body:t.body});return ln.parse(n)}async function Lu(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}/delegate`,method:`DELETE`,bearer:t.bearer});return un.parse(n)}async function Ru(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return cn.parse(n)}async function zu(e,t){let n=await a(e,{path:`/me/wallets`,bearer:t.bearer});return sn.parse(n)}var Bu=class{ctx;clientId;clientSecret;tokenStore;appTokenCache;constructor(e){vs(e.issuer),this.ctx={issuer:e.issuer,fetch:e.fetch??fetch.bind(globalThis),logger:e.logger??bs(),rateLimiter:e.rateLimit===!1?void 0:ks(e.rateLimit??{}),dedupe:e.dedupe===!1?void 0:gs()},this.clientId=e.clientId,this.clientSecret=e.clientSecret,this.tokenStore=e.tokenStore,this.appTokenCache=Tl({ctx:this.ctx,clientId:this.clientId,clientSecret:this.clientSecret})}get transport(){return this.ctx}async getAppAccessToken(e){return await this.appTokenCache.getAccessToken(e)}get oauth(){return{discover:async()=>await pl(this.ctx),exchangeCode:async e=>await bl(this.ctx,{...e,clientId:this.clientId,clientSecret:this.clientSecret}),refresh:async e=>await xl(this.ctx,{refreshToken:e.refreshToken,clientId:this.clientId,clientSecret:this.clientSecret,scope:e.scope}),revoke:async e=>{await Dl(this.ctx,{token:e.token,tokenTypeHint:e.tokenTypeHint,clientId:this.clientId,clientSecret:this.clientSecret})},userInfo:async e=>await Ol(this.ctx,e),toTokenSet:Sl}}get payments(){return{charge:async e=>await Il(this.ctx,e),limits:async e=>await Hl(this.ctx,e),price:async e=>await ql(this.ctx,e),status:async e=>await Jl(this.ctx,e),payout:async e=>{let t=await this.getAppAccessToken();return await Kl(this.ctx,{appBearer:t,body:e.body})},distribute:async e=>{let t=await this.getAppAccessToken();return await Ll(this.ctx,{appBearer:t,body:e.body})},cancelPot:async e=>{let t=await this.getAppAccessToken();return await Fl(this.ctx,{appBearer:t,body:e.body})},tronBalance:async e=>await iu(this.ctx,e),tronCharge:async e=>await tu(this.ctx,e),tronDistribute:async e=>{let t=await this.getAppAccessToken();return await ru(this.ctx,{bearer:t,idempotencyKey:e.idempotencyKey,body:e.body})},intent:{get:async e=>await Rl(this.ctx,e),sign:async e=>await zl(this.ctx,e),complete:async e=>await Bl(this.ctx,e),deny:async e=>await Vl(this.ctx,e)}}}subscribeOauthPaymentEvents(e){return Bc({issuer:this.ctx.issuer,clientId:this.clientId,clientSecret:this.clientSecret,logger:this.ctx.logger,lifecycle:e})}get users(){return{get:async e=>await xu(this.ctx,e),search:async e=>await Su(this.ctx,e),follow:async e=>{await Du(this.ctx,e)},unfollow:async e=>{await Ou(this.ctx,e)},friendRequest:async e=>{await ku(this.ctx,e)},decideFriendRequest:async e=>{await Au(this.ctx,e)},cancelFriendRequest:async e=>{await ju(this.ctx,e)},friends:async e=>await Mu(this.ctx,e),me:async e=>await a(this.ctx,{path:`/me`,bearer:e.bearer})}}get messaging(){return{listThreads:async e=>await lu(this.ctx,e),createDirect:async e=>await uu(this.ctx,e),listMessages:async e=>await du(this.ctx,e),send:async e=>{await fu(this.ctx,e)},markRead:async e=>{await pu(this.ctx,e)},uploadAttachment:async e=>await mu(this.ctx,e)}}get notifications(){return{list:async e=>await gu(this.ctx,e),markAllRead:async e=>{await vu(this.ctx,e)}}}get presence(){let e={clientId:this.clientId,clientSecret:this.clientSecret};return{confirm:async t=>await ou(this.ctx,{credentials:e,...t}),heartbeat:async t=>await su(this.ctx,{credentials:e,...t}),end:async t=>await cu(this.ctx,{credentials:e,...t})}}get wallets(){return{list:async e=>await Pu(this.ctx,e)}}get inventory(){return{list:async e=>await Hc(this.ctx,e),requestMint:async e=>{let t=await this.getAppAccessToken();return await Uc(this.ctx,{appBearer:t,body:e.body})}}}get socials(){return{list:async e=>await Nu(this.ctx,e)}}get referral(){return{get:async e=>await Cu(this.ctx,e),createCode:async e=>await wu(this.ctx,e),bind:async e=>await Eu(this.ctx,e)}}};export{Ts as NOOP_RATE_LIMITER,ws as SERVER_RATE_LIMIT_MAX_MUTATING,Cs as SERVER_RATE_LIMIT_MAX_READ,Ss as SERVER_RATE_LIMIT_WINDOW_MS,r as TRON_WS_CLOSE_CODES,t as TronError,Bu as TronNodeClient,n as TronOauthError,i as TronWsCloseError,Rc as WEBHOOK_SIGNATURE_HEADER,zc as WEBHOOK_TIMESTAMP_HEADER,Mc as acceptDeveloperInvite,es as addAdmin,qo as addAppealBlacklist,nl as addReaction,Zo as approveTronCashout,vs as assertSecureIssuer,Xc as batchThreadDmKeys,Eu as bindReferral,yl as buildAuthorizeUrl,ju as cancelFriendRequest,Fl as cancelPot,Il as charge,nu as chargeTronDirect,tu as chargeTronPot,Bl as completePaymentIntent,ou as confirmPlaySession,cc as consolidateDeveloperAppWallet,Tl as createAppTokenCache,xs as createConsoleLogger,Iu as createDelegation,Is as createDeveloperApiKey,qs as createDeveloperApp,uu as createDirectThread,As as createInMemoryTokenStore,gs as createInflightDedup,bs as createNoopLogger,ks as createRateLimiter,wu as createReferralCode,$l as createTronCashout,Ql as createTronConnectOnboarding,Zl as createTronDeposit,Au as decideFriendRequest,Nc as declineDeveloperInvite,ml as defaultEndpoints,bc as deleteAppPageBanner,Sc as deleteAppPageThumbnail,wc as deleteAppPageThumbnailVideo,po as deleteAvatar,Lu as deleteDelegation,Ys as deleteDeveloperApp,Zs as deleteDeveloperAppLogo,Hs as deleteDeveloperProfileLogo,Gs as deleteDeveloperRequestLogo,hs as deleteGameReviewReply,el as deleteMessage,ps as deleteMyGameReview,ol as deleteThread,Qc as deleteThreadLogo,Vl as denyPaymentIntent,Ll as distributePot,ru as distributeTronPot,tl as editMessage,cu as endPlaySession,bl as exchangeAuthorizationCode,pl as fetchAuthorizationServerMetadata,Ol as fetchUserInfo,kl as fileAppeal,Al as fileAppealPotLeg,Du as followUser,hl as generatePkce,_l as generateState,js as getActivity,Ms as getActivityGroup,ko as getAdminAppealRoom,zo as getAppFeeConfig,os as getAppPage,Co as getAppPageChanges,jl as getAppealRoom,Fu as getDelegation,ec as getDeveloperAppActivity,Qs as getDeveloperAppBalances,tc as getDeveloperAppEarnings,rc as getDeveloperAppOverview,_c as getDeveloperAppPage,nc as getDeveloperAppPlaytime,$s as getDeveloperAppTronBalance,ic as getDeveloperAppWallets,fc as getDeveloperPaymentAppeals,pc as getDeveloperPaymentPendingDeposits,zs as getDeveloperStatus,mc as getDeveloperTronBalanceSummary,Wc as getDmKeyBackupStatus,Jl as getIntentStatus,cs as getLibrary,Ul as getMoonpayAvailability,Jc as getMyDmKey,ds as getMyGameReview,Ps as getOutstanding,Ns as getPaymentChains,Fs as getPaymentHistory,Rl as getPaymentIntent,Hl as getPaymentLimits,ql as getPaymentPrice,Lo as getPlatformFees,yu as getPlaytime,bu as getPlaytimeTimeseries,xu as getPublicProfile,Cu as getReferral,Yc as getThreadDmKey,Yl as getTronBalance,iu as getTronGameBalance,su as heartbeatPlaySession,To as hideAppPage,cl as hideThread,kc as inviteDeveloperAppParticipant,ll as inviteParticipants,ul as leaveThread,xo as listActivePlayers,$o as listAdmins,So as listAppPages,Yo as listAppealBlacklist,Oo as listAppealQueue,as as listAudit,Ls as listDeveloperApiKeys,hc as listDeveloperAppContentReports,Oc as listDeveloperAppParticipants,us as listDeveloperAppReviews,jc as listDeveloperInvites,Po as listDeveloperRequests,Io as listDevelopers,Mu as listFriends,ls as listGameReviews,Vc as listInventory,Hc as listInventoryForApp,gu as listNotifications,go as listPaymentAuthorizations,Nu as listSocials,du as listThreadMessages,lu as listThreads,Xo as listTronCashoutQueue,eu as listTronCashouts,Xl as listTronLedger,rs as listUsers,zu as listWalletManager,Pu as listWallets,vu as markAllNotificationsRead,pu as markThreadRead,wl as mintClientCredentialsToken,Wl as mintMoonpayBuyUrl,Gl as mintMoonpaySellUrl,au as mountPresenceWidget,Pc as oauthPaymentWebhookBodySchema,c as parseJson,dl as pinThread,Ao as postAdminAppealRoomMessage,Ml as postAppealRoomMessage,Tu as previewReferral,oc as provisionDeveloperAppWallet,qc as publishDmKey,xl as refreshAccessToken,El as registerOauthClient,Qo as rejectTronCashout,ns as removeAdmin,Jo as removeAppealBlacklist,il as removeParticipant,rl as removeReaction,ms as replyToGameReview,uc as requestDeveloperAppProduction,Uc as requestMint,Kl as requestPayout,Mo as resolveAppeal,Do as reviewAppPage,wo as reviewAppPageChanges,Fo as reviewDeveloperRequest,Rs as revokeDeveloperApiKey,Ac as revokeDeveloperAppParticipant,vo as revokePaymentAuthorization,Dl as revokeToken,lc as rotateDeveloperAppKey,dc as rotateDeveloperAppPaymentWebhookSecret,Ho as rotateProcessorTreasury,ho as searchGiphy,Su as searchUsers,s as send,ku as sendFriendRequest,a as sendJson,fu as sendMessage,yo as sendPresenceHeartbeat,Vo as setProcessorWhitelist,Uo as setVaultOperator,Wo as setVaultPause,Go as setVaultWithdrawLockDefault,Ko as setVaultWithdrawLockOverride,Gc as setupDmKeyBackup,gl as sha256Base64Url,zl as signPaymentIntent,Bc as startOauthPaymentEventsSubscriber,ss as submitAppContentReport,Ec as submitAppPageForReview,Us as submitDeveloperRequest,Sl as toTokenSet,Ou as unfollowUser,Eo as unhideAppPage,Kc as unlockDmKeyBackup,fl as unpinThread,Dc as unpublishAppPage,ts as updateAdminRole,Bo as updateAppFeeConfig,vc as updateAppPage,Js as updateDeveloperApp,ac as updateDeveloperAppAutoSweep,gc as updateDeveloperAppContentReportStatus,Bs as updateDeveloperProfile,_u as updateNotification,al as updateParticipantRole,_o as updatePaymentAuthorization,Ro as updatePlatformFees,bo as updateProfile,sl as updateThreadSettings,is as updateUserBan,Ru as updateWalletLabel,jo as uploadAdminAppealRoomAttachment,yc as uploadAppPageBanner,Tc as uploadAppPageGallery,xc as uploadAppPageThumbnail,Cc as uploadAppPageThumbnailVideo,Nl as uploadAppealRoomAttachment,mu as uploadAttachment,fo as uploadAvatar,Xs as uploadDeveloperAppLogo,Vs as uploadDeveloperProfileLogo,Ws as uploadDeveloperRequestLogo,Q as uploadMultipart,Zc as uploadThreadLogo,fs as upsertMyGameReview,Fc as verifyWebhook,sc as withdrawDeveloperAppWallet};
1
+ import*as e from"zod";var t=class extends Error{status;code;body;constructor(e,t,n,r){super(n),this.name=`TronError`,this.status=e,this.code=t,this.body=r}},n=class extends t{error;errorDescription;errorUri;constructor(e,t,n,r,i){super(e,t,`oauth ${e} ${t}${r===void 0?``:`: ${r}`}`,n),this.name=`TronOauthError`,this.error=t,this.errorDescription=r,this.errorUri=i}};const r={BAD_REQUEST:4400,UNAUTHORIZED:4401,FORBIDDEN:4403,NOT_FOUND:4404,UNAVAILABLE:4503};var i=class extends Error{code;reason;constructor(e,t){super(`tron ws closed: ${e}${t===``?``:` ${t}`}`),this.name=`TronWsCloseError`,this.code=e,this.reason=t}get isApplicationError(){return this.code>=4e3&&this.code<5e3}get isPermanent(){return[r.BAD_REQUEST,r.UNAUTHORIZED,r.FORBIDDEN,r.NOT_FOUND].includes(this.code)}};async function a(e,t){if(t.raw===!0)throw Error("sendJson does not support `raw: true`; call send() directly");let n=t.method??`GET`;return e.dedupe!==void 0&&n===`GET`?await e.dedupe.run(o(t),async()=>await c(await s(e,t))):await c(await s(e,t))}function o(e){let t=e.query===void 0?``:JSON.stringify(e.query);return`GET ${e.path}?${t}|${e.bearer??``}`}async function s(e,t){let n=l(e.issuer,t.path,t.query),r=new Headers(t.headers);t.bearer===void 0?t.basicAuth!==void 0&&r.set(`authorization`,`Basic ${d(`${t.basicAuth.username}:${t.basicAuth.password}`)}`):r.set(`authorization`,`Bearer ${t.bearer}`),t.idempotencyKey!==void 0&&r.set(`idempotency-key`,t.idempotencyKey);let i=null;t.form===void 0?t.body!==void 0&&(r.set(`content-type`,`application/json`),i=JSON.stringify(t.body)):(r.set(`content-type`,`application/x-www-form-urlencoded`),i=new URLSearchParams(t.form).toString());let a=t.method??`GET`;e.rateLimiter!==void 0&&await e.rateLimiter.acquire(a);let o={method:a,headers:r};i!==null&&(o.body=i);let s=await e.fetch(n,o);if(t.raw===!0)return s;if(!s.ok){let e=await s.text();throw u(s.status,e)}return s}async function c(e){let n=await e.text();if(n!==``)try{return JSON.parse(n)}catch{throw new t(e.status,`non_json`,`response was not json`,n)}}function l(e,t,n){let r=new URL(t,e.endsWith(`/`)?e:`${e}/`);if(n!==void 0){for(let[e,t]of Object.entries(n))if(t!==void 0)if(typeof t==`string`||typeof t==`number`)r.searchParams.set(e,String(t));else for(let n of t)r.searchParams.append(e,n)}return r.href}function u(e,r){let i;try{i=JSON.parse(r)}catch{return new t(e,`non_json`,`tron ${e}: non-json response`,r)}if(typeof i==`object`&&i){let a=i;if(typeof a.error==`string`&&(a.error_description!==void 0||a.error_uri!==void 0))return new n(e,a.error,r,typeof a.error_description==`string`?a.error_description:void 0,typeof a.error_uri==`string`?a.error_uri:void 0);if(typeof a.error==`string`)return new t(e,a.error,`tron ${e} ${a.error}`,r);if(Array.isArray(a.issues))return new t(e,`validation_failed`,`tron ${e} validation_failed`,r)}return new t(e,`unknown`,`tron ${e}: unknown error shape`,r)}function d(e){return typeof Buffer<`u`?Buffer.from(e,`utf8`).toString(`base64`):btoa(e)}const f=e.string().min(3).max(18).regex(/^[a-z][a-z0-9_]*$/),p=e.string().nullable(),m=e.string().max(256).nullable(),ee=e.url().max(2048).nullable(),h=e.enum([`yellow`,`green`,`blue`,`white`,`black`]),g=e.enum([`super-admin`,`admin`,`read-only`]).nullable(),te=e.enum([`auto`,`online`,`offline`]),ne=e.enum([`development`,`production`]),_=e.object({id:e.string().min(1),email:e.email().nullable(),emailVerified:e.boolean(),name:f,displayName:p,bio:m,websiteUrl:ee,image:e.string().nullish(),banner:h,role:g,presenceStatusMode:te,environmentViewMode:ne,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}),re=e.string().min(1);e.object({user:_,token:re.optional()}),e.object({error:e.string().min(1),traceId:e.string().min(1).optional()}),e.object({name:f,email:e.email(),password:e.string().min(8),image:e.url().optional(),callbackURL:e.url().optional()}),e.object({redirect:e.boolean(),token:re.optional(),url:e.url().optional(),user:_.optional()}),e.object({email:e.email(),password:e.string().min(1),callbackURL:e.url().optional(),rememberMe:e.boolean().optional()}),e.object({success:e.boolean()});const ie=e.object({id:e.string().min(1),token:e.string().min(1),userId:e.string().min(1),expiresAt:e.iso.datetime(),ipAddress:e.string().nullish(),userAgent:e.string().nullish(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()});e.union([e.object({session:ie,user:_}),e.unknown()]),e.object({status:e.boolean()}),e.object({status:e.boolean()}),e.object({email:e.email(),callbackURL:e.url().optional()}),e.object({status:e.boolean()}),e.object({email:e.email(),redirectTo:e.url().optional()}),e.object({status:e.boolean()}),e.object({newPassword:e.string().min(8),token:e.string().min(1)});const ae=e.object({issuer:e.url(),authorization_endpoint:e.url(),token_endpoint:e.url(),userinfo_endpoint:e.url(),revocation_endpoint:e.url(),registration_endpoint:e.url(),response_types_supported:e.array(e.enum([`code`])),grant_types_supported:e.array(e.enum([`authorization_code`,`refresh_token`,`client_credentials`])),code_challenge_methods_supported:e.array(e.enum([`S256`])),token_endpoint_auth_methods_supported:e.array(e.enum([`client_secret_basic`,`client_secret_post`,`none`])),scopes_supported:e.array(e.enum([`openid`,`profile`,`payments:charge`,`inventory:read`,`developer:read`,`developer:apps`,`developer:pages`]))}),v=e.url().max(2048),y=e.string().min(1).regex(/^[A-Za-z0-9_:.-]+(?: [A-Za-z0-9_:.-]+)*$/),oe=e.object({client_id:e.string().regex(/^tg_dc_[a-f0-9]{32}$/),client_id_issued_at:e.int().gte(0),client_name:e.string().min(1),redirect_uris:e.array(v),token_endpoint_auth_method:e.enum([`none`]),grant_types:e.array(e.enum([`authorization_code`,`refresh_token`])),response_types:e.array(e.enum([`code`])),scope:y});e.object({error:e.enum([`invalid_redirect_uri`,`invalid_client_metadata`]),error_description:e.string().optional()}),e.object({redirect_uris:e.array(v).min(1).max(10),client_name:e.string().min(1).max(128).optional(),token_endpoint_auth_method:e.enum([`none`]).optional(),grant_types:e.array(e.enum([`authorization_code`,`refresh_token`])).optional(),response_types:e.array(e.enum([`code`])).optional(),scope:y.optional()});const b=e.string().regex(/^tg_(?:dev|prod|dc)_[A-Za-z0-9]{16,64}$/),se=e.string().min(1).max(2048),ce=e.string().regex(/^[A-Za-z0-9_~.-]{43,128}$/),x=e.string().regex(/^[a-f0-9]{32}$/);e.object({request:x,app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),clientKind:e.enum([`app`,`connector`]),scopes:e.array(e.enum([`openid`,`profile`,`payments:charge`,`inventory:read`,`developer:read`,`developer:apps`,`developer:pages`])).min(1),developerRole:e.object({approved:e.boolean(),policyVersion:e.string().min(1)}).nullable(),alreadyGranted:e.array(e.enum([`openid`,`profile`,`payments:charge`,`inventory:read`,`developer:read`,`developer:apps`,`developer:pages`])),redirectUriHost:e.string().min(1),payment:e.object({tiersCents:e.array(e.int().gt(0)).min(1),currentLimitCents:e.int().gte(0).nullable(),currentMonthSpentCents:e.int().gte(0).nullable(),payoutChains:e.array(e.string().min(1))}).nullable()}),e.object({consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),tiersCents:e.array(e.int().gt(0)).min(1)}),e.object({app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),developer:e.object({studioName:e.string().nullable(),logoUrl:e.url().nullable(),studioUrl:e.url().nullable(),studioXHandle:e.string().nullable()})}),e.object({redirect:e.url()});const le=e.int().gte(100).lte(5e6).nullable();e.object({request:x,decision:e.enum([`allow`,`deny`]),acceptDeveloperPolicy:e.boolean().optional(),payment:e.object({monthlyLimitCents:le}).optional()});const S=e.object({access_token:e.string().min(1),token_type:e.enum([`Bearer`]),expires_in:e.int().gt(0),refresh_token:e.string().min(1).optional(),scope:y.optional()});e.object({error:e.enum([`invalid_request`,`invalid_client`,`invalid_grant`,`unauthorized_client`,`unsupported_grant_type`,`unsupported_response_type`,`invalid_scope`,`access_denied`,`server_error`,`temporarily_unavailable`,`invalid_token`,`insufficient_scope`]),error_description:e.string().optional(),error_uri:e.url().optional(),state:se.optional()});const ue=e.string().regex(/^[A-Za-z0-9_~.-]{43,128}$/),C=e.string().regex(/^[a-f0-9]{64}$/),de=e.object({grant_type:e.enum([`authorization_code`]),code:e.string().min(1),redirect_uri:v,code_verifier:ue,client_id:b.optional(),client_secret:C.optional()}),fe=e.object({grant_type:e.enum([`refresh_token`]),refresh_token:e.string().min(1),scope:y.optional(),client_id:b.optional(),client_secret:C.optional()}),pe=e.object({grant_type:e.enum([`client_credentials`]),scope:y.optional(),client_id:b.optional(),client_secret:C.optional()});e.discriminatedUnion(`grant_type`,[de.extend({grant_type:e.literal(`authorization_code`)}),fe.extend({grant_type:e.literal(`refresh_token`)}),pe.extend({grant_type:e.literal(`client_credentials`)})]);const me=e.object({sub:e.string().min(1),name:e.string().min(1).nullable(),picture:e.url().nullable()});e.object({token:e.string().min(1),token_type_hint:e.enum([`access_token`,`refresh_token`]).optional(),client_id:b.optional(),client_secret:C.optional()});const he=e.object({status:e.enum([`completed`]),intentId:e.string().min(1),paymentId:e.string().min(1),usdCents:e.int().gte(0),txHash:e.string().nullable()}),ge=e.object({status:e.enum([`redirect`]),intentId:e.string().min(1),redirectUrl:e.url(),usdCents:e.int().gte(0)}),_e=e.discriminatedUnion(`status`,[he.extend({status:e.literal(`completed`)}),ge.extend({status:e.literal(`redirect`)})]),ve=e.object({error:e.enum([`monthly_limit_exceeded`]),currentLimitCents:e.int().gte(0),monthSpentCents:e.int().gte(0),attemptedUsdCents:e.int().gte(0),redirectUrl:e.url()});e.object({error:e.enum([`idempotency_key_reused`]),intentId:e.string().min(1)});const w=e.object({purpose:e.string().min(1).max(64).optional(),title:e.string().min(1).max(120).optional(),note:e.string().min(1).max(280).optional(),quantity:e.int().gte(1).lte(1e6).optional(),category:e.string().min(1).max(64).optional(),sessionId:e.string().min(1).max(128).optional(),groupId:e.string().min(1).max(128).optional(),image:e.url().max(2048).optional(),extra:e.record(e.string(),e.union([e.string().max(512),e.number(),e.boolean()])).optional()});e.object({chain:e.string().min(1),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),returnUri:e.url().max(2048),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/).optional(),rakeBps:e.int().gte(0).lte(3e3).optional(),metadata:w.optional()});const ye=e.object({monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),periodStart:e.iso.datetime(),offlineAutoChargeEnabled:e.boolean(),perTxOfflineCapCents:e.int().gte(0).nullable(),walletDelegated:e.boolean()}),be=e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),tokenDecimals:e.int().gte(0),usdRate:e.string().min(1),feed:e.object({aggregatorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),decimals:e.int().gte(0),answer:e.string().regex(/^\d+$/),updatedAt:e.iso.datetime()}),usdCents:e.int().gte(0).optional(),amount:e.string().regex(/^\d+$/).optional()}),xe=e.object({intentId:e.string().min(1),appId:e.string().min(1),status:e.enum([`pending`,`awaiting_funding`,`completed`,`denied`,`expired`]),paymentId:e.string().nullable(),txHash:e.string().nullable(),usdCents:e.int().gte(0),chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),grossAmount:e.string().regex(/^\d+$/).nullable(),creditedAmount:e.string().regex(/^\d+$/).nullable(),settlement:e.enum([`instant`,`locked`]).nullable(),resolvedAt:e.iso.datetime().nullable(),expiresAt:e.iso.datetime()}),Se=e.object({intentId:e.string().min(1),consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),chain:e.string().min(1),token:e.string(),amount:e.string(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appealable:e.boolean(),usdCents:e.int().gte(0),monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),offlineAutoChargeEnabled:e.boolean(),perTxOfflineCapCents:e.int().gte(0).nullable(),walletDelegated:e.boolean(),canonicalWalletAddress:e.string().nullable(),offlineDenialReason:e.enum([`no_active_play_session`,`driver_unavailable`,`wallet_not_delegated`,`deposit_cap_exceeded`,`insufficient_balance`,`fire_failed`]).nullable(),returnUriHost:e.string().min(1),status:e.enum([`pending`,`awaiting_funding`]),expiresAt:e.iso.datetime(),accessDenied:e.object({reason:e.enum([`not_invited`]),developer:e.object({studioName:e.string().nullable(),logoUrl:e.url().nullable(),studioUrl:e.url().nullable(),studioXHandle:e.string().nullable()})}).nullish()}),Ce=e.object({chain:e.string().min(1),chainId:e.int().gte(0),id:e.string().regex(/^0x[0-9a-fA-F]{32}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),data:e.string().regex(/^0x[0-9a-fA-F]*$/),appealable:e.boolean(),payer:e.string().regex(/^0x[0-9a-fA-F]{40}$/),deadline:e.int().gte(0),routerAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),signature:e.string().regex(/^0x[0-9a-fA-F]+$/)}),we=e.object({redirect:e.url()}),Te=e.object({method:e.enum([`signed`]),paymentId:e.string().min(1)}),Ee=e.object({method:e.enum([`offline`])});e.discriminatedUnion(`method`,[Te.extend({method:e.literal(`signed`)}),Ee.extend({method:e.literal(`offline`)})]);const De=e.object({consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),monthlyLimitCents:e.int().gte(0).nullable(),monthSpentCents:e.int().gte(0),periodStart:e.iso.datetime(),offlineAutoChargeEnabled:e.boolean(),perTxOfflineCapCents:e.int().gte(0).nullable()}),Oe=e.object({authorizations:e.array(De)}),ke=e.int().gte(100).lte(1e5).nullable();e.object({offlineAutoChargeEnabled:e.boolean().optional(),perTxOfflineCapCents:ke.optional(),monthlyLimitCents:le.optional()});const Ae=e.object({clientName:e.string().min(1),connectedAt:e.iso.datetime()});e.object({connections:e.array(Ae)});const je=e.object({consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),monthlyLimitTronCents:e.int().gte(0).nullable(),monthSpentTronCents:e.int().gte(0),autoApproveTronCapCents:e.int().gte(0).nullable()});e.object({authorizations:e.array(je).max(200)}),e.object({monthlyTronLimitCents:e.int().gt(0).lte(1e8).nullish(),autoApproveTronCapCents:e.int().gt(0).lte(1e8).nullish()});const T=e.string().min(3).max(40).regex(/^[a-z0-9-]+$/),Me=e.object({appId:e.uuid(),name:e.string().min(1).max(80),slug:T,bannerUrl:e.url().nullable(),thumbnailUrl:e.url().nullable(),thumbnailVideoUrl:e.url().nullable(),categories:e.array(e.enum(`adventure.battle_royale.board.cards.casino.casual.fighting.idle.mmo.moba.platformer.prediction.puzzle.racing.rhythm.roguelike.rpg.rts.sandbox.shooter.simulation.sports.strategy.survival.tools.tower_defense.visual_novel.other`.split(`.`))),studio:e.object({name:e.string().min(1).max(80).nullable(),logoUrl:e.url().nullable()}).nullable(),firstPublishedAt:e.iso.datetime()}),Ne=e.object({items:e.array(Me),nextBefore:e.iso.datetime().nullable()}),E=e.array(e.enum(`adventure.battle_royale.board.cards.casino.casual.fighting.idle.mmo.moba.platformer.prediction.puzzle.racing.rhythm.roguelike.rpg.rts.sandbox.shooter.simulation.sports.strategy.survival.tools.tower_defense.visual_novel.other`.split(`.`))).max(4),Pe=e.string().min(1).max(80),Fe=e.object({url:e.url().max(2048),caption:e.string().max(200).optional(),order:e.int().gte(0)}),Ie=e.array(Fe).max(6),Le=e.object({heading:e.string().min(1).max(80),body:e.string().min(1).max(2e3),order:e.int().gte(0)}),Re=e.array(Le).max(8),ze=e.object({label:e.string().min(1).max(40),url:e.url().max(2048),order:e.int().gte(0)}),Be=e.array(ze).max(10),Ve=e.object({name:e.string().nullable(),logoUrl:e.url().nullable(),websiteUrl:e.url().nullable(),xHandle:e.string().nullable(),githubUrl:e.url().nullable()}),He=e.object({appId:e.uuid(),slug:T,appName:e.string(),appLogoUrl:e.url().nullable(),categories:E,tagline:Pe,bannerUrl:e.url().nullable(),playUrl:e.url().nullable(),discordUrl:e.url().nullable(),twitterUrl:e.url().nullable(),redditUrl:e.url().nullable(),telegramUrl:e.url().nullable(),gallery:Ie,chapters:Re,links:Be,studio:Ve,oauthScopes:e.array(e.string()),chains:e.array(e.string()),publishedAt:e.iso.datetime()}),Ue=e.object({1:e.int().gte(0),2:e.int().gte(0),3:e.int().gte(0),4:e.int().gte(0),5:e.int().gte(0)}),We=e.object({average:e.number().gte(1).lte(5).nullable(),count:e.int().gte(0),distribution:Ue}),Ge=e.int().gte(1).lte(5),Ke=e.string().min(1).max(2e3),qe=e.object({name:e.string().min(1).max(80).nullable(),avatarUrl:e.url().nullable()}),Je=e.string().min(1).max(2e3),Ye=e.object({body:Je,repliedAt:e.iso.datetime()}).nullable(),Xe=e.object({id:e.uuid(),rating:Ge,body:Ke,author:qe,developerReply:Ye,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}),Ze=e.object({aggregate:We,reviews:e.array(Xe),total:e.int().gte(0),hasMore:e.boolean()}),Qe=e.enum([`newest`,`oldest`,`highest`,`lowest`]).default(`newest`),$e=e.enum([`payment`,`reward`]).nullable(),et=e.object({id:e.uuid(),rating:Ge,body:Ke,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).nullable(),tt=e.object({eligible:e.boolean(),eligibleVia:$e,review:et,isAppOwner:e.boolean()});e.object({rating:Ge,body:Ke});const nt=e.object({developerReply:Ye});e.object({body:Je});const rt=e.object({created:e.boolean()}),it=e.enum([`abuse`,`inappropriate_content`,`cheating`,`spam`,`other`]);e.object({category:it,details:e.string().max(2e3).optional()});const at=e.enum([`open`,`acknowledged`,`dismissed`]),ot=e.object({id:e.uuid(),category:it,details:e.string().nullable(),status:at,acknowledgedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),st=e.object({reports:e.array(ot),total:e.int().gte(0),hasMore:e.boolean()});e.object({status:e.enum([`acknowledged`,`dismissed`])});const ct=e.object({id:e.string().min(1),family:e.enum([`evm`,`solana`]),displayName:e.string().min(1),chainId:e.int().optional(),paymentRouter:e.string().optional(),paymentProgram:e.string().optional()}),lt=e.object({chains:e.array(ct)}),ut=e.object({id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),payer:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vaultKind:e.enum([`credit`,`platform`]),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),grossAmount:e.string().regex(/^\d+$/),creditedAmount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`]).nullable(),appealable:e.boolean(),vaultReleaseAt:e.iso.datetime().nullable(),consolidatedAt:e.iso.datetime().nullable(),status:e.enum([`pending`,`completed`,`expired`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),deadline:e.iso.datetime(),signedAt:e.iso.datetime(),completedAt:e.iso.datetime().nullable(),recipientApp:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}).nullable()}),dt=e.object({payments:e.array(ut),nextBefore:e.iso.datetime().nullable()}),ft=e.object({kind:e.enum([`payment`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`,`incoming`]),payer:e.string().regex(/^0x[0-9a-fA-F]{40}$/),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),beneficiaryApp:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vaultKind:e.enum([`credit`,`platform`]),targetKind:e.enum([`credit`,`pot`]),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),grossAmount:e.string().regex(/^\d+$/),creditedAmount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`]).nullable(),appealable:e.boolean(),disputableLegId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vaultReleaseAt:e.iso.datetime().nullable(),consolidatedAt:e.iso.datetime().nullable(),status:e.enum([`pending`,`completed`,`expired`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),logIndex:e.int().gte(0).nullable(),metadata:w.nullish(),usdCents:e.int().gte(0).nullable()}),pt=e.object({kind:e.enum([`payment_withdrawal`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),mt=e.object({kind:e.enum([`matured_withdrawal`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),ht=e.object({kind:e.enum([`payout_sent`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),metadata:w.nullish(),usdCents:e.int().gte(0).nullable()}),gt=e.object({kind:e.enum([`credit_transferred`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),_t=e.object({kind:e.enum([`pot_leg`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),distributionId:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),settlement:e.enum([`instant`,`locked`]),releaseAt:e.iso.datetime().nullable(),claimedAt:e.iso.datetime().nullable(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),logIndex:e.int().gte(0).nullable(),metadata:w.nullish(),usdCents:e.int().gte(0).nullable()}),vt=e.object({kind:e.enum([`payment_autoclaim`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),autoclaimKind:e.enum([`withdraw_matured`,`withdraw_escrow`,`claim_refund`]),status:e.enum([`pending`,`in_flight`,`succeeded`,`skipped`,`failed`]),attempts:e.int().gte(0),lastError:e.string().nullable(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),settledAt:e.iso.datetime().nullable()}),yt=e.object({kind:e.enum([`appeal`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`]),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),counterparty:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),status:e.enum([`pending_onchain`,`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),blockNumber:e.string().regex(/^\d+$/).nullable(),logIndex:e.int().gte(0).nullable(),resolvedAt:e.iso.datetime().nullable(),refundClaimedAt:e.iso.datetime().nullable(),hasRoom:e.boolean(),resolution:e.object({resolutionId:e.string().regex(/^0x[0-9a-f]{32}$/),outcome:e.int().gte(0).lte(1),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]{130}$/)}).nullable(),usdCents:e.int().gte(0).nullable()}),bt=e.object({kind:e.enum([`moonpay_buy`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),externalId:e.string().min(1),fiatAmountCents:e.int().gte(0),fiatCurrency:e.string().min(1),cryptoAmount:e.string().regex(/^\d+$/),cryptoToken:e.string().regex(/^0x[0-9a-fA-F]{40}$/),cryptoTxHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),status:e.enum([`pending`,`completed`,`failed`])}),xt=e.object({kind:e.enum([`moonpay_sell`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`]),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),externalId:e.string().min(1),fiatAmountCents:e.int().gte(0),fiatCurrency:e.string().min(1),cryptoAmount:e.string().regex(/^\d+$/),cryptoToken:e.string().regex(/^0x[0-9a-fA-F]{40}$/),cryptoTxHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),status:e.enum([`pending`,`completed`,`failed`])}),St=e.object({kind:e.enum([`tron_deposit`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),amountCents:e.int().gt(0),status:e.enum([`completed`,`disputed`,`clawed_back`]),receiptUrl:e.url().nullable(),paymentIntentId:e.string().min(1).nullable()}),Ct=e.object({userId:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),handle:e.string().nullable(),displayName:e.string().nullable(),role:e.enum([`stake`,`payout`,`dev_cut`,`purchase`,`referral`]),amountCents:e.int()}),wt=e.object({kind:e.enum([`tron_pot`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`incoming`,`outgoing`]),leg:e.enum([`stake`,`payout`,`dev_cut`,`purchase`,`referral`]),amountCents:e.int().gt(0),usdCents:e.int(),status:e.enum([`settled`]),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable(),slug:e.string().nullable(),bannerUrl:e.url().nullable()}).nullable(),involvedUsers:e.array(Ct).nullish(),metadata:w.nullish()}),Tt=e.object({kind:e.enum([`tron_cashout`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),occurredAt:e.iso.datetime(),role:e.enum([`outgoing`]),method:e.enum([`stripe`,`usdc`]),amountCents:e.int().gt(0),feeCents:e.int().gte(0),destinationAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),chain:e.string().min(1).nullable(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/).nullable(),status:e.enum([`pending`,`approved`,`rejected`,`settled`,`failed`]),stripeTransferId:e.string().min(1).nullable(),rejectionReason:e.string().min(1).nullable(),settledAt:e.iso.datetime().nullable()}),Et=e.object({kind:e.enum([`referral_earning`]),groupId:e.string().min(1).nullable(),id:e.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/),chain:e.string().min(1),occurredAt:e.iso.datetime(),role:e.enum([`incoming`]),referralAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),reversed:e.boolean(),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),logIndex:e.int().gte(0),usdCents:e.int().gte(0).nullable()}),Dt=e.discriminatedUnion(`kind`,[ft.extend({kind:e.literal(`payment`)}),pt.extend({kind:e.literal(`payment_withdrawal`)}),mt.extend({kind:e.literal(`matured_withdrawal`)}),ht.extend({kind:e.literal(`payout_sent`)}),gt.extend({kind:e.literal(`credit_transferred`)}),_t.extend({kind:e.literal(`pot_leg`)}),vt.extend({kind:e.literal(`payment_autoclaim`)}),yt.extend({kind:e.literal(`appeal`)}),bt.extend({kind:e.literal(`moonpay_buy`)}),xt.extend({kind:e.literal(`moonpay_sell`)}),St.extend({kind:e.literal(`tron_deposit`)}),wt.extend({kind:e.literal(`tron_pot`)}),Tt.extend({kind:e.literal(`tron_cashout`)}),Et.extend({kind:e.literal(`referral_earning`)})]),Ot=e.object({rows:e.array(Dt),nextBefore:e.iso.datetime().nullable(),nextCursor:e.string().nullable(),hasHidden:e.boolean()}),kt=e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),creditedWei:e.string().regex(/^\d+$/),drainedWei:e.string().regex(/^\d+$/),outstandingWei:e.string().regex(/^\d+$/)}),At=e.object({rows:e.array(kt)}),jt=e.object({enabled:e.boolean(),direction:e.enum([`buy`,`sell`,`both`]).nullable(),countryCode:e.string().regex(/^[A-Z]{2}$/).nullable(),regionSupported:e.boolean()}),Mt=e.object({url:e.url(),intentId:e.string().min(1),expiresAt:e.iso.datetime(),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});e.object({intentId:e.string().min(1)});const Nt=e.object({url:e.url(),transactionId:e.uuid(),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});e.object({usdcAmount:e.string().regex(/^\d+$/),chain:e.string().min(1).optional()});const Pt=e.object({enabled:e.boolean(),balanceCents:e.int().gte(0),frozenCents:e.int().gte(0),currency:e.enum([`tron`]),flagged:e.boolean(),minDepositCents:e.int().gt(0),maxDepositCents:e.int().gt(0)}),Ft=e.object({id:e.uuid(),kind:e.enum([`deposit`,`pot_stake`,`pot_payout`,`dev_earning`,`cashout_hold`,`cashout_release`,`dispute_freeze`,`dispute_unfreeze`,`hosted_billing`,`store_purchase`,`referral_earning`]),amountCents:e.int(),currency:e.string().min(1),createdAt:e.iso.datetime()}),It=e.object({entries:e.array(Ft).max(100),nextBefore:e.iso.datetime().nullable()}),Lt=e.object({clientSecret:e.string().min(1),publishableKey:e.string().min(1),amountCents:e.int().gt(0),currency:e.string().min(1),depositId:e.uuid()});e.object({amountCents:e.int().gt(0).lte(1e6)});const Rt=e.object({balanceCents:e.int().gte(0),rakeBps:e.int().gte(0).lte(3e3)}),zt=e.object({status:e.enum([`completed`]),potId:e.string().regex(/^0x[0-9a-f]{32}$/),balanceCents:e.int().gte(0)}),Bt=e.object({status:e.enum([`insufficient_balance`]),potId:e.string().regex(/^0x[0-9a-f]{32}$/),balanceCents:e.int().gte(0)}),Vt=e.object({status:e.enum([`redirect`]),intentId:e.string().min(1),redirectUrl:e.url(),amountCents:e.int().gt(0),potId:e.string().regex(/^0x[0-9a-f]{32}$/)}),Ht=e.discriminatedUnion(`status`,[zt.extend({status:e.literal(`completed`)}),Bt.extend({status:e.literal(`insufficient_balance`)}),Vt.extend({status:e.literal(`redirect`)})]);e.object({potId:e.string().regex(/^0x[0-9a-f]{32}$/),amountCents:e.int().gt(0),returnUri:e.url(),metadata:w.optional()});const Ut=e.object({status:e.enum([`completed`]),balanceCents:e.int().gte(0)}),Wt=e.object({status:e.enum([`insufficient_balance`]),balanceCents:e.int().gte(0)}),Gt=e.object({status:e.enum([`redirect`]),intentId:e.string().min(1),redirectUrl:e.url(),amountCents:e.int().gt(0)}),Kt=e.discriminatedUnion(`status`,[Ut.extend({status:e.literal(`completed`)}),Wt.extend({status:e.literal(`insufficient_balance`)}),Gt.extend({status:e.literal(`redirect`)})]);e.object({amountCents:e.int().gt(0),returnUri:e.url(),metadata:w.optional()}),e.object({intentId:e.string().min(1),consentId:e.string().min(1),app:e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().nullable()}),amountCents:e.int().gt(0),kind:e.enum([`pot_stake`,`store_purchase`]),potId:e.string().nullable(),monthlyLimitTronCents:e.int().gte(0).nullable(),monthSpentTronCents:e.int().gte(0),autoApproveTronCapCents:e.int().gte(0).nullable(),balanceCents:e.int().gte(0),returnUriHost:e.string().min(1),status:e.enum([`pending`]),expiresAt:e.iso.datetime()});const qt=e.object({status:e.enum([`redirect`]),redirect:e.url()}),Jt=e.object({status:e.enum([`insufficient_balance`]),balanceCents:e.int().gte(0)});e.discriminatedUnion(`status`,[qt.extend({status:e.literal(`redirect`)}),Jt.extend({status:e.literal(`insufficient_balance`)})]);const Yt=e.object({status:e.enum([`distributed`,`replayed`]),potId:e.string().regex(/^0x[0-9a-f]{32}$/),potBalanceCents:e.int().gte(0)});e.object({potId:e.string().regex(/^0x[0-9a-f]{32}$/),legs:e.array(e.object({recipientUserId:e.uuid(),amountCents:e.int().gt(0)})).max(64),rakeBps:e.int().gte(0).lte(1e4).optional(),devCutCents:e.int().gte(0).optional().default(0),closePot:e.boolean().optional().default(!0),metadata:w.optional()});const Xt=e.object({url:e.url()}),Zt=e.object({id:e.uuid(),method:e.enum([`stripe`,`usdc`]),status:e.enum([`pending`,`approved`,`rejected`,`settled`,`failed`]),amountCents:e.int().gt(0),feeCents:e.int().gte(0),currency:e.string().min(1),destinationAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),chain:e.string().min(1).nullable(),txHash:e.string().min(1).nullable(),rejectionReason:e.string().min(1).nullable(),createdAt:e.iso.datetime(),settledAt:e.iso.datetime().nullable()});e.object({method:e.enum([`stripe`,`usdc`]),amountCents:e.int().gt(0),chain:e.string().min(1).optional()});const Qt=e.object({requests:e.array(Zt).max(100)}),D=e.object({id:e.uuid(),method:e.enum([`stripe`,`usdc`]),status:e.enum([`pending`,`approved`,`rejected`,`settled`,`failed`]),amountCents:e.int().gt(0),feeCents:e.int().gte(0),currency:e.string().min(1),destinationAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),chain:e.string().min(1).nullable(),txHash:e.string().min(1).nullable(),rejectionReason:e.string().min(1).nullable(),createdAt:e.iso.datetime(),settledAt:e.iso.datetime().nullable(),userId:e.uuid(),requestIdHex:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),usdcAmount:e.string().regex(/^\d+$/).nullable(),backendSignature:e.string().regex(/^0x[0-9a-f]+$/).nullable(),signatureDeadline:e.iso.datetime().nullable(),poolAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable()}),$t=e.object({requests:e.array(D).max(100)});e.object({reason:e.string().min(1).max(500)});const en=e.array(e.object({id:e.enum([`ethereum-mainnet`,`base-mainnet`,`ethereum-sepolia`]),displayName:e.string().min(1),chainId:e.int().gt(0)})),O=e.string().min(1).max(24).regex(/^[a-z0-9]+$/).nullable(),tn=e.object({id:e.string().min(1),name:e.string().min(1),deletedAt:e.iso.datetime().nullable()}).nullable(),k=e.object({native:e.string().regex(/^\d+(?:\.\d+)?$/),usdc:e.string().regex(/^\d+(?:\.\d+)?$/).optional()}),nn=e.object({"ethereum-mainnet":k.optional(),"base-mainnet":k.optional(),"ethereum-sepolia":k.optional()}),rn=e.enum([`infinite`,`custom`,`scoped`]).nullable(),an=e.object({native:e.string().regex(/^\d+$/),usdc:e.string().regex(/^\d+$/)}).nullable(),on=e.object({mode:rn,caps:an,policyId:e.string().min(1).nullable()}),sn=e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/),label:O,kind:e.enum([`personal`,`app`]),app:tn,balances:nn,delegation:on}),cn=e.object({chains:en,wallets:e.array(sn)}),ln=e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/),label:O});e.object({label:O});const un=e.object({policyId:e.string().min(1).nullable()});e.union([e.object({mode:e.enum([`infinite`])}),e.object({mode:e.enum([`custom`]),caps:an}),e.object({mode:e.enum([`scoped`])})]);const dn=e.object({ok:e.literal(!0)});e.object({name:f.optional(),displayName:p.optional(),bio:e.string().min(1).max(256).nullish(),websiteUrl:ee.optional(),banner:h.optional(),presenceStatusMode:te.optional(),environmentViewMode:ne.optional()});const fn=e.object({id:e.string().min(1),title:e.string().max(500),gifUrl:e.url(),previewUrl:e.url(),width:e.int().gt(0),height:e.int().gt(0)}),pn=e.object({results:e.array(fn)}),mn=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),image:e.url().nullable()}),A=e.object({v:e.literal(1),alg:e.enum([`x25519-ecdh-hkdf-sha256-aes256gcm`]),senderPubKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),senderKeyId:e.string().min(1).max(128),recipientKeyId:e.string().min(1).max(128),iv:e.string().max(64).regex(/^[A-Za-z0-9_-]+$/),ct:e.string().max(16384).regex(/^[A-Za-z0-9_-]+$/)}).nullable(),hn=e.object({id:e.string().min(1),senderUserId:e.string().min(1),body:e.string().max(2e3),envelope:A.optional(),attachment:e.object({url:e.url(),count:e.int().gt(0)}).nullable(),sentAt:e.iso.datetime()}).nullable(),gn=e.object({kind:e.enum([`direct`]),id:e.string().min(1),otherParticipant:mn,lastMessage:hn,unreadCount:e.int().gte(0),pinnedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),j=e.string().min(1).max(80).regex(/^\S(?:.*\S)?$/),M=e.string().max(500).nullable(),_n=e.url().max(2048).nullable(),N=e.enum([`admin`,`member`]),vn=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),image:e.url().nullable(),role:N}),yn=e.object({kind:e.enum([`group`]),id:e.string().min(1),title:j,description:M,logoUrl:_n,participants:e.array(vn),myRole:N,lastMessage:hn,unreadCount:e.int().gte(0),pinnedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),P=e.discriminatedUnion(`kind`,[gn.extend({kind:e.literal(`direct`)}),yn.extend({kind:e.literal(`group`)})]),bn=e.object({threads:e.array(P)});e.object({thread:P,created:e.boolean()});const xn=e.object({kind:e.enum([`direct`]).optional().default(`direct`),recipientUserId:e.string().min(1)}),Sn=e.object({kind:e.enum([`group`]),title:j,description:M.optional(),invitedUserIds:e.array(e.string().min(1)).min(1).max(100)}),F=e.object({ok:e.literal(!0)}),I=e.object({thread:yn});e.object({title:j.optional(),description:M.optional()});const Cn=e.object({id:e.string().min(1),senderUserId:e.string().min(1),body:e.string().max(2e3).nullable(),envelope:A.optional()}).nullable(),L=e.enum([`👍`,`👎`,`❤️`,`😂`,`😮`,`😢`,`🔥`,`🎉`,`🙏`,`👀`,`✅`,`🎮`]),wn=e.object({emoji:L,count:e.int().gt(0),userIds:e.array(e.string().min(1))}),Tn=e.enum([`image`]),R=e.object({id:e.string().min(1),kind:Tn,url:e.url(),contentType:e.string().min(1),fileName:e.string().min(1),byteSize:e.int().gte(0),width:e.int().gt(0).nullable(),height:e.int().gt(0).nullable()}),En=e.object({url:e.url(),title:e.string().max(500).nullable(),description:e.string().max(1e3).nullable(),imageUrl:e.url().nullable(),siteName:e.string().max(200).nullable()}),Dn=e.object({id:e.string().min(1),threadId:e.string().min(1),senderUserId:e.string().min(1),body:e.string().max(2e3),envelope:A.optional(),sentAt:e.iso.datetime(),editedAt:e.iso.datetime().nullable(),deletedAt:e.iso.datetime().nullable(),replyTo:Cn,reactions:e.array(wn),attachments:e.array(R),linkPreviews:e.array(En)}),On=e.object({messages:e.array(Dn),nextBefore:e.iso.datetime().nullable()}),kn=e.string().max(2e3);e.object({body:kn.optional(),envelope:A.optional(),replyToMessageId:e.string().min(1).optional(),attachmentIds:e.array(e.string().min(1)).max(3).optional()});const An=e.string().min(1).max(2e3);e.object({body:An.optional(),envelope:A.optional()});const jn=e.object({aggregate:wn.nullable()}),z=e.object({attachment:R});e.object({userIds:e.array(e.string().min(1)).min(1).max(100)});const Mn=e.object({pinnedAt:e.iso.datetime()}),Nn=e.enum([`x25519`]),Pn=e.object({userId:e.string().min(1),keyId:e.string().min(1).max(128),publicKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),algorithm:Nn}),B=e.object({key:Pn});e.object({publicKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),keyId:e.string().min(1).max(128),algorithm:Nn});const Fn=e.object({threadId:e.string().min(1),key:Pn.nullable()}),In=e.object({keys:e.array(Fn)});e.object({threadIds:e.array(e.string().min(1)).min(1).max(200)});const Ln=e.object({exists:e.boolean(),attemptsRemaining:e.int().gte(0),kdfSalt:e.string().length(22).regex(/^[A-Za-z0-9_-]+$/).nullable(),kdfIterations:e.int().gte(1e5).lte(5e6).nullable()}),Rn=e.object({ok:e.literal(!0)});e.object({scalar:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),secret:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),pinKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/),kdfSalt:e.string().length(22).regex(/^[A-Za-z0-9_-]+$/),kdfIterations:e.int().gte(1e5).lte(5e6)});const zn=e.union([e.object({result:e.enum([`ok`]),scalar:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/)}),e.object({result:e.enum([`wrong-pin`]),attemptsRemaining:e.int().gte(0)})]);e.object({pinKey:e.string().length(43).regex(/^[A-Za-z0-9_-]+$/)}),e.object({role:N});const V=e.object({name:e.string().nullable(),handle:e.string().nullable()}).nullable(),Bn=e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),usdCents:e.int().nullable()}),Vn=e.object({code:e.string().nullable(),xLinked:e.boolean(),referrer:V,refereeCount:e.int().gte(0),lifetimeEarnings:e.array(Bn),lifetimeUsdCents:e.int().nullable(),last30dEarnings:e.array(Bn),last30dUsdCents:e.int().nullable()}),Hn=e.object({code:e.string().min(1),generatedAt:e.iso.datetime()}),Un=e.object({status:e.enum([`eligible`,`already-referred`,`self-referral`,`unknown-code`,`revoked-code`,`window-expired`]),referrer:V}),Wn=e.object({status:e.enum([`bound`,`already-referred`,`self-referral`,`unknown-code`,`revoked-code`,`window-expired`]),referrer:V});e.object({code:e.string().min(1).max(64),source:e.enum([`signup-url`,`manual-claim`,`cookie-restore`]).optional().default(`manual-claim`)});const H=e.string().regex(/^[a-f0-9]{64}$/);e.object({playSessionId:H,expiresAt:e.iso.datetime()});const U=e.uuid();e.object({appId:U});const Gn=e.object({ok:e.literal(!0),ttlSeconds:e.int().gt(0)});e.object({playSessionId:H,status:e.enum([`pending`,`active`,`ended`])});const Kn=e.uuid();e.object({playSessionId:H,userId:Kn}),e.object({status:e.enum([`pending`,`active`,`ended`])}),e.object({playSessionId:H}),e.object({status:e.enum([`ended`])}),e.object({playSessionId:H});const qn=e.object({appId:U,name:e.string(),logoUrl:e.string().nullable(),sessionCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),Jn=e.object({apps:e.array(qn),totalSessionCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),Yn=e.object({date:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),appId:U,sessionCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),Xn=e.object({from:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),to:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),buckets:e.array(Yn)});e.object({appId:U,sessionCount:e.int().gte(0),uniquePlayerCount:e.int().gte(0),totalDurationSeconds:e.int().gte(0)}),e.object({followers:e.int().gte(0),following:e.int().gte(0),gamesPlayed:e.int().gte(0),totalPlaytimeSeconds:e.int().gte(0),reviewsLeft:e.int().gte(0),rewardsWon:e.int().gte(0),rewardsValueUsdCents:e.int().gte(0)});const Zn=e.object({date:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),rewardsWon:e.int().gte(0),valueUsdCents:e.int().gte(0)});e.object({from:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),to:e.string().regex(/^\d{4}-\d{2}-\d{2}$/),totalRewardsWon:e.int().gte(0),totalValueUsdCents:e.int().gte(0),buckets:e.array(Zn)});const Qn=e.object({collectionId:e.string(),collectionAddress:e.string(),chain:e.string(),kind:e.enum([`erc721`,`erc1155`]),tokenId:e.string(),amount:e.string(),name:e.string().nullable(),imageAssetId:e.string().nullable(),bannerAssetId:e.string().nullable(),devMetadata:e.record(e.string(),e.unknown())}),$n=e.object({items:e.array(Qn)}),er=e.object({mintRequestId:e.string(),txHash:e.string(),status:e.enum([`submitted`,`completed`]),mintedTokenId:e.string().nullable()});e.object({collectionAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),chain:e.string().min(1),toWallet:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional(),toUserId:e.string().optional(),tokenId:e.string().regex(/^\d+$/).optional(),amount:e.string().regex(/^\d+$/).optional()});const tr=e.object({requesterId:e.string().min(1),requesterName:e.string().min(1),requesterDisplayName:e.string().nullable(),requesterImage:e.url().nullable(),friendshipId:e.string().min(1)}),nr=e.object({accepterId:e.string().min(1),accepterName:e.string().min(1),accepterDisplayName:e.string().nullable(),accepterImage:e.url().nullable(),friendshipId:e.string().min(1)}),rr=e.object({appId:e.uuid(),appName:e.string().min(1),scope:e.enum([`publish`,`changes`])}),ir=e.object({appId:e.uuid(),appName:e.string().min(1),scope:e.enum([`publish`,`changes`]),notes:e.string().min(1).max(1e3)}),ar=e.object({appId:e.uuid(),appName:e.string().min(1),appLogoUrl:e.url().nullable(),inviterId:e.string().min(1),inviterName:e.string().min(1),inviterDisplayName:e.string().nullable()}),or=e.object({appId:e.uuid(),appName:e.string().min(1),accepterId:e.string().min(1),accepterName:e.string().min(1),accepterDisplayName:e.string().nullable(),accepterImage:e.url().nullable()}),sr=e.union([e.object({id:e.string().min(1),kind:e.enum([`friend_request`]),payload:tr,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`friend_accepted`]),payload:nr,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_page_approved`]),payload:rr,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_page_rejected`]),payload:ir,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_participant_invite`]),payload:ar,read:e.boolean(),createdAt:e.iso.datetime()}),e.object({id:e.string().min(1),kind:e.enum([`app_participant_accepted`]),payload:or,read:e.boolean(),createdAt:e.iso.datetime()})]),cr=e.object({notifications:e.array(sr),unreadCount:e.int().gte(0)});e.object({ok:e.literal(!0)}),e.object({read:e.boolean()});const lr=e.enum([`online`,`offline`]),ur=e.object({user:mn,friendshipId:e.string().min(1),acceptedAt:e.iso.datetime(),onlineStatus:lr}),dr=e.object({friends:e.array(ur)});e.object({decision:e.enum([`accept`,`reject`])});const W=e.object({provider:e.enum([`twitter`,`discord`,`github`]),subject:e.string().min(1),username:e.string().nullable(),name:e.string().nullable(),profilePictureUrl:e.url().nullable(),verifiedAt:e.iso.datetime().nullable()}),fr=e.object({accounts:e.array(W)}),G=e.string().nullable(),pr=e.url().max(2048).nullable(),K=e.object({studioName:e.string().min(1).max(80).nullable(),studioUrl:e.url().max(2048).nullable(),studioXHandle:G,githubUrl:pr,logoUrl:e.url().max(2048).nullable()}),mr=e.object({id:e.string().min(1),name:e.string().min(1),logoUrl:e.url().max(2048).nullable(),environment:e.enum([`development`,`production`])}),hr=e.object({profile:K,apps:e.array(mr)}).nullable(),gr=e.object({followers:e.int().gte(0),following:e.int().gte(0)}),_r=e.object({gamesPlayed:e.int().gte(0),totalPlaytimeSeconds:e.int().gte(0),reviewsLeft:e.int().gte(0),rewardsWon:e.int().gte(0),rewardsValueUsdCents:e.int().gte(0)}),vr=e.object({appId:e.string().min(1),name:e.string().min(1),logoUrl:e.url().max(2048).nullable(),sessionCount:e.int().gte(0),totalPlaytimeSeconds:e.int().gte(0)}),yr=e.object({appId:e.string().min(1),appName:e.string().min(1),appLogoUrl:e.url().max(2048).nullable(),rating:e.int().gte(1).lte(5),body:e.string(),createdAt:e.iso.datetime()}),br=e.object({isFollowing:e.boolean(),isFollowedBy:e.boolean(),friendship:e.enum([`none`,`pending_out`,`pending_in`,`accepted`]),friendshipId:e.string().min(1).nullable()}).nullable(),xr=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),bio:e.string().nullable(),websiteUrl:e.url().max(2048).nullable(),image:e.url().nullable(),banner:h,createdAt:e.iso.datetime(),socials:e.array(W),developer:hr,counts:gr,stats:_r,topGames:e.array(vr),recentReviews:e.array(yr),relationship:br}),Sr=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),image:e.url().nullable(),socials:e.array(W)}),Cr=e.object({results:e.array(Sr)});e.object({ok:e.literal(!0),friendshipId:e.string().min(1)});const wr=e.object({id:e.string().min(1),keyPrefix:e.string().min(1),scopes:e.array(e.enum([`developer:read`,`developer:apps`,`developer:pages`])),createdAt:e.iso.datetime(),expiresAt:e.iso.datetime().nullable(),lastUsedAt:e.iso.datetime().nullable(),revokedAt:e.iso.datetime().nullable()}),Tr=e.object({key:wr,secret:e.string().min(1)});e.object({scopes:e.array(e.enum([`developer:read`,`developer:apps`,`developer:pages`])).min(1),expiresAt:e.iso.datetime().nullish()});const Er=e.object({keys:e.array(wr)}),q=e.object({ok:e.literal(!0)}),Dr=e.object({id:e.string().min(1)}),Or=e.string().regex(/^[A-Za-z0-9 ._-]{1,40}$/),kr=e.object({chain:e.string().min(1),custody:e.enum([`server`])});e.object({name:Or,chains:e.array(kr).optional()});const Ar=e.string().min(1).max(2048),jr=e.enum([`eth`,`tron`]),Mr=e.array(jr).min(1).max(2);e.object({name:Or.optional(),logoUrl:e.url().max(2048).nullish(),testAccess:e.enum([`private`,`public`]).optional(),redirectUris:e.array(e.url().max(2048)).max(20).optional(),embedOrigins:e.array(Ar).max(20).optional(),acceptedCurrencies:Mr.optional(),paymentStatusWebhookUrl:e.url().max(2048).nullish(),paymentStatusWebhookUrlTest:e.url().max(2048).nullish()});const J=e.object({logoUrl:e.url().nullable()}),Nr=e.object({chain:e.string().min(1),token:e.string().min(1),tokenDecimals:e.int(),lockedWei:e.string(),unlockedWei:e.string(),walletBalanceWei:e.string().nullable()}),Pr=e.object({appId:e.string().min(1),balances:e.array(Nr)}),Fr=e.object({appId:e.string().min(1),availableCents:e.int().gte(0),lockedCents:e.int().gte(0),totalCents:e.int().gte(0)}),Ir=e.object({ts:e.iso.datetime(),sumCents:e.number(),paymentCount:e.int()}),Lr=e.object({appId:e.string().min(1),range:e.string().min(1),bucketSecs:e.int(),windowSecs:e.int(),chain:e.string().nullable(),buckets:e.array(Ir)}),Rr=e.object({ts:e.iso.datetime(),sessionCount:e.int(),uniquePlayerCount:e.int(),totalDurationSeconds:e.int()}),zr=e.object({appId:e.string().min(1),range:e.string().min(1),bucketSecs:e.int(),windowSecs:e.int(),buckets:e.array(Rr)}),Br=e.object({appId:e.string().min(1),earnedCents:e.int(),earningEventCount:e.int(),distinctPayers:e.int(),sessionCount:e.int(),uniquePlayerCount:e.int(),totalPlaytimeSeconds:e.int()}),Vr=e.object({chain:e.string().min(1),address:e.string().regex(/^0x[0-9a-fA-F]{40}$/),custody:e.enum([`server`]).nullable(),walletId:e.string().nullable(),autoSweepEnabled:e.boolean(),sweepThresholdCents:e.int().nullable()}),Hr=e.object({appId:e.string().min(1),wallets:e.array(Vr)}),Ur=e.object({appId:e.string().min(1),chain:e.string().min(1),autoSweepEnabled:e.boolean(),sweepThresholdCents:e.int().nullable()});e.object({enabled:e.boolean(),thresholdCents:e.int().gt(0).nullish()});const Wr=e.object({appId:e.string().min(1),chain:e.string().min(1),custody:e.enum([`server`]),walletId:e.string().min(1),address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),Gr=e.object({appId:e.string().min(1),chain:e.string().min(1),token:e.string().min(1),txHash:e.string().min(1),amountWei:e.string().min(1),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),Kr=e.object({appId:e.string().min(1),chain:e.string().min(1),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),transfers:e.array(e.object({token:e.string().min(1),txHash:e.string().min(1),amountWei:e.string().min(1)}))}),qr=e.object({id:e.string().min(1),clientId:e.string().min(1),environment:e.enum([`development`,`production`]),secretLast4:e.string().min(1),createdAt:e.iso.datetime(),lastUsedAt:e.iso.datetime().nullable()}),Jr=e.object({key:qr,clientSecret:e.string().min(1)}),Yr=e.object({ok:e.literal(!0),status:e.enum([`pending`,`approved`])});e.object({reason:e.string().min(1).max(500).optional()});const Xr=e.object({secret:e.string().regex(/^[a-f0-9]{64}$/),secretLast4:e.string().length(4)}),Zr=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),status:e.enum([`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),reason:e.string().nullable(),filedAt:e.iso.datetime(),resolvedAt:e.iso.datetime().nullable()}),Qr=e.object({appeals:e.array(Zr)}),$r=e.object({paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),beneficiary:e.string().regex(/^0x[0-9a-fA-F]{40}$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),grossAmount:e.string().regex(/^\d+$/),creditedAmount:e.string().regex(/^\d+$/),vaultReleaseAt:e.iso.datetime(),signedAt:e.iso.datetime(),matured:e.boolean(),hasActiveAppeal:e.boolean()}),ei=e.object({deposits:e.array($r)}),ti=e.object({appCount:e.int().gte(0),availableCents:e.int().gte(0),lockedCents:e.int().gte(0),totalCents:e.int().gte(0)}),ni=e.object({userId:e.string().min(1),status:e.enum([`invited`,`accepted`,`revoked`]),name:e.string().nullable(),email:e.string().nullable(),image:e.url().nullable(),invitedAt:e.iso.datetime(),respondedAt:e.iso.datetime().nullable()}),ri=e.object({participants:e.array(ni)});e.object({identifier:e.string().min(1).max(80)});const ii=e.object({appId:e.string().min(1),appName:e.string().min(1),appLogoUrl:e.url().nullable(),status:e.enum([`invited`,`accepted`,`revoked`]),invitedAt:e.iso.datetime()}),ai=e.object({invites:e.array(ii)}),oi=e.object({id:e.string().min(1),displayName:e.string().nullable(),email:e.string().nullable()}).nullable(),si=e.string().min(1).max(80).nullable(),ci=e.string().min(10).max(1e3).nullable(),li=e.object({policyVersion:e.string().min(1),policyAcceptedAt:e.iso.datetime(),logoUrl:e.url().max(2048).nullable(),email:e.email().nullable(),xHandle:G,teamName:si,projectDescription:ci}),ui=e.object({reason:e.string().min(1).max(500).optional()}),di=e.object({id:e.string().min(1),userId:e.string().min(1),user:oi,kind:e.enum([`role`,`production`]),status:e.enum([`pending`,`approved`,`rejected`,`cancelled`]),appId:e.string().min(1).nullable(),payload:e.union([e.object({kind:e.enum([`role`]),data:li}),e.object({kind:e.enum([`production`]),data:ui})]),reviewedBy:e.string().min(1).nullable(),reviewedAt:e.iso.datetime().nullable(),reviewNotes:e.string().nullable(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).nullable(),fi=e.object({chain:e.string().min(1),address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),pi=e.object({id:e.string().min(1),name:Or,logoUrl:e.url().max(2048).nullable(),environment:e.enum([`development`,`production`]),productionApprovedAt:e.iso.datetime().nullable(),testAccess:e.enum([`private`,`public`]),createdAt:e.iso.datetime(),redirectUris:e.array(e.url().max(2048)),embedOrigins:e.array(Ar),acceptedCurrencies:Mr,payoutAddresses:e.array(fi),keys:e.array(qr),pendingProductionRequestId:e.string().min(1).nullable(),paymentStatusWebhookUrl:e.url().max(2048).nullable(),paymentStatusWebhookSecretLast4:e.string().length(4).nullable(),paymentStatusWebhookUrlTest:e.url().max(2048).nullable(),paymentStatusWebhookSecretLast4Test:e.string().length(4).nullable()}),mi=e.object({roleStatus:e.enum([`none`,`pending`,`approved`,`rejected`,`cancelled`]),latestRequest:di,profile:K.nullable(),apps:e.array(pi)});e.object({studioName:e.string().min(1).max(80).nullish(),studioUrl:e.url().max(2048).nullish(),studioXHandle:G.optional(),githubUrl:pr.optional(),logoUrl:e.url().max(2048).nullish()}),e.object({acceptPolicy:e.literal(!0),logoUrl:e.url().max(2048).optional(),email:e.email().optional(),teamName:si.optional(),projectDescription:ci.optional()});const Y=e.object({appId:e.uuid(),slug:T.nullable(),status:e.enum([`draft`,`pending_review`,`published`,`hidden`]),categories:E,tagline:Pe.nullable(),bannerUrl:e.url().max(2048).nullable(),thumbnailUrl:e.url().max(2048).nullable(),thumbnailVideoUrl:e.url().max(2048).nullable(),playUrl:e.url().max(2048).nullable(),discordUrl:e.url().max(2048).nullable(),twitterUrl:e.url().max(2048).nullable(),redditUrl:e.url().max(2048).nullable(),telegramUrl:e.url().max(2048).nullable(),gallery:Ie,chapters:Re,links:Be,firstPublishedAt:e.iso.datetime().nullable(),reviewedAt:e.iso.datetime().nullable(),reviewNotes:e.string().nullable(),hiddenAt:e.iso.datetime().nullable(),hiddenReasonPublic:e.string().nullable(),pendingReview:e.boolean()});e.object({slug:T.nullish(),categories:E.optional(),tagline:Pe.nullish(),bannerUrl:e.url().max(2048).nullish(),thumbnailUrl:e.url().max(2048).nullish(),thumbnailVideoUrl:e.url().max(2048).nullish(),playUrl:e.url().max(2048).nullish(),discordUrl:e.url().max(2048).nullish(),twitterUrl:e.url().max(2048).nullish(),redditUrl:e.url().max(2048).nullish(),telegramUrl:e.url().max(2048).nullish(),gallery:Ie.optional(),chapters:Re.optional(),links:Be.optional()});const hi=e.object({url:e.url().max(2048)}),gi=e.object({playSessionId:e.string().min(1),userId:e.uuid(),appId:e.uuid(),status:e.enum([`pending`,`active`]),userHalfFresh:e.boolean(),gameHalfFresh:e.boolean(),active:e.boolean(),startedAt:e.iso.datetime(),activatedAt:e.iso.datetime().nullable(),lastSeenAt:e.iso.datetime().nullable()}),_i=e.object({players:e.array(gi),total:e.int().gte(0),liveCount:e.int().gte(0),generatedAt:e.iso.datetime()}),vi=e.object({id:e.string().min(1),email:e.email().nullable(),role:g,addedBy:e.string().min(1).nullable(),addedAt:e.iso.datetime(),lastAccessedAt:e.iso.datetime().nullable()}),yi=e.object({admins:e.array(vi)}),bi=e.object({id:e.string()});e.object({email:e.email(),role:g.optional()});const xi=e.object({id:e.string(),role:g});e.object({role:g});const Si=e.object({id:e.string().min(1),name:e.string().min(1),displayName:e.string().nullable(),email:e.email().nullable(),createdAt:e.iso.datetime(),bannedAt:e.iso.datetime().nullable(),deletedAt:e.iso.datetime().nullable()}),Ci=e.object({users:e.array(Si),total:e.int().gte(0),offset:e.int().gte(0),limit:e.int().gt(0)}),wi=e.object({id:e.string(),banned:e.boolean()});e.object({banned:e.boolean(),reason:e.string().min(1).max(280).optional()});const Ti=e.object({id:e.string().min(1),actorId:e.string().min(1).nullable(),actorKind:e.enum([`user`,`system`,`service`]),action:e.string().min(1),targetType:e.string().min(1),targetId:e.string().min(1),purpose:e.string().min(1),legalBasis:e.enum([`consent`,`contract`,`legitimate-interest`,`legal-obligation`,`vital-interest`,`public-task`]),occurredAt:e.iso.datetime(),attributes:e.record(e.string(),e.unknown()),traceId:e.string().min(1).nullable()}),Ei=e.object({rows:e.array(Ti),total:e.int().gte(0),offset:e.int().gte(0),limit:e.int().gt(0)}),Di=e.object({requests:e.array(di)}),Oi=e.object({id:e.string().min(1),status:e.enum([`pending`,`approved`,`rejected`,`cancelled`])});e.object({decision:e.enum([`approve`,`reject`]),notes:e.string().min(1).max(1e3).optional()});const ki=e.object({id:e.string().min(1),name:e.string(),environment:e.enum([`development`,`production`]),logoUrl:e.url().nullable(),productionApprovedAt:e.iso.datetime().nullable(),createdAt:e.iso.datetime()}),Ai=e.object({userId:e.string().min(1),email:e.email(),displayName:e.string().nullable(),image:e.url().nullable(),studio:K.nullable(),apps:e.array(ki),grantedAt:e.iso.datetime().nullable()}),ji=e.object({developers:e.array(Ai)}),Mi=e.object({appId:e.uuid(),appName:e.string(),ownerDisplayName:e.string().nullable(),ownerImage:e.string().nullable(),ownerUserId:e.uuid(),ownerEmail:e.string().nullable(),appLogoUrl:e.string().nullable(),slug:e.string().nullable(),status:e.enum([`draft`,`pending_review`,`published`,`hidden`]),categories:E,tagline:e.string().nullable(),submittedAt:e.iso.datetime().nullable(),firstPublishedAt:e.iso.datetime().nullable(),hiddenAt:e.iso.datetime().nullable(),hiddenReasonInternal:e.string().nullable(),pendingChangesSubmittedAt:e.iso.datetime().nullable()}),Ni=e.object({items:e.array(Mi)}),X=e.object({status:e.enum([`draft`,`pending_review`,`published`,`hidden`])});e.object({reasonPublic:e.string().min(1).max(500),reasonInternal:e.string().max(2e3).optional()}),e.union([e.object({decision:e.enum([`approve`])}),e.object({decision:e.enum([`reject`]),notes:e.string().min(1).max(1e3)})]);const Pi=e.object({field:e.string(),label:e.string(),from:e.string(),to:e.string()}),Fi=e.object({appId:e.uuid(),submittedAt:e.iso.datetime().nullable(),changes:e.array(Pi)}),Ii=e.object({purchaseFeeBps:e.int().gte(0).lte(1e4),stakeFeeBps:e.int().gte(0).lte(1e4),updatedAt:e.iso.datetime(),updatedBy:e.string().min(1).nullable()}),Z=e.object({chain:e.string().min(1),chainId:e.int().gte(0),to:e.string().regex(/^0x[0-9a-fA-F]{40}$/),calldataHex:e.string().regex(/^0x[0-9a-fA-F]*$/)}),Li=e.object({target:e.enum([`purchase`]),envelope:Z}),Ri=e.object({purchaseFeeBps:e.int().gte(0).lte(1e4),stakeFeeBps:e.int().gte(0).lte(1e4),updatedAt:e.iso.datetime(),updatedBy:e.string().min(1).nullable(),envelopes:e.array(Li)});e.object({purchaseFeeBps:e.int().gte(0).lte(1e4).optional(),stakeFeeBps:e.int().gte(0).lte(1e4).optional()});const zi=e.object({appId:e.string().min(1),platformFeeBps:e.int().gte(0).lte(1e4).nullable(),rakeCapBps:e.int().gte(0).lte(3e3).nullable(),effectivePlatformFeeBps:e.int().gte(0).lte(1e4),effectiveRakeCapBps:e.int().gte(0).lte(3e3),updatedAt:e.iso.datetime().nullable(),updatedBy:e.string().min(1).nullable()});e.object({platformFeeBps:e.int().gte(0).lte(1e4).nullish(),rakeCapBps:e.int().gte(0).lte(3e3).nullish()}),e.object({chain:e.string().min(1),vaultAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),action:e.enum([`add`,`remove`])}),e.object({chain:e.string().min(1),processorAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),newTreasury:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});const Bi=e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),reason:e.string().min(1),flaggedBy:e.string().min(1),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()});e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),reason:e.string().min(1).max(2e3)});const Vi=e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),removed:e.literal(!0)});e.object({chain:e.string().min(1),walletAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});const Hi=e.object({entries:e.array(Bi)});e.object({chain:e.string().min(1),target:e.enum([`router`,`credit_vault`,`platform_vault`]),newOperator:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({chain:e.string().min(1),target:e.enum([`router`,`credit_vault`,`platform_vault`]),action:e.enum([`pause`,`unpause`])}),e.object({chain:e.string().min(1),vaultAddress:e.string().regex(/^0x[0-9a-fA-F]{40}$/),lockSeconds:e.int().gte(0)}),e.object({chain:e.string().min(1),account:e.string().regex(/^0x[0-9a-fA-F]{40}$/),lockSeconds:e.int().gte(0)});const Ui=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),status:e.enum([`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),reason:e.string().nullable(),filedAt:e.iso.datetime(),resolvedAt:e.iso.datetime().nullable(),resolvedBy:e.string().nullable(),resolutionNotes:e.string().nullable()}),Wi=e.object({appeals:e.array(Ui),nextCursorFiledAt:e.iso.datetime().nullable()}),Gi=e.enum([`pending_onchain`,`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`]),Ki=e.enum([`purchase`,`pot`,`matured`]),qi=e.object({source:Ki,chain:e.string(),amount:e.string().regex(/^\d+$/),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),depositId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/).nullable(),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellantUserId:e.string().nullable(),respondent:e.string().regex(/^0x[0-9a-fA-F]{40}$/).nullable(),respondentUserId:e.string().nullable(),reason:e.string().nullable(),filedAt:e.iso.datetime(),resolvedAt:e.iso.datetime().nullable(),resolution:e.object({resolutionId:e.string().regex(/^0x[0-9a-f]{32}$/),outcome:e.int().gte(0).lte(1),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]+$/)}).nullable(),refundClaimedAt:e.iso.datetime().nullable()}),Ji=e.enum([`party`,`admin`,`system`]),Yi=e.object({id:e.string().min(1),senderUserId:e.string().nullable(),senderRole:Ji,body:e.string().nullable(),attachments:e.array(R),sentAt:e.iso.datetime()}),Xi=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),threadId:e.string().nullable(),status:Gi,readOnly:e.boolean(),canResolve:e.boolean(),detail:qi,messages:e.array(Yi)}),Zi=e.object({message:Yi});e.object({body:e.string().min(1).max(4e3).optional(),attachmentIds:e.array(e.string().min(1)).max(3).optional()});const Qi=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),resolutionId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),outcome:e.int().gte(0).lte(1),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]+$/),status:e.enum([`resolved_refund`,`resolved_dismiss`])});e.object({decision:e.enum([`refund`,`dismiss`]),notes:e.string().min(1).max(2e3).optional()});const $i=e.object({appealId:e.string().regex(/^0x[0-9a-f]{32}$/),paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),chain:e.string().min(1),chainId:e.int().gt(0),vault:e.string().regex(/^0x[0-9a-fA-F]{40}$/),appellant:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),deadline:e.int().gte(0),signature:e.string().regex(/^0x[0-9a-fA-F]+$/)});e.object({paymentId:e.string().regex(/^0x[0-9a-f]{32}$/),amount:e.string().regex(/^\d+$/),reason:e.string().min(1).max(2e3)}),e.object({legId:e.string().regex(/^0x[0-9a-f]{32}$/),reason:e.string().min(1).max(2e3)});const ea=e.object({kind:e.enum([`direct`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/)}),ta=e.object({kind:e.enum([`pull`]),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/)}),na=e.discriminatedUnion(`kind`,[ea.extend({kind:e.literal(`direct`)}),ta.extend({kind:e.literal(`pull`)})]);e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional(),recipientUserId:e.string().min(1).optional(),metadata:w.optional()});const ra=e.object({distributionId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),closePot:e.boolean(),legs:e.array(e.object({recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`])}))});e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),closePot:e.boolean().optional().default(!0),legs:e.array(e.object({recipient:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional(),recipientUserId:e.string().min(1).optional(),amount:e.string().regex(/^\d+$/),settlement:e.enum([`instant`,`locked`]).optional().default(`locked`)})).min(1).max(50),metadata:w.optional()});const ia=e.object({potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/),txHash:e.string().regex(/^0x[0-9a-fA-F]{64}$/),blockNumber:e.string().regex(/^\d+$/)});e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),potId:e.string().regex(/^0x[0-9a-fA-F]{32}$/)}),e.object({status:e.enum([`ok`])});const aa=e.object({id:e.string(),purpose:e.string(),version:e.string(),grantedAt:e.iso.datetime(),withdrawnAt:e.iso.datetime().nullable()}),oa=e.object({accountId:e.string(),providerId:e.string(),hasPassword:e.boolean(),scope:e.string().nullable(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}),sa=e.object({id:e.string(),action:e.string(),targetType:e.string(),targetId:e.string(),purpose:e.string(),legalBasis:e.string(),occurredAt:e.iso.datetime(),traceId:e.string().nullable(),attributes:e.record(e.string(),e.unknown())}),ca=e.object({id:e.string(),threadId:e.string(),contentMode:e.enum([`plaintext`,`e2e-encrypted`]),body:e.string().nullable(),envelope:e.unknown().optional(),note:e.string().nullable(),sentAt:e.iso.datetime(),editedAt:e.iso.datetime().nullable(),deletedAt:e.iso.datetime().nullable()});e.object({user:_,sessions:e.array(ie),consents:e.array(aa),accounts:e.array(oa),auditEvents:e.array(sa),messages:e.array(ca),exportedAt:e.iso.datetime()}),e.object({name:f.optional(),image:e.string().min(1).max(2048).nullish()});const la=e.object({purpose:e.string(),version:e.string(),grantedAt:e.iso.datetime(),withdrawnAt:e.iso.datetime().nullable()});e.object({consents:e.array(la)});const ua=e.string().regex(/^[a-z][a-z0-9-]{2,63}$/);e.object({purpose:ua,version:e.string().min(1).max(64),granted:e.boolean()}),e.object({token:e.string().min(1),callbackURL:e.url().optional()}),e.object({response_type:e.enum([`code`]),client_id:b,redirect_uri:v,scope:y,state:se,code_challenge:ce,code_challenge_method:e.enum([`S256`]),prompt:e.enum([`consent`]).optional()}),e.object({request:x}),e.object({client_id:e.string().min(1),return_uri:e.url()}),e.object({clientId:e.string().min(1)}),e.object({chain:e.string().min(1),token:e.string().regex(/^0x[0-9a-fA-F]{40}$/),amount:e.string().regex(/^\d+$/).optional(),usdCents:e.int().gte(0).nullish()});const da=Oe;e.void(),e.void(),e.void(),e.object({genre:e.enum(`adventure.battle_royale.board.cards.casino.casual.fighting.idle.mmo.moba.platformer.prediction.puzzle.racing.rhythm.roguelike.rpg.rts.sandbox.shooter.simulation.sports.strategy.survival.tools.tower_defense.visual_novel.other`.split(`.`)).optional(),q:e.string().min(1).max(200).optional(),before:e.iso.datetime().optional(),limit:e.int().gte(1).lte(48).optional().default(24)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({sort:Qe.optional(),limit:e.int().gte(1).lte(50).optional().default(10),offset:e.int().gte(0).nullish().default(0)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({slug:e.string().regex(/^[a-z0-9-]{3,40}$/)}),e.object({appId:e.uuid()}),e.object({sort:Qe.optional(),limit:e.int().gte(1).lte(50).optional().default(10),offset:e.int().gte(0).nullish().default(0)}),e.object({appId:e.uuid(),reviewId:e.uuid()}),e.object({appId:e.uuid(),reviewId:e.uuid()}),e.object({appId:e.uuid()});const fa=rt;e.object({id:e.uuid()}),e.object({status:at.optional(),limit:e.int().gte(1).lte(50).optional().default(20),offset:e.int().gte(0).nullish().default(0)});const pa=st;e.object({id:e.uuid(),reportId:e.uuid()});const ma=ot;e.object({status:e.enum([`pending`,`completed`,`expired`,`all`]).optional().default(`completed`),limit:e.int().gte(1).lte(100).optional().default(20),before:e.iso.datetime().optional()}),e.object({kind:e.string().optional(),direction:e.enum([`outgoing`,`incoming`]).optional(),sort:e.enum([`newest`,`oldest`,`value_desc`,`value_asc`]).optional().default(`newest`),chain:e.string().min(1).optional(),limit:e.int().gte(1).lte(100).optional().default(20),cursor:e.string().min(1).optional(),before:e.iso.datetime().optional(),includeInactive:e.enum([`true`,`false`]).optional().default(`false`)}),e.object({groupId:e.string().min(1).max(128)}),e.object({chain:e.string().min(1).optional()}),e.object({before:e.iso.datetime().optional()}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)}),e.object({address:e.string().regex(/^0x[0-9a-fA-F]{40}$/)});const ha=_,ga=_;e.object({file:e.string()});const _a=_;e.object({q:e.string().max(200).optional()});const va=pn;e.union([xn,Sn]),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({limit:e.int().gt(0).lte(100).optional(),before:e.iso.datetime().optional()}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1),msgId:e.string().min(1)}),e.object({id:e.string().min(1),msgId:e.string().min(1)}),e.object({id:e.string().min(1),msgId:e.string().min(1),emoji:L}),e.object({id:e.string().min(1),msgId:e.string().min(1),emoji:L}),e.object({id:e.string().min(1)}),e.object({file:e.string()}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({file:e.string()}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1),userId:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1),userId:e.string().min(1)}),e.object({regenerate:e.boolean().optional()}),e.object({code:e.string().min(1).max(64)});const ya=Gn;e.object({days:e.int().gt(0).lte(366).optional().default(30)}),e.object({appId:e.uuid()}),e.object({days:e.int().gt(0).lte(366).optional().default(30)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({handle:e.string().min(1)}),e.object({q:e.string().min(1).max(64),limit:e.int().gte(1).lte(50).optional().default(20)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)});const ba=Er,xa=Tr;e.object({id:e.string().min(1)});const Sa=q,Ca=Dr;e.object({id:e.string().min(1)});const wa=Dr;e.object({id:e.string().min(1)});const Ta=Dr;e.object({id:e.string().min(1)});const Ea=J;e.object({file:e.string()}),e.object({id:e.string().min(1)});const Da=J;e.object({id:e.string().min(1)});const Oa=Pr;e.object({id:e.string().min(1)});const ka=Fr;e.object({id:e.string().min(1)}),e.object({range:e.string().optional(),chain:e.string().optional()});const Aa=Lr;e.object({id:e.string().min(1)}),e.object({range:e.string().optional()});const ja=zr;e.object({id:e.string().min(1)});const Ma=Br;e.object({id:e.string().min(1)}),e.object({kind:e.string().optional(),direction:e.enum([`outgoing`,`incoming`]).optional(),sort:e.enum([`newest`,`oldest`,`value_desc`,`value_asc`]).optional().default(`newest`),chain:e.string().min(1).optional(),limit:e.int().gte(1).lte(100).optional().default(20),cursor:e.string().min(1).optional(),before:e.iso.datetime().optional(),includeInactive:e.enum([`true`,`false`]).optional().default(`false`)});const Na=Ot;e.object({id:e.string().min(1)});const Pa=Hr;e.object({id:e.string().min(1),chain:e.string().min(1)});const Fa=Ur;e.object({id:e.string().min(1),chain:e.string().min(1)});const Ia=Wr;e.object({id:e.string().min(1),chain:e.string().min(1)}),e.object({token:e.string().regex(/^0x[0-9a-fA-F]{40}$/).optional()});const La=Gr;e.object({id:e.string().min(1),chain:e.string().min(1)});const Ra=Kr;e.object({id:e.string().min(1),env:e.enum([`development`,`production`])});const za=Jr;e.object({id:e.string().min(1)});const Ba=Yr;e.object({id:e.string().min(1)});const Va=Xr;e.object({chain:e.string().optional()});const Ha=Qr;e.object({chain:e.string().optional()});const Ua=ei,Wa=ti;e.object({id:e.string().min(1)});const Ga=ri;e.object({id:e.string().min(1)});const Ka=ri;e.object({id:e.string().min(1),userId:e.string().min(1)});const qa=q,Ja=ai;e.object({appId:e.string().min(1)});const Ya=q;e.object({appId:e.string().min(1)});const Xa=q,Za=mi,Qa=q,$a=J;e.object({file:e.string()});const eo=J,to=q,no=J;e.object({file:e.string()});const ro=J;e.object({appId:e.string().min(1)});const io=Y;e.object({appId:e.string().min(1)});const ao=Y;e.object({appId:e.string().min(1)}),e.void(),e.object({file:e.string()}),e.object({appId:e.string().min(1)});const oo=e.object({bannerUrl:e.url()});e.object({appId:e.string().min(1)}),e.void(),e.object({file:e.string()}),e.object({appId:e.string().min(1)});const so=e.object({thumbnailUrl:e.url()});e.object({appId:e.string().min(1)}),e.void(),e.object({file:e.string()}),e.object({appId:e.string().min(1)});const co=e.object({thumbnailVideoUrl:e.url()});e.object({file:e.string()}),e.object({appId:e.string().min(1)});const lo=hi;e.object({appId:e.string().min(1)});const uo=Y;e.object({appId:e.string().min(1)});const fo=Y;e.object({id:e.string().min(1)}),e.object({id:e.string().min(1)}),e.object({search:e.string().optional(),offset:e.int().gte(0).nullish(),limit:e.int().gt(0).lte(100).optional()}),e.object({id:e.string().min(1)}),e.object({action:e.string().optional(),actorId:e.string().optional(),targetType:e.string().optional(),targetId:e.string().optional(),offset:e.int().gte(0).nullish(),limit:e.int().gt(0).lte(100).optional()}),e.object({status:e.enum([`pending`,`approved`,`rejected`,`cancelled`]).optional(),kind:e.enum([`role`,`production`]).optional()}),e.object({id:e.string().min(1)}),e.object({status:e.union([e.enum([`draft`,`pending_review`,`published`,`hidden`]),e.enum([`all`]),e.enum([`pending_changes`])]).optional()}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({appId:e.string().min(1)}),e.object({processorId:e.string().min(1)}),e.object({chain:e.string().min(1).optional()}),e.object({vaultAddress:e.string().min(1)}),e.object({vaultAddress:e.string().min(1)}),e.object({vaultAddress:e.string().min(1)}),e.object({vaultAddress:e.string().min(1)}),e.object({status:e.array(e.enum([`open`,`resolved_refund`,`resolved_dismiss`,`cancelled`,`force_cancelled`])).optional(),chain:e.string().min(1).optional(),cursorFiledAt:e.iso.datetime().optional(),limit:e.int().gte(1).lte(100).optional()}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({file:e.string()}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({appealId:e.string().min(1)}),e.object({file:e.string()}),e.object({appealId:e.string().min(1)}),e.void(),e.void();async function po(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${ho(e.issuer)}/me/avatar`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return _a.parse(a)}async function mo(e,t){let n=await a(e,{path:`/me/avatar`,method:`DELETE`,bearer:t.bearer});return ga.parse(n)}function ho(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function go(e,t){let n=await a(e,{path:`/me/giphy/search`,bearer:t.bearer,query:{q:t.q}});return va.parse(n)}async function _o(e,t){let n=await a(e,{path:`/me/oauth/payment-authorizations`,bearer:t.bearer});return da.parse(n)}async function vo(e,t){await s(e,{path:`/me/oauth/payment-authorizations/${encodeURIComponent(t.consentId)}`,method:`PATCH`,bearer:t.bearer,body:t.body})}async function yo(e,t){await s(e,{path:`/me/oauth/payment-authorizations/${encodeURIComponent(t.consentId)}`,method:`DELETE`,bearer:t.bearer})}async function bo(e,t){let n=await a(e,{path:`/me/presence/heartbeat`,method:`POST`,bearer:t.bearer});return ya.parse(n)}async function xo(e,t){let n=await a(e,{path:`/me/profile`,method:`PATCH`,bearer:t.bearer,body:t.body});return ha.parse(n)}async function So(e,t){let n=await a(e,{path:`/admin/active-players`,bearer:t.bearer});return _i.parse(n)}async function Co(e,t){let n=await a(e,{path:`/admin/app-pages`,bearer:t.bearer,query:{status:t.status}});return Ni.parse(n)}async function wo(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/changes`,bearer:t.bearer});return Fi.parse(n)}async function To(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/review-changes`,method:`POST`,bearer:t.bearer,body:t.body});return X.parse(n)}async function Eo(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/hide`,method:`POST`,bearer:t.bearer,body:t.body});return X.parse(n)}async function Do(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/unhide`,method:`POST`,bearer:t.bearer});return X.parse(n)}async function Oo(e,t){let n=await a(e,{path:`/admin/app-pages/${encodeURIComponent(t.appId)}/review`,method:`POST`,bearer:t.bearer,body:t.body});return X.parse(n)}async function ko(e,t){let n=await a(e,{path:`/admin/payments/appeals`,bearer:t.bearer,query:{status:t.statuses===void 0?void 0:[...t.statuses],chain:t.chain,cursorFiledAt:t.cursorFiledAt,limit:t.limit}});return Wi.parse(n)}async function Ao(e,t){let n=await a(e,{path:`/admin/payments/appeals/${encodeURIComponent(t.appealId)}/room`,bearer:t.bearer});return Xi.parse(n)}async function jo(e,t){let n=await a(e,{path:`/admin/payments/appeals/${encodeURIComponent(t.appealId)}/room/messages`,method:`POST`,bearer:t.bearer,body:t.body});return Zi.parse(n)}async function Mo(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${Po(e.issuer)}/admin/payments/appeals/${encodeURIComponent(t.appealId)}/room/attachments`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return z.parse(a)}async function No(e,t){let n=await a(e,{path:`/admin/payments/appeals/${encodeURIComponent(t.appealId)}/resolve`,method:`POST`,bearer:t.bearer,body:t.body});return Qi.parse(n)}function Po(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function Fo(e,t){let n=await a(e,{path:`/admin/developer-requests`,bearer:t.bearer,query:{status:t.status,kind:t.kind}});return Di.parse(n)}async function Io(e,t){let n=await a(e,{path:`/admin/developer-requests/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return Oi.parse(n)}async function Lo(e,t){let n=await a(e,{path:`/admin/developers`,bearer:t.bearer});return ji.parse(n)}async function Ro(e,t){let n=await a(e,{path:`/admin/platform-fees`,bearer:t.bearer});return Ii.parse(n)}async function zo(e,t){let n=await a(e,{path:`/admin/platform-fees`,method:`PATCH`,bearer:t.bearer,body:t.body});return Ri.parse(n)}async function Bo(e,t){let n=await a(e,{path:`/admin/apps/${encodeURIComponent(t.appId)}/fee-config`,bearer:t.bearer});return zi.parse(n)}async function Vo(e,t){let n=await a(e,{path:`/admin/apps/${encodeURIComponent(t.appId)}/fee-config`,method:`PATCH`,bearer:t.bearer,body:t.body});return zi.parse(n)}async function Ho(e,t){let n=await a(e,{path:`/admin/payments/processors/whitelist`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Uo(e,t){let n=await a(e,{path:`/admin/payments/processors/${encodeURIComponent(t.processorId)}/treasury`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Wo(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/operator`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Go(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/pause`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Ko(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/withdraw-lock-default`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function qo(e,t){let n=await a(e,{path:`/admin/payments/vaults/${encodeURIComponent(t.vaultAddress)}/withdraw-lock-override`,method:`POST`,bearer:t.bearer,body:t.body});return Z.parse(n)}async function Jo(e,t){let n=await a(e,{path:`/admin/payments/appeal-blacklist`,method:`POST`,bearer:t.bearer,body:t.body});return Bi.parse(n)}async function Yo(e,t){let n=await a(e,{path:`/admin/payments/appeal-blacklist`,method:`DELETE`,bearer:t.bearer,body:t.body});return Vi.parse(n)}async function Xo(e,t){let n=await a(e,{path:`/admin/payments/appeal-blacklist`,bearer:t.bearer,query:{chain:t.chain}});return Hi.parse(n)}async function Zo(e,t){let n=await a(e,{path:`/admin/tron/cashouts${t.status===void 0?``:`?status=${encodeURIComponent(t.status)}`}`,bearer:t.bearer});return $t.parse(n)}async function Qo(e,t){let n=await a(e,{path:`/admin/tron/cashouts/${encodeURIComponent(t.id)}/approve`,method:`POST`,bearer:t.bearer});return D.parse(n)}async function $o(e,t){let n=await a(e,{path:`/admin/tron/cashouts/${encodeURIComponent(t.id)}/reject`,method:`POST`,bearer:t.bearer,body:t.body});return D.parse(n)}async function es(e,t){let n=await a(e,{path:`/admin/admins`,bearer:t.bearer});return yi.parse(n)}async function ts(e,t){let n=await a(e,{path:`/admin/admins`,method:`POST`,bearer:t.bearer,body:t.body});return bi.parse(n)}async function ns(e,t){let n=await a(e,{path:`/admin/admins/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return xi.parse(n)}async function rs(e,t){let n=await a(e,{path:`/admin/admins/${encodeURIComponent(t.id)}`,method:`DELETE`,bearer:t.bearer});return bi.parse(n)}async function is(e,t){let n=await a(e,{path:`/admin/users`,bearer:t.bearer,query:{search:t.search,offset:t.offset,limit:t.limit}});return Ci.parse(n)}async function as(e,t){let n=await a(e,{path:`/admin/users/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return wi.parse(n)}async function os(e,t){let n=await a(e,{path:`/admin/audit`,bearer:t.bearer,query:{action:t.action,actorId:t.actorId,targetType:t.targetType,targetId:t.targetId,offset:t.offset,limit:t.limit}});return Ei.parse(n)}async function ss(e,t){let n=await a(e,{path:`/public/apps/${encodeURIComponent(t.slug)}`,bearer:t.bearer});return He.parse(n)}async function cs(e,t){let n=await a(e,{path:`/me/apps/${encodeURIComponent(t.appId)}/report`,method:`POST`,bearer:t.bearer,body:t.report});return fa.parse(n)}async function ls(e,t){let n=await a(e,{path:`/public/library`,bearer:t.bearer,query:{genre:t.genre,q:t.q,before:t.before,limit:t.limit}});return Ne.parse(n)}async function us(e,t){let n=await a(e,{path:`/public/apps/${encodeURIComponent(t.slug)}/reviews`,bearer:t.bearer,query:{sort:t.sort,limit:t.limit,offset:t.offset}});return Ze.parse(n)}async function ds(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/reviews`,bearer:t.bearer,query:{sort:t.sort,limit:t.limit,offset:t.offset}});return Ze.parse(n)}async function fs(e,t){let n=await a(e,{path:`/me/reviews/${encodeURIComponent(t.slug)}`,bearer:t.bearer});return tt.parse(n)}async function ps(e,t){let n=await a(e,{path:`/me/reviews/${encodeURIComponent(t.slug)}`,method:`PUT`,bearer:t.bearer,body:t.review});return tt.parse(n)}async function ms(e,t){let n=await a(e,{path:`/me/reviews/${encodeURIComponent(t.slug)}`,method:`DELETE`,bearer:t.bearer});return tt.parse(n)}async function hs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/reviews/${encodeURIComponent(t.reviewId)}/reply`,method:`PUT`,bearer:t.bearer,body:t.reply});return nt.parse(n)}async function gs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/reviews/${encodeURIComponent(t.reviewId)}/reply`,method:`DELETE`,bearer:t.bearer});return nt.parse(n)}function _s(){let e=new Map;return{run:async(t,n)=>{let r=e.get(t);if(r!==void 0)return await r;let i=(async()=>{try{return await n()}finally{e.delete(t)}})();return e.set(t,i),await i}}}const vs=new Set([`localhost`,`127.0.0.1`,`::1`]);function ys(e,t={}){if(!(t.isProduction??bs()))return;let n;try{n=new URL(e)}catch{throw Error(`@metatrongg/sdk: invalid issuer URL: ${e}`)}if(n.protocol!==`https:`&&!(n.protocol===`http:`&&vs.has(n.hostname)))throw Error(`@metatrongg/sdk: issuer must be https:// in production (got ${n.protocol}//${n.host})`)}function bs(){return typeof process<`u`&&typeof process.env==`object`?process.env.NODE_ENV===`production`:!1}function xs(){return{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}}function Ss(e=`[tron-sdk]`){return{debug:(t,n)=>{console.log(e,t,n??``)},info:(t,n)=>{console.info(e,t,n??``)},warn:(t,n)=>{console.warn(e,t,n??``)},error:(t,n)=>{console.error(e,t,n??``)}}}const Cs=6e4,ws=60,Ts=5,Es={acquire:async()=>{await Promise.resolve()}};function Ds(e,t){let n=Math.max(1,t),r=e/1e3,i=n,a=Date.now(),o=[],s=null;function c(){let e=Date.now();for(i=Math.min(n,i+(e-a)*r),a=e;o.length>0&&i>=1;)--i,o.shift()?.();if(o.length>0&&s===null){let e=Math.max(5,Math.ceil((1-i)/r));s=setTimeout(()=>{s=null,c()},e)}}return{acquire:async()=>{await new Promise(e=>{o.push(e),c()})}}}const Os=e=>e===`GET`||e===`HEAD`,ks=e=>e/Cs*1e3;function As(e={}){let t=Ds(e.read?.requestsPerSecond??ks(60),e.read?.burst??60),n=Ds(e.write?.requestsPerSecond??ks(5),e.write?.burst??5);return{acquire:async e=>{await(Os(e)?t:n).acquire()}}}function js(){let e=new Map;return{async get(t){return e.get(t)??null},async set(t,n){e.set(t,n)},async clear(t){e.delete(t)}}}async function Ms(e,t){let n=await a(e,{path:`/payments/me/activity`,bearer:t.bearer,query:{kind:t.kind,direction:t.direction,sort:t.sort,chain:t.chain,limit:t.limit,cursor:t.cursor,before:t.before,includeInactive:t.includeInactive===!0?`true`:void 0}});return Ot.parse(n)}async function Ns(e,t){let n=await a(e,{path:`/payments/me/activity/group/${encodeURIComponent(t.groupId)}`,bearer:t.bearer});return Ot.parse(n)}async function Ps(e,t){let n=await a(e,{path:`/payments/chains`,bearer:t.bearer});return lt.parse(n)}async function Fs(e,t){let n=await a(e,{path:`/payments/me/outstanding`,bearer:t.bearer,query:{chain:t.chain}});return At.parse(n)}async function Is(e,t){let n=await a(e,{path:`/payments/me`,bearer:t.bearer,query:{status:t.status,limit:t.limit,before:t.before}});return dt.parse(n)}async function Ls(e,t){let n=await a(e,{path:`/me/developer/keys`,method:`POST`,bearer:t.bearer,body:t.body});return xa.parse(n)}async function Rs(e,t){let n=await a(e,{path:`/me/developer/keys`,method:`GET`,bearer:t.bearer});return ba.parse(n)}async function zs(e,t){let n=await a(e,{path:`/me/developer/keys/${encodeURIComponent(t.id)}`,method:`DELETE`,bearer:t.bearer});return Sa.parse(n)}async function Bs(e,t){let n=await a(e,{path:`/me/developer`,bearer:t.bearer});return Za.parse(n)}async function Vs(e,t){let n=await a(e,{path:`/me/developer/profile`,method:`PATCH`,bearer:t.bearer,body:t.body});return Qa.parse(n)}async function Hs(e,t){let n=await Q(e,{path:`/me/developer/profile/logo`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return eo.parse(n)}async function Us(e,t){let n=await a(e,{path:`/me/developer/profile/logo`,method:`DELETE`,bearer:t.bearer});return $a.parse(n)}async function Ws(e,t){let n=await a(e,{path:`/me/developer/request`,method:`POST`,bearer:t.bearer,body:t.body});return to.parse(n)}async function Gs(e,t){let n=await Q(e,{path:`/me/developer/request/logo`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return ro.parse(n)}async function Ks(e,t){let n=await a(e,{path:`/me/developer/request/logo`,method:`DELETE`,bearer:t.bearer});return no.parse(n)}async function Q(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${qs(e.issuer)}${t.path}`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}return await i.json()}function qs(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function Js(e,t){let n=await a(e,{path:`/me/developer/apps`,method:`POST`,bearer:t.bearer,body:t.body});return Ca.parse(n)}async function Ys(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return Ta.parse(n)}async function Xs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}`,method:`DELETE`,bearer:t.bearer});return wa.parse(n)}async function Zs(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/logo`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return Da.parse(n)}async function Qs(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/logo`,method:`DELETE`,bearer:t.bearer});return Ea.parse(n)}async function $s(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/balances`,bearer:t.bearer});return Oa.parse(n)}async function ec(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/tron-balance`,bearer:t.bearer});return ka.parse(n)}async function tc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/activity`,bearer:t.bearer,query:{kind:t.kind,direction:t.direction,sort:t.sort,chain:t.chain,limit:t.limit,cursor:t.cursor,before:t.before}});return Na.parse(n)}async function nc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/earnings`,bearer:t.bearer,query:{range:t.range,chain:t.chain}});return Aa.parse(n)}async function rc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/playtime`,bearer:t.bearer,query:{range:t.range}});return ja.parse(n)}async function ic(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/overview`,bearer:t.bearer});return Ma.parse(n)}async function ac(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets`,bearer:t.bearer});return Pa.parse(n)}async function oc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/auto-sweep`,method:`PATCH`,bearer:t.bearer,body:t.body});return Fa.parse(n)}async function sc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/provision`,method:`POST`,bearer:t.bearer});return Ia.parse(n)}async function cc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/withdraw`,method:`POST`,bearer:t.bearer,query:{token:t.token}});return La.parse(n)}async function lc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/wallets/${encodeURIComponent(t.chain)}/consolidate`,method:`POST`,bearer:t.bearer});return Ra.parse(n)}async function uc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/keys/${encodeURIComponent(t.env)}`,method:`PUT`,bearer:t.bearer});return za.parse(n)}async function dc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/production-request`,method:`POST`,bearer:t.bearer,body:t.body});return Ba.parse(n)}async function fc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/payment-status-webhook/secret`,method:`POST`,bearer:t.bearer});return Va.parse(n)}async function pc(e,t){let n=await a(e,{path:`/me/developer/payments/appeals`,bearer:t.bearer,query:{chain:t.chain}});return Ha.parse(n)}async function mc(e,t){let n=await a(e,{path:`/me/developer/payments/pending-deposits`,bearer:t.bearer,query:{chain:t.chain}});return Ua.parse(n)}async function hc(e,t){let n=await a(e,{path:`/me/developer/payments/tron-balance`,bearer:t.bearer});return Wa.parse(n)}async function gc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/reports`,bearer:t.bearer,query:{status:t.status,limit:t.limit,offset:t.offset}});return pa.parse(n)}async function _c(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/reports/${encodeURIComponent(t.reportId)}`,method:`PATCH`,bearer:t.bearer,body:{status:t.status}});return ma.parse(n)}async function vc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page`,bearer:t.bearer});return io.parse(n)}async function yc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page`,method:`PATCH`,bearer:t.bearer,body:t.body});return ao.parse(n)}async function bc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/banner`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return oo.parse(n)}async function xc(e,t){await s(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/banner`,method:`DELETE`,bearer:t.bearer})}async function Sc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return so.parse(n)}async function Cc(e,t){await s(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail`,method:`DELETE`,bearer:t.bearer})}async function wc(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail-video`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return co.parse(n)}async function Tc(e,t){await s(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/thumbnail-video`,method:`DELETE`,bearer:t.bearer})}async function Ec(e,t){let n=await Q(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/gallery`,bearer:t.bearer,file:t.file,filename:t.filename,contentType:t.contentType});return lo.parse(n)}async function Dc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/submit-for-review`,method:`POST`,bearer:t.bearer});return uo.parse(n)}async function Oc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.appId)}/page/unpublish`,method:`POST`,bearer:t.bearer});return fo.parse(n)}async function kc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/participants`,method:`GET`,bearer:t.bearer});return Ga.parse(n)}async function Ac(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/participants`,method:`POST`,bearer:t.bearer,body:t.body});return Ka.parse(n)}async function jc(e,t){let n=await a(e,{path:`/me/developer/apps/${encodeURIComponent(t.id)}/participants/${encodeURIComponent(t.userId)}`,method:`DELETE`,bearer:t.bearer});return qa.parse(n)}async function Mc(e,t){let n=await a(e,{path:`/me/developer/invites`,method:`GET`,bearer:t.bearer});return Ja.parse(n)}async function Nc(e,t){let n=await a(e,{path:`/me/developer/invites/${encodeURIComponent(t.appId)}/accept`,method:`POST`,bearer:t.bearer});return Ya.parse(n)}async function Pc(e,t){let n=await a(e,{path:`/me/developer/invites/${encodeURIComponent(t.appId)}/decline`,method:`POST`,bearer:t.bearer});return Xa.parse(n)}const Fc=e.object({event:e.enum([`intent.completed`,`intent.denied`,`intent.expired`,`intent.txhash_indexed`]),deliveredAt:e.iso.datetime(),intent:xe});async function Ic(e){let t=e.signatureHeader;if(typeof t!=`string`||t===``)return{ok:!1,reason:`missing_signature`};let n=e.timestampHeader;if(typeof n!=`string`||n===``)return{ok:!1,reason:`missing_timestamp`};let r=Number(n);if(!Number.isFinite(r)||r<=0)return{ok:!1,reason:`invalid_timestamp`};let i=e.toleranceSeconds??300,a=Math.floor((e.now??Date.now())/1e3);if(Math.abs(a-r)>i)return{ok:!1,reason:`stale_timestamp`};if(!Rc(await Lc(e.secret,`${n}.${e.rawBody}`),t))return{ok:!1,reason:`signature_mismatch`};let o;try{o=JSON.parse(e.rawBody)}catch{return{ok:!1,reason:`schema_mismatch`}}let s=Fc.safeParse(o);return s.success?{ok:!0,body:s.data}:{ok:!1,reason:`schema_mismatch`}}async function Lc(e,t){let n=new TextEncoder,r=await crypto.subtle.importKey(`raw`,n.encode(e),{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]),i=await crypto.subtle.sign(`HMAC`,r,n.encode(t)),a=new Uint8Array(i),o=``;for(let e of a)o+=e.toString(16).padStart(2,`0`);return o}function Rc(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(n.length!==r.length)return!1;let i=0;for(let e=0;e<n.length;e++)i|=n.charCodeAt(e)^r.charCodeAt(e);return i===0}const zc=`x-metatron-signature`,Bc=`x-metatron-timestamp`;function Vc(e){let t=e.logger,n=WebSocket,r=e.WebSocketImpl??n;if(r===void 0)throw Error(`@metatrongg/sdk: WebSocket is not available; pass WebSocketImpl on node <22 or in a non-WS runtime`);let a=r,o=e.initialBackoffMs??1e3,s=e.maxBackoffMs??3e4,c=!1,l=o,u=null,d=null;function f(){if(c||d!==null)return;let e=1+(Math.random()-.5)*.5,t=Math.min(s,Math.max(o,l*e));l=Math.min(s,Math.max(o,l*2)),d=setTimeout(()=>{d=null,m()},t);let n=d.unref;typeof n==`function`&&n.call(d)}function p(){let t=new URL(e.issuer),n=t.protocol===`https:`?`wss:`:`ws:`,r=new URL(`/oauth/payments/events`,`${n}//${t.host}`);return r.searchParams.set(`client_id`,e.clientId),r.searchParams.set(`client_secret`,e.clientSecret),r.href}function m(){if(c)return;let n=p();t?.info(`tron events: connecting`,{origin:new URL(n).origin});let r=new a(n);u=r,r.addEventListener(`open`,()=>{l=o,e.lifecycle.onOpen?.()}),r.addEventListener(`message`,n=>{let r=typeof n.data==`string`?n.data:new TextDecoder().decode(n.data),i;try{i=JSON.parse(r)}catch{t?.warn(`tron events: non-json frame`,{preview:r.slice(0,200)});return}if(typeof i==`object`&&i&&`kind`in i){let t=i;t.kind===`subscribed`&&typeof t.appId==`string`&&e.lifecycle.onSubscribed?.(t.appId);return}let a=Fc.safeParse(i);if(!a.success){t?.warn(`tron events: schema mismatch`,{issues:a.error.issues});return}Promise.resolve(e.lifecycle.onMessage(a.data)).catch(n=>{let r=n instanceof Error?n:Error(String(n));t?.error(`tron events: onMessage threw`,{message:r.message}),e.lifecycle.onError?.(r)})}),r.addEventListener(`close`,n=>{u=null;let r=new i(n.code,n.reason);t?.warn(`tron events: closed`,{code:n.code,reason:n.reason}),e.lifecycle.onClose?.(r),e.shouldReconnect?.(r)??!r.isPermanent?f():c=!0}),r.addEventListener(`error`,()=>{e.lifecycle.onError?.(Error(`tron events: socket error (close incoming)`))})}return m(),{stop(){c=!0,d!==null&&(clearTimeout(d),d=null),u?.close(),u=null}}}async function Hc(e,t){let n=await a(e,{path:`/me/inventory`,bearer:t.bearer});return $n.parse(n)}async function Uc(e,t){let n=await a(e,{path:`/oauth/inventory`,bearer:t.bearer});return $n.parse(n)}async function Wc(e,t){let n=await a(e,{path:`/oauth/inventory/mint`,method:`POST`,bearer:t.appBearer,body:t.body});return er.parse(n)}async function Gc(e,t){let n=await a(e,{path:`/me/dm-key-backup`,bearer:t.bearer});return Ln.parse(n)}async function Kc(e,t){let n=await a(e,{path:`/me/dm-key-backup`,method:`POST`,bearer:t.bearer,body:t.body});return Rn.parse(n)}async function qc(e,t){let n=await a(e,{path:`/me/dm-key-backup/unlock`,method:`POST`,bearer:t.bearer,body:t.body});return zn.parse(n)}async function Jc(e,t){let n=await a(e,{path:`/me/dm-key`,method:`PUT`,bearer:t.bearer,body:t.body});return B.parse(n)}async function Yc(e,n){try{let t=await a(e,{path:`/me/dm-key`,bearer:n.bearer});return B.parse(t)}catch(e){if(e instanceof t&&e.status===404)return null;throw e}}async function Xc(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/dm-key`,bearer:t.bearer});return B.parse(n)}async function Zc(e,t){let n=await a(e,{path:`/me/threads/dm-keys`,method:`POST`,bearer:t.bearer,body:{threadIds:[...t.threadIds]}});return In.parse(n)}async function Qc(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${el(e.issuer)}/me/threads/${encodeURIComponent(t.threadId)}/logo`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return I.parse(a)}async function $c(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/logo`,method:`DELETE`,bearer:t.bearer});return I.parse(n)}function el(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function tl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}`,method:`DELETE`,bearer:t.bearer});return F.parse(n)}async function nl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return Dn.parse(n)}async function rl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}/reactions/${encodeURIComponent(t.emoji)}`,method:`PUT`,bearer:t.bearer});return jn.parse(n)}async function il(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages/${encodeURIComponent(t.messageId)}/reactions/${encodeURIComponent(t.emoji)}`,method:`DELETE`,bearer:t.bearer});return jn.parse(n)}async function al(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/participants/${encodeURIComponent(t.userId)}`,method:`DELETE`,bearer:t.bearer});return I.parse(n)}async function ol(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/participants/${encodeURIComponent(t.userId)}/role`,method:`PATCH`,bearer:t.bearer,body:t.body});return I.parse(n)}async function sl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}`,method:`DELETE`,bearer:t.bearer});return F.parse(n)}async function cl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return I.parse(n)}async function ll(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/hide`,method:`POST`,bearer:t.bearer});return F.parse(n)}async function ul(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/invite`,method:`POST`,bearer:t.bearer,body:t.body});return I.parse(n)}async function dl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/leave`,method:`POST`,bearer:t.bearer});return F.parse(n)}async function fl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/pin`,method:`POST`,bearer:t.bearer});return Mn.parse(n)}async function pl(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/pin`,method:`DELETE`,bearer:t.bearer});return F.parse(n)}async function ml(e){let t=await a(e,{path:`/.well-known/oauth-authorization-server`});return ae.parse(t)}function hl(e){let t=e.endsWith(`/`)?e.slice(0,-1):e;return{authorize:`${t}/oauth/authorize`,token:`${t}/oauth/token`,userinfo:`${t}/userinfo`,revoke:`${t}/oauth/revoke`}}async function gl(){let e=$(yl(32));return{codeVerifier:e,codeChallenge:await _l(e)}}async function _l(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return $(new Uint8Array(n))}function vl(e=32){return $(yl(e))}function yl(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function $(e){let t=``;for(let n of e)t+=String.fromCodePoint(n);return(typeof btoa==`function`?btoa(t):Buffer.from(t,`binary`).toString(`base64`)).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replaceAll(/=+$/g,``)}async function bl(e){let t=e.pkce??await gl(),n=e.state??vl(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,scope:e.scopes.join(` `),state:n,code_challenge:t.codeChallenge,code_challenge_method:`S256`});e.forceConsent===!0&&r.set(`prompt`,`consent`);let{authorize:i}=hl(e.issuer);return{url:`${i}?${r.toString()}`,state:n,codeVerifier:t.codeVerifier,codeChallenge:t.codeChallenge}}async function xl(e,t){let n={grant_type:`authorization_code`,code:t.code,redirect_uri:t.redirectUri,code_verifier:t.codeVerifier,client_id:t.clientId};t.clientSecret!==void 0&&(n.client_secret=t.clientSecret);let r=await a(e,{path:`/oauth/token`,method:`POST`,form:n});return S.parse(r)}async function Sl(e,t){let n={grant_type:`refresh_token`,refresh_token:t.refreshToken,client_id:t.clientId};t.clientSecret!==void 0&&(n.client_secret=t.clientSecret),t.scope!==void 0&&(n.scope=t.scope.join(` `));let r=await a(e,{path:`/oauth/token`,method:`POST`,form:n});return S.parse(r)}function Cl(e,t){return{accessToken:t.access_token,refreshToken:t.refresh_token??null,expiresAt:e+t.expires_in*1e3,scope:t.scope??null,tokenType:t.token_type}}function wl(e){return e===void 0?``:e.toSorted((e,t)=>e.localeCompare(t)).join(` `)}async function Tl(e,t){let n={grant_type:`client_credentials`};t.scope!==void 0&&(n.scope=t.scope.join(` `));let r=await a(e,{path:`/oauth/token`,method:`POST`,basicAuth:{username:t.clientId,password:t.clientSecret},form:n});return S.parse(r)}function El(e){let t=e.skewMs??6e4,n=null,r=null;async function i(t){let n=Date.now(),r=Cl(n,await Tl(e.ctx,{clientId:e.clientId,clientSecret:e.clientSecret,scope:t}));return{accessToken:r.accessToken,expiresAt:r.expiresAt??n+6e4,scopeKey:wl(t)}}return{async getAccessToken(e){let a=wl(e),o=Date.now();if(n!==null&&n.scopeKey===a&&n.expiresAt-t>o)return n.accessToken;r??=(async()=>{try{return await i(e)}finally{r=null}})();let s=await r;return n=s,s.accessToken},invalidate(){n=null}}}async function Dl(e,t){let n=await a(e,{path:`/oauth/register`,method:`POST`,body:t});return oe.parse(n)}async function Ol(e,t){let n={token:t.token,client_id:t.clientId};t.tokenTypeHint!==void 0&&(n.token_type_hint=t.tokenTypeHint),t.clientSecret!==void 0&&(n.client_secret=t.clientSecret),await s(e,{path:`/oauth/revoke`,method:`POST`,form:n})}async function kl(e,t){let n=await a(e,{path:`/userinfo`,bearer:t.bearer});return me.parse(n)}async function Al(e,t){let n=await a(e,{path:`/payments/appeals`,method:`POST`,bearer:t.bearer,body:t.body});return $i.parse(n)}async function jl(e,t){let n=await a(e,{path:`/payments/appeals/pot-leg`,method:`POST`,bearer:t.bearer,body:t.body});return $i.parse(n)}async function Ml(e,t){let n=await a(e,{path:`/payments/appeals/${encodeURIComponent(t.appealId)}/room`,bearer:t.bearer});return Xi.parse(n)}async function Nl(e,t){let n=await a(e,{path:`/payments/appeals/${encodeURIComponent(t.appealId)}/room/messages`,method:`POST`,bearer:t.bearer,body:t.body});return Zi.parse(n)}async function Pl(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${Fl(e.issuer)}/payments/appeals/${encodeURIComponent(t.appealId)}/room/attachments`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return z.parse(a)}function Fl(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function Il(e,t){let n=await a(e,{path:`/oauth/payments/cancel-pot`,method:`POST`,bearer:t.appBearer,body:t.body});return ia.parse(n)}async function Ll(e,t){let n=t.idempotencyKey??crypto.randomUUID(),r=await s(e,{path:`/oauth/payments/charge`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:n,raw:!0});if(r.status===402){let e=await c(r),t=ve.parse(e);return{status:`monthly_limit_exceeded`,currentLimitCents:t.currentLimitCents,monthSpentCents:t.monthSpentCents,attemptedUsdCents:t.attemptedUsdCents,redirectUrl:t.redirectUrl}}if(!r.ok){let e=await r.text();throw Error(`tron ${r.status}: ${e}`)}let i=await c(r);return _e.parse(i)}async function Rl(e,t){let n=await a(e,{path:`/oauth/payments/distribute`,method:`POST`,bearer:t.appBearer,body:t.body});return ra.parse(n)}async function zl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}`,bearer:t.bearer});return Se.parse(n)}async function Bl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}/sign`,method:`POST`,bearer:t.bearer});return Ce.parse(n)}async function Vl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}/complete`,method:`POST`,bearer:t.bearer,body:t.body});return we.parse(n)}async function Hl(e,t){let n=await a(e,{path:`/oauth/payments/intent/${encodeURIComponent(t.intentId)}/deny`,method:`POST`,bearer:t.bearer});return we.parse(n)}async function Ul(e,t){let n=await a(e,{path:`/oauth/payments/limits`,bearer:t.bearer});return ye.parse(n)}async function Wl(e,t){let n=await a(e,{path:`/payments/me/moonpay/availability`,bearer:t.bearer});return jt.parse(n)}async function Gl(e,t){let n=await a(e,{path:`/payments/me/moonpay/buy-url`,method:`POST`,bearer:t.bearer,body:t.body});return Mt.parse(n)}async function Kl(e,t){let n=await a(e,{path:`/payments/me/moonpay/sell-url`,method:`POST`,bearer:t.bearer,body:t.body});return Nt.parse(n)}async function ql(e,t){let n=await a(e,{path:`/oauth/payments/payout`,method:`POST`,bearer:t.appBearer,body:t.body});return na.parse(n)}async function Jl(e,t){let{bearer:n,chain:r,token:i,amount:o,usdCents:s}=t,c=await a(e,{path:`/oauth/payments/price`,bearer:n,query:{chain:r,token:i,amount:o,usdCents:s===void 0?void 0:String(s)}});return be.parse(c)}async function Yl(e,t){let n=await a(e,{path:`/oauth/payments/status/${encodeURIComponent(t.intentId)}`,bearer:t.bearer});return xe.parse(n)}async function Xl(e,t){let n=await a(e,{path:`/payments/me/tron`,bearer:t.bearer});return Pt.parse(n)}async function Zl(e,t){let n=await a(e,{path:`/payments/me/tron/ledger${t.before===void 0?``:`?before=${encodeURIComponent(t.before)}`}`,bearer:t.bearer});return It.parse(n)}async function Ql(e,t){let n=await a(e,{path:`/payments/me/tron/deposit`,method:`POST`,bearer:t.bearer,body:t.body});return Lt.parse(n)}async function $l(e,t){let n=await a(e,{path:`/payments/me/tron/connect`,method:`POST`,bearer:t.bearer});return Xt.parse(n)}async function eu(e,t){let n=await a(e,{path:`/payments/me/tron/cashouts`,method:`POST`,bearer:t.bearer,body:t.body});return Zt.parse(n)}async function tu(e,t){let n=await a(e,{path:`/payments/me/tron/cashouts`,bearer:t.bearer});return Qt.parse(n)}async function nu(e,t){let n=await a(e,{path:`/oauth/payments/tron/charge`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:t.idempotencyKey});return Ht.parse(n)}async function ru(e,t){let n=await a(e,{path:`/oauth/payments/tron/charge-direct`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:t.idempotencyKey});return Kt.parse(n)}async function iu(e,t){let n=await a(e,{path:`/oauth/payments/tron/distribute`,method:`POST`,bearer:t.bearer,body:t.body,idempotencyKey:t.idempotencyKey});return Yt.parse(n)}async function au(e,t){let n=await a(e,{path:`/oauth/payments/tron/balance`,method:`GET`,bearer:t.bearer});return Rt.parse(n)}function ou(e){let t=new URL(e.apiOrigin).origin,n=e.gameOrigin??globalThis.location.origin,r=e.container??document.body,i=e.background??``,a=document.createElement(`iframe`),o=i===``?``:`&bg=${encodeURIComponent(i)}`;a.src=`${t}/presence/embed?client_id=${encodeURIComponent(e.clientId)}&origin=${encodeURIComponent(n)}${o}`,a.title=`Metatron presence`,e.styleIframe?e.styleIframe(a):(a.style.border=`0`,a.style.display=`block`,a.style.width=`190px`,a.style.height=`44px`),i!==``&&(a.style.background=i);let s=null,c=t=>{t===`overlay`?(s??=a.style.cssText,a.style.cssText=`position:fixed;inset:0;width:100%;height:100%;border:0;z-index:2147483646;opacity:1;transition:opacity 160ms ease`):s!==null&&(a.style.cssText=s,s=null),e.onPresentationChange?.(t)},l=n=>{if(n.origin!==t||n.source!==a.contentWindow)return;let r=n.data;if(r?.source===`tg-presence`)switch(r.kind){case`play-session`:e.onPlaySessionId?.(typeof r.playSessionId==`string`?r.playSessionId:null);break;case`status`:typeof r.status==`string`&&e.onStatus?.(r.status);break;case`auth`:e.onAuthChange?.(r.authenticated===!0);break;case`expand`:c(`overlay`);break;case`collapse`:c(`chip`);break;default:break}};return window.addEventListener(`message`,l),r.append(a),{destroy(){window.removeEventListener(`message`,l),a.remove()}}}async function su(e,t){return await a(e,{path:`/oauth/play-sessions/confirm`,method:`POST`,basicAuth:{username:t.credentials.clientId,password:t.credentials.clientSecret},body:{playSessionId:t.playSessionId,userId:t.userId}})}async function cu(e,t){return await a(e,{path:`/oauth/play-sessions/heartbeat`,method:`POST`,basicAuth:{username:t.credentials.clientId,password:t.credentials.clientSecret},body:{playSessionId:t.playSessionId}})}async function lu(e,t){return await a(e,{path:`/oauth/play-sessions/end`,method:`POST`,basicAuth:{username:t.credentials.clientId,password:t.credentials.clientSecret},body:{playSessionId:t.playSessionId}})}async function uu(e,t){let n=await a(e,{path:`/me/threads`,bearer:t.bearer,query:{limit:t.limit,cursor:t.cursor}});return bn.parse(n)}async function du(e,t){let n=await a(e,{path:`/me/threads`,method:`POST`,bearer:t.bearer,body:t.body});return P.parse(n)}async function fu(e,t){let n=await a(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages`,bearer:t.bearer,query:{limit:t.limit,cursor:t.cursor}});return On.parse(n)}async function pu(e,t){await s(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/messages`,method:`POST`,bearer:t.bearer,body:t.body})}async function mu(e,t){await s(e,{path:`/me/threads/${encodeURIComponent(t.threadId)}/read`,method:`POST`,bearer:t.bearer})}async function hu(e,t){let n=new FormData,r=t.file instanceof Blob?t.file:new Blob([t.file],{type:t.contentType});n.append(`file`,r,t.filename);let i=await e.fetch(`${gu(e.issuer)}/me/threads/${encodeURIComponent(t.threadId)}/attachments`,{method:`POST`,headers:{authorization:`Bearer ${t.bearer}`},body:n});if(!i.ok){let e=await i.text();throw Error(`tron ${i.status}: ${e}`)}let a=await i.json();return z.parse(a)}function gu(e){return e.endsWith(`/`)?e.slice(0,-1):e}async function _u(e,t){let n=await a(e,{path:`/me/notifications`,bearer:t.bearer,query:{limit:t.limit,cursor:t.cursor}});return cr.parse(n)}async function vu(e,t){await s(e,{path:`/me/notifications/${encodeURIComponent(t.notificationId)}`,method:`PATCH`,bearer:t.bearer,body:t.body})}async function yu(e,t){await s(e,{path:`/me/notifications/mark-all-read`,method:`POST`,bearer:t.bearer})}async function bu(e,t){let n=await a(e,{path:`/me/playtime`,bearer:t.bearer});return Jn.parse(n)}async function xu(e,t){let n=await a(e,{path:`/me/playtime/timeseries`,bearer:t.bearer,query:{days:t.days}});return Xn.parse(n)}async function Su(e,t){let n=await a(e,{path:`/users/${encodeURIComponent(t.handle)}`,bearer:t.bearer});return xr.parse(n)}async function Cu(e,t){let n=await a(e,{path:`/users/search`,bearer:t.bearer,query:{q:t.q,limit:t.limit}});return Cr.parse(n)}async function wu(e,t){let n=await a(e,{path:`/me/referral`,bearer:t.bearer});return Vn.parse(n)}async function Tu(e,t){let n=await a(e,{path:`/me/referral/code`,method:`POST`,bearer:t.bearer,body:{regenerate:t.regenerate??!1}});return Hn.parse(n)}async function Eu(e,t){let n=await a(e,{path:`/me/referral/preview`,query:{code:t.code},bearer:t.bearer});return Un.parse(n)}async function Du(e,t){let n={code:t.code,source:t.source},r=await a(e,{path:`/me/referral/bind`,method:`POST`,bearer:t.bearer,body:n});return Wn.parse(r)}async function Ou(e,t){await s(e,{path:`/users/${encodeURIComponent(t.userId)}/follow`,method:`POST`,bearer:t.bearer})}async function ku(e,t){await s(e,{path:`/users/${encodeURIComponent(t.userId)}/follow`,method:`DELETE`,bearer:t.bearer})}async function Au(e,t){await s(e,{path:`/users/${encodeURIComponent(t.userId)}/friend`,method:`POST`,bearer:t.bearer})}async function ju(e,t){await s(e,{path:`/me/friend-requests/${encodeURIComponent(t.requestId)}`,method:`PATCH`,bearer:t.bearer,body:{decision:t.decision}})}async function Mu(e,t){await s(e,{path:`/me/friend-requests/${encodeURIComponent(t.requestId)}`,method:`DELETE`,bearer:t.bearer})}async function Nu(e,t){let n=await a(e,{path:`/me/friends`,bearer:t.bearer});return dr.parse(n)}async function Pu(e,t){let n=await a(e,{path:`/me/socials`,bearer:t.bearer});return fr.parse(n)}async function Fu(e,t){let n=await a(e,{path:`/me/wallets`,bearer:t.bearer});return cn.parse(n)}async function Iu(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}/delegate`,bearer:t.bearer});return on.parse(n)}async function Lu(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}/delegate`,method:`POST`,bearer:t.bearer,body:t.body});return un.parse(n)}async function Ru(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}/delegate`,method:`DELETE`,bearer:t.bearer});return dn.parse(n)}async function zu(e,t){let n=await a(e,{path:`/me/wallets/${encodeURIComponent(t.address)}`,method:`PATCH`,bearer:t.bearer,body:t.body});return ln.parse(n)}async function Bu(e,t){let n=await a(e,{path:`/me/wallets`,bearer:t.bearer});return cn.parse(n)}var Vu=class{ctx;clientId;clientSecret;tokenStore;appTokenCache;constructor(e){ys(e.issuer),this.ctx={issuer:e.issuer,fetch:e.fetch??fetch.bind(globalThis),logger:e.logger??xs(),rateLimiter:e.rateLimit===!1?void 0:As(e.rateLimit??{}),dedupe:e.dedupe===!1?void 0:_s()},this.clientId=e.clientId,this.clientSecret=e.clientSecret,this.tokenStore=e.tokenStore,this.appTokenCache=El({ctx:this.ctx,clientId:this.clientId,clientSecret:this.clientSecret})}get transport(){return this.ctx}async getAppAccessToken(e){return await this.appTokenCache.getAccessToken(e)}get oauth(){return{discover:async()=>await ml(this.ctx),exchangeCode:async e=>await xl(this.ctx,{...e,clientId:this.clientId,clientSecret:this.clientSecret}),refresh:async e=>await Sl(this.ctx,{refreshToken:e.refreshToken,clientId:this.clientId,clientSecret:this.clientSecret,scope:e.scope}),revoke:async e=>{await Ol(this.ctx,{token:e.token,tokenTypeHint:e.tokenTypeHint,clientId:this.clientId,clientSecret:this.clientSecret})},userInfo:async e=>await kl(this.ctx,e),toTokenSet:Cl}}get payments(){return{charge:async e=>await Ll(this.ctx,e),limits:async e=>await Ul(this.ctx,e),price:async e=>await Jl(this.ctx,e),status:async e=>await Yl(this.ctx,e),payout:async e=>{let t=await this.getAppAccessToken();return await ql(this.ctx,{appBearer:t,body:e.body})},distribute:async e=>{let t=await this.getAppAccessToken();return await Rl(this.ctx,{appBearer:t,body:e.body})},cancelPot:async e=>{let t=await this.getAppAccessToken();return await Il(this.ctx,{appBearer:t,body:e.body})},tronBalance:async e=>await au(this.ctx,e),tronCharge:async e=>await nu(this.ctx,e),tronDistribute:async e=>{let t=await this.getAppAccessToken();return await iu(this.ctx,{bearer:t,idempotencyKey:e.idempotencyKey,body:e.body})},intent:{get:async e=>await zl(this.ctx,e),sign:async e=>await Bl(this.ctx,e),complete:async e=>await Vl(this.ctx,e),deny:async e=>await Hl(this.ctx,e)}}}subscribeOauthPaymentEvents(e){return Vc({issuer:this.ctx.issuer,clientId:this.clientId,clientSecret:this.clientSecret,logger:this.ctx.logger,lifecycle:e})}get users(){return{get:async e=>await Su(this.ctx,e),search:async e=>await Cu(this.ctx,e),follow:async e=>{await Ou(this.ctx,e)},unfollow:async e=>{await ku(this.ctx,e)},friendRequest:async e=>{await Au(this.ctx,e)},decideFriendRequest:async e=>{await ju(this.ctx,e)},cancelFriendRequest:async e=>{await Mu(this.ctx,e)},friends:async e=>await Nu(this.ctx,e),me:async e=>await a(this.ctx,{path:`/me`,bearer:e.bearer})}}get messaging(){return{listThreads:async e=>await uu(this.ctx,e),createDirect:async e=>await du(this.ctx,e),listMessages:async e=>await fu(this.ctx,e),send:async e=>{await pu(this.ctx,e)},markRead:async e=>{await mu(this.ctx,e)},uploadAttachment:async e=>await hu(this.ctx,e)}}get notifications(){return{list:async e=>await _u(this.ctx,e),markAllRead:async e=>{await yu(this.ctx,e)}}}get presence(){let e={clientId:this.clientId,clientSecret:this.clientSecret};return{confirm:async t=>await su(this.ctx,{credentials:e,...t}),heartbeat:async t=>await cu(this.ctx,{credentials:e,...t}),end:async t=>await lu(this.ctx,{credentials:e,...t})}}get wallets(){return{list:async e=>await Fu(this.ctx,e)}}get inventory(){return{list:async e=>await Uc(this.ctx,e),requestMint:async e=>{let t=await this.getAppAccessToken();return await Wc(this.ctx,{appBearer:t,body:e.body})}}}get socials(){return{list:async e=>await Pu(this.ctx,e)}}get referral(){return{get:async e=>await wu(this.ctx,e),createCode:async e=>await Tu(this.ctx,e),bind:async e=>await Du(this.ctx,e)}}};export{Es as NOOP_RATE_LIMITER,Ts as SERVER_RATE_LIMIT_MAX_MUTATING,ws as SERVER_RATE_LIMIT_MAX_READ,Cs as SERVER_RATE_LIMIT_WINDOW_MS,r as TRON_WS_CLOSE_CODES,t as TronError,Vu as TronNodeClient,n as TronOauthError,i as TronWsCloseError,zc as WEBHOOK_SIGNATURE_HEADER,Bc as WEBHOOK_TIMESTAMP_HEADER,Nc as acceptDeveloperInvite,ts as addAdmin,Jo as addAppealBlacklist,rl as addReaction,Qo as approveTronCashout,ys as assertSecureIssuer,Zc as batchThreadDmKeys,Du as bindReferral,bl as buildAuthorizeUrl,Mu as cancelFriendRequest,Il as cancelPot,Ll as charge,ru as chargeTronDirect,nu as chargeTronPot,Vl as completePaymentIntent,su as confirmPlaySession,lc as consolidateDeveloperAppWallet,El as createAppTokenCache,Ss as createConsoleLogger,Lu as createDelegation,Ls as createDeveloperApiKey,Js as createDeveloperApp,du as createDirectThread,js as createInMemoryTokenStore,_s as createInflightDedup,xs as createNoopLogger,As as createRateLimiter,Tu as createReferralCode,eu as createTronCashout,$l as createTronConnectOnboarding,Ql as createTronDeposit,ju as decideFriendRequest,Pc as declineDeveloperInvite,hl as defaultEndpoints,xc as deleteAppPageBanner,Cc as deleteAppPageThumbnail,Tc as deleteAppPageThumbnailVideo,mo as deleteAvatar,Ru as deleteDelegation,Xs as deleteDeveloperApp,Qs as deleteDeveloperAppLogo,Us as deleteDeveloperProfileLogo,Ks as deleteDeveloperRequestLogo,gs as deleteGameReviewReply,tl as deleteMessage,ms as deleteMyGameReview,sl as deleteThread,$c as deleteThreadLogo,Hl as denyPaymentIntent,Rl as distributePot,iu as distributeTronPot,nl as editMessage,lu as endPlaySession,xl as exchangeAuthorizationCode,ml as fetchAuthorizationServerMetadata,kl as fetchUserInfo,Al as fileAppeal,jl as fileAppealPotLeg,Ou as followUser,gl as generatePkce,vl as generateState,Ms as getActivity,Ns as getActivityGroup,Ao as getAdminAppealRoom,Bo as getAppFeeConfig,ss as getAppPage,wo as getAppPageChanges,Ml as getAppealRoom,Iu as getDelegation,tc as getDeveloperAppActivity,$s as getDeveloperAppBalances,nc as getDeveloperAppEarnings,ic as getDeveloperAppOverview,vc as getDeveloperAppPage,rc as getDeveloperAppPlaytime,ec as getDeveloperAppTronBalance,ac as getDeveloperAppWallets,pc as getDeveloperPaymentAppeals,mc as getDeveloperPaymentPendingDeposits,Bs as getDeveloperStatus,hc as getDeveloperTronBalanceSummary,Gc as getDmKeyBackupStatus,Yl as getIntentStatus,ls as getLibrary,Wl as getMoonpayAvailability,Yc as getMyDmKey,fs as getMyGameReview,Fs as getOutstanding,Ps as getPaymentChains,Is as getPaymentHistory,zl as getPaymentIntent,Ul as getPaymentLimits,Jl as getPaymentPrice,Ro as getPlatformFees,bu as getPlaytime,xu as getPlaytimeTimeseries,Su as getPublicProfile,wu as getReferral,Xc as getThreadDmKey,Xl as getTronBalance,au as getTronGameBalance,cu as heartbeatPlaySession,Eo as hideAppPage,ll as hideThread,Ac as inviteDeveloperAppParticipant,ul as inviteParticipants,dl as leaveThread,So as listActivePlayers,es as listAdmins,Co as listAppPages,Xo as listAppealBlacklist,ko as listAppealQueue,os as listAudit,Rs as listDeveloperApiKeys,gc as listDeveloperAppContentReports,kc as listDeveloperAppParticipants,ds as listDeveloperAppReviews,Mc as listDeveloperInvites,Fo as listDeveloperRequests,Lo as listDevelopers,Nu as listFriends,us as listGameReviews,Hc as listInventory,Uc as listInventoryForApp,_u as listNotifications,_o as listPaymentAuthorizations,Pu as listSocials,fu as listThreadMessages,uu as listThreads,Zo as listTronCashoutQueue,tu as listTronCashouts,Zl as listTronLedger,is as listUsers,Bu as listWalletManager,Fu as listWallets,yu as markAllNotificationsRead,mu as markThreadRead,Tl as mintClientCredentialsToken,Gl as mintMoonpayBuyUrl,Kl as mintMoonpaySellUrl,ou as mountPresenceWidget,Fc as oauthPaymentWebhookBodySchema,c as parseJson,fl as pinThread,jo as postAdminAppealRoomMessage,Nl as postAppealRoomMessage,Eu as previewReferral,sc as provisionDeveloperAppWallet,Jc as publishDmKey,Sl as refreshAccessToken,Dl as registerOauthClient,$o as rejectTronCashout,rs as removeAdmin,Yo as removeAppealBlacklist,al as removeParticipant,il as removeReaction,hs as replyToGameReview,dc as requestDeveloperAppProduction,Wc as requestMint,ql as requestPayout,No as resolveAppeal,Oo as reviewAppPage,To as reviewAppPageChanges,Io as reviewDeveloperRequest,zs as revokeDeveloperApiKey,jc as revokeDeveloperAppParticipant,yo as revokePaymentAuthorization,Ol as revokeToken,uc as rotateDeveloperAppKey,fc as rotateDeveloperAppPaymentWebhookSecret,Uo as rotateProcessorTreasury,go as searchGiphy,Cu as searchUsers,s as send,Au as sendFriendRequest,a as sendJson,pu as sendMessage,bo as sendPresenceHeartbeat,Ho as setProcessorWhitelist,Wo as setVaultOperator,Go as setVaultPause,Ko as setVaultWithdrawLockDefault,qo as setVaultWithdrawLockOverride,Kc as setupDmKeyBackup,_l as sha256Base64Url,Bl as signPaymentIntent,Vc as startOauthPaymentEventsSubscriber,cs as submitAppContentReport,Dc as submitAppPageForReview,Ws as submitDeveloperRequest,Cl as toTokenSet,ku as unfollowUser,Do as unhideAppPage,qc as unlockDmKeyBackup,pl as unpinThread,Oc as unpublishAppPage,ns as updateAdminRole,Vo as updateAppFeeConfig,yc as updateAppPage,Ys as updateDeveloperApp,oc as updateDeveloperAppAutoSweep,_c as updateDeveloperAppContentReportStatus,Vs as updateDeveloperProfile,vu as updateNotification,ol as updateParticipantRole,vo as updatePaymentAuthorization,zo as updatePlatformFees,xo as updateProfile,cl as updateThreadSettings,as as updateUserBan,zu as updateWalletLabel,Mo as uploadAdminAppealRoomAttachment,bc as uploadAppPageBanner,Ec as uploadAppPageGallery,Sc as uploadAppPageThumbnail,wc as uploadAppPageThumbnailVideo,Pl as uploadAppealRoomAttachment,hu as uploadAttachment,po as uploadAvatar,Zs as uploadDeveloperAppLogo,Hs as uploadDeveloperProfileLogo,Gs as uploadDeveloperRequestLogo,Q as uploadMultipart,Qc as uploadThreadLogo,ps as upsertMyGameReview,Ic as verifyWebhook,cc as withdrawDeveloperAppWallet};