@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.
- package/README.md +2 -4
- package/dist/{chunk-WYKCGQPN.js → chunk-3ME5YKTW.js} +2 -3
- package/dist/chunk-3ME5YKTW.js.map +1 -0
- package/dist/{chunk-VJVBWHAD.cjs → chunk-7EYJC5CB.cjs} +2 -3
- package/dist/chunk-7EYJC5CB.cjs.map +1 -0
- package/dist/{chunk-PNUHSQPU.cjs → chunk-F5USCCM4.cjs} +37 -126
- package/dist/chunk-F5USCCM4.cjs.map +1 -0
- package/dist/{chunk-H263CTVH.js → chunk-JZXIZGHW.js} +34 -119
- package/dist/chunk-JZXIZGHW.js.map +1 -0
- package/dist/{errors-DThsFcc1.d.cts → errors-C3dgi8bK.d.cts} +35 -26
- package/dist/{errors-CTVls5-y.d.ts → errors-kFtjB-a3.d.ts} +35 -26
- package/dist/evm/index.cjs +3 -3
- package/dist/evm/index.d.cts +1 -1
- package/dist/evm/index.d.ts +1 -1
- package/dist/evm/index.js +1 -1
- package/dist/index.cjs +83 -104
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -27
- package/dist/index.d.ts +7 -27
- package/dist/index.js +9 -14
- package/dist/index.js.map +1 -1
- package/dist/solana/index.cjs +2 -2
- package/dist/solana/index.d.cts +1 -1
- package/dist/solana/index.d.ts +1 -1
- package/dist/solana/index.js +1 -1
- package/dist/starknet/index.cjs +137 -290
- package/dist/starknet/index.cjs.map +1 -1
- package/dist/starknet/index.d.cts +15 -120
- package/dist/starknet/index.d.ts +15 -120
- package/dist/starknet/index.js +62 -214
- package/dist/starknet/index.js.map +1 -1
- package/dist/stellar/index.cjs +2 -2
- package/dist/stellar/index.d.cts +1 -1
- package/dist/stellar/index.d.ts +1 -1
- package/dist/stellar/index.js +1 -1
- package/dist/{types-BTNjkUst.d.cts → types-DC4jNPAF.d.cts} +0 -4
- package/dist/{types-BTNjkUst.d.ts → types-DC4jNPAF.d.ts} +0 -4
- package/package.json +1 -1
- package/dist/chunk-H263CTVH.js.map +0 -1
- package/dist/chunk-PNUHSQPU.cjs.map +0 -1
- package/dist/chunk-VJVBWHAD.cjs.map +0 -1
- package/dist/chunk-WYKCGQPN.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CHAINS, DEFAULT_CHAIN, getCoordinates, getStarknetCoordinates } from './chunk-
|
|
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(
|
|
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(
|
|
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
|
-
/** `
|
|
541
|
-
createApiKey(input,
|
|
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
|
-
/** `
|
|
549
|
-
deleteApiKey(id,
|
|
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
|
-
|
|
541
|
+
body: JSON.stringify({ confirmation })
|
|
553
542
|
});
|
|
554
543
|
}
|
|
555
|
-
getCreditHistory(
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 })
|
|
585
|
+
{ method: "POST", body: JSON.stringify({ payer: input.payer, signature: input.signature }) }
|
|
604
586
|
);
|
|
605
587
|
}
|
|
606
|
-
submitFunding(id, txHash
|
|
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
|
|
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,
|
|
1895
|
-
//# sourceMappingURL=chunk-
|
|
1896
|
-
//# sourceMappingURL=chunk-
|
|
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
|