@story-protocol/ipkit 0.4.1 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"storyprotocol-storykit.esm.js","sources":["../src/constants/api.ts","../src/types/chains.ts","../src/constants/chains.ts","../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.16.4_tslib@2.8.1_typescript@5.4.5/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/openapi-fetch@0.13.5/node_modules/openapi-fetch/dist/index.js","../src/lib/api/apiClient.ts","../src/types/assets.ts","../src/providers/IpKitProvider/IpKitProvider.tsx","../src/lib/api/listQuery.ts","../src/lib/api/getCollections.ts","../src/lib/api/getDispute.ts","../src/lib/api/getQuery.ts","../src/lib/api/getDisputes.ts","../src/lib/api/getIpAssetEdges.ts","../src/lib/api/getIpAssets.ts","../src/lib/api/getLicenseTokens.ts","../src/lib/api/getSearch.ts","../src/lib/api/getTransactions.ts","../src/hooks/useCollection.ts","../src/hooks/useCollections.ts","../src/hooks/useDispute.ts","../src/hooks/useDisputes.ts","../src/hooks/useIpAsset.ts","../src/hooks/useIpAssetChildren.ts","../src/hooks/useIpAssetEdges.ts","../src/hooks/useIpAssetLicenses.ts","../src/hooks/useIpAssetParents.ts","../src/hooks/useIpAssets.ts","../src/hooks/useIpAssetsByOwner.ts","../src/hooks/useLicenseTokens.ts","../src/hooks/useSearch.ts","../src/hooks/useTransaction.ts","../src/hooks/useTransactions.ts"],"sourcesContent":["export enum API_URL {\n STAGING = \"https://staging-api.storyprotocol.net/api/v4\",\n PRODUCTION = \"https://api.storyapis.com/api/v4\",\n}\n","import { STORY_AENEID, STORY_MAINNET } from \"@/constants/chains\"\nimport { Address } from \"viem\"\n\nexport type ERC20Token = {\n name: string\n address: Address\n symbol: string\n decimals?: number\n}\n\nexport type ChainConfig = {\n id: number\n name: string\n displayName: string\n rpcUrl: string\n blockExplorerUrl: string\n protocolExplorerUrl: string\n apiVersion: string\n defaultCurrency?: ERC20Token\n}\n\nexport type SupportedChainConfig = typeof STORY_AENEID | typeof STORY_MAINNET\n\nexport enum IPKIT_SUPPORTED_CHAIN {\n AENEID_TESTNET = \"story-aeneid\",\n STORY_MAINNET = \"story\",\n}\n\nexport const WRAPPED_IP: ERC20Token = {\n name: \"Wrapped IP\",\n address: \"0x1514000000000000000000000000000000000000\", // Same for all chains\n symbol: \"WIP\",\n}\n","import { ChainConfig, WRAPPED_IP } from \"@/types/chains\"\n\nexport const STORY_AENEID: ChainConfig = {\n id: 1315,\n name: \"story-aeneid\",\n apiVersion: \"v3\",\n displayName: \"Story Aeneid Testnet\",\n rpcUrl: \"https://aeneid.storyrpc.io/\",\n blockExplorerUrl: \"https://aeneid.storyscan.io\",\n protocolExplorerUrl: \"https://aeneid.explorer.story.foundation\",\n defaultCurrency: WRAPPED_IP,\n}\n\nexport const STORY_MAINNET: ChainConfig = {\n id: 1514,\n name: \"story\",\n apiVersion: \"v3\",\n displayName: \"Story Mainnet\",\n rpcUrl: \"https://mainnet.storyrpc.io\",\n blockExplorerUrl: \"https://storyscan.io\",\n protocolExplorerUrl: \"https://explorer.story.foundation\",\n defaultCurrency: WRAPPED_IP,\n}\n\nexport const CHAINS = {\n [STORY_AENEID.name]: STORY_AENEID,\n [STORY_MAINNET.name]: STORY_MAINNET,\n}\n\nexport const CHAINID_TO_CHAINNAME: { [key: number]: string } = {\n 1315: \"story-aeneid\",\n 1514: \"story\",\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","// settings & const\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\nconst supportsRequestInitExt = () => {\n return (\n typeof process === \"object\" &&\n Number.parseInt(process?.versions?.node?.substring(0, 2)) >= 18 &&\n process.versions.undici\n );\n};\n\n/**\n * Returns a cheap, non-cryptographically-secure random ID\n * Courtesy of @imranbarbhuiya (https://github.com/imranbarbhuiya)\n */\nexport function randomID() {\n return Math.random().toString(36).slice(2, 11);\n}\n\n/**\n * Create an openapi-fetch client.\n * @type {import(\"./index.js\").default}\n */\nexport default function createClient(clientOptions) {\n let {\n baseUrl = \"\",\n Request: CustomRequest = globalThis.Request,\n fetch: baseFetch = globalThis.fetch,\n querySerializer: globalQuerySerializer,\n bodySerializer: globalBodySerializer,\n headers: baseHeaders,\n requestInitExt = undefined,\n ...baseOptions\n } = { ...clientOptions };\n requestInitExt = supportsRequestInitExt() ? requestInitExt : undefined;\n baseUrl = removeTrailingSlash(baseUrl);\n const middlewares = [];\n\n /**\n * Per-request fetch (keeps settings created in createClient()\n * @param {T} url\n * @param {import('./index.js').FetchOptions<T>} fetchOptions\n */\n async function coreFetch(schemaPath, fetchOptions) {\n const {\n baseUrl: localBaseUrl,\n fetch = baseFetch,\n Request = CustomRequest,\n headers,\n params = {},\n parseAs = \"json\",\n querySerializer: requestQuerySerializer,\n bodySerializer = globalBodySerializer ?? defaultBodySerializer,\n body,\n ...init\n } = fetchOptions || {};\n if (localBaseUrl) {\n baseUrl = removeTrailingSlash(localBaseUrl);\n }\n\n let querySerializer =\n typeof globalQuerySerializer === \"function\"\n ? globalQuerySerializer\n : createQuerySerializer(globalQuerySerializer);\n if (requestQuerySerializer) {\n querySerializer =\n typeof requestQuerySerializer === \"function\"\n ? requestQuerySerializer\n : createQuerySerializer({\n ...(typeof globalQuerySerializer === \"object\" ? globalQuerySerializer : {}),\n ...requestQuerySerializer,\n });\n }\n\n const serializedBody = body === undefined ? undefined : bodySerializer(body);\n\n const defaultHeaders =\n // with no body, we should not to set Content-Type\n serializedBody === undefined ||\n // if serialized body is FormData; browser will correctly set Content-Type & boundary expression\n serializedBody instanceof FormData\n ? {}\n : {\n \"Content-Type\": \"application/json\",\n };\n\n const requestInit = {\n redirect: \"follow\",\n ...baseOptions,\n ...init,\n body: serializedBody,\n headers: mergeHeaders(defaultHeaders, baseHeaders, headers, params.header),\n };\n\n let id;\n let options;\n let request = new CustomRequest(createFinalURL(schemaPath, { baseUrl, params, querySerializer }), requestInit);\n let response;\n\n /** Add custom parameters to Request object */\n for (const key in init) {\n if (!(key in request)) {\n request[key] = init[key];\n }\n }\n\n if (middlewares.length) {\n id = randomID();\n\n // middleware (request)\n options = Object.freeze({\n baseUrl,\n fetch,\n parseAs,\n querySerializer,\n bodySerializer,\n });\n for (const m of middlewares) {\n if (m && typeof m === \"object\" && typeof m.onRequest === \"function\") {\n const result = await m.onRequest({\n request,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n if (result instanceof CustomRequest) {\n request = result;\n } else if (result instanceof Response) {\n response = result;\n break;\n } else {\n throw new Error(\"onRequest: must return new Request() or Response() when modifying the request\");\n }\n }\n }\n }\n }\n\n if (!response) {\n // fetch!\n try {\n response = await fetch(request, requestInitExt);\n } catch (error) {\n let errorAfterMiddleware = error;\n // middleware (error)\n // execute in reverse-array order (first priority gets last transform)\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onError === \"function\") {\n const result = await m.onError({\n request,\n error: errorAfterMiddleware,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n // if error is handled by returning a response, skip remaining middleware\n if (result instanceof Response) {\n errorAfterMiddleware = undefined;\n response = result;\n break;\n }\n\n if (result instanceof Error) {\n errorAfterMiddleware = result;\n continue;\n }\n\n throw new Error(\"onError: must return new Response() or instance of Error\");\n }\n }\n }\n }\n\n // rethrow error if not handled by middleware\n if (errorAfterMiddleware) {\n throw errorAfterMiddleware;\n }\n }\n\n // middleware (response)\n // execute in reverse-array order (first priority gets last transform)\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onResponse === \"function\") {\n const result = await m.onResponse({\n request,\n response,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n if (!(result instanceof Response)) {\n throw new Error(\"onResponse: must return new Response() when modifying the response\");\n }\n response = result;\n }\n }\n }\n }\n }\n\n // handle empty content\n if (response.status === 204 || response.headers.get(\"Content-Length\") === \"0\") {\n return response.ok ? { data: undefined, response } : { error: undefined, response };\n }\n\n // parse response (falling back to .text() when necessary)\n if (response.ok) {\n // if \"stream\", skip parsing entirely\n if (parseAs === \"stream\") {\n return { data: response.body, response };\n }\n return { data: await response[parseAs](), response };\n }\n\n // handle errors\n let error = await response.text();\n try {\n error = JSON.parse(error); // attempt to parse as JSON\n } catch {\n // noop\n }\n return { error, response };\n }\n\n return {\n request(method, url, init) {\n return coreFetch(url, { ...init, method: method.toUpperCase() });\n },\n /** Call a GET endpoint */\n GET(url, init) {\n return coreFetch(url, { ...init, method: \"GET\" });\n },\n /** Call a PUT endpoint */\n PUT(url, init) {\n return coreFetch(url, { ...init, method: \"PUT\" });\n },\n /** Call a POST endpoint */\n POST(url, init) {\n return coreFetch(url, { ...init, method: \"POST\" });\n },\n /** Call a DELETE endpoint */\n DELETE(url, init) {\n return coreFetch(url, { ...init, method: \"DELETE\" });\n },\n /** Call a OPTIONS endpoint */\n OPTIONS(url, init) {\n return coreFetch(url, { ...init, method: \"OPTIONS\" });\n },\n /** Call a HEAD endpoint */\n HEAD(url, init) {\n return coreFetch(url, { ...init, method: \"HEAD\" });\n },\n /** Call a PATCH endpoint */\n PATCH(url, init) {\n return coreFetch(url, { ...init, method: \"PATCH\" });\n },\n /** Call a TRACE endpoint */\n TRACE(url, init) {\n return coreFetch(url, { ...init, method: \"TRACE\" });\n },\n /** Register middleware */\n use(...middleware) {\n for (const m of middleware) {\n if (!m) {\n continue;\n }\n if (typeof m !== \"object\" || !(\"onRequest\" in m || \"onResponse\" in m || \"onError\" in m)) {\n throw new Error(\"Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`\");\n }\n middlewares.push(m);\n }\n },\n /** Unregister middleware */\n eject(...middleware) {\n for (const m of middleware) {\n const i = middlewares.indexOf(m);\n if (i !== -1) {\n middlewares.splice(i, 1);\n }\n }\n },\n };\n}\n\nclass PathCallForwarder {\n constructor(client, url) {\n this.client = client;\n this.url = url;\n }\n\n GET(init) {\n return this.client.GET(this.url, init);\n }\n PUT(init) {\n return this.client.PUT(this.url, init);\n }\n POST(init) {\n return this.client.POST(this.url, init);\n }\n DELETE(init) {\n return this.client.DELETE(this.url, init);\n }\n OPTIONS(init) {\n return this.client.OPTIONS(this.url, init);\n }\n HEAD(init) {\n return this.client.HEAD(this.url, init);\n }\n PATCH(init) {\n return this.client.PATCH(this.url, init);\n }\n TRACE(init) {\n return this.client.TRACE(this.url, init);\n }\n}\n\nclass PathClientProxyHandler {\n constructor() {\n this.client = null;\n }\n\n // Assume the property is an URL.\n get(coreClient, url) {\n const forwarder = new PathCallForwarder(coreClient, url);\n this.client[url] = forwarder;\n return forwarder;\n }\n}\n\n/**\n * Wrap openapi-fetch client to support a path based API.\n * @type {import(\"./index.js\").wrapAsPathBasedClient}\n */\nexport function wrapAsPathBasedClient(coreClient) {\n const handler = new PathClientProxyHandler();\n const proxy = new Proxy(coreClient, handler);\n\n // Put the proxy on the prototype chain of the actual client.\n // This means if we do not have a memoized PathCallForwarder,\n // we fall back to the proxy to synthesize it.\n // However, the proxy itself is not on the hot-path (if we fetch the same\n // endpoint multiple times, only the first call will hit the proxy).\n function Client() {}\n Client.prototype = proxy;\n\n const client = new Client();\n\n // Feed the client back to the proxy handler so it can store the generated\n // PathCallForwarder.\n handler.client = client;\n\n return client;\n}\n\n/**\n * Convenience method to an openapi-fetch path based client.\n * Strictly equivalent to `wrapAsPathBasedClient(createClient(...))`.\n * @type {import(\"./index.js\").createPathBasedClient}\n */\nexport function createPathBasedClient(clientOptions) {\n return wrapAsPathBasedClient(createClient(clientOptions));\n}\n\n// utils\n\n/**\n * Serialize primitive param values\n * @type {import(\"./index.js\").serializePrimitiveParam}\n */\nexport function serializePrimitiveParam(name, value, options) {\n if (value === undefined || value === null) {\n return \"\";\n }\n if (typeof value === \"object\") {\n throw new Error(\n \"Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.\",\n );\n }\n return `${name}=${options?.allowReserved === true ? value : encodeURIComponent(value)}`;\n}\n\n/**\n * Serialize object param (shallow only)\n * @type {import(\"./index.js\").serializeObjectParam}\n */\nexport function serializeObjectParam(name, value, options) {\n if (!value || typeof value !== \"object\") {\n return \"\";\n }\n const values = [];\n const joiner =\n {\n simple: \",\",\n label: \".\",\n matrix: \";\",\n }[options.style] || \"&\";\n\n // explode: false\n if (options.style !== \"deepObject\" && options.explode === false) {\n for (const k in value) {\n values.push(k, options.allowReserved === true ? value[k] : encodeURIComponent(value[k]));\n }\n const final = values.join(\",\"); // note: values are always joined by comma in explode: false (but joiner can prefix)\n switch (options.style) {\n case \"form\": {\n return `${name}=${final}`;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n default: {\n return final;\n }\n }\n }\n\n // explode: true\n for (const k in value) {\n const finalName = options.style === \"deepObject\" ? `${name}[${k}]` : k;\n values.push(serializePrimitiveParam(finalName, value[k], options));\n }\n const final = values.join(joiner);\n return options.style === \"label\" || options.style === \"matrix\" ? `${joiner}${final}` : final;\n}\n\n/**\n * Serialize array param (shallow only)\n * @type {import(\"./index.js\").serializeArrayParam}\n */\nexport function serializeArrayParam(name, value, options) {\n if (!Array.isArray(value)) {\n return \"\";\n }\n\n // explode: false\n if (options.explode === false) {\n const joiner = { form: \",\", spaceDelimited: \"%20\", pipeDelimited: \"|\" }[options.style] || \",\"; // note: for arrays, joiners vary wildly based on style + explode behavior\n const final = (options.allowReserved === true ? value : value.map((v) => encodeURIComponent(v))).join(joiner);\n switch (options.style) {\n case \"simple\": {\n return final;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n // case \"spaceDelimited\":\n // case \"pipeDelimited\":\n default: {\n return `${name}=${final}`;\n }\n }\n }\n\n // explode: true\n const joiner = { simple: \",\", label: \".\", matrix: \";\" }[options.style] || \"&\";\n const values = [];\n for (const v of value) {\n if (options.style === \"simple\" || options.style === \"label\") {\n values.push(options.allowReserved === true ? v : encodeURIComponent(v));\n } else {\n values.push(serializePrimitiveParam(name, v, options));\n }\n }\n return options.style === \"label\" || options.style === \"matrix\"\n ? `${joiner}${values.join(joiner)}`\n : values.join(joiner);\n}\n\n/**\n * Serialize query params to string\n * @type {import(\"./index.js\").createQuerySerializer}\n */\nexport function createQuerySerializer(options) {\n return function querySerializer(queryParams) {\n const search = [];\n if (queryParams && typeof queryParams === \"object\") {\n for (const name in queryParams) {\n const value = queryParams[name];\n if (value === undefined || value === null) {\n continue;\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n continue;\n }\n search.push(\n serializeArrayParam(name, value, {\n style: \"form\",\n explode: true,\n ...options?.array,\n allowReserved: options?.allowReserved || false,\n }),\n );\n continue;\n }\n if (typeof value === \"object\") {\n search.push(\n serializeObjectParam(name, value, {\n style: \"deepObject\",\n explode: true,\n ...options?.object,\n allowReserved: options?.allowReserved || false,\n }),\n );\n continue;\n }\n search.push(serializePrimitiveParam(name, value, options));\n }\n }\n return search.join(\"&\");\n };\n}\n\n/**\n * Handle different OpenAPI 3.x serialization styles\n * @type {import(\"./index.js\").defaultPathSerializer}\n * @see https://swagger.io/docs/specification/serialization/#path\n */\nexport function defaultPathSerializer(pathname, pathParams) {\n let nextURL = pathname;\n for (const match of pathname.match(PATH_PARAM_RE) ?? []) {\n let name = match.substring(1, match.length - 1);\n let explode = false;\n let style = \"simple\";\n if (name.endsWith(\"*\")) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n if (name.startsWith(\".\")) {\n style = \"label\";\n name = name.substring(1);\n } else if (name.startsWith(\";\")) {\n style = \"matrix\";\n name = name.substring(1);\n }\n if (!pathParams || pathParams[name] === undefined || pathParams[name] === null) {\n continue;\n }\n const value = pathParams[name];\n if (Array.isArray(value)) {\n nextURL = nextURL.replace(match, serializeArrayParam(name, value, { style, explode }));\n continue;\n }\n if (typeof value === \"object\") {\n nextURL = nextURL.replace(match, serializeObjectParam(name, value, { style, explode }));\n continue;\n }\n if (style === \"matrix\") {\n nextURL = nextURL.replace(match, `;${serializePrimitiveParam(name, value)}`);\n continue;\n }\n nextURL = nextURL.replace(match, style === \"label\" ? `.${encodeURIComponent(value)}` : encodeURIComponent(value));\n }\n return nextURL;\n}\n\n/**\n * Serialize body object to string\n * @type {import(\"./index.js\").defaultBodySerializer}\n */\nexport function defaultBodySerializer(body) {\n if (body instanceof FormData) {\n return body;\n }\n return JSON.stringify(body);\n}\n\n/**\n * Construct URL string from baseUrl and handle path and query params\n * @type {import(\"./index.js\").createFinalURL}\n */\nexport function createFinalURL(pathname, options) {\n let finalURL = `${options.baseUrl}${pathname}`;\n if (options.params?.path) {\n finalURL = defaultPathSerializer(finalURL, options.params.path);\n }\n let search = options.querySerializer(options.params.query ?? {});\n if (search.startsWith(\"?\")) {\n search = search.substring(1);\n }\n if (search) {\n finalURL += `?${search}`;\n }\n return finalURL;\n}\n\n/**\n * Merge headers a and b, with b taking priority\n * @type {import(\"./index.js\").mergeHeaders}\n */\nexport function mergeHeaders(...allHeaders) {\n const finalHeaders = new Headers();\n for (const h of allHeaders) {\n if (!h || typeof h !== \"object\") {\n continue;\n }\n const iterator = h instanceof Headers ? h.entries() : Object.entries(h);\n for (const [k, v] of iterator) {\n if (v === null) {\n finalHeaders.delete(k);\n } else if (Array.isArray(v)) {\n for (const v2 of v) {\n finalHeaders.append(k, v2);\n }\n } else if (v !== undefined) {\n finalHeaders.set(k, v);\n }\n }\n }\n return finalHeaders;\n}\n\n/**\n * Remove trailing slash from url\n * @type {import(\"./index.js\").removeTrailingSlash}\n */\nexport function removeTrailingSlash(url) {\n if (url.endsWith(\"/\")) {\n return url.substring(0, url.length - 1);\n }\n return url;\n}\n","import { API_URL } from \"@/constants/api\"\nimport type { paths } from \"@/types/schema\"\nimport createClient, { Client, type Middleware } from \"openapi-fetch\"\n\nconst middleware: Middleware = {\n async onRequest({ request }) {\n request.headers.set(\"Content-Type\", \"application/json\")\n return request\n },\n}\n\nexport type ApiClient = Client<paths>\n\nexport const createApiClient = (baseUrl: string): Client<paths> => {\n const client = createClient<paths>({ baseUrl })\n client.use(middleware)\n return client\n}\n\n// utillities if someone wants to use the api requests without the IpKitProvider\nexport const stagingClient = createApiClient(API_URL.STAGING)\nexport const prodClient = createApiClient(API_URL.PRODUCTION)\n","import { Address } from \"viem\"\n\nimport { License, PILTerms } from \"./openapi\"\n\nexport enum PIL_FLAVOR {\n NON_COMMERCIAL_SOCIAL_REMIXING = \"Non-Commercial Social Remixing\",\n COMMERCIAL_USE = \"Commercial Use\",\n COMMERCIAL_REMIX = \"Commercial Remix\",\n CUSTOM = \"Custom\",\n OPEN_USE = \"Open Use\",\n // NO_DERIVATIVE = \"No Derivative\",\n}\n\nexport type PilFlavor =\n | PIL_FLAVOR.NON_COMMERCIAL_SOCIAL_REMIXING\n | PIL_FLAVOR.COMMERCIAL_USE\n | PIL_FLAVOR.COMMERCIAL_REMIX\n | PIL_FLAVOR.CUSTOM\n | PIL_FLAVOR.OPEN_USE\n\nexport interface Trait {\n trait_type: string\n value: string | number\n max_value?: number\n}\n\n// TODO: add offchain data\n\nexport interface LicenseOffChainData {\n aiLearningModels?: boolean\n}\n\nexport interface PILTermsWithOffChainData extends PILTerms {\n offChainData: LicenseOffChainData | undefined\n}\n\nexport interface LicenseWithOffChainData extends Omit<License, \"terms\"> {\n terms: PILTermsWithOffChainData\n}\n\n// backward compatibility\nexport interface LicenseTermsWithOffChainData extends LicenseWithOffChainData {}\n\nexport type SocialMedia = {\n platform?: string\n url?: string\n}\n\nexport type Creator = {\n name?: string\n address?: Address\n description?: string\n contributionPercent?: number\n socialMedia?: SocialMedia[]\n}\n\nexport interface IPMetadata {\n title?: string\n description?: string\n ipType?: string\n creators?: Creator[]\n appInfo?: {\n id?: string\n name?: string\n website?: string\n }[]\n relationships?: {\n parentIpId?: Address\n type?: string\n }[]\n robotTerms?: {\n userAgent?: string\n allow?: string\n }\n [key: string]: any // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n","import { API_URL } from \"@/constants/api\"\nimport { CHAINS } from \"@/constants/chains\"\nimport { ApiClient, createApiClient } from \"@/lib/api/apiClient\"\nimport { ChainConfig, IPKIT_SUPPORTED_CHAIN } from \"@/types/chains\"\nimport React, { useMemo } from \"react\"\n\n// export type Mode = \"light\" | \"dark\" | undefined\n// export type Theme = \"default\" | \"story\" | string\n\nexport interface IpKitProviderOptions {\n apiKey: string\n appId?: string\n children: React.ReactNode\n isTestnet?: boolean\n // no ui\n // mode?: Mode\n // theme?: Theme\n //\n // chain?: IPKIT_SUPPORTED_CHAIN\n // defaultCurrency?: ERC20Token\n // rpcUrl?: string\n}\n\nconst IpKitContext = React.createContext<{\n apiBaseUrl: string\n apiClient: ApiClient\n apiKey: string\n appId: string | undefined\n chain: ChainConfig\n // mode: Mode\n // theme: Theme\n // themeClass: string\n} | null>(null)\n\nexport const IpKitProvider = ({\n apiKey,\n appId,\n children,\n isTestnet,\n // mode,\n // theme = \"default\",\n}: IpKitProviderOptions) => {\n //\n // get ChainConfig using chain name, replace rpcUrl if alternative provided\n const chainConfig: ChainConfig = useMemo(\n // () => ({ ...CHAINS[IPKIT_SUPPORTED_CHAIN], ...{ rpcUrl: rpcUrl || CHAINS[chain].rpcUrl } }),\n () => CHAINS[isTestnet ? IPKIT_SUPPORTED_CHAIN.AENEID_TESTNET : IPKIT_SUPPORTED_CHAIN.STORY_MAINNET],\n [isTestnet]\n )\n\n const apiBaseUrl = useMemo(() => (isTestnet ? API_URL.STAGING : API_URL.PRODUCTION), [isTestnet])\n const apiClient = useMemo(() => createApiClient(apiBaseUrl), [apiBaseUrl])\n\n return (\n <IpKitContext.Provider\n value={{\n apiBaseUrl,\n apiClient,\n apiKey: apiKey,\n appId: appId,\n chain: chainConfig,\n // mode: mode,\n // theme: theme,\n // themeClass: `${theme}${mode ? `-${mode}` : \"\"}`,\n }}\n >\n {children}\n </IpKitContext.Provider>\n )\n}\n\nexport const useIpKit = () => {\n const context = React.useContext(IpKitContext)\n if (!context) {\n throw new Error(\"useIpKit must be used within an IpKitProvider\")\n }\n return context\n}\n","import type { paths } from \"@/types/schema\"\nimport { FetchOptions } from \"openapi-fetch\"\nimport { HttpMethod, PathsWithMethod } from \"openapi-typescript-helpers\"\n\nimport { ApiClient } from \"./apiClient\"\n\ntype Paths<M extends HttpMethod> = PathsWithMethod<paths, M>\ntype Params<M extends HttpMethod, P extends Paths<M>> = M extends keyof paths[P] ? FetchOptions<paths[P][M]> : never\n\nexport type ListQueryParams<P extends Paths<\"post\">> = {\n apiClient: ApiClient\n path: P\n apiKey: string\n body?: Params<\"post\", P>[\"body\"]\n additionalHeaders?: Record<string, string>\n}\n\nexport function listQuery<P extends Paths<\"post\">>({\n apiClient,\n path,\n apiKey,\n body,\n additionalHeaders,\n}: ListQueryParams<P>) {\n const requestParams = {\n params: {\n header: {\n \"X-Api-Key\": apiKey,\n ...additionalHeaders,\n },\n },\n } as Params<\"post\", P>\n\n const requestBody = {\n body: body || {},\n } as Params<\"post\", P>[\"body\"]\n\n return apiClient.POST(path, { ...requestParams, ...requestBody })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type CollectionsResponse = paths[\"/collections\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type CollectionsOptions = Partial<paths[\"/collections\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetCollectionsOptions = {\n apiClient: ApiClient\n collectionAddresses?: Address[]\n options?: CollectionsOptions\n apiKey: string\n}\n\nexport function getCollections({ collectionAddresses, apiClient, options, apiKey }: GetCollectionsOptions) {\n return listQuery({\n apiClient,\n path: \"/collections\",\n body: {\n orderBy: \"updatedAt\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(collectionAddresses ? { collectionAddresses } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { getQuery } from \"./getQuery\"\n\nexport type DisputeResponse = paths[\"/disputes/{disputeId}\"][\"get\"][\"responses\"][200][\"content\"][\"application/json\"]\n\nexport type GetDisputeOptions = {\n apiClient: ApiClient\n disputeId: string\n apiKey: string\n}\n\nexport function getDispute({ apiClient, disputeId, apiKey }: GetDisputeOptions) {\n return getQuery({\n apiClient,\n path: \"/disputes/{disputeId}\",\n pathParams: { disputeId },\n apiKey,\n })\n}\n","import type { paths } from \"@/types/schema\"\nimport { FetchOptions } from \"openapi-fetch\"\nimport { HttpMethod, PathsWithMethod } from \"openapi-typescript-helpers\"\n\nimport { ApiClient } from \"./apiClient\"\n\ntype Paths<M extends HttpMethod> = PathsWithMethod<paths, M>\ntype Params<M extends HttpMethod, P extends Paths<M>> = M extends keyof paths[P] ? FetchOptions<paths[P][M]> : never\n\nexport type GetQueryParams<P extends Paths<\"get\">> = {\n apiClient: ApiClient\n path: P\n apiKey: string\n pathParams?: Params<\"get\", P>[\"params\"] extends { path: any } ? Params<\"get\", P>[\"params\"][\"path\"] : never // eslint-disable-line @typescript-eslint/no-explicit-any\n additionalHeaders?: Record<string, string>\n}\n\nexport function getQuery<P extends Paths<\"get\">>({\n apiClient,\n path,\n apiKey,\n pathParams,\n additionalHeaders,\n}: GetQueryParams<P>) {\n const requestParams = {\n params: {\n path: pathParams,\n header: {\n \"X-Api-Key\": apiKey,\n ...additionalHeaders,\n },\n },\n } as Params<\"get\", P>\n\n return apiClient.GET(path, requestParams)\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type DisputesResponse = paths[\"/disputes\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type DisputesOptions = Partial<paths[\"/disputes\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetDisputesOptions = {\n apiClient: ApiClient\n options?: DisputesOptions\n apiKey: string\n initiator?: Address\n targetIpId?: Address\n}\n\nexport function getDisputes({ apiClient, initiator, targetIpId, options, apiKey }: GetDisputesOptions) {\n return listQuery({\n apiClient,\n path: \"/disputes\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(initiator ? { initiator } : {}),\n ...(targetIpId ? { targetIpId } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type IpAssetEdgesResponse = paths[\"/assets/edges\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type IpAssetEdgesOptions = Partial<paths[\"/assets/edges\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetIpAssetEdgesOptions = {\n apiClient: ApiClient\n ipId?: Address\n parentIpId?: Address\n options?: IpAssetEdgesOptions\n apiKey: string\n}\n\nexport function getIpAssetEdges({ apiClient, ipId, parentIpId, options, apiKey }: GetIpAssetEdgesOptions) {\n return listQuery({\n apiClient,\n path: \"/assets/edges\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(ipId ? { childIpId: ipId } : {}),\n ...(parentIpId ? { parentIpId } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type IpAssetsResponse = paths[\"/assets\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type IpAssetsOptions = Partial<paths[\"/assets\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetIpAssetsOptions = {\n apiClient: ApiClient\n ownerAddress?: Address\n tokenContract?: Address\n includeLicenses?: boolean\n moderated?: boolean\n ipIds?: Address[] // ipIds from options added here for convenience\n options?: IpAssetsOptions\n apiKey: string\n}\n\nexport function getIpAssets({\n apiClient,\n ownerAddress,\n tokenContract,\n includeLicenses,\n moderated,\n ipIds,\n options,\n apiKey,\n}: GetIpAssetsOptions) {\n return listQuery({\n apiClient,\n path: \"/assets\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n includeLicenses: includeLicenses ?? false,\n moderated: moderated ?? false,\n ...options,\n where: {\n ...options?.where,\n ...(ipIds ? { ipIds } : {}),\n ...(ownerAddress ? { ownerAddress } : {}),\n ...(tokenContract ? { tokenContract } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type LicenseTokensResponse = paths[\"/licenses/tokens\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type LicenseTokensOptions = Partial<\n paths[\"/licenses/tokens\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]\n>\n\nexport type GetLicenseTokensOptions = {\n apiClient: ApiClient\n ownerAddress?: Address\n licensorIpId?: Address\n options?: LicenseTokensOptions\n apiKey: string\n}\n\nexport function getLicenseTokens({ apiClient, ownerAddress, licensorIpId, options, apiKey }: GetLicenseTokensOptions) {\n return listQuery({\n apiClient,\n path: \"/licenses/tokens\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(ownerAddress?.length ? { ownerAddress } : {}),\n ...(licensorIpId?.length ? { licensorIpId } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type SearchResponse = paths[\"/search\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\n\nexport type SearchOptions = Partial<paths[\"/search\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetSearchOptions = {\n apiClient: ApiClient\n query: string\n mediaType?: \"audio\" | \"video\" | \"image\"\n options?: SearchOptions\n apiKey: string\n}\n\nexport function getSearch({ apiClient, query, mediaType, options, apiKey }: GetSearchOptions) {\n return listQuery({\n apiClient,\n path: \"/search\",\n body: {\n query,\n ...(mediaType ? { mediaType } : {}),\n ...options,\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type TransactionsResponse = paths[\"/transactions\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\n\nexport type TransactionsOptions = Partial<paths[\"/transactions\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetTransactionsOptions = {\n apiClient: ApiClient\n txHashes?: Address[]\n ipIds?: Address[]\n initiators?: Address[]\n eventTypes?: string[]\n options?: TransactionsOptions\n apiKey: string\n}\n\nexport function getTransactions({\n apiClient,\n txHashes,\n ipIds,\n initiators,\n eventTypes,\n options,\n apiKey,\n}: GetTransactionsOptions) {\n return listQuery({\n apiClient,\n path: \"/transactions\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(txHashes ? { txHashes } : {}),\n ...(ipIds ? { ipIds } : {}),\n ...(initiators ? { initiators } : {}),\n ...(eventTypes ? { eventTypes } : {}),\n },\n },\n apiKey,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { Collection } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getCollections } from \"../lib/api/getCollections\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseCollectionOptions = {\n collectionAddress: Address\n queryOptions?: IpQueryOptions\n}\n\nexport function useCollection({\n collectionAddress,\n queryOptions,\n}: UseCollectionOptions): UseQueryResult<Collection | null> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getCollection\", collectionAddress],\n queryFn: async () => {\n const { data, error } = await getCollections({ collectionAddresses: [collectionAddress], apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0] || null\n },\n enabled: !!collectionAddress?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { CollectionsOptions, CollectionsResponse, getCollections } from \"../lib/api/getCollections\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseCollectionsOptions = {\n collectionAddresses?: Address[]\n options?: CollectionsOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useCollections({\n collectionAddresses,\n options,\n queryOptions,\n}: UseCollectionsOptions = {}): UseQueryResult<CollectionsResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getCollections\", collectionAddresses, options],\n queryFn: async () => {\n const { data, error } = await getCollections({ collectionAddresses, options, apiKey, apiClient })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { Dispute, IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\n\nimport { getDispute } from \"../lib/api/getDispute\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseDisputeOptions = {\n disputeId: string\n queryOptions?: IpQueryOptions\n}\n\nexport function useDispute({ disputeId, queryOptions }: UseDisputeOptions): UseQueryResult<Dispute | null> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getDispute\", disputeId],\n queryFn: async () => {\n const { data, error } = await getDispute({ disputeId, apiKey, apiClient })\n if (error) throw error\n return data?.data || null\n },\n enabled: !!disputeId?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { DisputesOptions, DisputesResponse, getDisputes } from \"../lib/api/getDisputes\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseDisputesOptions = {\n options?: DisputesOptions\n queryOptions?: IpQueryOptions\n initiator?: Address\n targetIpId?: Address\n}\n\nexport function useDisputes({\n initiator,\n targetIpId,\n options,\n queryOptions,\n}: UseDisputesOptions = {}): UseQueryResult<DisputesResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getDisputes\", options, initiator, targetIpId],\n queryFn: async () => {\n const { data, error } = await getDisputes({ initiator, targetIpId, options, apiKey, apiClient })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { IPAsset } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetOptions = {\n ipId: Address\n includeLicenses?: boolean\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAsset({ ipId, includeLicenses, queryOptions }: UseIpAssetOptions): UseQueryResult<IPAsset | null> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getIpAsset\", ipId, includeLicenses],\n queryFn: async () => {\n const { data, error } = await getIpAssets({ ipIds: [ipId], includeLicenses, apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0] || null\n },\n enabled: !!ipId?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetEdgesOptions, IpAssetEdgesResponse, getIpAssetEdges } from \"../lib/api/getIpAssetEdges\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetChildrenOptions = {\n ipId?: Address\n options?: IpAssetEdgesOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetChildren({\n ipId,\n options,\n queryOptions,\n}: UseIpAssetChildrenOptions = {}): UseQueryResult<IpAssetEdgesResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getIpAssetEdges\", undefined, ipId, options],\n queryFn: async () => {\n const { data, error } = await getIpAssetEdges({\n parentIpId: ipId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetEdgesOptions, IpAssetEdgesResponse, getIpAssetEdges } from \"../lib/api/getIpAssetEdges\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetEdgesOptions = {\n ipId?: Address\n parentIpId?: Address\n options?: IpAssetEdgesOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetEdges({\n ipId,\n parentIpId,\n options,\n queryOptions,\n}: UseIpAssetEdgesOptions = {}): UseQueryResult<IpAssetEdgesResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getIpAssetEdges\", ipId, parentIpId, options],\n queryFn: async () => {\n const { data, error } = await getIpAssetEdges({\n ipId,\n parentIpId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { License } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetLicensesOptions = {\n ipId: Address\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetLicenses({\n ipId,\n queryOptions,\n}: UseIpAssetLicensesOptions): UseQueryResult<License[] | null> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n // key consistent with useIpAsset, includeLicenses = true\n queryKey: [\"getIpAsset\", ipId, true],\n queryFn: async () => {\n const { data, error } = await getIpAssets({ ipIds: [ipId], includeLicenses: true, apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0].licenses || null\n },\n enabled: !!ipId?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetEdgesOptions, IpAssetEdgesResponse, getIpAssetEdges } from \"../lib/api/getIpAssetEdges\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetParentsOptions = {\n ipId?: Address\n options?: IpAssetEdgesOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetParents({\n ipId,\n options,\n queryOptions,\n}: UseIpAssetParentsOptions = {}): UseQueryResult<IpAssetEdgesResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getIpAssetEdges\", ipId, undefined, options],\n queryFn: async () => {\n const { data, error } = await getIpAssetEdges({\n ipId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetsOptions, IpAssetsResponse, getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetsOptions = {\n ipIds?: Address[]\n tokenContract?: Address\n includeLicenses?: boolean\n moderated?: boolean\n options?: IpAssetsOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssets({\n ipIds,\n tokenContract,\n includeLicenses,\n moderated,\n options,\n queryOptions,\n}: UseIpAssetsOptions = {}): UseQueryResult<IpAssetsResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getIpAssets\", ipIds, tokenContract, includeLicenses, moderated, options],\n queryFn: async () => {\n const { data, error } = await getIpAssets({\n ipIds,\n tokenContract,\n includeLicenses,\n moderated,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetsOptions, IpAssetsResponse, getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetsByOwnerOptions = {\n ownerAddress?: Address\n includeLicenses?: boolean\n moderated?: boolean\n options?: IpAssetsOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetsByOwner({\n ownerAddress,\n includeLicenses,\n moderated,\n options,\n queryOptions,\n}: UseIpAssetsByOwnerOptions = {}): UseQueryResult<IpAssetsResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getIpAssets\", ownerAddress, includeLicenses, moderated, options],\n queryFn: async () => {\n const { data, error } = await getIpAssets({\n ownerAddress,\n includeLicenses,\n moderated,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { LicenseTokensOptions, LicenseTokensResponse, getLicenseTokens } from \"../lib/api/getLicenseTokens\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseLicenseTokensOptions = {\n ownerAddress?: Address\n licensorIpId?: Address\n options?: LicenseTokensOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useLicenseTokens({\n ownerAddress,\n licensorIpId,\n options,\n queryOptions,\n}: UseLicenseTokensOptions): UseQueryResult<LicenseTokensResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getLicenseTokens\", ownerAddress, licensorIpId, options],\n queryFn: async () => {\n const { data, error } = await getLicenseTokens({\n ownerAddress,\n licensorIpId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\n\nimport { SearchResponse, getSearch } from \"../lib/api/getSearch\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseSearchOptions = {\n query: string\n mediaType?: \"audio\" | \"video\" | \"image\"\n queryOptions?: IpQueryOptions\n}\n\nexport function useSearch({ query, mediaType, queryOptions }: UseSearchOptions): UseQueryResult<SearchResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getSearch\", query, mediaType],\n queryFn: async () => {\n const { data, error } = await getSearch({\n query,\n mediaType,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n enabled: !!query?.length,\n ...queryOptions,\n })\n}\n","import { IPTransaction, IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getTransactions } from \"../lib/api/getTransactions\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseTransactionOptions = {\n txHash: Address\n queryOptions?: IpQueryOptions\n}\n\nexport function useTransaction({ txHash, queryOptions }: UseTransactionOptions): UseQueryResult<IPTransaction | null> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getTransactions\", txHash],\n queryFn: async () => {\n const { data, error } = await getTransactions({ txHashes: [txHash], apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0] || null\n },\n enabled: !!txHash?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { TransactionsOptions, TransactionsResponse, getTransactions } from \"../lib/api/getTransactions\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseTransactionsOptions = {\n txHashes?: Address[]\n ipIds?: Address[]\n initiators?: Address[]\n eventTypes?: string[]\n options?: TransactionsOptions\n queryOptions?: IpQueryOptions\n}\n\n// List of event types to filter by. Available event types:\n// - \"IPRegistered\": When an IP asset is registered\n// - \"LicenseTermsAttached\": When license terms are attached to an IP asset\n// - \"DerivativeRegistered\": When a derivative IP asset is registered\n// - \"DisputeRaised\": When a dispute is raised against an IP asset\n// - \"DisputeResolved\": When a dispute is resolved\n// - \"DisputeCancelled\": When a dispute is cancelled\n// - \"DisputeJudgementSet\": When a judgement is set for a dispute\n// - \"RoyaltyPaid\": When royalty payments are made\n\nexport function useTransactions({\n txHashes,\n ipIds,\n initiators,\n eventTypes,\n options,\n queryOptions,\n}: UseTransactionsOptions = {}): UseQueryResult<TransactionsResponse> {\n const { apiKey, apiClient } = useIpKit()\n\n return useQuery({\n queryKey: [\"getTransactions\", txHashes, ipIds, initiators, eventTypes, options],\n queryFn: async () => {\n const { data, error } = await getTransactions({\n txHashes,\n ipIds,\n initiators,\n eventTypes,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n"],"names":["API_URL","IPKIT_SUPPORTED_CHAIN","WRAPPED_IP","name","address","symbol","STORY_AENEID","id","apiVersion","displayName","rpcUrl","blockExplorerUrl","protocolExplorerUrl","defaultCurrency","STORY_MAINNET","CHAINS","_a","CHAINID_TO_CHAINNAME","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","PATH_PARAM_RE","createClient","clientOptions","baseUrl","Request","CustomRequest","globalThis","fetch","baseFetch","querySerializer","globalQuerySerializer","bodySerializer","globalBodySerializer","headers","baseHeaders","requestInitExt","baseOptions","process","Number","parseInt","versions","node","substring","undici","undefined","removeTrailingSlash","middlewares","async","coreFetch","schemaPath","fetchOptions","localBaseUrl","params","parseAs","requestQuerySerializer","defaultBodySerializer","init","createQuerySerializer","serializedBody","defaultHeaders","FormData","requestInit","redirect","mergeHeaders","header","options","response","request","pathname","finalURL","path","pathParams","nextURL","match","explode","style","endsWith","startsWith","Array","isArray","replace","serializeArrayParam","encodeURIComponent","serializePrimitiveParam","serializeObjectParam","defaultPathSerializer","search","query","createFinalURL","key","Math","random","toString","slice","freeze","m","onRequest","Response","Error","error","errorAfterMiddleware","onError","onResponse","status","get","ok","data","text","JSON","parse","method","url","toUpperCase","GET","PUT","POST","DELETE","OPTIONS","HEAD","PATCH","TRACE","use","middleware","eject","indexOf","splice","allowReserved","values","joiner","simple","matrix","k","final","join","finalName","form","spaceDelimited","pipeDelimited","map","queryParams","array","object","stringify","allHeaders","finalHeaders","Headers","h","entries","delete","v2","append","set","PIL_FLAVOR","_b","createApiClient","client","stagingClient","STAGING","prodClient","PRODUCTION","IpKitContext","React","createContext","IpKitProvider","apiKey","appId","children","isTestnet","chainConfig","useMemo","AENEID_TESTNET","apiBaseUrl","apiClient","createElement","Provider","chain","useIpKit","context","useContext","listQuery","additionalHeaders","requestParams","requestBody","getCollections","collectionAddresses","orderBy","orderDirection","where","getDispute","getQuery","disputeId","getDisputes","initiator","targetIpId","getIpAssetEdges","ipId","parentIpId","childIpId","getIpAssets","ownerAddress","tokenContract","includeLicenses","moderated","ipIds","getLicenseTokens","licensorIpId","getSearch","mediaType","getTransactions","txHashes","initiators","eventTypes","useCollection","_this","collectionAddress","queryOptions","useQuery","queryKey","queryFn","_c","enabled","useCollections","useDispute","useDisputes","useIpAsset","useIpAssetChildren","useIpAssetEdges","useIpAssetLicenses","licenses","useIpAssetParents","useIpAssets","useIpAssetsByOwner","useLicenseTokens","useSearch","useTransaction","txHash","useTransactions"],"mappings":"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","x_google_ignoreList":[3,4]}
1
+ {"version":3,"file":"storyprotocol-storykit.esm.js","sources":["../src/constants/api.ts","../src/types/chains.ts","../src/constants/chains.ts","../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.16.4_tslib@2.8.1_typescript@5.4.5/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/openapi-fetch@0.13.5/node_modules/openapi-fetch/dist/index.js","../src/lib/api/apiClient.ts","../src/types/assets.ts","../src/providers/IpKitProvider/IpKitProvider.tsx","../src/lib/api/listQuery.ts","../src/lib/api/getCollections.ts","../src/lib/api/getDispute.ts","../src/lib/api/getQuery.ts","../src/lib/api/getDisputes.ts","../src/lib/api/getIpAssetEdges.ts","../src/lib/api/getIpAssets.ts","../src/lib/api/getLicenseTokens.ts","../src/lib/api/getSearch.ts","../src/lib/api/getTransactions.ts","../src/hooks/useCollection.ts","../src/hooks/useCollections.ts","../src/hooks/useDispute.ts","../src/hooks/useDisputes.ts","../src/hooks/useIpAsset.ts","../src/hooks/useIpAssetChildren.ts","../src/hooks/useIpAssetEdges.ts","../src/hooks/useIpAssetLicenses.ts","../src/hooks/useIpAssetParents.ts","../src/hooks/useIpAssets.ts","../src/hooks/useIpAssetsByOwner.ts","../src/hooks/useLicenseTokens.ts","../src/hooks/useSearch.ts","../src/hooks/useTransaction.ts","../src/hooks/useTransactions.ts"],"sourcesContent":["export enum API_URL {\n STAGING = \"https://staging-api.storyprotocol.net/api/v4\",\n PRODUCTION = \"https://api.storyapis.com/api/v4\",\n}\n","import { STORY_AENEID, STORY_MAINNET } from \"@/constants/chains\"\nimport { Address } from \"viem\"\n\nexport type ERC20Token = {\n name: string\n address: Address\n symbol: string\n decimals?: number\n}\n\nexport type ChainConfig = {\n id: number\n name: string\n displayName: string\n rpcUrl: string\n blockExplorerUrl: string\n protocolExplorerUrl: string\n apiVersion: string\n defaultCurrency?: ERC20Token\n}\n\nexport type SupportedChainConfig = typeof STORY_AENEID | typeof STORY_MAINNET\n\nexport enum IPKIT_SUPPORTED_CHAIN {\n AENEID_TESTNET = \"story-aeneid\",\n STORY_MAINNET = \"story\",\n}\n\nexport const WRAPPED_IP: ERC20Token = {\n name: \"Wrapped IP\",\n address: \"0x1514000000000000000000000000000000000000\", // Same for all chains\n symbol: \"WIP\",\n}\n","import { ChainConfig, WRAPPED_IP } from \"@/types/chains\"\n\nexport const STORY_AENEID: ChainConfig = {\n id: 1315,\n name: \"story-aeneid\",\n apiVersion: \"v3\",\n displayName: \"Story Aeneid Testnet\",\n rpcUrl: \"https://aeneid.storyrpc.io/\",\n blockExplorerUrl: \"https://aeneid.storyscan.io\",\n protocolExplorerUrl: \"https://aeneid.explorer.story.foundation\",\n defaultCurrency: WRAPPED_IP,\n}\n\nexport const STORY_MAINNET: ChainConfig = {\n id: 1514,\n name: \"story\",\n apiVersion: \"v3\",\n displayName: \"Story Mainnet\",\n rpcUrl: \"https://mainnet.storyrpc.io\",\n blockExplorerUrl: \"https://storyscan.io\",\n protocolExplorerUrl: \"https://explorer.story.foundation\",\n defaultCurrency: WRAPPED_IP,\n}\n\nexport const CHAINS = {\n [STORY_AENEID.name]: STORY_AENEID,\n [STORY_MAINNET.name]: STORY_MAINNET,\n}\n\nexport const CHAINID_TO_CHAINNAME: { [key: number]: string } = {\n 1315: \"story-aeneid\",\n 1514: \"story\",\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","// settings & const\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\nconst supportsRequestInitExt = () => {\n return (\n typeof process === \"object\" &&\n Number.parseInt(process?.versions?.node?.substring(0, 2)) >= 18 &&\n process.versions.undici\n );\n};\n\n/**\n * Returns a cheap, non-cryptographically-secure random ID\n * Courtesy of @imranbarbhuiya (https://github.com/imranbarbhuiya)\n */\nexport function randomID() {\n return Math.random().toString(36).slice(2, 11);\n}\n\n/**\n * Create an openapi-fetch client.\n * @type {import(\"./index.js\").default}\n */\nexport default function createClient(clientOptions) {\n let {\n baseUrl = \"\",\n Request: CustomRequest = globalThis.Request,\n fetch: baseFetch = globalThis.fetch,\n querySerializer: globalQuerySerializer,\n bodySerializer: globalBodySerializer,\n headers: baseHeaders,\n requestInitExt = undefined,\n ...baseOptions\n } = { ...clientOptions };\n requestInitExt = supportsRequestInitExt() ? requestInitExt : undefined;\n baseUrl = removeTrailingSlash(baseUrl);\n const middlewares = [];\n\n /**\n * Per-request fetch (keeps settings created in createClient()\n * @param {T} url\n * @param {import('./index.js').FetchOptions<T>} fetchOptions\n */\n async function coreFetch(schemaPath, fetchOptions) {\n const {\n baseUrl: localBaseUrl,\n fetch = baseFetch,\n Request = CustomRequest,\n headers,\n params = {},\n parseAs = \"json\",\n querySerializer: requestQuerySerializer,\n bodySerializer = globalBodySerializer ?? defaultBodySerializer,\n body,\n ...init\n } = fetchOptions || {};\n if (localBaseUrl) {\n baseUrl = removeTrailingSlash(localBaseUrl);\n }\n\n let querySerializer =\n typeof globalQuerySerializer === \"function\"\n ? globalQuerySerializer\n : createQuerySerializer(globalQuerySerializer);\n if (requestQuerySerializer) {\n querySerializer =\n typeof requestQuerySerializer === \"function\"\n ? requestQuerySerializer\n : createQuerySerializer({\n ...(typeof globalQuerySerializer === \"object\" ? globalQuerySerializer : {}),\n ...requestQuerySerializer,\n });\n }\n\n const serializedBody = body === undefined ? undefined : bodySerializer(body);\n\n const defaultHeaders =\n // with no body, we should not to set Content-Type\n serializedBody === undefined ||\n // if serialized body is FormData; browser will correctly set Content-Type & boundary expression\n serializedBody instanceof FormData\n ? {}\n : {\n \"Content-Type\": \"application/json\",\n };\n\n const requestInit = {\n redirect: \"follow\",\n ...baseOptions,\n ...init,\n body: serializedBody,\n headers: mergeHeaders(defaultHeaders, baseHeaders, headers, params.header),\n };\n\n let id;\n let options;\n let request = new CustomRequest(createFinalURL(schemaPath, { baseUrl, params, querySerializer }), requestInit);\n let response;\n\n /** Add custom parameters to Request object */\n for (const key in init) {\n if (!(key in request)) {\n request[key] = init[key];\n }\n }\n\n if (middlewares.length) {\n id = randomID();\n\n // middleware (request)\n options = Object.freeze({\n baseUrl,\n fetch,\n parseAs,\n querySerializer,\n bodySerializer,\n });\n for (const m of middlewares) {\n if (m && typeof m === \"object\" && typeof m.onRequest === \"function\") {\n const result = await m.onRequest({\n request,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n if (result instanceof CustomRequest) {\n request = result;\n } else if (result instanceof Response) {\n response = result;\n break;\n } else {\n throw new Error(\"onRequest: must return new Request() or Response() when modifying the request\");\n }\n }\n }\n }\n }\n\n if (!response) {\n // fetch!\n try {\n response = await fetch(request, requestInitExt);\n } catch (error) {\n let errorAfterMiddleware = error;\n // middleware (error)\n // execute in reverse-array order (first priority gets last transform)\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onError === \"function\") {\n const result = await m.onError({\n request,\n error: errorAfterMiddleware,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n // if error is handled by returning a response, skip remaining middleware\n if (result instanceof Response) {\n errorAfterMiddleware = undefined;\n response = result;\n break;\n }\n\n if (result instanceof Error) {\n errorAfterMiddleware = result;\n continue;\n }\n\n throw new Error(\"onError: must return new Response() or instance of Error\");\n }\n }\n }\n }\n\n // rethrow error if not handled by middleware\n if (errorAfterMiddleware) {\n throw errorAfterMiddleware;\n }\n }\n\n // middleware (response)\n // execute in reverse-array order (first priority gets last transform)\n if (middlewares.length) {\n for (let i = middlewares.length - 1; i >= 0; i--) {\n const m = middlewares[i];\n if (m && typeof m === \"object\" && typeof m.onResponse === \"function\") {\n const result = await m.onResponse({\n request,\n response,\n schemaPath,\n params,\n options,\n id,\n });\n if (result) {\n if (!(result instanceof Response)) {\n throw new Error(\"onResponse: must return new Response() when modifying the response\");\n }\n response = result;\n }\n }\n }\n }\n }\n\n // handle empty content\n if (response.status === 204 || response.headers.get(\"Content-Length\") === \"0\") {\n return response.ok ? { data: undefined, response } : { error: undefined, response };\n }\n\n // parse response (falling back to .text() when necessary)\n if (response.ok) {\n // if \"stream\", skip parsing entirely\n if (parseAs === \"stream\") {\n return { data: response.body, response };\n }\n return { data: await response[parseAs](), response };\n }\n\n // handle errors\n let error = await response.text();\n try {\n error = JSON.parse(error); // attempt to parse as JSON\n } catch {\n // noop\n }\n return { error, response };\n }\n\n return {\n request(method, url, init) {\n return coreFetch(url, { ...init, method: method.toUpperCase() });\n },\n /** Call a GET endpoint */\n GET(url, init) {\n return coreFetch(url, { ...init, method: \"GET\" });\n },\n /** Call a PUT endpoint */\n PUT(url, init) {\n return coreFetch(url, { ...init, method: \"PUT\" });\n },\n /** Call a POST endpoint */\n POST(url, init) {\n return coreFetch(url, { ...init, method: \"POST\" });\n },\n /** Call a DELETE endpoint */\n DELETE(url, init) {\n return coreFetch(url, { ...init, method: \"DELETE\" });\n },\n /** Call a OPTIONS endpoint */\n OPTIONS(url, init) {\n return coreFetch(url, { ...init, method: \"OPTIONS\" });\n },\n /** Call a HEAD endpoint */\n HEAD(url, init) {\n return coreFetch(url, { ...init, method: \"HEAD\" });\n },\n /** Call a PATCH endpoint */\n PATCH(url, init) {\n return coreFetch(url, { ...init, method: \"PATCH\" });\n },\n /** Call a TRACE endpoint */\n TRACE(url, init) {\n return coreFetch(url, { ...init, method: \"TRACE\" });\n },\n /** Register middleware */\n use(...middleware) {\n for (const m of middleware) {\n if (!m) {\n continue;\n }\n if (typeof m !== \"object\" || !(\"onRequest\" in m || \"onResponse\" in m || \"onError\" in m)) {\n throw new Error(\"Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`\");\n }\n middlewares.push(m);\n }\n },\n /** Unregister middleware */\n eject(...middleware) {\n for (const m of middleware) {\n const i = middlewares.indexOf(m);\n if (i !== -1) {\n middlewares.splice(i, 1);\n }\n }\n },\n };\n}\n\nclass PathCallForwarder {\n constructor(client, url) {\n this.client = client;\n this.url = url;\n }\n\n GET(init) {\n return this.client.GET(this.url, init);\n }\n PUT(init) {\n return this.client.PUT(this.url, init);\n }\n POST(init) {\n return this.client.POST(this.url, init);\n }\n DELETE(init) {\n return this.client.DELETE(this.url, init);\n }\n OPTIONS(init) {\n return this.client.OPTIONS(this.url, init);\n }\n HEAD(init) {\n return this.client.HEAD(this.url, init);\n }\n PATCH(init) {\n return this.client.PATCH(this.url, init);\n }\n TRACE(init) {\n return this.client.TRACE(this.url, init);\n }\n}\n\nclass PathClientProxyHandler {\n constructor() {\n this.client = null;\n }\n\n // Assume the property is an URL.\n get(coreClient, url) {\n const forwarder = new PathCallForwarder(coreClient, url);\n this.client[url] = forwarder;\n return forwarder;\n }\n}\n\n/**\n * Wrap openapi-fetch client to support a path based API.\n * @type {import(\"./index.js\").wrapAsPathBasedClient}\n */\nexport function wrapAsPathBasedClient(coreClient) {\n const handler = new PathClientProxyHandler();\n const proxy = new Proxy(coreClient, handler);\n\n // Put the proxy on the prototype chain of the actual client.\n // This means if we do not have a memoized PathCallForwarder,\n // we fall back to the proxy to synthesize it.\n // However, the proxy itself is not on the hot-path (if we fetch the same\n // endpoint multiple times, only the first call will hit the proxy).\n function Client() {}\n Client.prototype = proxy;\n\n const client = new Client();\n\n // Feed the client back to the proxy handler so it can store the generated\n // PathCallForwarder.\n handler.client = client;\n\n return client;\n}\n\n/**\n * Convenience method to an openapi-fetch path based client.\n * Strictly equivalent to `wrapAsPathBasedClient(createClient(...))`.\n * @type {import(\"./index.js\").createPathBasedClient}\n */\nexport function createPathBasedClient(clientOptions) {\n return wrapAsPathBasedClient(createClient(clientOptions));\n}\n\n// utils\n\n/**\n * Serialize primitive param values\n * @type {import(\"./index.js\").serializePrimitiveParam}\n */\nexport function serializePrimitiveParam(name, value, options) {\n if (value === undefined || value === null) {\n return \"\";\n }\n if (typeof value === \"object\") {\n throw new Error(\n \"Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.\",\n );\n }\n return `${name}=${options?.allowReserved === true ? value : encodeURIComponent(value)}`;\n}\n\n/**\n * Serialize object param (shallow only)\n * @type {import(\"./index.js\").serializeObjectParam}\n */\nexport function serializeObjectParam(name, value, options) {\n if (!value || typeof value !== \"object\") {\n return \"\";\n }\n const values = [];\n const joiner =\n {\n simple: \",\",\n label: \".\",\n matrix: \";\",\n }[options.style] || \"&\";\n\n // explode: false\n if (options.style !== \"deepObject\" && options.explode === false) {\n for (const k in value) {\n values.push(k, options.allowReserved === true ? value[k] : encodeURIComponent(value[k]));\n }\n const final = values.join(\",\"); // note: values are always joined by comma in explode: false (but joiner can prefix)\n switch (options.style) {\n case \"form\": {\n return `${name}=${final}`;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n default: {\n return final;\n }\n }\n }\n\n // explode: true\n for (const k in value) {\n const finalName = options.style === \"deepObject\" ? `${name}[${k}]` : k;\n values.push(serializePrimitiveParam(finalName, value[k], options));\n }\n const final = values.join(joiner);\n return options.style === \"label\" || options.style === \"matrix\" ? `${joiner}${final}` : final;\n}\n\n/**\n * Serialize array param (shallow only)\n * @type {import(\"./index.js\").serializeArrayParam}\n */\nexport function serializeArrayParam(name, value, options) {\n if (!Array.isArray(value)) {\n return \"\";\n }\n\n // explode: false\n if (options.explode === false) {\n const joiner = { form: \",\", spaceDelimited: \"%20\", pipeDelimited: \"|\" }[options.style] || \",\"; // note: for arrays, joiners vary wildly based on style + explode behavior\n const final = (options.allowReserved === true ? value : value.map((v) => encodeURIComponent(v))).join(joiner);\n switch (options.style) {\n case \"simple\": {\n return final;\n }\n case \"label\": {\n return `.${final}`;\n }\n case \"matrix\": {\n return `;${name}=${final}`;\n }\n // case \"spaceDelimited\":\n // case \"pipeDelimited\":\n default: {\n return `${name}=${final}`;\n }\n }\n }\n\n // explode: true\n const joiner = { simple: \",\", label: \".\", matrix: \";\" }[options.style] || \"&\";\n const values = [];\n for (const v of value) {\n if (options.style === \"simple\" || options.style === \"label\") {\n values.push(options.allowReserved === true ? v : encodeURIComponent(v));\n } else {\n values.push(serializePrimitiveParam(name, v, options));\n }\n }\n return options.style === \"label\" || options.style === \"matrix\"\n ? `${joiner}${values.join(joiner)}`\n : values.join(joiner);\n}\n\n/**\n * Serialize query params to string\n * @type {import(\"./index.js\").createQuerySerializer}\n */\nexport function createQuerySerializer(options) {\n return function querySerializer(queryParams) {\n const search = [];\n if (queryParams && typeof queryParams === \"object\") {\n for (const name in queryParams) {\n const value = queryParams[name];\n if (value === undefined || value === null) {\n continue;\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n continue;\n }\n search.push(\n serializeArrayParam(name, value, {\n style: \"form\",\n explode: true,\n ...options?.array,\n allowReserved: options?.allowReserved || false,\n }),\n );\n continue;\n }\n if (typeof value === \"object\") {\n search.push(\n serializeObjectParam(name, value, {\n style: \"deepObject\",\n explode: true,\n ...options?.object,\n allowReserved: options?.allowReserved || false,\n }),\n );\n continue;\n }\n search.push(serializePrimitiveParam(name, value, options));\n }\n }\n return search.join(\"&\");\n };\n}\n\n/**\n * Handle different OpenAPI 3.x serialization styles\n * @type {import(\"./index.js\").defaultPathSerializer}\n * @see https://swagger.io/docs/specification/serialization/#path\n */\nexport function defaultPathSerializer(pathname, pathParams) {\n let nextURL = pathname;\n for (const match of pathname.match(PATH_PARAM_RE) ?? []) {\n let name = match.substring(1, match.length - 1);\n let explode = false;\n let style = \"simple\";\n if (name.endsWith(\"*\")) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n if (name.startsWith(\".\")) {\n style = \"label\";\n name = name.substring(1);\n } else if (name.startsWith(\";\")) {\n style = \"matrix\";\n name = name.substring(1);\n }\n if (!pathParams || pathParams[name] === undefined || pathParams[name] === null) {\n continue;\n }\n const value = pathParams[name];\n if (Array.isArray(value)) {\n nextURL = nextURL.replace(match, serializeArrayParam(name, value, { style, explode }));\n continue;\n }\n if (typeof value === \"object\") {\n nextURL = nextURL.replace(match, serializeObjectParam(name, value, { style, explode }));\n continue;\n }\n if (style === \"matrix\") {\n nextURL = nextURL.replace(match, `;${serializePrimitiveParam(name, value)}`);\n continue;\n }\n nextURL = nextURL.replace(match, style === \"label\" ? `.${encodeURIComponent(value)}` : encodeURIComponent(value));\n }\n return nextURL;\n}\n\n/**\n * Serialize body object to string\n * @type {import(\"./index.js\").defaultBodySerializer}\n */\nexport function defaultBodySerializer(body) {\n if (body instanceof FormData) {\n return body;\n }\n return JSON.stringify(body);\n}\n\n/**\n * Construct URL string from baseUrl and handle path and query params\n * @type {import(\"./index.js\").createFinalURL}\n */\nexport function createFinalURL(pathname, options) {\n let finalURL = `${options.baseUrl}${pathname}`;\n if (options.params?.path) {\n finalURL = defaultPathSerializer(finalURL, options.params.path);\n }\n let search = options.querySerializer(options.params.query ?? {});\n if (search.startsWith(\"?\")) {\n search = search.substring(1);\n }\n if (search) {\n finalURL += `?${search}`;\n }\n return finalURL;\n}\n\n/**\n * Merge headers a and b, with b taking priority\n * @type {import(\"./index.js\").mergeHeaders}\n */\nexport function mergeHeaders(...allHeaders) {\n const finalHeaders = new Headers();\n for (const h of allHeaders) {\n if (!h || typeof h !== \"object\") {\n continue;\n }\n const iterator = h instanceof Headers ? h.entries() : Object.entries(h);\n for (const [k, v] of iterator) {\n if (v === null) {\n finalHeaders.delete(k);\n } else if (Array.isArray(v)) {\n for (const v2 of v) {\n finalHeaders.append(k, v2);\n }\n } else if (v !== undefined) {\n finalHeaders.set(k, v);\n }\n }\n }\n return finalHeaders;\n}\n\n/**\n * Remove trailing slash from url\n * @type {import(\"./index.js\").removeTrailingSlash}\n */\nexport function removeTrailingSlash(url) {\n if (url.endsWith(\"/\")) {\n return url.substring(0, url.length - 1);\n }\n return url;\n}\n","import { API_URL } from \"@/constants/api\"\nimport type { paths } from \"@/types/schema\"\nimport createClient, { Client, type Middleware } from \"openapi-fetch\"\n\nconst middleware: Middleware = {\n async onRequest({ request }) {\n request.headers.set(\"Content-Type\", \"application/json\")\n return request\n },\n}\n\nexport type ApiClient = Client<paths>\n\nexport const createApiClient = (baseUrl: string): Client<paths> => {\n const client = createClient<paths>({ baseUrl })\n client.use(middleware)\n return client\n}\n\n// utillities if someone wants to use the api requests without the IpKitProvider\nexport const stagingClient = createApiClient(API_URL.STAGING)\nexport const prodClient = createApiClient(API_URL.PRODUCTION)\n","import { Address } from \"viem\"\n\nimport { License, PILTerms } from \"./openapi\"\n\nexport enum PIL_FLAVOR {\n NON_COMMERCIAL_SOCIAL_REMIXING = \"Non-Commercial Social Remixing\",\n COMMERCIAL_USE = \"Commercial Use\",\n COMMERCIAL_REMIX = \"Commercial Remix\",\n CUSTOM = \"Custom\",\n OPEN_USE = \"Open Use\",\n // NO_DERIVATIVE = \"No Derivative\",\n}\n\nexport type PilFlavor =\n | PIL_FLAVOR.NON_COMMERCIAL_SOCIAL_REMIXING\n | PIL_FLAVOR.COMMERCIAL_USE\n | PIL_FLAVOR.COMMERCIAL_REMIX\n | PIL_FLAVOR.CUSTOM\n | PIL_FLAVOR.OPEN_USE\n\nexport interface Trait {\n trait_type: string\n value: string | number\n max_value?: number\n}\n\n// TODO: add offchain data\n\nexport interface LicenseOffChainData {\n aiLearningModels?: boolean\n}\n\nexport interface PILTermsWithOffChainData extends PILTerms {\n offChainData: LicenseOffChainData | undefined\n}\n\nexport interface LicenseWithOffChainData extends Omit<License, \"terms\"> {\n terms: PILTermsWithOffChainData\n}\n\n// backward compatibility\nexport interface LicenseTermsWithOffChainData extends LicenseWithOffChainData {}\n\nexport type SocialMedia = {\n platform?: string\n url?: string\n}\n\nexport type Creator = {\n name?: string\n address?: Address\n description?: string\n contributionPercent?: number\n socialMedia?: SocialMedia[]\n}\n\nexport interface IPMetadata {\n title?: string\n description?: string\n ipType?: string\n creators?: Creator[]\n appInfo?: {\n id?: string\n name?: string\n website?: string\n }[]\n relationships?: {\n parentIpId?: Address\n type?: string\n }[]\n robotTerms?: {\n userAgent?: string\n allow?: string\n }\n [key: string]: any // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n","import { API_URL } from \"@/constants/api\"\nimport { CHAINS } from \"@/constants/chains\"\nimport { ApiClient, createApiClient } from \"@/lib/api/apiClient\"\nimport { ChainConfig, IPKIT_SUPPORTED_CHAIN } from \"@/types/chains\"\nimport React, { useMemo } from \"react\"\n\n// export type Mode = \"light\" | \"dark\" | undefined\n// export type Theme = \"default\" | \"story\" | string\n\nexport interface IpKitProviderOptions {\n apiKey: string\n appId?: string\n children: React.ReactNode\n isTestnet?: boolean\n // no ui\n // mode?: Mode\n // theme?: Theme\n //\n // chain?: IPKIT_SUPPORTED_CHAIN\n // defaultCurrency?: ERC20Token\n // rpcUrl?: string\n}\n\nconst IpKitContext = React.createContext<{\n apiBaseUrl: string\n apiClient: ApiClient\n apiKey: string\n appId: string | undefined\n chain: ChainConfig\n // mode: Mode\n // theme: Theme\n // themeClass: string\n} | null>(null)\n\nexport const IpKitProvider = ({\n apiKey,\n appId,\n children,\n isTestnet,\n // mode,\n // theme = \"default\",\n}: IpKitProviderOptions) => {\n //\n // get ChainConfig using chain name, replace rpcUrl if alternative provided\n const chainConfig: ChainConfig = useMemo(\n // () => ({ ...CHAINS[IPKIT_SUPPORTED_CHAIN], ...{ rpcUrl: rpcUrl || CHAINS[chain].rpcUrl } }),\n () => CHAINS[isTestnet ? IPKIT_SUPPORTED_CHAIN.AENEID_TESTNET : IPKIT_SUPPORTED_CHAIN.STORY_MAINNET],\n [isTestnet]\n )\n\n const apiBaseUrl = useMemo(() => (isTestnet ? API_URL.STAGING : API_URL.PRODUCTION), [isTestnet])\n const apiClient = useMemo(() => createApiClient(apiBaseUrl), [apiBaseUrl])\n\n return (\n <IpKitContext.Provider\n value={{\n apiBaseUrl,\n apiClient,\n apiKey: apiKey,\n appId: appId,\n chain: chainConfig,\n // mode: mode,\n // theme: theme,\n // themeClass: `${theme}${mode ? `-${mode}` : \"\"}`,\n }}\n >\n {children}\n </IpKitContext.Provider>\n )\n}\n\nexport const useIpKit = () => {\n const context = React.useContext(IpKitContext)\n if (!context) {\n throw new Error(\"useIpKit must be used within an IpKitProvider\")\n }\n return context\n}\n","import type { paths } from \"@/types/schema\"\nimport { FetchOptions } from \"openapi-fetch\"\nimport { HttpMethod, PathsWithMethod } from \"openapi-typescript-helpers\"\n\nimport { ApiClient } from \"./apiClient\"\n\ntype Paths<M extends HttpMethod> = PathsWithMethod<paths, M>\ntype Params<M extends HttpMethod, P extends Paths<M>> = M extends keyof paths[P] ? FetchOptions<paths[P][M]> : never\n\nexport type ListQueryParams<P extends Paths<\"post\">> = {\n apiClient: ApiClient\n path: P\n apiKey: string\n body?: Params<\"post\", P>[\"body\"]\n additionalHeaders?: Record<string, string>\n}\n\nexport function listQuery<P extends Paths<\"post\">>({\n apiClient,\n path,\n apiKey,\n body,\n additionalHeaders,\n}: ListQueryParams<P>) {\n const requestParams = {\n params: {\n header: {\n \"X-Api-Key\": apiKey,\n ...additionalHeaders,\n },\n },\n } as Params<\"post\", P>\n\n const requestBody = {\n body: body || {},\n } as Params<\"post\", P>[\"body\"]\n\n return apiClient.POST(path, { ...requestParams, ...requestBody })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type CollectionsResponse = paths[\"/collections\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type CollectionsOptions = Partial<paths[\"/collections\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetCollectionsOptions = {\n apiClient: ApiClient\n collectionAddresses?: Address[]\n options?: CollectionsOptions\n apiKey: string\n}\n\nexport function getCollections({ collectionAddresses, apiClient, options, apiKey }: GetCollectionsOptions) {\n return listQuery({\n apiClient,\n path: \"/collections\",\n body: {\n orderBy: \"updatedAt\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(collectionAddresses ? { collectionAddresses } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { getQuery } from \"./getQuery\"\n\nexport type DisputeResponse = paths[\"/disputes/{disputeId}\"][\"get\"][\"responses\"][200][\"content\"][\"application/json\"]\n\nexport type GetDisputeOptions = {\n apiClient: ApiClient\n disputeId: string\n apiKey: string\n}\n\nexport function getDispute({ apiClient, disputeId, apiKey }: GetDisputeOptions) {\n return getQuery({\n apiClient,\n path: \"/disputes/{disputeId}\",\n pathParams: { disputeId },\n apiKey,\n })\n}\n","import type { paths } from \"@/types/schema\"\nimport { FetchOptions } from \"openapi-fetch\"\nimport { HttpMethod, PathsWithMethod } from \"openapi-typescript-helpers\"\n\nimport { ApiClient } from \"./apiClient\"\n\ntype Paths<M extends HttpMethod> = PathsWithMethod<paths, M>\ntype Params<M extends HttpMethod, P extends Paths<M>> = M extends keyof paths[P] ? FetchOptions<paths[P][M]> : never\n\nexport type GetQueryParams<P extends Paths<\"get\">> = {\n apiClient: ApiClient\n path: P\n apiKey: string\n pathParams?: Params<\"get\", P>[\"params\"] extends { path: any } ? Params<\"get\", P>[\"params\"][\"path\"] : never // eslint-disable-line @typescript-eslint/no-explicit-any\n additionalHeaders?: Record<string, string>\n}\n\nexport function getQuery<P extends Paths<\"get\">>({\n apiClient,\n path,\n apiKey,\n pathParams,\n additionalHeaders,\n}: GetQueryParams<P>) {\n const requestParams = {\n params: {\n path: pathParams,\n header: {\n \"X-Api-Key\": apiKey,\n ...additionalHeaders,\n },\n },\n } as Params<\"get\", P>\n\n return apiClient.GET(path, requestParams)\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type DisputesResponse = paths[\"/disputes\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type DisputesOptions = Partial<paths[\"/disputes\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetDisputesOptions = {\n apiClient: ApiClient\n options?: DisputesOptions\n apiKey: string\n initiator?: Address\n targetIpId?: Address\n}\n\nexport function getDisputes({ apiClient, initiator, targetIpId, options, apiKey }: GetDisputesOptions) {\n return listQuery({\n apiClient,\n path: \"/disputes\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(initiator ? { initiator } : {}),\n ...(targetIpId ? { targetIpId } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type IpAssetEdgesResponse = paths[\"/assets/edges\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type IpAssetEdgesOptions = Partial<paths[\"/assets/edges\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetIpAssetEdgesOptions = {\n apiClient: ApiClient\n ipId?: Address\n parentIpId?: Address\n options?: IpAssetEdgesOptions\n apiKey: string\n}\n\nexport function getIpAssetEdges({ apiClient, ipId, parentIpId, options, apiKey }: GetIpAssetEdgesOptions) {\n return listQuery({\n apiClient,\n path: \"/assets/edges\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(ipId ? { childIpId: ipId } : {}),\n ...(parentIpId ? { parentIpId } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type IpAssetsResponse = paths[\"/assets\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type IpAssetsOptions = Partial<paths[\"/assets\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetIpAssetsOptions = {\n apiClient: ApiClient\n ownerAddress?: Address\n tokenContract?: Address\n includeLicenses?: boolean\n moderated?: boolean\n ipIds?: Address[] // ipIds from options added here for convenience\n options?: IpAssetsOptions\n apiKey: string\n}\n\nexport function getIpAssets({\n apiClient,\n ownerAddress,\n tokenContract,\n includeLicenses,\n moderated,\n ipIds,\n options,\n apiKey,\n}: GetIpAssetsOptions) {\n return listQuery({\n apiClient,\n path: \"/assets\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n includeLicenses: includeLicenses ?? false,\n moderated: moderated ?? false,\n ...options,\n where: {\n ...options?.where,\n ...(ipIds ? { ipIds } : {}),\n ...(ownerAddress ? { ownerAddress } : {}),\n ...(tokenContract ? { tokenContract } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type LicenseTokensResponse = paths[\"/licenses/tokens\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\nexport type LicenseTokensOptions = Partial<\n paths[\"/licenses/tokens\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]\n>\n\nexport type GetLicenseTokensOptions = {\n apiClient: ApiClient\n ownerAddress?: Address\n licensorIpId?: Address\n options?: LicenseTokensOptions\n apiKey: string\n}\n\nexport function getLicenseTokens({ apiClient, ownerAddress, licensorIpId, options, apiKey }: GetLicenseTokensOptions) {\n return listQuery({\n apiClient,\n path: \"/licenses/tokens\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(ownerAddress?.length ? { ownerAddress } : {}),\n ...(licensorIpId?.length ? { licensorIpId } : {}),\n },\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type SearchResponse = paths[\"/search\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\n\nexport type SearchOptions = Partial<paths[\"/search\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetSearchOptions = {\n apiClient: ApiClient\n query: string\n mediaType?: \"audio\" | \"video\" | \"image\"\n options?: SearchOptions\n apiKey: string\n}\n\nexport function getSearch({ apiClient, query, mediaType, options, apiKey }: GetSearchOptions) {\n return listQuery({\n apiClient,\n path: \"/search\",\n body: {\n query,\n ...(mediaType ? { mediaType } : {}),\n ...options,\n },\n apiKey,\n })\n}\n","import { paths } from \"@/types/schema\"\nimport { Address } from \"viem\"\n\nimport { ApiClient } from \"./apiClient\"\nimport { listQuery } from \"./listQuery\"\n\nexport type TransactionsResponse = paths[\"/transactions\"][\"post\"][\"responses\"][200][\"content\"][\"application/json\"]\n\nexport type TransactionsOptions = Partial<paths[\"/transactions\"][\"post\"][\"requestBody\"][\"content\"][\"application/json\"]>\n\nexport type GetTransactionsOptions = {\n apiClient: ApiClient\n txHashes?: Address[]\n ipIds?: Address[]\n initiators?: Address[]\n eventTypes?: string[]\n options?: TransactionsOptions\n apiKey: string\n}\n\nexport function getTransactions({\n apiClient,\n txHashes,\n ipIds,\n initiators,\n eventTypes,\n options,\n apiKey,\n}: GetTransactionsOptions) {\n return listQuery({\n apiClient,\n path: \"/transactions\",\n body: {\n orderBy: \"blockNumber\",\n orderDirection: \"desc\",\n ...options,\n where: {\n ...options?.where,\n ...(txHashes ? { txHashes } : {}),\n ...(ipIds ? { ipIds } : {}),\n ...(initiators ? { initiators } : {}),\n ...(eventTypes ? { eventTypes } : {}),\n },\n },\n apiKey,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { Collection } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getCollections } from \"../lib/api/getCollections\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseCollectionOptions = {\n collectionAddress: Address\n queryOptions?: IpQueryOptions\n}\n\nexport function useCollection({\n collectionAddress,\n queryOptions,\n}: UseCollectionOptions): UseQueryResult<Collection | null> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getCollection\", collectionAddress],\n queryFn: async () => {\n const { data, error } = await getCollections({ collectionAddresses: [collectionAddress], apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0] || null\n },\n enabled: !!collectionAddress?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { CollectionsOptions, CollectionsResponse, getCollections } from \"../lib/api/getCollections\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseCollectionsOptions = {\n collectionAddresses?: Address[]\n options?: CollectionsOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useCollections({\n collectionAddresses,\n options,\n queryOptions,\n}: UseCollectionsOptions = {}): UseQueryResult<CollectionsResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getCollections\", collectionAddresses, options],\n queryFn: async () => {\n const { data, error } = await getCollections({ collectionAddresses, options, apiKey, apiClient })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { Dispute, IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\n\nimport { getDispute } from \"../lib/api/getDispute\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseDisputeOptions = {\n disputeId: string\n queryOptions?: IpQueryOptions\n}\n\nexport function useDispute({ disputeId, queryOptions }: UseDisputeOptions): UseQueryResult<Dispute | null> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getDispute\", disputeId],\n queryFn: async () => {\n const { data, error } = await getDispute({ disputeId, apiKey, apiClient })\n if (error) throw error\n return data?.data || null\n },\n enabled: !!disputeId?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { DisputesOptions, DisputesResponse, getDisputes } from \"../lib/api/getDisputes\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseDisputesOptions = {\n options?: DisputesOptions\n queryOptions?: IpQueryOptions\n initiator?: Address\n targetIpId?: Address\n}\n\nexport function useDisputes({\n initiator,\n targetIpId,\n options,\n queryOptions,\n}: UseDisputesOptions = {}): UseQueryResult<DisputesResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getDisputes\", options, initiator, targetIpId],\n queryFn: async () => {\n const { data, error } = await getDisputes({ initiator, targetIpId, options, apiKey, apiClient })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { IPAsset } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetOptions = {\n ipId: Address\n includeLicenses?: boolean\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAsset({ ipId, includeLicenses, queryOptions }: UseIpAssetOptions): UseQueryResult<IPAsset | null> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getIpAsset\", ipId, includeLicenses],\n queryFn: async () => {\n const { data, error } = await getIpAssets({ ipIds: [ipId], includeLicenses, apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0] || null\n },\n enabled: !!ipId?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetEdgesOptions, IpAssetEdgesResponse, getIpAssetEdges } from \"../lib/api/getIpAssetEdges\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetChildrenOptions = {\n ipId?: Address\n options?: IpAssetEdgesOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetChildren({\n ipId,\n options,\n queryOptions,\n}: UseIpAssetChildrenOptions = {}): UseQueryResult<IpAssetEdgesResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getIpAssetEdges\", undefined, ipId, options],\n queryFn: async () => {\n const { data, error } = await getIpAssetEdges({\n parentIpId: ipId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetEdgesOptions, IpAssetEdgesResponse, getIpAssetEdges } from \"../lib/api/getIpAssetEdges\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetEdgesOptions = {\n ipId?: Address\n parentIpId?: Address\n options?: IpAssetEdgesOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetEdges({\n ipId,\n parentIpId,\n options,\n queryOptions,\n}: UseIpAssetEdgesOptions = {}): UseQueryResult<IpAssetEdgesResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getIpAssetEdges\", ipId, parentIpId, options],\n queryFn: async () => {\n const { data, error } = await getIpAssetEdges({\n ipId,\n parentIpId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { License } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetLicensesOptions = {\n ipId: Address\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetLicenses({\n ipId,\n queryOptions,\n}: UseIpAssetLicensesOptions): UseQueryResult<License[] | null> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n // key consistent with useIpAsset, includeLicenses = true\n queryKey: [chain.id, \"getIpAsset\", ipId, true],\n queryFn: async () => {\n const { data, error } = await getIpAssets({ ipIds: [ipId], includeLicenses: true, apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0].licenses || null\n },\n enabled: !!ipId?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetEdgesOptions, IpAssetEdgesResponse, getIpAssetEdges } from \"../lib/api/getIpAssetEdges\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetParentsOptions = {\n ipId?: Address\n options?: IpAssetEdgesOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetParents({\n ipId,\n options,\n queryOptions,\n}: UseIpAssetParentsOptions = {}): UseQueryResult<IpAssetEdgesResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getIpAssetEdges\", ipId, undefined, options],\n queryFn: async () => {\n const { data, error } = await getIpAssetEdges({\n ipId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetsOptions, IpAssetsResponse, getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetsOptions = {\n ipIds?: Address[]\n tokenContract?: Address\n includeLicenses?: boolean\n moderated?: boolean\n options?: IpAssetsOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssets({\n ipIds,\n tokenContract,\n includeLicenses,\n moderated,\n options,\n queryOptions,\n}: UseIpAssetsOptions = {}): UseQueryResult<IpAssetsResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getIpAssets\", ipIds, tokenContract, includeLicenses, moderated, options],\n queryFn: async () => {\n const { data, error } = await getIpAssets({\n ipIds,\n tokenContract,\n includeLicenses,\n moderated,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { IpAssetsOptions, IpAssetsResponse, getIpAssets } from \"../lib/api/getIpAssets\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseIpAssetsByOwnerOptions = {\n ownerAddress?: Address\n includeLicenses?: boolean\n moderated?: boolean\n options?: IpAssetsOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useIpAssetsByOwner({\n ownerAddress,\n includeLicenses,\n moderated,\n options,\n queryOptions,\n}: UseIpAssetsByOwnerOptions = {}): UseQueryResult<IpAssetsResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getIpAssets\", ownerAddress, includeLicenses, moderated, options],\n queryFn: async () => {\n const { data, error } = await getIpAssets({\n ownerAddress,\n includeLicenses,\n moderated,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { LicenseTokensOptions, LicenseTokensResponse, getLicenseTokens } from \"../lib/api/getLicenseTokens\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseLicenseTokensOptions = {\n ownerAddress?: Address\n licensorIpId?: Address\n options?: LicenseTokensOptions\n queryOptions?: IpQueryOptions\n}\n\nexport function useLicenseTokens({\n ownerAddress,\n licensorIpId,\n options,\n queryOptions,\n}: UseLicenseTokensOptions): UseQueryResult<LicenseTokensResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getLicenseTokens\", ownerAddress, licensorIpId, options],\n queryFn: async () => {\n const { data, error } = await getLicenseTokens({\n ownerAddress,\n licensorIpId,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\n\nimport { SearchResponse, getSearch } from \"../lib/api/getSearch\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseSearchOptions = {\n query: string\n mediaType?: \"audio\" | \"video\" | \"image\"\n queryOptions?: IpQueryOptions\n}\n\nexport function useSearch({ query, mediaType, queryOptions }: UseSearchOptions): UseQueryResult<SearchResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getSearch\", query, mediaType],\n queryFn: async () => {\n const { data, error } = await getSearch({\n query,\n mediaType,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n enabled: !!query?.length,\n ...queryOptions,\n })\n}\n","import { IPTransaction, IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { getTransactions } from \"../lib/api/getTransactions\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseTransactionOptions = {\n txHash: Address\n queryOptions?: IpQueryOptions\n}\n\nexport function useTransaction({ txHash, queryOptions }: UseTransactionOptions): UseQueryResult<IPTransaction | null> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getTransactions\", txHash],\n queryFn: async () => {\n const { data, error } = await getTransactions({ txHashes: [txHash], apiKey, apiClient })\n if (error) throw error\n return data?.data?.[0] || null\n },\n enabled: !!txHash?.length,\n ...queryOptions,\n })\n}\n","import { IpQueryOptions } from \"@/types/openapi\"\nimport { UseQueryResult, useQuery } from \"@tanstack/react-query\"\nimport { Address } from \"viem\"\n\nimport { TransactionsOptions, TransactionsResponse, getTransactions } from \"../lib/api/getTransactions\"\nimport { useIpKit } from \"../providers/IpKitProvider\"\n\nexport type UseTransactionsOptions = {\n txHashes?: Address[]\n ipIds?: Address[]\n initiators?: Address[]\n eventTypes?: string[]\n options?: TransactionsOptions\n queryOptions?: IpQueryOptions\n}\n\n// List of event types to filter by. Available event types:\n// - \"IPRegistered\": When an IP asset is registered\n// - \"LicenseTermsAttached\": When license terms are attached to an IP asset\n// - \"DerivativeRegistered\": When a derivative IP asset is registered\n// - \"DisputeRaised\": When a dispute is raised against an IP asset\n// - \"DisputeResolved\": When a dispute is resolved\n// - \"DisputeCancelled\": When a dispute is cancelled\n// - \"DisputeJudgementSet\": When a judgement is set for a dispute\n// - \"RoyaltyPaid\": When royalty payments are made\n\nexport function useTransactions({\n txHashes,\n ipIds,\n initiators,\n eventTypes,\n options,\n queryOptions,\n}: UseTransactionsOptions = {}): UseQueryResult<TransactionsResponse> {\n const { apiKey, apiClient, chain } = useIpKit()\n\n return useQuery({\n queryKey: [chain.id, \"getTransactions\", txHashes, ipIds, initiators, eventTypes, options],\n queryFn: async () => {\n const { data, error } = await getTransactions({\n txHashes,\n ipIds,\n initiators,\n eventTypes,\n options,\n apiKey,\n apiClient,\n })\n if (error) throw error\n return data\n },\n ...queryOptions,\n })\n}\n"],"names":["API_URL","IPKIT_SUPPORTED_CHAIN","WRAPPED_IP","name","address","symbol","STORY_AENEID","id","apiVersion","displayName","rpcUrl","blockExplorerUrl","protocolExplorerUrl","defaultCurrency","STORY_MAINNET","CHAINS","_a","CHAINID_TO_CHAINNAME","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","PATH_PARAM_RE","createClient","clientOptions","baseUrl","Request","CustomRequest","globalThis","fetch","baseFetch","querySerializer","globalQuerySerializer","bodySerializer","globalBodySerializer","headers","baseHeaders","requestInitExt","baseOptions","process","Number","parseInt","versions","node","substring","undici","undefined","removeTrailingSlash","middlewares","async","coreFetch","schemaPath","fetchOptions","localBaseUrl","params","parseAs","requestQuerySerializer","defaultBodySerializer","init","createQuerySerializer","serializedBody","defaultHeaders","FormData","requestInit","redirect","mergeHeaders","header","options","response","request","pathname","finalURL","path","pathParams","nextURL","match","explode","style","endsWith","startsWith","Array","isArray","replace","serializeArrayParam","encodeURIComponent","serializePrimitiveParam","serializeObjectParam","defaultPathSerializer","search","query","createFinalURL","key","Math","random","toString","slice","freeze","m","onRequest","Response","Error","error","errorAfterMiddleware","onError","onResponse","status","get","ok","data","text","JSON","parse","method","url","toUpperCase","GET","PUT","POST","DELETE","OPTIONS","HEAD","PATCH","TRACE","use","middleware","eject","indexOf","splice","allowReserved","values","joiner","simple","matrix","k","final","join","finalName","form","spaceDelimited","pipeDelimited","map","queryParams","array","object","stringify","allHeaders","finalHeaders","Headers","h","entries","delete","v2","append","set","PIL_FLAVOR","_b","createApiClient","client","stagingClient","STAGING","prodClient","PRODUCTION","IpKitContext","React","createContext","IpKitProvider","apiKey","appId","children","isTestnet","chainConfig","useMemo","AENEID_TESTNET","apiBaseUrl","apiClient","createElement","Provider","chain","useIpKit","context","useContext","listQuery","additionalHeaders","requestParams","requestBody","getCollections","collectionAddresses","orderBy","orderDirection","where","getDispute","getQuery","disputeId","getDisputes","initiator","targetIpId","getIpAssetEdges","ipId","parentIpId","childIpId","getIpAssets","ownerAddress","tokenContract","includeLicenses","moderated","ipIds","getLicenseTokens","licensorIpId","getSearch","mediaType","getTransactions","txHashes","initiators","eventTypes","useCollection","_this","collectionAddress","queryOptions","useQuery","queryKey","queryFn","_c","enabled","useCollections","useDispute","useDisputes","useIpAsset","useIpAssetChildren","useIpAssetEdges","useIpAssetLicenses","licenses","useIpAssetParents","useIpAssets","useIpAssetsByOwner","useLicenseTokens","useSearch","useTransaction","txHash","useTransactions"],"mappings":"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","x_google_ignoreList":[3,4]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@story-protocol/ipkit",
3
3
  "author": "storyprotocol engineering <eng@storyprotocol.xyz>",
4
- "version": "0.4.1",
4
+ "version": "0.4.2",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {