@avalabs/evm-module 0.0.0-workspaces-20240716185307 → 0.0.2

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.
Files changed (67) hide show
  1. package/.turbo/turbo-build.log +10 -10
  2. package/.turbo/turbo-lint.log +1 -1
  3. package/.turbo/turbo-test.log +3 -49
  4. package/CHANGELOG.md +0 -98
  5. package/dist/index.cjs +2 -25
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +3 -39
  8. package/dist/index.d.ts +3 -39
  9. package/dist/index.js +2 -17
  10. package/dist/index.js.map +1 -1
  11. package/package.json +6 -30
  12. package/src/index.ts +22 -2
  13. package/{manifest.json → src/manifest.json} +1 -1
  14. package/tsconfig.json +1 -2
  15. package/src/contracts/openzeppelin/ERC1155.ts +0 -440
  16. package/src/contracts/openzeppelin/ERC20.ts +0 -330
  17. package/src/contracts/openzeppelin/ERC721.ts +0 -420
  18. package/src/contracts/openzeppelin/common.ts +0 -131
  19. package/src/contracts/openzeppelin/factories/ERC1155__factory.ts +0 -388
  20. package/src/contracts/openzeppelin/factories/ERC20__factory.ts +0 -353
  21. package/src/contracts/openzeppelin/factories/ERC721__factory.ts +0 -413
  22. package/src/contracts/openzeppelin/factories/index.ts +0 -6
  23. package/src/contracts/openzeppelin/index.ts +0 -10
  24. package/src/handlers/eth-send-transaction/eth-send-transaction.test.ts +0 -350
  25. package/src/handlers/eth-send-transaction/eth-send-transaction.ts +0 -183
  26. package/src/handlers/eth-send-transaction/schema.test.ts +0 -240
  27. package/src/handlers/eth-send-transaction/schema.ts +0 -20
  28. package/src/handlers/get-balances/evm-balance-service/get-erc20-balances.test.ts +0 -78
  29. package/src/handlers/get-balances/evm-balance-service/get-erc20-balances.ts +0 -87
  30. package/src/handlers/get-balances/evm-balance-service/get-native-token-balances.test.ts +0 -102
  31. package/src/handlers/get-balances/evm-balance-service/get-native-token-balances.ts +0 -54
  32. package/src/handlers/get-balances/get-balances.test.ts +0 -250
  33. package/src/handlers/get-balances/get-balances.ts +0 -107
  34. package/src/handlers/get-balances/glacier-balance-service/get-erc20-balances.test.ts +0 -76
  35. package/src/handlers/get-balances/glacier-balance-service/get-erc20-balances.ts +0 -110
  36. package/src/handlers/get-balances/glacier-balance-service/get-native-token-balances.test.ts +0 -61
  37. package/src/handlers/get-balances/glacier-balance-service/get-native-token-balances.ts +0 -46
  38. package/src/handlers/get-network-fee/get-network-fee.test.ts +0 -43
  39. package/src/handlers/get-network-fee/get-network-fee.ts +0 -59
  40. package/src/handlers/get-tokens/get-tokens.test.ts +0 -100
  41. package/src/handlers/get-tokens/get-tokens.ts +0 -18
  42. package/src/handlers/get-transaction-history/converters/etherscan-transaction-converter/convert-transaction-erc20.ts +0 -51
  43. package/src/handlers/get-transaction-history/converters/etherscan-transaction-converter/convert-transaction-normal.ts +0 -58
  44. package/src/handlers/get-transaction-history/converters/etherscan-transaction-converter/get-transaction-from-etherscan.test.ts +0 -116
  45. package/src/handlers/get-transaction-history/converters/etherscan-transaction-converter/get-transaction-from-etherscan.ts +0 -73
  46. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/convert-transaction.ts +0 -47
  47. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/get-nft-metadata.ts +0 -35
  48. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/get-sender-info.ts +0 -38
  49. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/get-tokens.ts +0 -107
  50. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/get-transaction-from-glacier.test.ts +0 -191
  51. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/get-transactions-from-glacier.ts +0 -62
  52. package/src/handlers/get-transaction-history/converters/evm-transaction-converter/get-tx-type.ts +0 -52
  53. package/src/handlers/get-transaction-history/get-transaction-history.test.ts +0 -53
  54. package/src/handlers/get-transaction-history/get-transaction-history.ts +0 -46
  55. package/src/handlers/get-transaction-history/utils/get-explorer-address-by-network.ts +0 -7
  56. package/src/handlers/get-transaction-history/utils/get-small-image-for-nft.ts +0 -16
  57. package/src/handlers/get-transaction-history/utils/ipfs-resolver-with-fallback.ts +0 -18
  58. package/src/handlers/get-transaction-history/utils/is-ethereum-chain-id.ts +0 -15
  59. package/src/handlers/get-transaction-history/utils/resolve.ts +0 -7
  60. package/src/module.ts +0 -105
  61. package/src/types.ts +0 -16
  62. package/src/utils/estimate-gas-limit.ts +0 -27
  63. package/src/utils/get-chain-id.ts +0 -12
  64. package/src/utils/get-nonce.ts +0 -11
  65. package/src/utils/get-provider.ts +0 -46
  66. package/src/utils/parse-erc20-transaction-type.ts +0 -21
  67. package/src/utils/transaction-simulation.ts +0 -227
package/dist/index.d.cts CHANGED
@@ -1,41 +1,5 @@
1
- import * as _metamask_rpc_errors from '@metamask/rpc-errors';
2
- import * as _avalabs_vm_module_types_dist_token from '@avalabs/vm-module-types/dist/token';
3
- import * as _avalabs_vm_module_types_dist_transaction_history from '@avalabs/vm-module-types/dist/transaction-history';
4
- import { Module, ApprovalController, Environment, GetBalancesParams, GetBalancesResponse, Manifest, Network, NetworkFees, GetTransactionHistory, RpcRequest, TransactionType } from '@avalabs/vm-module-types';
1
+ import { Module } from '@internal/types';
5
2
 
6
- declare class EvmModule implements Module {
7
- #private;
8
- constructor({ approvalController, environment, }: {
9
- approvalController: ApprovalController;
10
- environment: Environment;
11
- });
12
- getAddress(): Promise<string>;
13
- getBalances({ addresses, network, currency, customTokens }: GetBalancesParams): Promise<GetBalancesResponse>;
14
- getManifest(): Manifest | undefined;
15
- getNetworkFee(network: Network): Promise<NetworkFees>;
16
- getTransactionHistory(params: GetTransactionHistory): Promise<_avalabs_vm_module_types_dist_transaction_history.TransactionHistoryResponse>;
17
- getTokens(network: Network): Promise<_avalabs_vm_module_types_dist_token.NetworkContractToken[]>;
18
- onRpcRequest(request: RpcRequest, network: Network): Promise<{
19
- error: _metamask_rpc_errors.JsonRpcError<_metamask_rpc_errors.OptionalDataWithOptionalCause>;
20
- result?: undefined;
21
- } | {
22
- result: any;
23
- error?: undefined;
24
- }>;
25
- }
3
+ declare const evm: Module;
26
4
 
27
- declare const NonContractCallTypes: TransactionType[];
28
- type TransactionParams = {
29
- from: string;
30
- to: string;
31
- data?: string;
32
- value?: string;
33
- gas?: string;
34
- gasPrice?: string;
35
- maxFeePerGas?: string;
36
- maxPriorityFeePerGas?: string;
37
- nonce?: string;
38
- chainId?: string;
39
- };
40
-
41
- export { EvmModule, NonContractCallTypes, TransactionParams };
5
+ export { evm };
package/dist/index.d.ts CHANGED
@@ -1,41 +1,5 @@
1
- import * as _metamask_rpc_errors from '@metamask/rpc-errors';
2
- import * as _avalabs_vm_module_types_dist_token from '@avalabs/vm-module-types/dist/token';
3
- import * as _avalabs_vm_module_types_dist_transaction_history from '@avalabs/vm-module-types/dist/transaction-history';
4
- import { Module, ApprovalController, Environment, GetBalancesParams, GetBalancesResponse, Manifest, Network, NetworkFees, GetTransactionHistory, RpcRequest, TransactionType } from '@avalabs/vm-module-types';
1
+ import { Module } from '@internal/types';
5
2
 
6
- declare class EvmModule implements Module {
7
- #private;
8
- constructor({ approvalController, environment, }: {
9
- approvalController: ApprovalController;
10
- environment: Environment;
11
- });
12
- getAddress(): Promise<string>;
13
- getBalances({ addresses, network, currency, customTokens }: GetBalancesParams): Promise<GetBalancesResponse>;
14
- getManifest(): Manifest | undefined;
15
- getNetworkFee(network: Network): Promise<NetworkFees>;
16
- getTransactionHistory(params: GetTransactionHistory): Promise<_avalabs_vm_module_types_dist_transaction_history.TransactionHistoryResponse>;
17
- getTokens(network: Network): Promise<_avalabs_vm_module_types_dist_token.NetworkContractToken[]>;
18
- onRpcRequest(request: RpcRequest, network: Network): Promise<{
19
- error: _metamask_rpc_errors.JsonRpcError<_metamask_rpc_errors.OptionalDataWithOptionalCause>;
20
- result?: undefined;
21
- } | {
22
- result: any;
23
- error?: undefined;
24
- }>;
25
- }
3
+ declare const evm: Module;
26
4
 
27
- declare const NonContractCallTypes: TransactionType[];
28
- type TransactionParams = {
29
- from: string;
30
- to: string;
31
- data?: string;
32
- value?: string;
33
- gas?: string;
34
- gasPrice?: string;
35
- maxFeePerGas?: string;
36
- maxPriorityFeePerGas?: string;
37
- nonce?: string;
38
- chainId?: string;
39
- };
40
-
41
- export { EvmModule, NonContractCallTypes, TransactionParams };
5
+ export { evm };
package/dist/index.js CHANGED
@@ -1,20 +1,5 @@
1
- import { rpcErrors } from '@metamask/rpc-errors';
2
- import { TransactionType, parseManifest, RpcMethod, SigningDataType, TransactionValidationType, TokenType } from '@avalabs/vm-module-types';
3
- import { JsonRpcBatchInternal } from '@avalabs/wallets-sdk';
4
- import { Network, isHexString, Interface, ethers } from 'ethers';
5
- import { numberToBN, balanceToDisplayValue, bnToBig, bigintToBig, bigToBN, ipfsResolver } from '@avalabs/utils-sdk';
6
- import ve, { BN } from 'bn.js';
7
- import { getNormalTxs, getErc20Txs } from '@avalabs/etherscan-sdk';
8
- import He from 'lodash.startcase';
9
- import { z as z$1 } from 'zod';
10
- import Ze from '@blockaid/client';
11
- import st from '@openzeppelin/contracts/build/contracts/ERC20.json';
12
- import '@avalabs/coingecko-sdk';
13
- import { getEnv, GlacierService, TokenService } from '@internal/utils';
14
- import '@avalabs/glacier-sdk';
1
+ var Pe=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var $e=Pe((Lt,rt)=>{rt.exports={name:"EVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/bundle.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}},provider:{checksum:"",location:{npm:{filePath:"dist/provider.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["eip155:1","eip155:43114","eip155:43113"],namespaces:["eip155"]},cointype:"60",permissions:{rpc:{dapps:!0,methods:["eth_sendTransaction","eth_*"]}},manifestVersion:"0.0"};});var g;(function(r){r.assertEqual=n=>n;function e(n){}r.assertIs=e;function t(n){throw new Error}r.assertNever=t,r.arrayToEnum=n=>{let a={};for(let i of n)a[i]=i;return a},r.getValidEnumValues=n=>{let a=r.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(let o of a)i[o]=n[o];return r.objectValues(i)},r.objectValues=n=>r.objectKeys(n).map(function(a){return n[a]}),r.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let a=[];for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&a.push(i);return a},r.find=(n,a)=>{for(let i of n)if(a(i))return i},r.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&isFinite(n)&&Math.floor(n)===n;function s(n,a=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}r.joinValues=s,r.jsonStringifyReplacer=(n,a)=>typeof a=="bigint"?a.toString():a;})(g||(g={}));var Se;(function(r){r.mergeShapes=(e,t)=>({...e,...t});})(Se||(Se={}));var l=g.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$=r=>{switch(typeof r){case"undefined":return l.undefined;case"string":return l.string;case"number":return isNaN(r)?l.nan:l.number;case"boolean":return l.boolean;case"function":return l.function;case"bigint":return l.bigint;case"symbol":return l.symbol;case"object":return Array.isArray(r)?l.array:r===null?l.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?l.promise:typeof Map<"u"&&r instanceof Map?l.map:typeof Set<"u"&&r instanceof Set?l.set:typeof Date<"u"&&r instanceof Date?l.date:l.object;default:return l.unknown}},c=g.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var S=class r extends Error{constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s];},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s];};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e;}get errors(){return this.issues}format(e){let t=e||function(a){return a.message},s={_errors:[]},n=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else {let o=s,f=0;for(;f<i.path.length;){let d=i.path[f];f===i.path.length-1?(o[d]=o[d]||{_errors:[]},o[d]._errors.push(t(i))):o[d]=o[d]||{_errors:[]},o=o[d],f++;}}};return n(this),s}static assert(e){if(!(e instanceof r))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},s=[];for(let n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):s.push(e(n));return {formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}};S.create=r=>new S(r);var ee=(r,e)=>{let t;switch(r.code){case c.invalid_type:r.received===l.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case c.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,g.jsonStringifyReplacer)}`;break;case c.unrecognized_keys:t=`Unrecognized key(s) in object: ${g.joinValues(r.keys,", ")}`;break;case c.invalid_union:t="Invalid input";break;case c.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${g.joinValues(r.options)}`;break;case c.invalid_enum_value:t=`Invalid enum value. Expected ${g.joinValues(r.options)}, received '${r.received}'`;break;case c.invalid_arguments:t="Invalid function arguments";break;case c.invalid_return_type:t="Invalid function return type";break;case c.invalid_date:t="Invalid date";break;case c.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:g.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case c.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case c.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case c.custom:t="Invalid input";break;case c.invalid_intersection_types:t="Intersection results could not be merged";break;case c.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case c.not_finite:t="Number must be finite";break;default:t=e.defaultError,g.assertNever(r);}return {message:t}},Ve=ee;function _e(){return Ve}var ge=r=>{let{data:e,path:t,errorMaps:s,issueData:n}=r,a=[...t,...n.path||[]],i={...n,path:a};if(n.message!==void 0)return {...n,path:a,message:n.message};let o="",f=s.filter(d=>!!d).slice().reverse();for(let d of f)o=d(i,{data:e,defaultError:o}).message;return {...n,path:a,message:o}};function u(r,e){let t=_e(),s=ge({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===ee?void 0:ee].filter(n=>!!n)});r.common.issues.push(s);}var x=class r{constructor(){this.value="valid";}dirty(){this.value==="valid"&&(this.value="dirty");}abort(){this.value!=="aborted"&&(this.value="aborted");}static mergeArray(e,t){let s=[];for(let n of t){if(n.status==="aborted")return y;n.status==="dirty"&&e.dirty(),s.push(n.value);}return {status:e.value,value:s}}static async mergeObjectAsync(e,t){let s=[];for(let n of t){let a=await n.key,i=await n.value;s.push({key:a,value:i});}return r.mergeObjectSync(e,s)}static mergeObjectSync(e,t){let s={};for(let n of t){let{key:a,value:i}=n;if(a.status==="aborted"||i.status==="aborted")return y;a.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(s[a.value]=i.value);}return {status:e.value,value:s}}},y=Object.freeze({status:"aborted"}),Q=r=>({status:"dirty",value:r}),k=r=>({status:"valid",value:r}),Oe=r=>r.status==="aborted",Ce=r=>r.status==="dirty",le=r=>r.status==="valid",fe=r=>typeof Promise<"u"&&r instanceof Promise;function he(r,e,t,s){if(t==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?s:t==="a"?s.call(r):s?s.value:e.get(r)}function Ne(r,e,t,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t}var h;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message;})(h||(h={}));var K,F,O=class{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n;}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Ee=(r,e)=>{if(le(e))return {success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return {success:!1,get error(){if(this._error)return this._error;let t=new S(r.common.issues);return this._error=t,this._error}}};function v(r){if(!r)return {};let{errorMap:e,invalid_type_error:t,required_error:s,description:n}=r;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,o)=>{var f,d;let{message:m}=r;return i.code==="invalid_enum_value"?{message:m??o.defaultError}:typeof o.data>"u"?{message:(f=m??s)!==null&&f!==void 0?f:o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:(d=m??t)!==null&&d!==void 0?d:o.defaultError}},description:n}}var _=class{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this);}get description(){return this._def.description}_getType(e){return $(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:$(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return {status:new x,ctx:{common:e.parent.common,data:e.data,parsedType:$(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(fe(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){var s;let n={common:{issues:[],async:(s=t?.async)!==null&&s!==void 0?s:!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$(e)},a=this._parseSync({data:e,path:n.path,parent:n});return Ee(n,a)}async parseAsync(e,t){let s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){let s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$(e)},n=this._parse({data:e,path:s.path,parent:s}),a=await(fe(n)?n:Promise.resolve(n));return Ee(s,a)}refine(e,t){let s=n=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(n):t;return this._refinement((n,a)=>{let i=e(n),o=()=>a.addIssue({code:c.custom,...s(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(f=>f?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,n)=>e(s)?!0:(n.addIssue(typeof t=="function"?t(s,n):t),!1))}_refinement(e){return new E({schema:this,typeName:p.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return C.create(this,this._def)}nullable(){return R.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return M.create(this,this._def)}promise(){return P.create(this,this._def)}or(e){return U.create([this,e],this._def)}and(e){return B.create(this,e,this._def)}transform(e){return new E({...v(this._def),schema:this,typeName:p.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new J({...v(this._def),innerType:this,defaultValue:t,typeName:p.ZodDefault})}brand(){return new pe({typeName:p.ZodBranded,type:this,...v(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new G({...v(this._def),innerType:this,catchValue:t,typeName:p.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return me.create(this,e)}readonly(){return X.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},De=/^c[^\s-]{8,}$/i,Le=/^[0-9a-z]+$/,ze=/^[0-9A-HJKMNP-TV-Z]{26}$/,Ue=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Be=/^[a-z0-9_-]{21}$/i,We=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,qe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ye="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ve,He=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Je=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ge=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,je="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Xe=new RegExp(`^${je}$`);function Ze(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function Qe(r){return new RegExp(`^${Ze(r)}$`)}function Ke(r){let e=`${je}T${Ze(r)}`,t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function Fe(r,e){return !!((e==="v4"||!e)&&He.test(r)||(e==="v6"||!e)&&Je.test(r))}var D=class r extends _{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==l.string){let a=this._getOrReturnCtx(e);return u(a,{code:c.invalid_type,expected:l.string,received:a.parsedType}),y}let s=new x,n;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(n=this._getOrReturnCtx(e,n),u(n,{code:c.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="max")e.data.length>a.value&&(n=this._getOrReturnCtx(e,n),u(n,{code:c.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="length"){let i=e.data.length>a.value,o=e.data.length<a.value;(i||o)&&(n=this._getOrReturnCtx(e,n),i?u(n,{code:c.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):o&&u(n,{code:c.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),s.dirty());}else if(a.kind==="email")qe.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"email",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="emoji")ve||(ve=new RegExp(Ye,"u")),ve.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"emoji",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="uuid")Ue.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"uuid",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="nanoid")Be.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"nanoid",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="cuid")De.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"cuid",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="cuid2")Le.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"cuid2",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="ulid")ze.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"ulid",code:c.invalid_string,message:a.message}),s.dirty());else if(a.kind==="url")try{new URL(e.data);}catch{n=this._getOrReturnCtx(e,n),u(n,{validation:"url",code:c.invalid_string,message:a.message}),s.dirty();}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"regex",code:c.invalid_string,message:a.message}),s.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(n=this._getOrReturnCtx(e,n),u(n,{code:c.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),s.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(n=this._getOrReturnCtx(e,n),u(n,{code:c.invalid_string,validation:{startsWith:a.value},message:a.message}),s.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(n=this._getOrReturnCtx(e,n),u(n,{code:c.invalid_string,validation:{endsWith:a.value},message:a.message}),s.dirty()):a.kind==="datetime"?Ke(a).test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{code:c.invalid_string,validation:"datetime",message:a.message}),s.dirty()):a.kind==="date"?Xe.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{code:c.invalid_string,validation:"date",message:a.message}),s.dirty()):a.kind==="time"?Qe(a).test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{code:c.invalid_string,validation:"time",message:a.message}),s.dirty()):a.kind==="duration"?We.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"duration",code:c.invalid_string,message:a.message}),s.dirty()):a.kind==="ip"?Fe(e.data,a.version)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"ip",code:c.invalid_string,message:a.message}),s.dirty()):a.kind==="base64"?Ge.test(e.data)||(n=this._getOrReturnCtx(e,n),u(n,{validation:"base64",code:c.invalid_string,message:a.message}),s.dirty()):g.assertNever(a);return {status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(n=>e.test(n),{validation:t,code:c.invalid_string,...h.errToObj(s)})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...h.errToObj(e)})}url(e){return this._addCheck({kind:"url",...h.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...h.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...h.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...h.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...h.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...h.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...h.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...h.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...h.errToObj(e)})}datetime(e){var t,s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(t=e?.offset)!==null&&t!==void 0?t:!1,local:(s=e?.local)!==null&&s!==void 0?s:!1,...h.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...h.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...h.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...h.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...h.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...h.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...h.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...h.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...h.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...h.errToObj(t)})}nonempty(e){return this.min(1,h.errToObj(e))}trim(){return new r({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return !!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return !!this._def.checks.find(e=>e.kind==="date")}get isTime(){return !!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return !!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return !!this._def.checks.find(e=>e.kind==="email")}get isURL(){return !!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return !!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return !!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return !!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return !!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return !!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return !!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return !!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return !!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};D.create=r=>{var e;return new D({checks:[],typeName:p.ZodString,coerce:(e=r?.coerce)!==null&&e!==void 0?e:!1,...v(r)})};function et(r,e){let t=(r.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=t>s?t:s,a=parseInt(r.toFixed(n).replace(".","")),i=parseInt(e.toFixed(n).replace(".",""));return a%i/Math.pow(10,n)}var te=class r extends _{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf;}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==l.number){let a=this._getOrReturnCtx(e);return u(a,{code:c.invalid_type,expected:l.number,received:a.parsedType}),y}let s,n=new x;for(let a of this._def.checks)a.kind==="int"?g.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:c.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(s=this._getOrReturnCtx(e,s),u(s,{code:c.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),u(s,{code:c.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty()):a.kind==="multipleOf"?et(e.data,a.value)!==0&&(s=this._getOrReturnCtx(e,s),u(s,{code:c.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),u(s,{code:c.not_finite,message:a.message}),n.dirty()):g.assertNever(a);return {status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,s,n){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:h.toString(n)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:h.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:h.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return !!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&g.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return !0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);}return Number.isFinite(t)&&Number.isFinite(e)}};te.create=r=>new te({checks:[],typeName:p.ZodNumber,coerce:r?.coerce||!1,...v(r)});var re=class r extends _{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte;}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==l.bigint){let a=this._getOrReturnCtx(e);return u(a,{code:c.invalid_type,expected:l.bigint,received:a.parsedType}),y}let s,n=new x;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(s=this._getOrReturnCtx(e,s),u(s,{code:c.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),u(s,{code:c.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),u(s,{code:c.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):g.assertNever(a);return {status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,s,n){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:h.toString(n)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};re.create=r=>{var e;return new re({checks:[],typeName:p.ZodBigInt,coerce:(e=r?.coerce)!==null&&e!==void 0?e:!1,...v(r)})};var se=class extends _{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==l.boolean){let s=this._getOrReturnCtx(e);return u(s,{code:c.invalid_type,expected:l.boolean,received:s.parsedType}),y}return k(e.data)}};se.create=r=>new se({typeName:p.ZodBoolean,coerce:r?.coerce||!1,...v(r)});var ne=class r extends _{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==l.date){let a=this._getOrReturnCtx(e);return u(a,{code:c.invalid_type,expected:l.date,received:a.parsedType}),y}if(isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return u(a,{code:c.invalid_date}),y}let s=new x,n;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(n=this._getOrReturnCtx(e,n),u(n,{code:c.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),s.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(n=this._getOrReturnCtx(e,n),u(n,{code:c.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),s.dirty()):g.assertNever(a);return {status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:h.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:h.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};ne.create=r=>new ne({checks:[],coerce:r?.coerce||!1,typeName:p.ZodDate,...v(r)});var ae=class extends _{_parse(e){if(this._getType(e)!==l.symbol){let s=this._getOrReturnCtx(e);return u(s,{code:c.invalid_type,expected:l.symbol,received:s.parsedType}),y}return k(e.data)}};ae.create=r=>new ae({typeName:p.ZodSymbol,...v(r)});var L=class extends _{_parse(e){if(this._getType(e)!==l.undefined){let s=this._getOrReturnCtx(e);return u(s,{code:c.invalid_type,expected:l.undefined,received:s.parsedType}),y}return k(e.data)}};L.create=r=>new L({typeName:p.ZodUndefined,...v(r)});var z=class extends _{_parse(e){if(this._getType(e)!==l.null){let s=this._getOrReturnCtx(e);return u(s,{code:c.invalid_type,expected:l.null,received:s.parsedType}),y}return k(e.data)}};z.create=r=>new z({typeName:p.ZodNull,...v(r)});var ie=class extends _{constructor(){super(...arguments),this._any=!0;}_parse(e){return k(e.data)}};ie.create=r=>new ie({typeName:p.ZodAny,...v(r)});var A=class extends _{constructor(){super(...arguments),this._unknown=!0;}_parse(e){return k(e.data)}};A.create=r=>new A({typeName:p.ZodUnknown,...v(r)});var N=class extends _{_parse(e){let t=this._getOrReturnCtx(e);return u(t,{code:c.invalid_type,expected:l.never,received:t.parsedType}),y}};N.create=r=>new N({typeName:p.ZodNever,...v(r)});var oe=class extends _{_parse(e){if(this._getType(e)!==l.undefined){let s=this._getOrReturnCtx(e);return u(s,{code:c.invalid_type,expected:l.void,received:s.parsedType}),y}return k(e.data)}};oe.create=r=>new oe({typeName:p.ZodVoid,...v(r)});var M=class r extends _{_parse(e){let{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==l.array)return u(t,{code:c.invalid_type,expected:l.array,received:t.parsedType}),y;if(n.exactLength!==null){let i=t.data.length>n.exactLength.value,o=t.data.length<n.exactLength.value;(i||o)&&(u(t,{code:i?c.too_big:c.too_small,minimum:o?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty());}if(n.minLength!==null&&t.data.length<n.minLength.value&&(u(t,{code:c.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),n.maxLength!==null&&t.data.length>n.maxLength.value&&(u(t,{code:c.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>n.type._parseAsync(new O(t,i,t.path,o)))).then(i=>x.mergeArray(s,i));let a=[...t.data].map((i,o)=>n.type._parseSync(new O(t,i,t.path,o)));return x.mergeArray(s,a)}get element(){return this._def.type}min(e,t){return new r({...this._def,minLength:{value:e,message:h.toString(t)}})}max(e,t){return new r({...this._def,maxLength:{value:e,message:h.toString(t)}})}length(e,t){return new r({...this._def,exactLength:{value:e,message:h.toString(t)}})}nonempty(e){return this.min(1,e)}};M.create=(r,e)=>new M({type:r,minLength:null,maxLength:null,exactLength:null,typeName:p.ZodArray,...v(e)});function V(r){if(r instanceof b){let e={};for(let t in r.shape){let s=r.shape[t];e[t]=C.create(V(s));}return new b({...r._def,shape:()=>e})}else return r instanceof M?new M({...r._def,type:V(r.element)}):r instanceof C?C.create(V(r.unwrap())):r instanceof R?R.create(V(r.unwrap())):r instanceof Z?Z.create(r.items.map(e=>V(e))):r}var b=class r extends _{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend;}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=g.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==l.object){let d=this._getOrReturnCtx(e);return u(d,{code:c.invalid_type,expected:l.object,received:d.parsedType}),y}let{status:s,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof N&&this._def.unknownKeys==="strip"))for(let d in n.data)i.includes(d)||o.push(d);let f=[];for(let d of i){let m=a[d],T=n.data[d];f.push({key:{status:"valid",value:d},value:m._parse(new O(n,T,n.path,d)),alwaysSet:d in n.data});}if(this._def.catchall instanceof N){let d=this._def.unknownKeys;if(d==="passthrough")for(let m of o)f.push({key:{status:"valid",value:m},value:{status:"valid",value:n.data[m]}});else if(d==="strict")o.length>0&&(u(n,{code:c.unrecognized_keys,keys:o}),s.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else {let d=this._def.catchall;for(let m of o){let T=n.data[m];f.push({key:{status:"valid",value:m},value:d._parse(new O(n,T,n.path,m)),alwaysSet:m in n.data});}}return n.common.async?Promise.resolve().then(async()=>{let d=[];for(let m of f){let T=await m.key,Te=await m.value;d.push({key:T,value:Te,alwaysSet:m.alwaysSet});}return d}).then(d=>x.mergeObjectSync(s,d)):x.mergeObjectSync(s,f)}get shape(){return this._def.shape()}strict(e){return h.errToObj,new r({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var n,a,i,o;let f=(i=(a=(n=this._def).errorMap)===null||a===void 0?void 0:a.call(n,t,s).message)!==null&&i!==void 0?i:s.defaultError;return t.code==="unrecognized_keys"?{message:(o=h.errToObj(e).message)!==null&&o!==void 0?o:f}:{message:f}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend(e){return new r({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new r({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:p.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new r({...this._def,catchall:e})}pick(e){let t={};return g.objectKeys(e).forEach(s=>{e[s]&&this.shape[s]&&(t[s]=this.shape[s]);}),new r({...this._def,shape:()=>t})}omit(e){let t={};return g.objectKeys(this.shape).forEach(s=>{e[s]||(t[s]=this.shape[s]);}),new r({...this._def,shape:()=>t})}deepPartial(){return V(this)}partial(e){let t={};return g.objectKeys(this.shape).forEach(s=>{let n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional();}),new r({...this._def,shape:()=>t})}required(e){let t={};return g.objectKeys(this.shape).forEach(s=>{if(e&&!e[s])t[s]=this.shape[s];else {let a=this.shape[s];for(;a instanceof C;)a=a._def.innerType;t[s]=a;}}),new r({...this._def,shape:()=>t})}keyof(){return Re(g.objectKeys(this.shape))}};b.create=(r,e)=>new b({shape:()=>r,unknownKeys:"strip",catchall:N.create(),typeName:p.ZodObject,...v(e)});b.strictCreate=(r,e)=>new b({shape:()=>r,unknownKeys:"strict",catchall:N.create(),typeName:p.ZodObject,...v(e)});b.lazycreate=(r,e)=>new b({shape:r,unknownKeys:"strip",catchall:N.create(),typeName:p.ZodObject,...v(e)});var U=class extends _{_parse(e){let{ctx:t}=this._processInputParams(e),s=this._def.options;function n(a){for(let o of a)if(o.result.status==="valid")return o.result;for(let o of a)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;let i=a.map(o=>new S(o.ctx.common.issues));return u(t,{code:c.invalid_union,unionErrors:i}),y}if(t.common.async)return Promise.all(s.map(async a=>{let i={...t,common:{...t.common,issues:[]},parent:null};return {result:await a._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(n);{let a,i=[];for(let f of s){let d={...t,common:{...t.common,issues:[]},parent:null},m=f._parseSync({data:t.data,path:t.path,parent:d});if(m.status==="valid")return m;m.status==="dirty"&&!a&&(a={result:m,ctx:d}),d.common.issues.length&&i.push(d.common.issues);}if(a)return t.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(f=>new S(f));return u(t,{code:c.invalid_union,unionErrors:o}),y}}get options(){return this._def.options}};U.create=(r,e)=>new U({options:r,typeName:p.ZodUnion,...v(e)});function ke(r,e){let t=$(r),s=$(e);if(r===e)return {valid:!0,data:r};if(t===l.object&&s===l.object){let n=g.objectKeys(e),a=g.objectKeys(r).filter(o=>n.indexOf(o)!==-1),i={...r,...e};for(let o of a){let f=ke(r[o],e[o]);if(!f.valid)return {valid:!1};i[o]=f.data;}return {valid:!0,data:i}}else if(t===l.array&&s===l.array){if(r.length!==e.length)return {valid:!1};let n=[];for(let a=0;a<r.length;a++){let i=r[a],o=e[a],f=ke(i,o);if(!f.valid)return {valid:!1};n.push(f.data);}return {valid:!0,data:n}}else return t===l.date&&s===l.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}var B=class extends _{_parse(e){let{status:t,ctx:s}=this._processInputParams(e),n=(a,i)=>{if(Oe(a)||Oe(i))return y;let o=ke(a.value,i.value);return o.valid?((Ce(a)||Ce(i))&&t.dirty(),{status:t.value,value:o.data}):(u(s,{code:c.invalid_intersection_types}),y)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([a,i])=>n(a,i)):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}};B.create=(r,e,t)=>new B({left:r,right:e,typeName:p.ZodIntersection,...v(t)});var Z=class r extends _{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==l.array)return u(s,{code:c.invalid_type,expected:l.array,received:s.parsedType}),y;if(s.data.length<this._def.items.length)return u(s,{code:c.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),y;!this._def.rest&&s.data.length>this._def.items.length&&(u(s,{code:c.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let a=[...s.data].map((i,o)=>{let f=this._def.items[o]||this._def.rest;return f?f._parse(new O(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(a).then(i=>x.mergeArray(t,i)):x.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new r({...this._def,rest:e})}};Z.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Z({items:r,typeName:p.ZodTuple,rest:null,...v(e)})};var ce=class extends _{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==l.map)return u(s,{code:c.invalid_type,expected:l.map,received:s.parsedType}),y;let n=this._def.keyType,a=this._def.valueType,i=[...s.data.entries()].map(([o,f],d)=>({key:n._parse(new O(s,o,s.path,[d,"key"])),value:a._parse(new O(s,f,s.path,[d,"value"]))}));if(s.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let f of i){let d=await f.key,m=await f.value;if(d.status==="aborted"||m.status==="aborted")return y;(d.status==="dirty"||m.status==="dirty")&&t.dirty(),o.set(d.value,m.value);}return {status:t.value,value:o}})}else {let o=new Map;for(let f of i){let d=f.key,m=f.value;if(d.status==="aborted"||m.status==="aborted")return y;(d.status==="dirty"||m.status==="dirty")&&t.dirty(),o.set(d.value,m.value);}return {status:t.value,value:o}}}};ce.create=(r,e,t)=>new ce({valueType:e,keyType:r,typeName:p.ZodMap,...v(t)});var de=class r extends _{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==l.set)return u(s,{code:c.invalid_type,expected:l.set,received:s.parsedType}),y;let n=this._def;n.minSize!==null&&s.data.size<n.minSize.value&&(u(s,{code:c.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),n.maxSize!==null&&s.data.size>n.maxSize.value&&(u(s,{code:c.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());let a=this._def.valueType;function i(f){let d=new Set;for(let m of f){if(m.status==="aborted")return y;m.status==="dirty"&&t.dirty(),d.add(m.value);}return {status:t.value,value:d}}let o=[...s.data.values()].map((f,d)=>a._parse(new O(s,f,s.path,d)));return s.common.async?Promise.all(o).then(f=>i(f)):i(o)}min(e,t){return new r({...this._def,minSize:{value:e,message:h.toString(t)}})}max(e,t){return new r({...this._def,maxSize:{value:e,message:h.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};de.create=(r,e)=>new de({valueType:r,minSize:null,maxSize:null,typeName:p.ZodSet,...v(e)});var W=class extends _{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};W.create=(r,e)=>new W({getter:r,typeName:p.ZodLazy,...v(e)});var q=class extends _{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return u(t,{received:t.data,code:c.invalid_literal,expected:this._def.value}),y}return {status:"valid",value:e.data}}get value(){return this._def.value}};q.create=(r,e)=>new q({value:r,typeName:p.ZodLiteral,...v(e)});function Re(r,e){return new Y({values:r,typeName:p.ZodEnum,...v(e)})}var Y=class r extends _{constructor(){super(...arguments),K.set(this,void 0);}_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{expected:g.joinValues(s),received:t.parsedType,code:c.invalid_type}),y}if(he(this,K,"f")||Ne(this,K,new Set(this._def.values),"f"),!he(this,K,"f").has(e.data)){let t=this._getOrReturnCtx(e),s=this._def.values;return u(t,{received:t.data,code:c.invalid_enum_value,options:s}),y}return k(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return r.create(e,{...this._def,...t})}exclude(e,t=this._def){return r.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}};K=new WeakMap;Y.create=Re;var H=class extends _{constructor(){super(...arguments),F.set(this,void 0);}_parse(e){let t=g.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==l.string&&s.parsedType!==l.number){let n=g.objectValues(t);return u(s,{expected:g.joinValues(n),received:s.parsedType,code:c.invalid_type}),y}if(he(this,F,"f")||Ne(this,F,new Set(g.getValidEnumValues(this._def.values)),"f"),!he(this,F,"f").has(e.data)){let n=g.objectValues(t);return u(s,{received:s.data,code:c.invalid_enum_value,options:n}),y}return k(e.data)}get enum(){return this._def.values}};F=new WeakMap;H.create=(r,e)=>new H({values:r,typeName:p.ZodNativeEnum,...v(e)});var P=class extends _{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==l.promise&&t.common.async===!1)return u(t,{code:c.invalid_type,expected:l.promise,received:t.parsedType}),y;let s=t.parsedType===l.promise?t.data:Promise.resolve(t.data);return k(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}};P.create=(r,e)=>new P({type:r,typeName:p.ZodPromise,...v(e)});var E=class extends _{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===p.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,a={addIssue:i=>{u(s,i),i.fatal?t.abort():t.dirty();},get path(){return s.path}};if(a.addIssue=a.addIssue.bind(a),n.type==="preprocess"){let i=n.transform(s.data,a);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return y;let f=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return f.status==="aborted"?y:f.status==="dirty"||t.value==="dirty"?Q(f.value):f});{if(t.value==="aborted")return y;let o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?y:o.status==="dirty"||t.value==="dirty"?Q(o.value):o}}if(n.type==="refinement"){let i=o=>{let f=n.refinement(o,a);if(s.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){let o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?y:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?y:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(n.type==="transform")if(s.common.async===!1){let i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!le(i))return i;let o=n.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return {status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>le(i)?Promise.resolve(n.transform(i.value,a)).then(o=>({status:t.value,value:o})):i);g.assertNever(n);}};E.create=(r,e,t)=>new E({schema:r,typeName:p.ZodEffects,effect:e,...v(t)});E.createWithPreprocess=(r,e,t)=>new E({schema:e,effect:{type:"preprocess",transform:r},typeName:p.ZodEffects,...v(t)});var C=class extends _{_parse(e){return this._getType(e)===l.undefined?k(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};C.create=(r,e)=>new C({innerType:r,typeName:p.ZodOptional,...v(e)});var R=class extends _{_parse(e){return this._getType(e)===l.null?k(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};R.create=(r,e)=>new R({innerType:r,typeName:p.ZodNullable,...v(e)});var J=class extends _{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return t.parsedType===l.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};J.create=(r,e)=>new J({innerType:r,typeName:p.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...v(e)});var G=class extends _{_parse(e){let{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return fe(n)?n.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new S(s.common.issues)},input:s.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new S(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}};G.create=(r,e)=>new G({innerType:r,typeName:p.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...v(e)});var ue=class extends _{_parse(e){if(this._getType(e)!==l.nan){let s=this._getOrReturnCtx(e);return u(s,{code:c.invalid_type,expected:l.nan,received:s.parsedType}),y}return {status:"valid",value:e.data}}};ue.create=r=>new ue({typeName:p.ZodNaN,...v(r)});var pe=class extends _{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}},me=class r extends _{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return (async()=>{let a=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?y:a.status==="dirty"?(t.dirty(),Q(a.value)):this._def.out._parseAsync({data:a.value,path:s.path,parent:s})})();{let n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?y:n.status==="dirty"?(t.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,t){return new r({in:e,out:t,typeName:p.ZodPipeline})}},X=class extends _{_parse(e){let t=this._def.innerType._parse(e),s=n=>(le(n)&&(n.value=Object.freeze(n.value)),n);return fe(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}};X.create=(r,e)=>new X({innerType:r,typeName:p.ZodReadonly,...v(e)});({object:b.lazycreate});var p;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly";})(p||(p={}));var w=D.create,Ie=se.create;N.create;M.create;var I=b.create;b.strictCreate;U.create;B.create;Z.create;Y.create;P.create;C.create;R.create;var Ae=I({checksum:w(),location:I({npm:I({filePath:w(),packageName:w(),registry:w()})})}),tt=I({name:w(),version:w(),description:w(),sources:I({module:Ae,provider:Ae.optional()}),network:I({chainIds:w().array(),namespaces:w().array()}),cointype:w(),permissions:I({rpc:I({dapps:Ie(),methods:w()})}),manifestVersion:w()}),Me=r=>tt.safeParse(r);var Ut={getManifest:()=>{let r=$e(),e=Me(r);return e.success?e.data:void 0},getBalances:()=>Promise.resolve("EVM balances"),getTransactionHistory:()=>Promise.resolve("EVM transaction history"),getNetworkFee:()=>Promise.resolve("EVM network fee"),getAddress:()=>Promise.resolve("EVM address")};
15
2
 
16
- var G=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var v=(e,t,r)=>(G(e,t,"read from private field"),r?r.call(e):t.get(e)),S=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r);},P=(e,t,r,o)=>(G(e,t,"write to private field"),o?o.call(e,r):t.set(e,r),r);async function R({chainId:e,proxyApiUrl:t}){let r=await fetch(`${t}/tokens?evmChainId=${e}`);if(!r.ok)throw rpcErrors.internal(`Failed to fetch tokens for chainId ${e}`);return r.json()}var Pe=process.env.GLACIER_API_KEY,E=e=>{let{chainId:t,chainName:r,rpcUrl:o,multiContractAddress:s,pollingInterval:i=2e3}=e,n=new JsonRpcBatchInternal({maxCalls:40,multiContractAddress:s},Be(o,Pe),new Network(r,t));return n.pollingInterval=i,n},Re=["glacier-api.avax.network","proxy-api.avax.network"];function Be(e,t){let r=new URL(e);if(t&&Re.includes(r.hostname)){let o=r.searchParams;return o.set("token",t),r.search=o.toString(),r.toString()}return e}var U={LOW:1n,MEDIUM:4n,HIGH:6n},F=500000000n;async function V({chainId:e,chainName:t,rpcUrl:r,multiContractAddress:o}){let s=E({chainId:e,chainName:t,rpcUrl:r,multiContractAddress:o}),{maxFeePerGas:i}=await s.getFeeData();if(!i)throw rpcErrors.internal("Pre-EIP-1559 networks are not supported");let n=F*U.LOW,a=F*U.MEDIUM,c=F*U.HIGH;return {baseFee:i,low:{maxFeePerGas:i+n,maxPriorityFeePerGas:n},medium:{maxFeePerGas:i+a,maxPriorityFeePerGas:a},high:{maxFeePerGas:i+c,maxPriorityFeePerGas:c},isFixedFee:!1}}function w(e,t,r="tx"){return `${e}/${r}/${t}`}var W=({tx:e,networkToken:t,chainId:r,explorerUrl:o,address:s})=>{let i=e.from.toLowerCase()===s.toLowerCase(),n=parseInt(e.timeStamp)*1e3,a=t.decimals,c=new BN(e.value),m=balanceToDisplayValue(c,a),u=i?TransactionType.SEND:TransactionType.RECEIVE,{from:l,to:p,gasPrice:d,gasUsed:T,hash:g}=e,f=w(o,g);return {isIncoming:!i,isOutgoing:i,isContractCall:_e(e),timestamp:n,hash:g,isSender:i,from:l,to:p,tokens:[{decimal:a.toString(),name:t.name,symbol:t.symbol,amount:m,type:TokenType.NATIVE}],gasUsed:T,gasPrice:d,chainId:r.toString(),txType:u,explorerLink:f}};function _e(e){return e.input!=="0x"}function O({tx:e,address:t,explorerUrl:r,chainId:o}){let s=e.from.toLowerCase()===t.toLowerCase(),i=parseInt(e.timeStamp)*1e3,n=parseInt(e.tokenDecimal),a=new BN(e.value),c=balanceToDisplayValue(a,n),{from:m,to:u,gasPrice:l,gasUsed:p,hash:d,tokenDecimal:T,tokenName:g,tokenSymbol:f}=e,h=s?TransactionType.SEND:TransactionType.RECEIVE,N=w(r,d);return {isIncoming:!s,isOutgoing:s,isContractCall:!1,timestamp:i,hash:d,isSender:s,from:m,to:u,tokens:[{decimal:T,name:g,symbol:f,type:TokenType.ERC20,amount:c}],gasUsed:p,gasPrice:l,chainId:o.toString(),txType:h,explorerLink:N}}var j=async({isTestnet:e,networkToken:t,explorerUrl:r,chainId:o,address:s,nextPageToken:i,offset:n})=>{let a=i?JSON.parse(i):void 0,c=a?.page||1,m=a?.queries||["normal","erc20"],u=(m.includes("normal")?await getNormalTxs(s,!e,{page:c,offset:n}):[]).map(g=>W({tx:g,chainId:o,networkToken:t,explorerUrl:r,address:s})),l=(m.includes("erc20")?await getErc20Txs(s,!e,void 0,{page:c,offset:n}):[]).map(g=>O({tx:g,address:s,explorerUrl:r,chainId:o})),p=l.map(g=>g.hash),d=u.filter(g=>!p.includes(g.hash)),T={queries:[],page:c+1};return u.length&&T.queries.push("normal"),l.length&&T.queries.push("erc20"),{transactions:[...d,...l],nextPageToken:T.queries.length?JSON.stringify(T):""}};var q=e=>e===1||e===5||e===4||e===11155111;var $=({nativeTransaction:e,erc20Transfers:t,erc721Transfers:r},o,s)=>{let i=!t&&!r,n=Oe(e.method?.methodName),a=o.toLowerCase(),c=n.toLowerCase().includes("swap"),m=i&&e.from.address.toLowerCase()===a,u=i&&e.to.address.toLowerCase()===a,l=n==="Market Buy Orders With Eth"||n==="Buy NFT",p=n==="Approve",d=n.toLowerCase().includes("transfer"),T=n.toLowerCase().includes("airdrop"),g=n.toLowerCase().includes("unwrap"),f=n==="Fill Order",h=d&&!!s[0]&&Y(s[0].type)&&s[0].from?.address.toLowerCase()===a,N=d&&!!s[0]&&Y(s[0].type)&&s[0].to?.address.toLowerCase()===a;return c?TransactionType.SWAP:m?TransactionType.SEND:u?TransactionType.RECEIVE:l?TransactionType.NFT_BUY:p?TransactionType.APPROVE:h?TransactionType.NFT_SEND:N?TransactionType.NFT_RECEIVE:d?TransactionType.TRANSFER:T?TransactionType.AIRDROP:g?TransactionType.UNWRAP:f?TransactionType.FILL_ORDER:TransactionType.UNKNOWN};function Y(e){return e===TokenType.ERC721||e===TokenType.ERC1155}var Oe=(e="")=>e.includes("(")?He(e.split("(",1)[0]):e;var K=(e,{nativeTransaction:t,erc20Transfers:r,erc721Transfers:o},s)=>{let i=e===TransactionType.TRANSFER,n=e===TransactionType.SEND,a=e===TransactionType.RECEIVE,c=t?.from?.address,m=t?.to?.address;i&&r&&r[0]&&(c=r[0].from.address,m=r[0].to.address),i&&o&&o[0]&&(c=o[0].from.address,m=o[0].to.address);let u=n||i&&c.toLowerCase()===s.toLowerCase(),l=a||i&&m.toLowerCase()===s.toLowerCase();return {isOutgoing:u,isIncoming:l,isSender:c===s,from:c,to:m}};async function z(e){try{return e.then(t=>[t,null]).catch(t=>[null,t])}catch(t){return Promise.resolve([null,t])}}var qe="https://cloudflare-ipfs.com";function C(e,t=qe){if(!e)return "";try{return ipfsResolver(e,t)}catch{return e}}async function Je(e,t=5e3){let r=new AbortController;return setTimeout(()=>r.abort(),t),fetch(e,{signal:r.signal})}async function Z(e){let t={};if(e)if(e.startsWith("data:application/json;base64,")){let r=e.substring(29);try{let o=Buffer.from(r,"base64").toString();t=JSON.parse(o);}catch{t={};}}else t=await Je(C(e)).then(r=>r.json()).catch(()=>({}));else return {};return t}var Ye="https://image-proxy.svc.prod.covalenthq.com/cdn-cgi/image";function Q(e,t="256"){let r=C(e);return `${Ye}/width=${t},fit/${r}`}var re=async({nativeTransaction:e,erc20Transfers:t,erc721Transfers:r,erc1155Transfers:o},s)=>{let i=[];if(e.value!=="0"){let n=s.decimals,a=new BN(e.value),c=balanceToDisplayValue(a,n);i.push({decimal:n.toString(),name:s.name,symbol:s.symbol,amount:c,from:e.from,to:e.to,type:TokenType.NATIVE});}return t?.forEach(n=>{let a=n.erc20Token.decimals,c=new BN(n.value),m=balanceToDisplayValue(c,a);i.push({decimal:a.toString(),name:n.erc20Token.name,symbol:n.erc20Token.symbol,amount:m,from:n.from,to:n.to,imageUri:n.erc20Token.logoUri,type:TokenType.ERC20});}),r&&await Promise.allSettled(r.map(async n=>{let a=n.erc721Token,c=await te(a.tokenUri,a.metadata.imageUri);i.push({name:n.erc721Token.name,symbol:n.erc721Token.symbol,amount:"1",imageUri:c,from:n.from,to:n.to,collectableTokenId:n.erc721Token.tokenId,type:TokenType.ERC721});})),o&&await Promise.allSettled(o.map(async n=>{let a=n.erc1155Token,c=await te(a.tokenUri,a.metadata.imageUri);i.push({name:n.erc1155Token.metadata.name??"",symbol:n.erc1155Token.metadata.symbol??"",amount:n.value,imageUri:c,from:n.from,to:n.to,collectableTokenId:n.erc1155Token.tokenId,type:TokenType.ERC1155});})),i},te=async(e,t)=>{if(t)return t.startsWith("ipfs://")?C(t):t;{let[r,o]=await z(Z(e));return o?"":r.image?Q(r.image):""}};var oe=[TransactionType.SEND,TransactionType.RECEIVE,TransactionType.TRANSFER];var ne=async({transactions:e,explorerUrl:t,networkToken:r,chainId:o,address:s})=>{let i=await re(e,r),n=$(e,s,i),{isOutgoing:a,isIncoming:c,isSender:m,from:u,to:l}=K(n,e,s),{blockTimestamp:p,txHash:d,gasPrice:T,gasUsed:g}=e.nativeTransaction,f=w(t,d);return {isContractCall:!oe.includes(n),isIncoming:c,isOutgoing:a,isSender:m,timestamp:p*1e3,hash:d,from:u,to:l,tokens:i,gasPrice:T,gasUsed:g,chainId:o.toString(),txType:n,explorerLink:f}};var ae=async({chainId:e,explorerUrl:t,networkToken:r,address:o,nextPageToken:s,offset:i,glacierService:n})=>{try{let a=await n.listTransactions({chainId:e.toString(),address:o,pageToken:s,pageSize:i});return {transactions:(await Promise.all(a.transactions.filter(u=>u.nativeTransaction.txStatus==="1").map(u=>ne({transactions:u,explorerUrl:t,networkToken:r,chainId:e,address:o}).then(l=>l)))).filter(u=>u.tokens.find(l=>Number(l.amount)!==0)),nextPageToken:a.nextPageToken}}catch{return {transactions:[],nextPageToken:""}}};var se=async({chainId:e,isTestnet:t,networkToken:r,explorerUrl:o,address:s,nextPageToken:i,offset:n,glacierService:a})=>q(e)?j({isTestnet:t,networkToken:r,explorerUrl:o,chainId:e,address:s,nextPageToken:i,offset:n}):ae({networkToken:r,explorerUrl:o,chainId:e,address:s,nextPageToken:i,offset:n,glacierService:a});var ie={name:"EVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/bundle.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}},provider:{checksum:"",location:{npm:{filePath:"dist/provider.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["eip155:1","eip155:43114","eip155:43113"],namespaces:["eip155"]},cointype:"60",permissions:{rpc:{dapps:!0,methods:["eth_sendTransaction","eth_*","getTransactionHistory"]}},manifestVersion:"0.0"};var Ke=z$1.object({from:z$1.string().length(42),to:z$1.string().length(42),data:z$1.string().optional(),value:z$1.string().startsWith("0x").optional(),gas:z$1.string().startsWith("0x").optional(),gasPrice:z$1.string().startsWith("0x").optional(),maxFeePerGas:z$1.string().startsWith("0x").optional(),maxPriorityFeePerGas:z$1.string().startsWith("0x").optional(),nonce:z$1.string().optional(),chainId:z$1.string().optional()}),ze=z$1.array(Ke).length(1),ce=e=>ze.safeParse(e);var le=async({transactionParams:{from:e,to:t,data:r,value:o},provider:s})=>{let i=await s.getTransactionCount(e);return Number(await s.estimateGas({from:e,to:t,nonce:i,data:r,value:o}))};var me=async({from:e,provider:t})=>t.getTransactionCount(e);var ue=async({dAppUrl:e,params:t,chainId:r,proxyApiUrl:o})=>{let s,i,{validation:n,simulation:a}=await rt({proxyApiUrl:o,chainId:r,params:t,domain:e});if(!n||n.result_type==="Error"?s={type:TransactionValidationType.ERROR,attributes:{title:"Suspicious Transaction",description:"Use caution, this transaction may be malicious."}}:n.result_type==="Warning"?s={type:TransactionValidationType.WARNING,attributes:{title:"Suspicious Transaction",description:"Use caution, this transaction may be malicious."}}:n.result_type==="Malicious"?s={type:TransactionValidationType.MALICIOUS,attributes:{title:"Scam Transaction",description:"This transaction is malicious, do not proceed.",buttonTitles:{reject:"Reject Transaction",proceed:"Proceed Anyway"}}}:n.result_type==="Benign"&&(s={type:TransactionValidationType.BENIGN}),a?.status==="Success"){let c=ot(a);i={assetDiffs:nt(a),exposures:c};}return {transactionValidation:s,transactionSimulation:i}},rt=async({proxyApiUrl:e,chainId:t,params:r,domain:o})=>new Ze({baseURL:e+"/proxy/blockaid/",apiKey:"DUMMY_API_KEY"}).evm.transaction.scan({account_address:r.from,chain:t.toString(),options:["validation","simulation"],data:{from:r.from,to:r.to,data:r.data,value:r.value,gas:r.gas,gas_price:r.gasPrice},metadata:o&&o.length>0?{domain:o}:{non_dapp:!0}}),ot=e=>{let t=[];for(let r of e.account_summary.exposures){let o=r.asset;if(!o||!o.name||!o.symbol)continue;let s={contractType:o.type,address:o.address,decimals:"decimals"in o?o.decimals:void 0,name:o.name,symbol:o.symbol,logoUri:o.logo_url};for(let[i,n]of Object.entries(r.spenders))if(n.exposure.length===0)t.push({token:s,spenderAddress:i,logoUri:o.logo_url});else for(let a of n.exposure)"raw_value"in a?t.push({token:s,spenderAddress:i,value:a.raw_value,usdPrice:a.usd_price,logoUri:o.logo_url}):t.push({token:s,spenderAddress:i,logoUri:a.logo_url,usdPrice:a.usd_price});}return t},nt=e=>{let t=e.account_summary.assets_diffs,r=pe(t,"in"),o=pe(t,"out");return {ins:r,outs:o}},pe=(e,t)=>e.filter(r=>r[t].length>0).sort((r,o)=>r[t].length-o[t].length).map(r=>{let o=r.asset;if(!o||!o.name||!o.symbol)return;let s="address"in o?{contractType:o.type,address:o.address,name:o.name,symbol:o.symbol,decimals:"decimals"in o?o.decimals:void 0,logoUri:o.logo_url}:{name:o.name,symbol:o.symbol,decimals:o.decimals,description:"",logoUri:o.logo_url},i=r[t].map(n=>{let a;if("value"in n&&n.value)if(s.decimals){let c=numberToBN(n.value,s.decimals);a=balanceToDisplayValue(c,s.decimals);}else isHexString(n.value)&&(a=parseInt(n.value,16).toString());else "contractType"in s&&s.contractType===TokenType.ERC721&&(a="1");return a?{value:a,usdPrice:n.usd_price}:void 0}).filter(n=>n!==void 0);return {token:s,items:i}}).filter(r=>r!==void 0);var de=e=>{if(e.data)try{let r=new Interface(st.abi).parseTransaction({data:e.data,value:e.value});return (r?.name??r?.fragment?.name)?.toUpperCase()}catch{return}};var ge=async({request:e,network:t,approvalController:r,proxyApiUrl:o})=>{let{dappInfo:s,params:i}=e,n=ce(i);if(!n.success)return console.error(n.error),{error:rpcErrors.invalidParams("Transaction params are invalid")};let a=n.data[0];if(!a)return {error:rpcErrors.invalidParams("Transaction params are invalid")};let c=E({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3});if(!a.gas||Number(a.gas)<0)try{let f=await le({transactionParams:{from:a.from,to:a.to,data:a.data,value:a.value},provider:c});a.gas="0x"+f.toString(16);}catch{return {error:rpcErrors.internal("Unable to calculate gas limit")}}if(!a.nonce)try{let f=await me({from:a.from,provider:c});a.nonce=String(f);}catch{return {error:rpcErrors.internal("Unable to calculate nonce")}}let m=de(a),{transactionValidation:u,transactionSimulation:l}=await ue({proxyApiUrl:o,chainId:t.chainId,params:a,dAppUrl:e.dappInfo.url}),p={title:"Approve Transaction",network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},transactionDetails:{website:new URL(s.url).hostname,from:a.from,to:a.to,data:a.data,type:m},networkFeeSelector:!0,transactionValidation:u,transactionSimulation:l},d={type:SigningDataType.EVM_TRANSACTION,account:a.from,chainId:t.chainId,data:{type:2,nonce:Number(a.nonce),gasLimit:Number(a.gas),to:a.to,from:a.from,data:a.data,value:a.value,chainId:a.chainId}},T=await r.requestApproval({request:e,displayData:p,signingData:d});if("error"in T)return {error:T.error};let g=await c.send("eth_sendRawTransaction",[T.result]);return ct({provider:c,txHash:g,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted}),{result:g}},ct=async({provider:e,txHash:t,onTransactionConfirmed:r,onTransactionReverted:o})=>{(await e.waitForTransaction(t))?.status===1?r(t):o(t);};var Te=18,fe=async({provider:e,tokenService:t,address:r,currency:o,tokens:s,network:i})=>{let n=i.pricingProviders?.coingecko.assetPlatformId,a=i.pricingProviders?.coingecko.nativeTokenId,c=s.map(l=>l.address),m=await Promise.allSettled(s.map(async l=>{let d=await new ethers.Contract(l.address,st.abi,e).balanceOf?.(r),T=new ve(d)||numberToBN(0,l.decimals||Te);return {...l,balance:T}})).then(l=>l.reduce((p,d)=>d.status==="fulfilled"&&!d.value.balance.isZero()?[...p,d.value]:p,[]));if(!m.length)return {};let u=n&&await t.getPricesByAddresses(c,n,o)||{};return m.reduce((l,p)=>{let d=u?.[a??""]?.[o]?.price??0,T=u?.[a??""]?.[o]?.marketCap??0,g=u?.[a??""]?.[o]?.vol24??0,f=u?.[a??""]?.[o]?.change24??0,h=p.decimals||Te,N=bnToBig(p.balance,p.decimals).mul(d).toNumber(),we=balanceToDisplayValue(p.balance,h),Ce=N.toFixed(2);return {...l,[p.address.toLowerCase()]:{...p,decimals:h,type:TokenType.ERC20,balance:p.balance,balanceDisplayValue:we,balanceInCurrency:N,balanceCurrencyDisplayValue:Ce,priceInCurrency:d,marketCap:T,change24:f,vol24:g}}},{})};var ye=async({provider:e,tokenService:t,address:r,currency:o,network:s})=>{let i=s.pricingProviders?.coingecko.nativeTokenId,n=s.networkToken,a=i?await t.getSimplePrice({coinIds:[i],currencies:[o]}):{},c=a?.[i??""]?.[o]?.price??0,m=a?.[i??""]?.[o]?.marketCap??0,u=a?.[i??""]?.[o]?.vol24??0,l=a?.[i??""]?.[o]?.change24??0,p=await e.getBalance(r),d=bigintToBig(p,n.decimals),T=bigToBN(d,n.decimals),g=balanceToDisplayValue(T,n.decimals),f=bnToBig(T,n.decimals).mul(c).toNumber(),h=f.toFixed(2);return {...n,coingeckoId:i??"",type:TokenType.NATIVE,balance:T,balanceDisplayValue:g,balanceInCurrency:f,balanceCurrencyDisplayValue:h,priceInCurrency:c,marketCap:m,vol24:u,change24:l}};var ke=async({address:e,currency:t,chainId:r,glacierService:o})=>{let i=(await o.getNativeBalance({chainId:r.toString(),address:e,currency:t.toLocaleLowerCase()})).nativeTokenBalance,n=new BN(i.balance),a=balanceToDisplayValue(n,i.decimals),c=i.price?.value??0,m=bnToBig(n,i.decimals).mul(c).toNumber(),u=m.toFixed(2);return {name:i.name,symbol:i.symbol,decimals:i.decimals,type:TokenType.NATIVE,logoUri:i.logoUri,balance:n,balanceDisplayValue:a,balanceInCurrency:m,balanceCurrencyDisplayValue:u,priceInCurrency:c,marketCap:0,vol24:0,change24:0,coingeckoId:""}};var It=18,be=async({glacierService:e,currency:t,chainId:r,address:o,customTokens:s})=>{let i=[],n;do{let a=await e.listErc20Balances({chainId:r.toString(),address:o,currency:t.toLocaleLowerCase(),pageSize:100,pageToken:n});i.push(...Pt(a.erc20TokenBalances,Number(r))),n=a.nextPageToken;}while(n);return [...St(s),...i].reduce((a,c)=>({...a,[c.address.toLowerCase()]:c}),{})},St=e=>e.map(t=>({...t,decimals:t.decimals??It,type:TokenType.ERC20,balance:new ve(0),balanceInCurrency:0,balanceDisplayValue:"0",balanceCurrencyDisplayValue:"0",priceInCurrency:0,marketCap:0,change24:0,vol24:0})),Pt=(e,t)=>e.map(r=>{let o=new ve(r.balance),s=balanceToDisplayValue(o,r.decimals),i=r.balanceValue?.value.toString()??"0",n=r.price?.value??0,a=bnToBig(o,r.decimals).mul(n).toNumber();return {chainId:t,address:r.address,name:r.name,symbol:r.symbol,decimals:r.decimals,logoUri:r.logoUri,balance:o,balanceCurrencyDisplayValue:i,balanceDisplayValue:s,balanceInCurrency:a,priceInCurrency:n,contractType:"ERC-20",type:TokenType.ERC20,change24:0,marketCap:0,vol24:0}});var Ne=async({addresses:e,currency:t,network:r,proxyApiUrl:o,customTokens:s=[],storage:i,glacierService:n})=>{let a=r.chainId,c=await n.isNetworkSupported(r.chainId),m=[];if(c)m=await Promise.allSettled(e.map(async l=>{let p=await ke({address:l,currency:t,chainId:a,glacierService:n}),d=await be({customTokens:s,glacierService:n,currency:t,chainId:a,address:l});return {address:l,balances:{[p.symbol]:p,...d}}}));else {let l=new TokenService({storage:i,proxyApiUrl:o}),d=[...await R({chainId:Number(a),proxyApiUrl:o}),...s],T=E({chainId:a,chainName:r.chainName,rpcUrl:r.rpcUrl,multiContractAddress:r.utilityAddresses?.multicall});m=await Promise.allSettled(e.map(async g=>{let f=await ye({network:r,tokenService:l,address:g,currency:t,provider:T}),h=await fe({provider:T,network:r,tokenService:l,address:g,currency:t,tokens:d});return {address:g,balances:{[f.symbol]:f,...h}}}));}return m.reduce((l,p)=>p.status==="rejected"?l:{...l,[p.value.address]:p.value.balances},{})};var x,b,I,Ee=class{constructor({approvalController:t,environment:r}){S(this,x,void 0);S(this,b,void 0);S(this,I,void 0);let{glacierApiUrl:o,proxyApiUrl:s}=getEnv(r);P(this,x,new GlacierService({glacierApiUrl:o})),P(this,b,s),P(this,I,t);}getAddress(){return Promise.resolve("EVM address")}getBalances({addresses:t,network:r,currency:o,customTokens:s}){return Ne({addresses:t,currency:o,network:r,proxyApiUrl:v(this,b),customTokens:s,glacierService:v(this,x)})}getManifest(){let t=parseManifest(ie);return t.success?t.data:void 0}getNetworkFee(t){let{chainId:r,chainName:o,rpcUrl:s,utilityAddresses:i}=t;return V({chainId:r,chainName:o,rpcUrl:s,multiContractAddress:i?.multicall})}getTransactionHistory(t){let{network:r,address:o,nextPageToken:s,offset:i}=t,{chainId:n,isTestnet:a,networkToken:c,explorerUrl:m=""}=r;return se({chainId:n,isTestnet:a,networkToken:c,explorerUrl:m,address:o,nextPageToken:s,offset:i,glacierService:v(this,x)})}getTokens(t){let{chainId:r}=t;return R({chainId:r,proxyApiUrl:v(this,b)})}async onRpcRequest(t,r){switch(t.method){case RpcMethod.ETH_SEND_TRANSACTION:return ge({request:t,network:r,approvalController:v(this,I),proxyApiUrl:v(this,b)});default:return {error:rpcErrors.methodNotSupported(`Method ${t.method} not supported`)}}}};x=new WeakMap,b=new WeakMap,I=new WeakMap;
17
-
18
- export { Ee as EvmModule, oe as NonContractCallTypes };
3
+ export { Ut as evm };
19
4
  //# sourceMappingURL=out.js.map
20
5
  //# sourceMappingURL=index.js.map