@medialane/sdk 0.180.0 → 0.182.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +2 -4
  2. package/dist/{chunk-WYKCGQPN.js → chunk-3ME5YKTW.js} +2 -3
  3. package/dist/chunk-3ME5YKTW.js.map +1 -0
  4. package/dist/{chunk-VJVBWHAD.cjs → chunk-7EYJC5CB.cjs} +2 -3
  5. package/dist/chunk-7EYJC5CB.cjs.map +1 -0
  6. package/dist/{chunk-PNUHSQPU.cjs → chunk-F5USCCM4.cjs} +37 -126
  7. package/dist/chunk-F5USCCM4.cjs.map +1 -0
  8. package/dist/{chunk-H263CTVH.js → chunk-JZXIZGHW.js} +34 -119
  9. package/dist/chunk-JZXIZGHW.js.map +1 -0
  10. package/dist/{errors-DThsFcc1.d.cts → errors-C3dgi8bK.d.cts} +35 -26
  11. package/dist/{errors-CTVls5-y.d.ts → errors-kFtjB-a3.d.ts} +35 -26
  12. package/dist/evm/index.cjs +3 -3
  13. package/dist/evm/index.d.cts +1 -1
  14. package/dist/evm/index.d.ts +1 -1
  15. package/dist/evm/index.js +1 -1
  16. package/dist/index.cjs +83 -104
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +7 -27
  19. package/dist/index.d.ts +7 -27
  20. package/dist/index.js +9 -14
  21. package/dist/index.js.map +1 -1
  22. package/dist/solana/index.cjs +2 -2
  23. package/dist/solana/index.d.cts +1 -1
  24. package/dist/solana/index.d.ts +1 -1
  25. package/dist/solana/index.js +1 -1
  26. package/dist/starknet/index.cjs +137 -290
  27. package/dist/starknet/index.cjs.map +1 -1
  28. package/dist/starknet/index.d.cts +15 -120
  29. package/dist/starknet/index.d.ts +15 -120
  30. package/dist/starknet/index.js +62 -214
  31. package/dist/starknet/index.js.map +1 -1
  32. package/dist/stellar/index.cjs +2 -2
  33. package/dist/stellar/index.d.cts +1 -1
  34. package/dist/stellar/index.d.ts +1 -1
  35. package/dist/stellar/index.js +1 -1
  36. package/dist/{types-BTNjkUst.d.cts → types-DC4jNPAF.d.cts} +0 -4
  37. package/dist/{types-BTNjkUst.d.ts → types-DC4jNPAF.d.ts} +0 -4
  38. package/package.json +1 -1
  39. package/dist/chunk-H263CTVH.js.map +0 -1
  40. package/dist/chunk-PNUHSQPU.cjs.map +0 -1
  41. package/dist/chunk-VJVBWHAD.cjs.map +0 -1
  42. package/dist/chunk-WYKCGQPN.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { CHAINS, DEFAULT_CHAIN, getCoordinates, getStarknetCoordinates } from './chunk-WYKCGQPN.js';
1
+ import { CHAINS, DEFAULT_CHAIN, getCoordinates, getStarknetCoordinates } from './chunk-3ME5YKTW.js';
2
2
  import { z } from 'zod';
3
3
  import { keccak_256 } from '@noble/hashes/sha3.js';
4
4
  import { base58, base32 } from '@scure/base';
@@ -39,7 +39,6 @@ function resolveAppFeeConfig(env = {}) {
39
39
  }
40
40
  var MedialaneConfigSchema = z.object({
41
41
  chain: z.enum(CHAINS).default(DEFAULT_CHAIN),
42
- rpcUrl: z.string().url().optional(),
43
42
  backendUrl: z.string().url().optional(),
44
43
  apiKey: z.string().optional(),
45
44
  marketplace721Contract: z.string().optional(),
@@ -63,7 +62,6 @@ function resolveConfig(raw) {
63
62
  const collection721Contract = parsed.collection721Contract ?? parsed.collectionContract ?? sn.collection721;
64
63
  return {
65
64
  chain: parsed.chain,
66
- rpcUrl: parsed.rpcUrl ?? coords.rpcUrl,
67
65
  backendUrl: parsed.backendUrl,
68
66
  apiKey: parsed.apiKey,
69
67
  marketplace721Contract,
@@ -285,12 +283,6 @@ var ApiClient = class {
285
283
  bearer(siwsToken) {
286
284
  return siwsToken ? { Authorization: `Bearer ${siwsToken}` } : {};
287
285
  }
288
- asSubject(siwsToken) {
289
- return siwsToken ? this.bearer(siwsToken) : void 0;
290
- }
291
- withFreshSignature(token) {
292
- return { ...this.bearer(token), "x-fresh-signature": token };
293
- }
294
286
  getOrders(query = {}) {
295
287
  const params = new URLSearchParams();
296
288
  if (query.status) params.set("status", query.status);
@@ -525,96 +517,84 @@ var ApiClient = class {
525
517
  body: formData
526
518
  });
527
519
  }
528
- getMe(siwsToken) {
520
+ getMe() {
529
521
  return this.request("/v1/portal/me", {
530
- method: "GET",
531
- headers: this.asSubject(siwsToken)
522
+ method: "GET"
532
523
  });
533
524
  }
534
- getApiKeys(siwsToken) {
525
+ getApiKeys() {
535
526
  return this.request("/v1/portal/keys", {
536
- method: "GET",
537
- headers: this.asSubject(siwsToken)
527
+ method: "GET"
538
528
  });
539
529
  }
540
- /** `freshSignature`: a wallet sign-in token from the last few minutes, sent as `x-fresh-signature`. */
541
- createApiKey(input, freshSignature) {
530
+ /** `confirmation`: the account's wallet signature over `apiKeyConfirmationTypedData` for this change. */
531
+ createApiKey(input, confirmation) {
542
532
  return this.request("/v1/portal/keys", {
543
533
  method: "POST",
544
- body: JSON.stringify(input ?? {}),
545
- headers: this.withFreshSignature(freshSignature)
534
+ body: JSON.stringify({ ...input ?? {}, confirmation })
546
535
  });
547
536
  }
548
- /** `freshSignature`: a wallet sign-in token from the last few minutes, sent as `x-fresh-signature`. */
549
- deleteApiKey(id, freshSignature) {
537
+ /** `confirmation`: the account's wallet signature over `apiKeyConfirmationTypedData` for this change. */
538
+ deleteApiKey(id, confirmation) {
550
539
  return this.request(`/v1/portal/keys/${id}`, {
551
540
  method: "DELETE",
552
- headers: this.withFreshSignature(freshSignature)
541
+ body: JSON.stringify({ confirmation })
553
542
  });
554
543
  }
555
- getCreditHistory(siwsToken) {
544
+ getCreditHistory() {
556
545
  return this.request("/v1/portal/credits/history", {
557
- method: "GET",
558
- headers: this.asSubject(siwsToken)
546
+ method: "GET"
559
547
  });
560
548
  }
561
- getSpend(siwsToken) {
549
+ getSpend() {
562
550
  return this.request("/v1/portal/credits/spend", {
563
- method: "GET",
564
- headers: this.asSubject(siwsToken)
551
+ method: "GET"
565
552
  });
566
553
  }
567
- checkDeposit(txHash, siwsToken) {
554
+ checkDeposit(txHash) {
568
555
  return this.request("/v1/portal/credits/check", {
569
556
  method: "POST",
570
- body: JSON.stringify({ txHash }),
571
- headers: this.asSubject(siwsToken)
557
+ body: JSON.stringify({ txHash })
572
558
  });
573
559
  }
574
- getFundingMethods(siwsToken) {
560
+ getFundingMethods() {
575
561
  return this.request("/v1/portal/funding/methods", {
576
- method: "GET",
577
- headers: this.asSubject(siwsToken)
562
+ method: "GET"
578
563
  });
579
564
  }
580
- createFunding(input, siwsToken) {
565
+ createFunding(input) {
581
566
  return this.request("/v1/portal/funding", {
582
567
  method: "POST",
583
- body: JSON.stringify({ method: input.method, params: input.params }),
584
- headers: this.asSubject(siwsToken)
568
+ body: JSON.stringify({ method: input.method, params: input.params })
585
569
  });
586
570
  }
587
- getFunding(id, siwsToken) {
571
+ getFunding(id) {
588
572
  return this.request(`/v1/portal/funding/${encodeURIComponent(id)}`, {
589
- method: "GET",
590
- headers: this.asSubject(siwsToken)
573
+ method: "GET"
591
574
  });
592
575
  }
593
- getFundingChallenge(id, payer, siwsToken) {
576
+ getFundingChallenge(id, payer) {
594
577
  return this.request(`/v1/portal/funding/${encodeURIComponent(id)}/challenge`, {
595
578
  method: "POST",
596
- body: JSON.stringify({ payer }),
597
- headers: this.asSubject(siwsToken)
579
+ body: JSON.stringify({ payer })
598
580
  });
599
581
  }
600
- authorizeFunding(id, input, siwsToken) {
582
+ authorizeFunding(id, input) {
601
583
  return this.request(
602
584
  `/v1/portal/funding/${encodeURIComponent(id)}/authorize`,
603
- { method: "POST", body: JSON.stringify({ payer: input.payer, signature: input.signature }), headers: this.asSubject(siwsToken) }
585
+ { method: "POST", body: JSON.stringify({ payer: input.payer, signature: input.signature }) }
604
586
  );
605
587
  }
606
- submitFunding(id, txHash, siwsToken) {
588
+ submitFunding(id, txHash) {
607
589
  return this.request(`/v1/portal/funding/${encodeURIComponent(id)}/submit`, {
608
590
  method: "POST",
609
- body: JSON.stringify({ txHash }),
610
- headers: this.asSubject(siwsToken)
591
+ body: JSON.stringify({ txHash })
611
592
  });
612
593
  }
613
- cancelFunding(id, siwsToken) {
594
+ cancelFunding(id) {
614
595
  return this.request(`/v1/portal/funding/${encodeURIComponent(id)}/cancel`, {
615
596
  method: "POST",
616
- body: JSON.stringify({}),
617
- headers: this.asSubject(siwsToken)
597
+ body: JSON.stringify({})
618
598
  });
619
599
  }
620
600
  async claimCollection(contractAddress, walletAddress, siwsToken) {
@@ -1818,71 +1798,6 @@ function encodeU256(n) {
1818
1798
  ];
1819
1799
  }
1820
1800
 
1821
- // src/utils/rpc.ts
1822
- var TRANSIENT_BODY_RE = /"code"\s*:\s*-32001|"code"\s*:\s*-32603|unable to complete|rate.?limit|too many|throttl|exceed.*quota|temporarily unavailable|service unavailable|overload|gateway.*time|upstream.*time|backend.*error/i;
1823
- var POLICY_REFUSAL_CODES = [-32003, -32005, -32600];
1824
- function isPolicyRefusal(input) {
1825
- let body = input.body;
1826
- if (typeof body === "string") {
1827
- try {
1828
- body = JSON.parse(body);
1829
- } catch {
1830
- return false;
1831
- }
1832
- }
1833
- const err = body?.error;
1834
- const code = err && typeof err === "object" ? err.code : void 0;
1835
- return typeof code === "number" && POLICY_REFUSAL_CODES.includes(code);
1836
- }
1837
- function isTransientRpcError(input) {
1838
- const { status, body } = input;
1839
- if (isPolicyRefusal({ body })) return false;
1840
- if (typeof status === "number" && (status === 429 || status >= 500)) return true;
1841
- if (body == null) return false;
1842
- if (typeof body === "object") {
1843
- const err = body.error;
1844
- if (!err || typeof err !== "object") return false;
1845
- const code = err.code;
1846
- if (typeof code === "number") {
1847
- if (code === 429) return true;
1848
- if (code >= -32099 && code <= -32e3) return true;
1849
- if (code === -32603) return true;
1850
- }
1851
- const message = err.message;
1852
- return typeof message === "string" ? TRANSIENT_BODY_RE.test(message) : false;
1853
- }
1854
- return TRANSIENT_BODY_RE.test(String(body));
1855
- }
1856
- function createFailoverFetch(urls, options = {}) {
1857
- const endpoints = urls.filter((u) => Boolean(u));
1858
- if (endpoints.length === 0) {
1859
- throw new Error("createFailoverFetch: at least one RPC URL is required");
1860
- }
1861
- const doFetch = options.baseFetch ?? fetch;
1862
- const failover = async (_input, init) => {
1863
- let lastError;
1864
- for (let i = 0; i < endpoints.length; i++) {
1865
- const url = endpoints[i];
1866
- const isLast = i === endpoints.length - 1;
1867
- try {
1868
- const res = await doFetch(url, init);
1869
- const text = await res.text();
1870
- const rebuilt = () => new Response(text, { status: res.status, statusText: res.statusText, headers: res.headers });
1871
- if (isLast || !isTransientRpcError({ status: res.status, body: text })) {
1872
- return rebuilt();
1873
- }
1874
- options.onFailover?.({ url, status: res.status });
1875
- } catch (err) {
1876
- lastError = err;
1877
- if (isLast) throw err;
1878
- options.onFailover?.({ url, error: err });
1879
- }
1880
- }
1881
- throw lastError ?? new Error("createFailoverFetch: all endpoints failed");
1882
- };
1883
- return failover;
1884
- }
1885
-
1886
1801
  // src/errors.ts
1887
1802
  var UserFacingError = class extends Error {
1888
1803
  constructor(message) {
@@ -1891,6 +1806,6 @@ var UserFacingError = class extends Error {
1891
1806
  }
1892
1807
  };
1893
1808
 
1894
- export { ApiClient, DEFAULT_CURRENCY, FeeConfigSchema, InvalidStarkPrivateKeyError, MedialaneApiError, POLICY_REFUSAL_CODES, PasskeyCancelledError, PasskeyUnsupportedError, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_DROP_FACTORY_START_BLOCK, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_CONTRACT, STARKNET_GENESIS_NFT_URI, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_MEDIAWALLET_CLASS_HASH, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, STARKNET_POP_FACTORY_START_BLOCK, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, UserFacingError, assetHref, chainFromSlug, chainSlug, coinHref, collectionHref, computeAccountAddress, createFailoverFetch, createPasskeyOwner, deriveAesKey, dropHref, encodeU256, formatAmount, generateStarkKeyPair, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isPolicyRefusal, isServiceId, isTransientRpcError, listServices, normalizeAddress, normalizeHash, ownerConstructorCalldata, parseAmount, resolveAppFeeConfig, resolveConfig, resolveFeeConfig, sealPrivateKey, shortenAddress, signWithPrivateKey, starkKeyPairFromPrivateKey, stringifyBigInts, u256ToBigInt, unsealPrivateKey };
1895
- //# sourceMappingURL=chunk-H263CTVH.js.map
1896
- //# sourceMappingURL=chunk-H263CTVH.js.map
1809
+ export { ApiClient, DEFAULT_CURRENCY, FeeConfigSchema, InvalidStarkPrivateKeyError, MedialaneApiError, PasskeyCancelledError, PasskeyUnsupportedError, STARKNET_COLLECTION_1155_CLASS_HASH, STARKNET_COLLECTION_1155_CONTRACT, STARKNET_COLLECTION_1155_FACTORY_CLASS_HASH, STARKNET_COLLECTION_1155_START_BLOCK, STARKNET_COLLECTION_721_CONTRACT, STARKNET_COLLECTION_721_START_BLOCK, STARKNET_CREATOR_COIN_CLASS_HASH, STARKNET_CREATOR_COIN_EKUBO_LAUNCHER, STARKNET_CREATOR_COIN_FACTORY_CLASS_HASH, STARKNET_CREATOR_COIN_FACTORY_CONTRACT, STARKNET_CREATOR_COIN_START_BLOCK, STARKNET_DATA_TOKENIZATION_721_CONTRACT, STARKNET_DROP_COLLECTION_CLASS_HASH, STARKNET_DROP_FACTORY_CONTRACT, STARKNET_DROP_FACTORY_START_BLOCK, STARKNET_EKUBO_CORE, STARKNET_GENESIS_MINT_CONTRACT, STARKNET_GENESIS_NFT_URI, STARKNET_IPCOLLECTION_CLASS_HASH, STARKNET_IPNFT_CLASS_HASH, STARKNET_IP_CLUB_COLLECTION_CLASS_HASH, STARKNET_IP_CLUB_FACTORY_CONTRACT, STARKNET_IP_SPONSORSHIP_CLASS_HASH, STARKNET_IP_SPONSORSHIP_CONTRACT, STARKNET_IP_TICKETS_FACTORY_CONTRACT, STARKNET_IP_TICKET_COLLECTION_CLASS_HASH, STARKNET_MARKETPLACE_1155_CLASS_HASH, STARKNET_MARKETPLACE_1155_CONTRACT, STARKNET_MARKETPLACE_1155_START_BLOCK, STARKNET_MARKETPLACE_721_CLASS_HASH, STARKNET_MARKETPLACE_721_CONTRACT, STARKNET_MARKETPLACE_721_START_BLOCK, STARKNET_MEDIAWALLET_CLASS_HASH, STARKNET_NFTCOMMENTS_CONTRACT, STARKNET_POP_COLLECTION_CLASS_HASH, STARKNET_POP_FACTORY_CONTRACT, STARKNET_POP_FACTORY_START_BLOCK, SUPPORTED_TOKENS, SUPPORTED_URL_CHAINS, UserFacingError, assetHref, chainFromSlug, chainSlug, coinHref, collectionHref, computeAccountAddress, createPasskeyOwner, deriveAesKey, dropHref, encodeU256, formatAmount, generateStarkKeyPair, getListableTokens, getService, getServicesByCapability, getTokenByAddress, getTokenBySymbol, hasCapability, isServiceId, listServices, normalizeAddress, normalizeHash, ownerConstructorCalldata, parseAmount, resolveAppFeeConfig, resolveConfig, resolveFeeConfig, sealPrivateKey, shortenAddress, signWithPrivateKey, starkKeyPairFromPrivateKey, stringifyBigInts, u256ToBigInt, unsealPrivateKey };
1810
+ //# sourceMappingURL=chunk-JZXIZGHW.js.map
1811
+ //# sourceMappingURL=chunk-JZXIZGHW.js.map