@medialane/sdk 0.181.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-EWDU2XV3.cjs → chunk-F5USCCM4.cjs} +7 -78
- package/dist/chunk-F5USCCM4.cjs.map +1 -0
- package/dist/{chunk-BTSTG6SP.js → chunk-JZXIZGHW.js} +4 -71
- package/dist/chunk-JZXIZGHW.js.map +1 -0
- package/dist/{errors-Bsah998f.d.cts → errors-C3dgi8bK.d.cts} +1 -7
- package/dist/{errors-DQyz1fFP.d.ts → errors-kFtjB-a3.d.ts} +1 -7
- 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 +76 -92
- package/dist/index.d.cts +5 -23
- package/dist/index.d.ts +5 -23
- package/dist/index.js +2 -2
- 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 +107 -284
- package/dist/starknet/index.cjs.map +1 -1
- package/dist/starknet/index.d.cts +14 -119
- package/dist/starknet/index.d.ts +14 -119
- package/dist/starknet/index.js +33 -208
- 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-BTSTG6SP.js.map +0 -1
- package/dist/chunk-EWDU2XV3.cjs.map +0 -1
- package/dist/chunk-VJVBWHAD.cjs.map +0 -1
- package/dist/chunk-WYKCGQPN.js.map +0 -1
package/README.md
CHANGED
|
@@ -66,7 +66,6 @@ import { MedialaneClient } from "@medialane/sdk/starknet";
|
|
|
66
66
|
|
|
67
67
|
const client = new MedialaneClient({
|
|
68
68
|
chain: "STARKNET", // chain-scoped (default "STARKNET"); replaces `network` (v0.37.0)
|
|
69
|
-
rpcUrl: "https://rpc.starknet.lava.build", // optional; defaults to the chain's registry rpcUrl
|
|
70
69
|
backendUrl: "https://api.medialane.io", // required for .api methods
|
|
71
70
|
apiKey: "ml_live_...", // from Medialane Portal
|
|
72
71
|
});
|
|
@@ -100,7 +99,7 @@ const { data: intent } = await client.api.createListingIntent({
|
|
|
100
99
|
endTime: Math.floor(Date.now() / 1000) + 86400 * 30,
|
|
101
100
|
});
|
|
102
101
|
|
|
103
|
-
const { txHash } = await executeIntent(
|
|
102
|
+
const { txHash } = await executeIntent(signer, client, intent);
|
|
104
103
|
```
|
|
105
104
|
|
|
106
105
|
The same pattern works with `createOfferIntent`, `createFulfillIntent`, `createCancelIntent`, `createCheckoutIntent`, `createMintIntent`, `createCollectionIntent`, `createCoinIntent` and the sponsorship intents.
|
|
@@ -313,7 +312,7 @@ import { MedialaneError, executeIntent } from "@medialane/sdk/starknet";
|
|
|
313
312
|
|
|
314
313
|
// Onchain errors
|
|
315
314
|
try {
|
|
316
|
-
await executeIntent(
|
|
315
|
+
await executeIntent(signer, client, intent);
|
|
317
316
|
} catch (err) {
|
|
318
317
|
if (err instanceof MedialaneError) {
|
|
319
318
|
console.error("On-chain error:", err.message, err.cause);
|
|
@@ -372,7 +371,6 @@ without reaching a reader.
|
|
|
372
371
|
| Option | Type | Default | Description |
|
|
373
372
|
|---|---|---|---|
|
|
374
373
|
| `chain` | `Chain` (`"STARKNET" \| "ETHEREUM" \| "SOLANA" \| "BASE" \| "BITCOIN"`) | `"STARKNET"` | The chain this client is scoped to. Coordinates resolve from the `coordinates[chain]` registry (`chains.ts`). Replaces `network` (v0.37.0). |
|
|
375
|
-
| `rpcUrl` | `string` | the chain's registry `rpcUrl` | JSON-RPC URL override |
|
|
376
374
|
| `backendUrl` | `string` | (none) | Medialane API base URL (required for `.api.*`) |
|
|
377
375
|
| `apiKey` | `string` | (none) | API key from [Medialane Portal](https://portal.medialane.io) |
|
|
378
376
|
| `marketplace721Contract` | `string` | Mainnet default | ERC-721 marketplace protocol override |
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
var CHAINS = ["STARKNET", "ETHEREUM", "SOLANA", "BASE", "STELLAR", "BITCOIN"];
|
|
3
3
|
var COORDINATES = {
|
|
4
4
|
STARKNET: {
|
|
5
|
-
rpcUrl: "https://rpc.starknet.lava.build",
|
|
6
5
|
marketplace721: "0x03eda9a2b6ad90845a43591bac8083ebaf677d51fdf20f503b2c01889e3131fc",
|
|
7
6
|
marketplace721ClassHash: "0x0700d9230d07e5203e27778c0dc70f9134d2b25bf319f7cf8348dc66a6923e90",
|
|
8
7
|
marketplace721StartBlock: 11198146,
|
|
@@ -61,5 +60,5 @@ function getStarknetCoordinates(chain) {
|
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
export { CHAINS, DEFAULT_CHAIN, getCoordinates, getStarknetCoordinates };
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-3ME5YKTW.js.map
|
|
64
|
+
//# sourceMappingURL=chunk-3ME5YKTW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chains.ts"],"names":[],"mappings":";AAEO,IAAM,SAAS,CAAC,UAAA,EAAY,YAAY,QAAA,EAAU,MAAA,EAAQ,WAAW,SAAS;AAmFrF,IAAM,WAAA,GAAkC;AAAA,EACtC,QAAA,EAAU;AAAA,IACR,cAAA,EAAgB,oEAAA;AAAA,IAChB,uBAAA,EAAyB,oEAAA;AAAA,IACzB,wBAAA,EAA0B,QAAA;AAAA,IAC1B,eAAA,EAAiB,oEAAA;AAAA,IACjB,wBAAA,EAA0B,oEAAA;AAAA,IAC1B,yBAAA,EAA2B,QAAA;AAAA,IAC3B,aAAA,EAAe,oEAAA;AAAA,IACf,uBAAA,EAAyB,QAAA;AAAA,IACzB,mBAAA,EAAqB,oEAAA;AAAA,IACrB,6BAAA,EAA+B,QAAA;AAAA,IAC/B,cAAA,EAAgB,oEAAA;AAAA,IAChB,qBAAA,EAAuB,oEAAA;AAAA,IACvB,cAAA,EAAgB,oEAAA;AAAA,IAChB,8BAAA,EAAgC,oEAAA;AAAA,IAChC,uBAAA,EAAyB,oEAAA;AAAA,IACzB,wBAAA,EAA0B,QAAA;AAAA,IAC1B,UAAA,EAAY,oEAAA;AAAA,IACZ,sBAAA,EAAwB,oEAAA;AAAA,IACxB,oBAAA,EAAsB,QAAA;AAAA,IACtB,WAAA,EAAa,oEAAA;AAAA,IACb,uBAAA,EAAyB,oEAAA;AAAA,IACzB,qBAAA,EAAuB,QAAA;AAAA,IACvB,WAAA,EAAa,oEAAA;AAAA,IACb,kBAAA,EAAoB,mEAAA;AAAA,IACpB,wBAAA,EAA0B,mEAAA;AAAA,IAC1B,oBAAA,EAAsB,mEAAA;AAAA,IACtB,2BAAA,EAA6B,mEAAA;AAAA,IAC7B,qBAAA,EAAuB,QAAA;AAAA,IACvB,SAAA,EAAW,oEAAA;AAAA,IACX,gBAAA,EAAkB,oEAAA;AAAA,IAClB,2BAAA,EAA6B,oEAAA;AAAA,IAC7B,yBAAA,EAA2B,oEAAA;AAAA,IAC3B,mBAAA,EAAqB,QAAA;AAAA,IACrB,aAAA,EAAe,oEAAA;AAAA,IACf,sBAAA,EAAwB,oEAAA;AAAA,IACxB,yBAAA,EAA2B,oEAAA;AAAA,IAC3B,uBAAA,EAAyB,QAAA;AAAA,IAEzB,aAAA,EAAe,oEAAA;AAAA,IACf,sBAAA,EAAwB,oEAAA;AAAA,IACxB,uBAAA,EAAyB,QAAA;AAAA,IACzB,oBAAA,EAAsB,oEAAA;AAAA,IACtB,WAAA,EAAa;AAAA;AAEjB,CAAA;AASO,SAAS,eACd,KAAA,EAC+E;AAC/E,EAAA,MAAM,CAAA,GAAI,YAAY,KAAK,CAAA;AAC3B,EAAA,IAAI,CAAC,CAAA,EAAG,MAAM,IAAI,KAAA,CAAM,CAAA,qCAAA,EAAwC,KAAK,CAAA,CAAA,CAAG,CAAA;AACxE,EAAA,OAAO,CAAA;AACT;AAEO,IAAM,aAAA,GAAuB;AAE7B,SAAS,uBAAuB,KAAA,EAAmC;AACxE,EAAA,IAAI,UAAU,UAAA,EAAY;AACxB,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,6CAAA,EAAgD,KAAK,CAAA,EAAA,CAAI,CAAA;AAAA,EAC3E;AACA,EAAA,OAAO,eAAe,UAAU,CAAA;AAClC","file":"chunk-3ME5YKTW.js","sourcesContent":["\n\nexport const CHAINS = [\"STARKNET\", \"ETHEREUM\", \"SOLANA\", \"BASE\", \"STELLAR\", \"BITCOIN\"] as const;\nexport type Chain = (typeof CHAINS)[number];\n\nexport interface StarknetCoordinates {\n marketplace721?: `0x${string}`;\n marketplace721ClassHash?: `0x${string}`;\n marketplace721StartBlock?: number;\n marketplace1155?: `0x${string}`;\n marketplace1155ClassHash?: `0x${string}`;\n marketplace1155StartBlock?: number;\n collection721?: `0x${string}`;\n collection721StartBlock?: number;\n dataTokenization721?: `0x${string}`;\n dataTokenization721StartBlock?: number;\n ipNftClassHash?: `0x${string}`;\n ipCollectionClassHash?: `0x${string}`;\n collection1155?: `0x${string}`;\n collection1155FactoryClassHash?: `0x${string}`;\n collection1155ClassHash?: `0x${string}`;\n collection1155StartBlock?: number;\n popFactory?: `0x${string}`;\n popCollectionClassHash?: `0x${string}`;\n popFactoryStartBlock?: number;\n dropFactory?: `0x${string}`;\n dropCollectionClassHash?: `0x${string}`;\n dropFactoryStartBlock?: number;\n nftComments?: `0x${string}`;\n creatorCoinFactory?: `0x${string}`;\n creatorCoinEkuboLauncher?: `0x${string}`;\n creatorCoinClassHash?: `0x${string}`;\n creatorCoinFactoryClassHash?: `0x${string}`;\n creatorCoinStartBlock?: number;\n ekuboCore?: `0x${string}`;\n ipTicketsFactory?: `0x${string}`;\n ipTicketCollectionClassHash?: `0x${string}`;\n ipTicketsFactoryClassHash?: `0x${string}`;\n ipTicketsStartBlock?: number;\n ipClubFactory?: `0x${string}`;\n ipClubFactoryClassHash?: `0x${string}`;\n ipClubCollectionClassHash?: `0x${string}`;\n ipClubFactoryStartBlock?: number;\n ipSponsorship?: `0x${string}`;\n ipSponsorshipClassHash?: `0x${string}`;\n ipSponsorshipStartBlock?: number;\n mediaWalletClassHash?: `0x${string}`;\n genesisMint?: `0x${string}`;\n}\n\nexport interface EvmCoordinates {\n marketplace721?: `0x${string}`;\n marketplace721StartBlock?: number;\n marketplace1155?: `0x${string}`;\n marketplace1155StartBlock?: number;\n mipRegistry?: `0x${string}`;\n mipRegistryStartBlock?: number;\n mipEditionsRegistry?: `0x${string}`;\n mipEditionsRegistryStartBlock?: number;\n}\n\nexport interface SolanaCoordinates {\n mipCollectionsProgram?: string;\n marketplaceProgram?: string;\n startSlot?: number;\n}\n\nexport interface StellarCoordinates {\n mipRegistry?: string;\n marketplace?: string;\n collectionWasmHash?: string;\n startLedger?: number;\n}\n\nexport interface CoordinatesByChain {\n STARKNET?: StarknetCoordinates;\n ETHEREUM?: EvmCoordinates;\n BASE?: EvmCoordinates;\n SOLANA?: SolanaCoordinates;\n STELLAR?: StellarCoordinates;\n BITCOIN?: never;\n}\n\nexport type ChainCoordinates = StarknetCoordinates;\n\nconst COORDINATES: CoordinatesByChain = {\n STARKNET: {\n marketplace721: \"0x03eda9a2b6ad90845a43591bac8083ebaf677d51fdf20f503b2c01889e3131fc\",\n marketplace721ClassHash: \"0x0700d9230d07e5203e27778c0dc70f9134d2b25bf319f7cf8348dc66a6923e90\",\n marketplace721StartBlock: 11198146,\n marketplace1155: \"0x07c4ce1c19ea48cc11135ed22b19ff745f5aec508c3828593002e4f76fdb1b38\",\n marketplace1155ClassHash: \"0x0242f5c388da7cee2d99e2a69453c8159bf927fbec4e797a3cfdcbbcb5b68328\",\n marketplace1155StartBlock: 11198267,\n collection721: \"0x0225c3ae09506b8d97adc39649ca740dad5aac195b7f5f0441cc1852947acaea\",\n collection721StartBlock: 11198496,\n dataTokenization721: \"0x07421b4442f7f2052c65408fb3561484154cf8175a0bbb41e3cd38d9087af6d2\",\n dataTokenization721StartBlock: 14670294,\n ipNftClassHash: \"0x012d3ae40ba35c7e2be0946532dac60e48932447912fdf96b674da67c029b9cc\",\n ipCollectionClassHash: \"0x022155a1a130a40e57aac4b89c07fab3f616bc351b1270fc40f756b963afe8b4\",\n collection1155: \"0x015368976d46fae5bfa1c58600f641d5aa5dbbf53ebc6b78aa3922194aad3551\",\n collection1155FactoryClassHash: \"0x04eb6b419770f13bd191f120b9fc9ee624c0613ad4490062d293ca2016b3b1d2\",\n collection1155ClassHash: \"0x06cf3f5a2322dac35e07a6064a5b8802f19fda8aa3f4726f0cb7bc05dea1bd78\",\n collection1155StartBlock: 11199527,\n popFactory: \"0x06af6ffdde310991a40570716dc3681acc7effc610aeb548ea0baa02d4208d5f\",\n popCollectionClassHash: \"0x076200229933dd10b8d6d41ecb1a53ba1972510a42f4d505dae4f6b54d1b317e\",\n popFactoryStartBlock: 16126169,\n dropFactory: \"0x049cae891b9195277e018ae99765a3b0e5f6b0f6a1807c5db789342bccc0e130\",\n dropCollectionClassHash: \"0x0641d0255db1d218e08b367f40559d5ccdc22d34fee8ef0500b4247092a60132\",\n dropFactoryStartBlock: 16240820,\n nftComments: \"0x02cdac70c94447189af0389dfea63f4d5e4154ea8a563de288a5ab1c39e37843\",\n creatorCoinFactory: \"0x50fa807b5274079fb19374673d7bab6d2dc3af7e1032ea43eb6e44bcbde4c3c\",\n creatorCoinEkuboLauncher: \"0x4f7fceb5ac10f12f9544a09580592e5bdf1b7f04f48765eecf12286d8ccb7b4\",\n creatorCoinClassHash: \"0x743e4c8a5b96bb83bbf4af04edbbb482d5ece89eed9b729a79fb7df0cd0b6b6\",\n creatorCoinFactoryClassHash: \"0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55\",\n creatorCoinStartBlock: 10474544,\n ekuboCore: \"0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b\",\n ipTicketsFactory: \"0x0767bf5b57e1f812463159b5ed683183e1b0c3f942b74871b5c6cd6a93c15e99\",\n ipTicketCollectionClassHash: \"0x0449e8eb7c117740d07cb8e0157d32c8ba3d19d1cfd2784ed5e139f5a1e04acc\",\n ipTicketsFactoryClassHash: \"0x04a739ac3a673ebd0db96bb24475600797c3ed34827e79517f9b2b1640276e6a\",\n ipTicketsStartBlock: 11933694,\n ipClubFactory: \"0x06a0b0be16d70c78f2e18119dbf90e5911cbfd5d8d484bc555dc61d96f56a2b9\",\n ipClubFactoryClassHash: \"0x05d9d431bd3532b1fa4d5bab572f49c5ad8034ee3cc83951aa41ae82c9cad266\",\n ipClubCollectionClassHash: \"0x05b8477c72e6bf0cf64967d71155021fd4d77d9a57e8805c6b40709121c002c5\",\n ipClubFactoryStartBlock: 11928775,\n\n ipSponsorship: \"0x03729ebe0fedf29ec97fca34db09174772af7f870af26a26e024a61040143e5c\",\n ipSponsorshipClassHash: \"0x0626daac2ed7e2bf630ef5b10104b3202db1559216c0c1a504c0e99be2fbfec3\",\n ipSponsorshipStartBlock: 11896456,\n mediaWalletClassHash: \"0x014b210c7d47392691144bafecdca3c6c7791cc295ea305988da0a724c05ac31\",\n genesisMint: \"0x06ed61abba98a44d45bed2c4b1a456df15053c3321cfd6e007afb33b7226c9f0\",\n },\n};\n\nexport function getCoordinates(chain: \"STARKNET\"): StarknetCoordinates;\nexport function getCoordinates(chain: \"ETHEREUM\" | \"BASE\"): EvmCoordinates;\nexport function getCoordinates(chain: \"SOLANA\"): SolanaCoordinates;\nexport function getCoordinates(chain: \"STELLAR\"): StellarCoordinates;\nexport function getCoordinates(\n chain: Chain,\n): StarknetCoordinates | EvmCoordinates | SolanaCoordinates | StellarCoordinates;\nexport function getCoordinates(\n chain: Chain,\n): StarknetCoordinates | EvmCoordinates | SolanaCoordinates | StellarCoordinates {\n const c = COORDINATES[chain];\n if (!c) throw new Error(`No coordinates configured for chain \"${chain}\"`);\n return c;\n}\n\nexport const DEFAULT_CHAIN: Chain = \"STARKNET\";\n\nexport function getStarknetCoordinates(chain: Chain): StarknetCoordinates {\n if (chain !== \"STARKNET\") {\n throw new Error(`This module is Starknet-only (client chain: \"${chain}\")`);\n }\n return getCoordinates(\"STARKNET\");\n}\n"]}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
var CHAINS = ["STARKNET", "ETHEREUM", "SOLANA", "BASE", "STELLAR", "BITCOIN"];
|
|
5
5
|
var COORDINATES = {
|
|
6
6
|
STARKNET: {
|
|
7
|
-
rpcUrl: "https://rpc.starknet.lava.build",
|
|
8
7
|
marketplace721: "0x03eda9a2b6ad90845a43591bac8083ebaf677d51fdf20f503b2c01889e3131fc",
|
|
9
8
|
marketplace721ClassHash: "0x0700d9230d07e5203e27778c0dc70f9134d2b25bf319f7cf8348dc66a6923e90",
|
|
10
9
|
marketplace721StartBlock: 11198146,
|
|
@@ -66,5 +65,5 @@ exports.CHAINS = CHAINS;
|
|
|
66
65
|
exports.DEFAULT_CHAIN = DEFAULT_CHAIN;
|
|
67
66
|
exports.getCoordinates = getCoordinates;
|
|
68
67
|
exports.getStarknetCoordinates = getStarknetCoordinates;
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
68
|
+
//# sourceMappingURL=chunk-7EYJC5CB.cjs.map
|
|
69
|
+
//# sourceMappingURL=chunk-7EYJC5CB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chains.ts"],"names":[],"mappings":";;;AAEO,IAAM,SAAS,CAAC,UAAA,EAAY,YAAY,QAAA,EAAU,MAAA,EAAQ,WAAW,SAAS;AAmFrF,IAAM,WAAA,GAAkC;AAAA,EACtC,QAAA,EAAU;AAAA,IACR,cAAA,EAAgB,oEAAA;AAAA,IAChB,uBAAA,EAAyB,oEAAA;AAAA,IACzB,wBAAA,EAA0B,QAAA;AAAA,IAC1B,eAAA,EAAiB,oEAAA;AAAA,IACjB,wBAAA,EAA0B,oEAAA;AAAA,IAC1B,yBAAA,EAA2B,QAAA;AAAA,IAC3B,aAAA,EAAe,oEAAA;AAAA,IACf,uBAAA,EAAyB,QAAA;AAAA,IACzB,mBAAA,EAAqB,oEAAA;AAAA,IACrB,6BAAA,EAA+B,QAAA;AAAA,IAC/B,cAAA,EAAgB,oEAAA;AAAA,IAChB,qBAAA,EAAuB,oEAAA;AAAA,IACvB,cAAA,EAAgB,oEAAA;AAAA,IAChB,8BAAA,EAAgC,oEAAA;AAAA,IAChC,uBAAA,EAAyB,oEAAA;AAAA,IACzB,wBAAA,EAA0B,QAAA;AAAA,IAC1B,UAAA,EAAY,oEAAA;AAAA,IACZ,sBAAA,EAAwB,oEAAA;AAAA,IACxB,oBAAA,EAAsB,QAAA;AAAA,IACtB,WAAA,EAAa,oEAAA;AAAA,IACb,uBAAA,EAAyB,oEAAA;AAAA,IACzB,qBAAA,EAAuB,QAAA;AAAA,IACvB,WAAA,EAAa,oEAAA;AAAA,IACb,kBAAA,EAAoB,mEAAA;AAAA,IACpB,wBAAA,EAA0B,mEAAA;AAAA,IAC1B,oBAAA,EAAsB,mEAAA;AAAA,IACtB,2BAAA,EAA6B,mEAAA;AAAA,IAC7B,qBAAA,EAAuB,QAAA;AAAA,IACvB,SAAA,EAAW,oEAAA;AAAA,IACX,gBAAA,EAAkB,oEAAA;AAAA,IAClB,2BAAA,EAA6B,oEAAA;AAAA,IAC7B,yBAAA,EAA2B,oEAAA;AAAA,IAC3B,mBAAA,EAAqB,QAAA;AAAA,IACrB,aAAA,EAAe,oEAAA;AAAA,IACf,sBAAA,EAAwB,oEAAA;AAAA,IACxB,yBAAA,EAA2B,oEAAA;AAAA,IAC3B,uBAAA,EAAyB,QAAA;AAAA,IAEzB,aAAA,EAAe,oEAAA;AAAA,IACf,sBAAA,EAAwB,oEAAA;AAAA,IACxB,uBAAA,EAAyB,QAAA;AAAA,IACzB,oBAAA,EAAsB,oEAAA;AAAA,IACtB,WAAA,EAAa;AAAA;AAEjB,CAAA;AASO,SAAS,eACd,KAAA,EAC+E;AAC/E,EAAA,MAAM,CAAA,GAAI,YAAY,KAAK,CAAA;AAC3B,EAAA,IAAI,CAAC,CAAA,EAAG,MAAM,IAAI,KAAA,CAAM,CAAA,qCAAA,EAAwC,KAAK,CAAA,CAAA,CAAG,CAAA;AACxE,EAAA,OAAO,CAAA;AACT;AAEO,IAAM,aAAA,GAAuB;AAE7B,SAAS,uBAAuB,KAAA,EAAmC;AACxE,EAAA,IAAI,UAAU,UAAA,EAAY;AACxB,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,6CAAA,EAAgD,KAAK,CAAA,EAAA,CAAI,CAAA;AAAA,EAC3E;AACA,EAAA,OAAO,eAAe,UAAU,CAAA;AAClC","file":"chunk-7EYJC5CB.cjs","sourcesContent":["\n\nexport const CHAINS = [\"STARKNET\", \"ETHEREUM\", \"SOLANA\", \"BASE\", \"STELLAR\", \"BITCOIN\"] as const;\nexport type Chain = (typeof CHAINS)[number];\n\nexport interface StarknetCoordinates {\n marketplace721?: `0x${string}`;\n marketplace721ClassHash?: `0x${string}`;\n marketplace721StartBlock?: number;\n marketplace1155?: `0x${string}`;\n marketplace1155ClassHash?: `0x${string}`;\n marketplace1155StartBlock?: number;\n collection721?: `0x${string}`;\n collection721StartBlock?: number;\n dataTokenization721?: `0x${string}`;\n dataTokenization721StartBlock?: number;\n ipNftClassHash?: `0x${string}`;\n ipCollectionClassHash?: `0x${string}`;\n collection1155?: `0x${string}`;\n collection1155FactoryClassHash?: `0x${string}`;\n collection1155ClassHash?: `0x${string}`;\n collection1155StartBlock?: number;\n popFactory?: `0x${string}`;\n popCollectionClassHash?: `0x${string}`;\n popFactoryStartBlock?: number;\n dropFactory?: `0x${string}`;\n dropCollectionClassHash?: `0x${string}`;\n dropFactoryStartBlock?: number;\n nftComments?: `0x${string}`;\n creatorCoinFactory?: `0x${string}`;\n creatorCoinEkuboLauncher?: `0x${string}`;\n creatorCoinClassHash?: `0x${string}`;\n creatorCoinFactoryClassHash?: `0x${string}`;\n creatorCoinStartBlock?: number;\n ekuboCore?: `0x${string}`;\n ipTicketsFactory?: `0x${string}`;\n ipTicketCollectionClassHash?: `0x${string}`;\n ipTicketsFactoryClassHash?: `0x${string}`;\n ipTicketsStartBlock?: number;\n ipClubFactory?: `0x${string}`;\n ipClubFactoryClassHash?: `0x${string}`;\n ipClubCollectionClassHash?: `0x${string}`;\n ipClubFactoryStartBlock?: number;\n ipSponsorship?: `0x${string}`;\n ipSponsorshipClassHash?: `0x${string}`;\n ipSponsorshipStartBlock?: number;\n mediaWalletClassHash?: `0x${string}`;\n genesisMint?: `0x${string}`;\n}\n\nexport interface EvmCoordinates {\n marketplace721?: `0x${string}`;\n marketplace721StartBlock?: number;\n marketplace1155?: `0x${string}`;\n marketplace1155StartBlock?: number;\n mipRegistry?: `0x${string}`;\n mipRegistryStartBlock?: number;\n mipEditionsRegistry?: `0x${string}`;\n mipEditionsRegistryStartBlock?: number;\n}\n\nexport interface SolanaCoordinates {\n mipCollectionsProgram?: string;\n marketplaceProgram?: string;\n startSlot?: number;\n}\n\nexport interface StellarCoordinates {\n mipRegistry?: string;\n marketplace?: string;\n collectionWasmHash?: string;\n startLedger?: number;\n}\n\nexport interface CoordinatesByChain {\n STARKNET?: StarknetCoordinates;\n ETHEREUM?: EvmCoordinates;\n BASE?: EvmCoordinates;\n SOLANA?: SolanaCoordinates;\n STELLAR?: StellarCoordinates;\n BITCOIN?: never;\n}\n\nexport type ChainCoordinates = StarknetCoordinates;\n\nconst COORDINATES: CoordinatesByChain = {\n STARKNET: {\n marketplace721: \"0x03eda9a2b6ad90845a43591bac8083ebaf677d51fdf20f503b2c01889e3131fc\",\n marketplace721ClassHash: \"0x0700d9230d07e5203e27778c0dc70f9134d2b25bf319f7cf8348dc66a6923e90\",\n marketplace721StartBlock: 11198146,\n marketplace1155: \"0x07c4ce1c19ea48cc11135ed22b19ff745f5aec508c3828593002e4f76fdb1b38\",\n marketplace1155ClassHash: \"0x0242f5c388da7cee2d99e2a69453c8159bf927fbec4e797a3cfdcbbcb5b68328\",\n marketplace1155StartBlock: 11198267,\n collection721: \"0x0225c3ae09506b8d97adc39649ca740dad5aac195b7f5f0441cc1852947acaea\",\n collection721StartBlock: 11198496,\n dataTokenization721: \"0x07421b4442f7f2052c65408fb3561484154cf8175a0bbb41e3cd38d9087af6d2\",\n dataTokenization721StartBlock: 14670294,\n ipNftClassHash: \"0x012d3ae40ba35c7e2be0946532dac60e48932447912fdf96b674da67c029b9cc\",\n ipCollectionClassHash: \"0x022155a1a130a40e57aac4b89c07fab3f616bc351b1270fc40f756b963afe8b4\",\n collection1155: \"0x015368976d46fae5bfa1c58600f641d5aa5dbbf53ebc6b78aa3922194aad3551\",\n collection1155FactoryClassHash: \"0x04eb6b419770f13bd191f120b9fc9ee624c0613ad4490062d293ca2016b3b1d2\",\n collection1155ClassHash: \"0x06cf3f5a2322dac35e07a6064a5b8802f19fda8aa3f4726f0cb7bc05dea1bd78\",\n collection1155StartBlock: 11199527,\n popFactory: \"0x06af6ffdde310991a40570716dc3681acc7effc610aeb548ea0baa02d4208d5f\",\n popCollectionClassHash: \"0x076200229933dd10b8d6d41ecb1a53ba1972510a42f4d505dae4f6b54d1b317e\",\n popFactoryStartBlock: 16126169,\n dropFactory: \"0x049cae891b9195277e018ae99765a3b0e5f6b0f6a1807c5db789342bccc0e130\",\n dropCollectionClassHash: \"0x0641d0255db1d218e08b367f40559d5ccdc22d34fee8ef0500b4247092a60132\",\n dropFactoryStartBlock: 16240820,\n nftComments: \"0x02cdac70c94447189af0389dfea63f4d5e4154ea8a563de288a5ab1c39e37843\",\n creatorCoinFactory: \"0x50fa807b5274079fb19374673d7bab6d2dc3af7e1032ea43eb6e44bcbde4c3c\",\n creatorCoinEkuboLauncher: \"0x4f7fceb5ac10f12f9544a09580592e5bdf1b7f04f48765eecf12286d8ccb7b4\",\n creatorCoinClassHash: \"0x743e4c8a5b96bb83bbf4af04edbbb482d5ece89eed9b729a79fb7df0cd0b6b6\",\n creatorCoinFactoryClassHash: \"0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55\",\n creatorCoinStartBlock: 10474544,\n ekuboCore: \"0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b\",\n ipTicketsFactory: \"0x0767bf5b57e1f812463159b5ed683183e1b0c3f942b74871b5c6cd6a93c15e99\",\n ipTicketCollectionClassHash: \"0x0449e8eb7c117740d07cb8e0157d32c8ba3d19d1cfd2784ed5e139f5a1e04acc\",\n ipTicketsFactoryClassHash: \"0x04a739ac3a673ebd0db96bb24475600797c3ed34827e79517f9b2b1640276e6a\",\n ipTicketsStartBlock: 11933694,\n ipClubFactory: \"0x06a0b0be16d70c78f2e18119dbf90e5911cbfd5d8d484bc555dc61d96f56a2b9\",\n ipClubFactoryClassHash: \"0x05d9d431bd3532b1fa4d5bab572f49c5ad8034ee3cc83951aa41ae82c9cad266\",\n ipClubCollectionClassHash: \"0x05b8477c72e6bf0cf64967d71155021fd4d77d9a57e8805c6b40709121c002c5\",\n ipClubFactoryStartBlock: 11928775,\n\n ipSponsorship: \"0x03729ebe0fedf29ec97fca34db09174772af7f870af26a26e024a61040143e5c\",\n ipSponsorshipClassHash: \"0x0626daac2ed7e2bf630ef5b10104b3202db1559216c0c1a504c0e99be2fbfec3\",\n ipSponsorshipStartBlock: 11896456,\n mediaWalletClassHash: \"0x014b210c7d47392691144bafecdca3c6c7791cc295ea305988da0a724c05ac31\",\n genesisMint: \"0x06ed61abba98a44d45bed2c4b1a456df15053c3321cfd6e007afb33b7226c9f0\",\n },\n};\n\nexport function getCoordinates(chain: \"STARKNET\"): StarknetCoordinates;\nexport function getCoordinates(chain: \"ETHEREUM\" | \"BASE\"): EvmCoordinates;\nexport function getCoordinates(chain: \"SOLANA\"): SolanaCoordinates;\nexport function getCoordinates(chain: \"STELLAR\"): StellarCoordinates;\nexport function getCoordinates(\n chain: Chain,\n): StarknetCoordinates | EvmCoordinates | SolanaCoordinates | StellarCoordinates;\nexport function getCoordinates(\n chain: Chain,\n): StarknetCoordinates | EvmCoordinates | SolanaCoordinates | StellarCoordinates {\n const c = COORDINATES[chain];\n if (!c) throw new Error(`No coordinates configured for chain \"${chain}\"`);\n return c;\n}\n\nexport const DEFAULT_CHAIN: Chain = \"STARKNET\";\n\nexport function getStarknetCoordinates(chain: Chain): StarknetCoordinates {\n if (chain !== \"STARKNET\") {\n throw new Error(`This module is Starknet-only (client chain: \"${chain}\")`);\n }\n return getCoordinates(\"STARKNET\");\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk7EYJC5CB_cjs = require('./chunk-7EYJC5CB.cjs');
|
|
4
4
|
var zod = require('zod');
|
|
5
5
|
var sha3_js = require('@noble/hashes/sha3.js');
|
|
6
6
|
var base = require('@scure/base');
|
|
@@ -40,8 +40,7 @@ function resolveAppFeeConfig(env = {}) {
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
var MedialaneConfigSchema = zod.z.object({
|
|
43
|
-
chain: zod.z.enum(
|
|
44
|
-
rpcUrl: zod.z.string().url().optional(),
|
|
43
|
+
chain: zod.z.enum(chunk7EYJC5CB_cjs.CHAINS).default(chunk7EYJC5CB_cjs.DEFAULT_CHAIN),
|
|
45
44
|
backendUrl: zod.z.string().url().optional(),
|
|
46
45
|
apiKey: zod.z.string().optional(),
|
|
47
46
|
marketplace721Contract: zod.z.string().optional(),
|
|
@@ -59,13 +58,12 @@ var MedialaneConfigSchema = zod.z.object({
|
|
|
59
58
|
});
|
|
60
59
|
function resolveConfig(raw) {
|
|
61
60
|
const parsed = MedialaneConfigSchema.parse(raw);
|
|
62
|
-
const coords =
|
|
61
|
+
const coords = chunk7EYJC5CB_cjs.getCoordinates(parsed.chain);
|
|
63
62
|
const sn = parsed.chain === "STARKNET" ? coords : {};
|
|
64
63
|
const marketplace721Contract = parsed.marketplace721Contract ?? parsed.marketplaceContract ?? sn.marketplace721;
|
|
65
64
|
const collection721Contract = parsed.collection721Contract ?? parsed.collectionContract ?? sn.collection721;
|
|
66
65
|
return {
|
|
67
66
|
chain: parsed.chain,
|
|
68
|
-
rpcUrl: parsed.rpcUrl ?? coords.rpcUrl,
|
|
69
67
|
backendUrl: parsed.backendUrl,
|
|
70
68
|
apiKey: parsed.apiKey,
|
|
71
69
|
marketplace721Contract,
|
|
@@ -1128,7 +1126,7 @@ function signWithPrivateKey(privateKeyHex, msgHash) {
|
|
|
1128
1126
|
}
|
|
1129
1127
|
|
|
1130
1128
|
// src/constants.ts
|
|
1131
|
-
var SN =
|
|
1129
|
+
var SN = chunk7EYJC5CB_cjs.getCoordinates("STARKNET");
|
|
1132
1130
|
var STARKNET_MARKETPLACE_721_CONTRACT = SN.marketplace721;
|
|
1133
1131
|
var STARKNET_MARKETPLACE_721_CLASS_HASH = SN.marketplace721ClassHash;
|
|
1134
1132
|
var STARKNET_MARKETPLACE_721_START_BLOCK = SN.marketplace721StartBlock;
|
|
@@ -1404,7 +1402,7 @@ function coinHref(chain, address) {
|
|
|
1404
1402
|
}
|
|
1405
1403
|
|
|
1406
1404
|
// src/services/registry.ts
|
|
1407
|
-
var SN2 =
|
|
1405
|
+
var SN2 = chunk7EYJC5CB_cjs.getStarknetCoordinates("STARKNET");
|
|
1408
1406
|
var SERVICES = {
|
|
1409
1407
|
"mip-erc721": {
|
|
1410
1408
|
id: "mip-erc721",
|
|
@@ -1802,71 +1800,6 @@ function encodeU256(n) {
|
|
|
1802
1800
|
];
|
|
1803
1801
|
}
|
|
1804
1802
|
|
|
1805
|
-
// src/utils/rpc.ts
|
|
1806
|
-
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;
|
|
1807
|
-
var POLICY_REFUSAL_CODES = [-32003, -32005, -32600];
|
|
1808
|
-
function isPolicyRefusal(input) {
|
|
1809
|
-
let body = input.body;
|
|
1810
|
-
if (typeof body === "string") {
|
|
1811
|
-
try {
|
|
1812
|
-
body = JSON.parse(body);
|
|
1813
|
-
} catch {
|
|
1814
|
-
return false;
|
|
1815
|
-
}
|
|
1816
|
-
}
|
|
1817
|
-
const err = body?.error;
|
|
1818
|
-
const code = err && typeof err === "object" ? err.code : void 0;
|
|
1819
|
-
return typeof code === "number" && POLICY_REFUSAL_CODES.includes(code);
|
|
1820
|
-
}
|
|
1821
|
-
function isTransientRpcError(input) {
|
|
1822
|
-
const { status, body } = input;
|
|
1823
|
-
if (isPolicyRefusal({ body })) return false;
|
|
1824
|
-
if (typeof status === "number" && (status === 429 || status >= 500)) return true;
|
|
1825
|
-
if (body == null) return false;
|
|
1826
|
-
if (typeof body === "object") {
|
|
1827
|
-
const err = body.error;
|
|
1828
|
-
if (!err || typeof err !== "object") return false;
|
|
1829
|
-
const code = err.code;
|
|
1830
|
-
if (typeof code === "number") {
|
|
1831
|
-
if (code === 429) return true;
|
|
1832
|
-
if (code >= -32099 && code <= -32e3) return true;
|
|
1833
|
-
if (code === -32603) return true;
|
|
1834
|
-
}
|
|
1835
|
-
const message = err.message;
|
|
1836
|
-
return typeof message === "string" ? TRANSIENT_BODY_RE.test(message) : false;
|
|
1837
|
-
}
|
|
1838
|
-
return TRANSIENT_BODY_RE.test(String(body));
|
|
1839
|
-
}
|
|
1840
|
-
function createFailoverFetch(urls, options = {}) {
|
|
1841
|
-
const endpoints = urls.filter((u) => Boolean(u));
|
|
1842
|
-
if (endpoints.length === 0) {
|
|
1843
|
-
throw new Error("createFailoverFetch: at least one RPC URL is required");
|
|
1844
|
-
}
|
|
1845
|
-
const doFetch = options.baseFetch ?? fetch;
|
|
1846
|
-
const failover = async (_input, init) => {
|
|
1847
|
-
let lastError;
|
|
1848
|
-
for (let i = 0; i < endpoints.length; i++) {
|
|
1849
|
-
const url = endpoints[i];
|
|
1850
|
-
const isLast = i === endpoints.length - 1;
|
|
1851
|
-
try {
|
|
1852
|
-
const res = await doFetch(url, init);
|
|
1853
|
-
const text = await res.text();
|
|
1854
|
-
const rebuilt = () => new Response(text, { status: res.status, statusText: res.statusText, headers: res.headers });
|
|
1855
|
-
if (isLast || !isTransientRpcError({ status: res.status, body: text })) {
|
|
1856
|
-
return rebuilt();
|
|
1857
|
-
}
|
|
1858
|
-
options.onFailover?.({ url, status: res.status });
|
|
1859
|
-
} catch (err) {
|
|
1860
|
-
lastError = err;
|
|
1861
|
-
if (isLast) throw err;
|
|
1862
|
-
options.onFailover?.({ url, error: err });
|
|
1863
|
-
}
|
|
1864
|
-
}
|
|
1865
|
-
throw lastError ?? new Error("createFailoverFetch: all endpoints failed");
|
|
1866
|
-
};
|
|
1867
|
-
return failover;
|
|
1868
|
-
}
|
|
1869
|
-
|
|
1870
1803
|
// src/errors.ts
|
|
1871
1804
|
var UserFacingError = class extends Error {
|
|
1872
1805
|
constructor(message) {
|
|
@@ -1880,7 +1813,6 @@ exports.DEFAULT_CURRENCY = DEFAULT_CURRENCY;
|
|
|
1880
1813
|
exports.FeeConfigSchema = FeeConfigSchema;
|
|
1881
1814
|
exports.InvalidStarkPrivateKeyError = InvalidStarkPrivateKeyError;
|
|
1882
1815
|
exports.MedialaneApiError = MedialaneApiError;
|
|
1883
|
-
exports.POLICY_REFUSAL_CODES = POLICY_REFUSAL_CODES;
|
|
1884
1816
|
exports.PasskeyCancelledError = PasskeyCancelledError;
|
|
1885
1817
|
exports.PasskeyUnsupportedError = PasskeyUnsupportedError;
|
|
1886
1818
|
exports.STARKNET_COLLECTION_1155_CLASS_HASH = STARKNET_COLLECTION_1155_CLASS_HASH;
|
|
@@ -1929,7 +1861,6 @@ exports.chainSlug = chainSlug;
|
|
|
1929
1861
|
exports.coinHref = coinHref;
|
|
1930
1862
|
exports.collectionHref = collectionHref;
|
|
1931
1863
|
exports.computeAccountAddress = computeAccountAddress;
|
|
1932
|
-
exports.createFailoverFetch = createFailoverFetch;
|
|
1933
1864
|
exports.createPasskeyOwner = createPasskeyOwner;
|
|
1934
1865
|
exports.deriveAesKey = deriveAesKey;
|
|
1935
1866
|
exports.dropHref = dropHref;
|
|
@@ -1942,9 +1873,7 @@ exports.getServicesByCapability = getServicesByCapability;
|
|
|
1942
1873
|
exports.getTokenByAddress = getTokenByAddress;
|
|
1943
1874
|
exports.getTokenBySymbol = getTokenBySymbol;
|
|
1944
1875
|
exports.hasCapability = hasCapability;
|
|
1945
|
-
exports.isPolicyRefusal = isPolicyRefusal;
|
|
1946
1876
|
exports.isServiceId = isServiceId;
|
|
1947
|
-
exports.isTransientRpcError = isTransientRpcError;
|
|
1948
1877
|
exports.listServices = listServices;
|
|
1949
1878
|
exports.normalizeAddress = normalizeAddress;
|
|
1950
1879
|
exports.normalizeHash = normalizeHash;
|
|
@@ -1960,5 +1889,5 @@ exports.starkKeyPairFromPrivateKey = starkKeyPairFromPrivateKey;
|
|
|
1960
1889
|
exports.stringifyBigInts = stringifyBigInts;
|
|
1961
1890
|
exports.u256ToBigInt = u256ToBigInt;
|
|
1962
1891
|
exports.unsealPrivateKey = unsealPrivateKey;
|
|
1963
|
-
//# sourceMappingURL=chunk-
|
|
1964
|
-
//# sourceMappingURL=chunk-
|
|
1892
|
+
//# sourceMappingURL=chunk-F5USCCM4.cjs.map
|
|
1893
|
+
//# sourceMappingURL=chunk-F5USCCM4.cjs.map
|