@0xsequence/marketplace-sdk 0.8.7 → 0.8.9
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/CHANGELOG.md +32 -0
- package/dist/chunk-2PSNAIAT.js +1 -0
- package/dist/chunk-2PSNAIAT.js.map +1 -0
- package/dist/{chunk-7FVZD2LL.js → chunk-4XLXOEXQ.js} +2 -2
- package/dist/{chunk-5HEZNTSU.js → chunk-D7RVSZAQ.js} +131 -83
- package/dist/chunk-D7RVSZAQ.js.map +1 -0
- package/dist/chunk-DWTLVJAW.js +42 -0
- package/dist/chunk-DWTLVJAW.js.map +1 -0
- package/dist/{chunk-YAUZLETY.js → chunk-G3447GIP.js} +37 -18
- package/dist/chunk-G3447GIP.js.map +1 -0
- package/dist/{chunk-O6GWM7C3.js → chunk-HHYNOPPI.js} +2 -2
- package/dist/{chunk-Y6AOCO3Q.js → chunk-I2BYHDFE.js} +419 -161
- package/dist/chunk-I2BYHDFE.js.map +1 -0
- package/dist/{chunk-KTT27YUN.js → chunk-KGM2WLSP.js} +12 -156
- package/dist/chunk-KGM2WLSP.js.map +1 -0
- package/dist/chunk-MAD64DLJ.js +81 -0
- package/dist/chunk-MAD64DLJ.js.map +1 -0
- package/dist/chunk-N7BPFK46.js +1 -0
- package/dist/chunk-N7BPFK46.js.map +1 -0
- package/dist/chunk-NX52D7NX.js +135 -0
- package/dist/chunk-NX52D7NX.js.map +1 -0
- package/dist/chunk-O34GCB47.js +32 -0
- package/dist/chunk-O34GCB47.js.map +1 -0
- package/dist/{chunk-Q2DA477S.js → chunk-YALXP2PW.js} +3 -3
- package/dist/{chunk-A6V7XDY4.js → chunk-YBOFRP65.js} +2 -2
- package/dist/{create-config-CdooE7aU.d.ts → create-config-DwrnzwpM.d.ts} +2 -2
- package/dist/{index-ClKHzm0B.d.ts → index-DGsVBflk.d.ts} +3 -12
- package/dist/index.css +83 -35
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +13 -4
- package/dist/index.js +13 -5
- package/dist/{lowestListing-kFyrUGha.d.ts → lowestListing-BQHIuvNF.d.ts} +2 -2
- package/dist/{marketplace.gen-BU6T6f0m.d.ts → marketplace.gen-DQzWciwC.d.ts} +1 -1
- package/dist/marketplaceConfig-B4Fdsmxu.d.ts +17 -0
- package/dist/react/_internal/api/index.d.ts +3 -3
- package/dist/react/_internal/api/index.js +4 -3
- package/dist/react/_internal/databeat/index.d.ts +2 -1
- package/dist/react/_internal/databeat/index.js +11 -7
- package/dist/react/_internal/index.d.ts +6 -6
- package/dist/react/_internal/index.js +13 -10
- package/dist/react/_internal/wagmi/index.d.ts +6 -5
- package/dist/react/_internal/wagmi/index.js +2 -2
- package/dist/react/hooks/index.d.ts +9 -8
- package/dist/react/hooks/index.js +10 -6
- package/dist/react/hooks/options/index.d.ts +4 -4
- package/dist/react/hooks/options/index.js +7 -4
- package/dist/react/index.css +2696 -0
- package/dist/react/index.css.map +1 -1
- package/dist/react/index.d.ts +9 -9
- package/dist/react/index.js +18 -11
- package/dist/react/queries/index.d.ts +3 -3
- package/dist/react/queries/index.js +6 -3
- package/dist/react/ssr/index.d.ts +3 -3
- package/dist/react/ssr/index.js +6 -3
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/collectible-card/index.css +2696 -0
- package/dist/react/ui/components/collectible-card/index.css.map +1 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +23 -2
- package/dist/react/ui/components/collectible-card/index.js +16 -9
- package/dist/react/ui/icons/index.js +5 -2
- package/dist/react/ui/index.css +2696 -0
- package/dist/react/ui/index.css.map +1 -1
- package/dist/react/ui/index.d.ts +3 -2
- package/dist/react/ui/index.js +16 -9
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +11 -7
- package/dist/sdk-config-txlivEKe.d.ts +133 -0
- package/dist/{services-9ApY0U-o.d.ts → services-BI_w8Eq4.d.ts} +4 -4
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.js +9 -6
- package/dist/{types-DsTwmKG-.d.ts → types-isjvwapz.d.ts} +3 -3
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +5 -2
- package/package.json +6 -5
- package/src/index.ts +1 -0
- package/src/react/{hooks/options/__mocks__/marketplaceConfig.msw.ts → _internal/api/__mocks__/builder.msw.ts} +70 -63
- package/src/react/_internal/api/__mocks__/metadata.msw.ts +30 -10
- package/src/react/_internal/api/builder-api.ts +32 -0
- package/src/react/_internal/api/builder.gen.ts +215 -0
- package/src/react/_internal/api/services.ts +9 -2
- package/src/react/_internal/databeat/types.ts +1 -0
- package/src/react/_internal/wagmi/__tests__/create-config.test.ts +16 -41
- package/src/react/_internal/wagmi/create-config.ts +3 -16
- package/src/react/_internal/wagmi/get-connectors.ts +31 -21
- package/src/react/_internal/wallet/__tests__/wallet.test.ts +30 -0
- package/src/react/_internal/wallet/wallet.ts +25 -2
- package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +96 -0
- package/src/react/hooks/__tests__/useCollection.test.tsx +4 -5
- package/src/react/hooks/__tests__/useCurrencies.test.tsx +1 -1
- package/src/react/hooks/__tests__/useInventory.test.tsx +15 -16
- package/src/react/hooks/__tests__/useListCollections.test.tsx +18 -163
- package/src/react/hooks/__tests__/useMarketplaceConfig.test.tsx +10 -11
- package/src/react/hooks/options/index.ts +1 -1
- package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -0
- package/src/react/hooks/useMarketplaceConfig.tsx +2 -2
- package/src/react/queries/marketplaceConfig.ts +101 -0
- package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +1 -0
- package/src/react/ssr/create-ssr-client.ts +1 -1
- package/src/react/ui/components/ModelViewer.tsx +54 -0
- package/src/react/ui/components/_internals/custom-select/CustomSelect.tsx +0 -1
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +7 -3
- package/src/react/ui/components/collectible-card/__tests__/CollectibleAsset.test.tsx +76 -46
- package/src/react/ui/components/collectible-card/collectible-asset/CollectibleAsset.tsx +174 -0
- package/src/react/ui/components/collectible-card/collectible-asset/CollectibleAssetSkeleton.tsx +14 -0
- package/src/react/ui/components/collectible-card/collectible-asset/utils.ts +40 -0
- package/src/react/ui/components/collectible-card/index.ts +1 -0
- package/src/react/ui/index.ts +1 -0
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +6 -1
- package/src/react/ui/modals/BuyModal/store.ts +1 -0
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +20 -2
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +17 -1
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +4 -0
- package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +9 -7
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +1 -1
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +1 -1
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +7 -2
- package/src/react/ui/modals/_internal/components/priceInput/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +1 -2
- package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +0 -1
- package/src/types/index.ts +7 -1
- package/src/types/sdk-config.ts +4 -9
- package/src/utils/fetchContentType.ts +104 -0
- package/src/utils/getSequenceMarketRequestId.ts +32 -0
- package/test/mocks/wallet.ts +3 -1
- package/test/test-utils.tsx +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/builder-types-D5HgAUWR.d.ts +0 -82
- package/dist/chunk-5HEZNTSU.js.map +0 -1
- package/dist/chunk-KTT27YUN.js.map +0 -1
- package/dist/chunk-N7E37ENQ.js +0 -58
- package/dist/chunk-N7E37ENQ.js.map +0 -1
- package/dist/chunk-Y6AOCO3Q.js.map +0 -1
- package/dist/chunk-YAUZLETY.js.map +0 -1
- package/dist/sdk-config-DIzJk_tI.d.ts +0 -26
- package/src/react/hooks/options/__tests__/marketplaceConfigOptions.test.tsx +0 -134
- package/src/react/hooks/options/marketplaceConfigOptions.ts +0 -71
- package/src/react/ui/components/collectible-card/CollectibleAsset.tsx +0 -139
- package/src/types/builder-types.ts +0 -88
- /package/dist/{chunk-7FVZD2LL.js.map → chunk-4XLXOEXQ.js.map} +0 -0
- /package/dist/{chunk-O6GWM7C3.js.map → chunk-HHYNOPPI.js.map} +0 -0
- /package/dist/{chunk-Q2DA477S.js.map → chunk-YALXP2PW.js.map} +0 -0
- /package/dist/{chunk-A6V7XDY4.js.map → chunk-YBOFRP65.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# @0xsequence/marketplace-sdk
|
|
2
2
|
|
|
3
|
+
## 0.8.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fixed issues with input components while using sequence-design-system v2.1.12
|
|
8
|
+
|
|
9
|
+
## 0.8.8
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Improved metadata for analytics
|
|
14
|
+
- Better identification of asset file types (video, audio, image, 3D)
|
|
15
|
+
- Support for web-SDKs new "native-currency-address" config
|
|
16
|
+
- Removes the need to setup embedded wallet in the SDK config and retrieve wallet config from builder
|
|
17
|
+
|
|
18
|
+
```diff
|
|
19
|
+
type SdkConfig = {
|
|
20
|
+
projectAccessKey: string;
|
|
21
|
+
projectId: string;
|
|
22
|
+
- wallet?: {
|
|
23
|
+
- walletConnectProjectId?: string;
|
|
24
|
+
- embedded?: {
|
|
25
|
+
- waasConfigKey: string;
|
|
26
|
+
- googleClientId?: string;
|
|
27
|
+
- appleClientId?: string;
|
|
28
|
+
- appleRedirectURI?: string;
|
|
29
|
+
- };
|
|
30
|
+
- };
|
|
31
|
+
+ walletConnectProjectId?: string;
|
|
32
|
+
};
|
|
33
|
+
```
|
|
34
|
+
|
|
3
35
|
## 0.8.7
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-2PSNAIAT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
collectableKeys,
|
|
5
5
|
getIndexerClient,
|
|
6
6
|
getMarketplaceClient
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KGM2WLSP.js";
|
|
8
8
|
|
|
9
9
|
// src/react/queries/balanceOfCollectible.ts
|
|
10
10
|
import { queryOptions, skipToken } from "@tanstack/react-query";
|
|
@@ -408,4 +408,4 @@ export {
|
|
|
408
408
|
fetchLowestListing,
|
|
409
409
|
lowestListingOptions
|
|
410
410
|
};
|
|
411
|
-
//# sourceMappingURL=chunk-
|
|
411
|
+
//# sourceMappingURL=chunk-4XLXOEXQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MissingConfigError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NX52D7NX.js";
|
|
4
4
|
|
|
5
5
|
// src/react/_internal/wagmi/create-config.ts
|
|
6
6
|
import { getDefaultChains } from "@0xsequence/connect";
|
|
@@ -10,59 +10,6 @@ import { http, cookieStorage, createConfig, createStorage } from "wagmi";
|
|
|
10
10
|
// src/react/_internal/consts.ts
|
|
11
11
|
var DEFAULT_NETWORK = 137;
|
|
12
12
|
|
|
13
|
-
// src/react/_internal/get-provider.ts
|
|
14
|
-
var PROVIDER_ID = "sdk-provider";
|
|
15
|
-
function getProviderEl() {
|
|
16
|
-
if (!globalThis.document) return null;
|
|
17
|
-
return document.getElementById(PROVIDER_ID);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// src/react/_internal/types.ts
|
|
21
|
-
import { z } from "zod";
|
|
22
|
-
var QueryArgSchema = z.object({
|
|
23
|
-
enabled: z.boolean().optional()
|
|
24
|
-
}).optional();
|
|
25
|
-
var CollectableIdSchema = z.string().or(z.number());
|
|
26
|
-
var AddressSchema = z.string().transform((val, ctx) => {
|
|
27
|
-
const regex = /^0x[a-fA-F0-9]{40}$/;
|
|
28
|
-
if (!regex.test(val)) {
|
|
29
|
-
ctx.addIssue({
|
|
30
|
-
code: z.ZodIssueCode.custom,
|
|
31
|
-
message: `Invalid Address ${val}`
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return val;
|
|
35
|
-
});
|
|
36
|
-
var TransactionType = /* @__PURE__ */ ((TransactionType2) => {
|
|
37
|
-
TransactionType2["BUY"] = "BUY";
|
|
38
|
-
TransactionType2["SELL"] = "SELL";
|
|
39
|
-
TransactionType2["LISTING"] = "LISTING";
|
|
40
|
-
TransactionType2["OFFER"] = "OFFER";
|
|
41
|
-
TransactionType2["TRANSFER"] = "TRANSFER";
|
|
42
|
-
TransactionType2["CANCEL"] = "CANCEL";
|
|
43
|
-
return TransactionType2;
|
|
44
|
-
})(TransactionType || {});
|
|
45
|
-
|
|
46
|
-
// src/types/builder-types.ts
|
|
47
|
-
var MarketplaceWallet = /* @__PURE__ */ ((MarketplaceWallet2) => {
|
|
48
|
-
MarketplaceWallet2["UNIVERSAL"] = "UNIVERSAL";
|
|
49
|
-
MarketplaceWallet2["EMBEDDED"] = "EMBEDDED";
|
|
50
|
-
MarketplaceWallet2["ECOSYSTEM"] = "ECOSYSTEM";
|
|
51
|
-
return MarketplaceWallet2;
|
|
52
|
-
})(MarketplaceWallet || {});
|
|
53
|
-
var FilterCondition = /* @__PURE__ */ ((FilterCondition2) => {
|
|
54
|
-
FilterCondition2["ENTIRE_KEY"] = "ENTIRE_KEY";
|
|
55
|
-
FilterCondition2["SPECIFIC_VALUE"] = "SPECIFIC_VALUE";
|
|
56
|
-
return FilterCondition2;
|
|
57
|
-
})(FilterCondition || {});
|
|
58
|
-
var MarketplaceType = /* @__PURE__ */ ((MarketplaceType2) => {
|
|
59
|
-
MarketplaceType2["AMM"] = "AMM";
|
|
60
|
-
MarketplaceType2["P2P"] = "P2P";
|
|
61
|
-
MarketplaceType2["SEQUENCE"] = "SEQUENCE";
|
|
62
|
-
MarketplaceType2["ORDERBOOK"] = "ORDERBOOK";
|
|
63
|
-
return MarketplaceType2;
|
|
64
|
-
})(MarketplaceType || {});
|
|
65
|
-
|
|
66
13
|
// src/react/_internal/wagmi/get-connectors.ts
|
|
67
14
|
import {
|
|
68
15
|
apple,
|
|
@@ -80,6 +27,107 @@ import {
|
|
|
80
27
|
walletConnect
|
|
81
28
|
} from "@0xsequence/connect";
|
|
82
29
|
import React from "react";
|
|
30
|
+
|
|
31
|
+
// src/react/_internal/api/builder.gen.ts
|
|
32
|
+
var MarketplaceWallet = /* @__PURE__ */ ((MarketplaceWallet2) => {
|
|
33
|
+
MarketplaceWallet2["UNIVERSAL"] = "UNIVERSAL";
|
|
34
|
+
MarketplaceWallet2["EMBEDDED"] = "EMBEDDED";
|
|
35
|
+
MarketplaceWallet2["ECOSYSTEM"] = "ECOSYSTEM";
|
|
36
|
+
return MarketplaceWallet2;
|
|
37
|
+
})(MarketplaceWallet || {});
|
|
38
|
+
var MarketplaceType = /* @__PURE__ */ ((MarketplaceType2) => {
|
|
39
|
+
MarketplaceType2["AMM"] = "AMM";
|
|
40
|
+
MarketplaceType2["P2P"] = "P2P";
|
|
41
|
+
MarketplaceType2["SEQUENCE"] = "SEQUENCE";
|
|
42
|
+
MarketplaceType2["ORDERBOOK"] = "ORDERBOOK";
|
|
43
|
+
return MarketplaceType2;
|
|
44
|
+
})(MarketplaceType || {});
|
|
45
|
+
var FilterCondition = /* @__PURE__ */ ((FilterCondition2) => {
|
|
46
|
+
FilterCondition2["ENTIRE_KEY"] = "ENTIRE_KEY";
|
|
47
|
+
FilterCondition2["SPECIFIC_VALUE"] = "SPECIFIC_VALUE";
|
|
48
|
+
return FilterCondition2;
|
|
49
|
+
})(FilterCondition || {});
|
|
50
|
+
var WebrpcRequestFailedError = class _WebrpcRequestFailedError extends Error {
|
|
51
|
+
name;
|
|
52
|
+
code;
|
|
53
|
+
message;
|
|
54
|
+
status;
|
|
55
|
+
cause;
|
|
56
|
+
constructor(name = "WebrpcRequestFailed", code = -1, message = `request failed`, status = 0, cause) {
|
|
57
|
+
super(message);
|
|
58
|
+
this.name = name;
|
|
59
|
+
this.code = code;
|
|
60
|
+
this.message = message;
|
|
61
|
+
this.status = status;
|
|
62
|
+
this.cause = cause;
|
|
63
|
+
Object.setPrototypeOf(this, _WebrpcRequestFailedError.prototype);
|
|
64
|
+
}
|
|
65
|
+
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
66
|
+
static new(payload) {
|
|
67
|
+
return new _WebrpcRequestFailedError(
|
|
68
|
+
payload.name,
|
|
69
|
+
payload.code,
|
|
70
|
+
payload.msg || payload.message,
|
|
71
|
+
payload.status,
|
|
72
|
+
payload.cause
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
var createHTTPRequest = (body = {}, headers = {}, signal = null) => {
|
|
77
|
+
return {
|
|
78
|
+
method: "POST",
|
|
79
|
+
headers: {
|
|
80
|
+
Accept: "application/json",
|
|
81
|
+
"Content-Type": "application/json",
|
|
82
|
+
...headers
|
|
83
|
+
},
|
|
84
|
+
body: JSON.stringify(body || {}),
|
|
85
|
+
mode: "cors",
|
|
86
|
+
signal: signal || null
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
var buildResponse = (res) => {
|
|
90
|
+
if (!res.ok) {
|
|
91
|
+
return res.json().then((errData) => {
|
|
92
|
+
throw WebrpcRequestFailedError.new(errData);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return res.json();
|
|
96
|
+
};
|
|
97
|
+
var API = class {
|
|
98
|
+
hostname;
|
|
99
|
+
fetch;
|
|
100
|
+
path = "/rpc/Builder/";
|
|
101
|
+
constructor(hostname, fetch) {
|
|
102
|
+
this.hostname = hostname;
|
|
103
|
+
this.fetch = fetch;
|
|
104
|
+
}
|
|
105
|
+
url(name) {
|
|
106
|
+
return this.hostname + this.path + name;
|
|
107
|
+
}
|
|
108
|
+
lookupMarketplaceConfig = (args, headers, signal) => {
|
|
109
|
+
return this.fetch(
|
|
110
|
+
this.url("LookupMarketplaceConfig"),
|
|
111
|
+
createHTTPRequest(args, headers, signal)
|
|
112
|
+
).then(
|
|
113
|
+
(res) => {
|
|
114
|
+
return buildResponse(res).then((_data) => {
|
|
115
|
+
return {
|
|
116
|
+
projectId: _data.projectId,
|
|
117
|
+
settings: _data.settings
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
(error) => {
|
|
122
|
+
throw WebrpcRequestFailedError.new({
|
|
123
|
+
cause: `fetch(): ${error.message || ""}`
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
// src/react/_internal/wagmi/get-connectors.ts
|
|
83
131
|
function getConnectors({
|
|
84
132
|
marketplaceConfig,
|
|
85
133
|
sdkConfig,
|
|
@@ -89,7 +137,7 @@ function getConnectors({
|
|
|
89
137
|
if (walletType === "UNIVERSAL" /* UNIVERSAL */) {
|
|
90
138
|
connectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));
|
|
91
139
|
} else if (walletType === "EMBEDDED" /* EMBEDDED */) {
|
|
92
|
-
connectors.push(...getWaasConnectors(sdkConfig));
|
|
140
|
+
connectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));
|
|
93
141
|
} else if (walletType === "ECOSYSTEM" /* ECOSYSTEM */) {
|
|
94
142
|
connectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));
|
|
95
143
|
} else {
|
|
@@ -101,7 +149,7 @@ function commonConnectors(marketplaceConfig, sdkConfig) {
|
|
|
101
149
|
const wallets = [];
|
|
102
150
|
const { title: appName } = marketplaceConfig;
|
|
103
151
|
const walletOptions = marketplaceConfig.walletOptions;
|
|
104
|
-
const walletConnectProjectId = sdkConfig.
|
|
152
|
+
const walletConnectProjectId = sdkConfig.walletConnectProjectId;
|
|
105
153
|
if (walletOptions.connectors.includes("coinbase")) {
|
|
106
154
|
wallets.push(
|
|
107
155
|
coinbaseWallet({
|
|
@@ -141,18 +189,26 @@ function getUniversalWalletConfigs(config, marketplaceConfig) {
|
|
|
141
189
|
twitch(sequenceWalletOptions)
|
|
142
190
|
];
|
|
143
191
|
}
|
|
144
|
-
function getWaasConnectors(
|
|
145
|
-
const { projectAccessKey } =
|
|
146
|
-
const waasConfigKey =
|
|
147
|
-
if (!waasConfigKey)
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
];
|
|
192
|
+
function getWaasConnectors(config, marketplaceConfig) {
|
|
193
|
+
const { projectAccessKey } = config;
|
|
194
|
+
const waasConfigKey = marketplaceConfig.walletOptions.waas?.tenantKey;
|
|
195
|
+
if (!waasConfigKey)
|
|
196
|
+
throw new MissingConfigError(
|
|
197
|
+
"Embedded wallet config is missing, please check your access key"
|
|
198
|
+
);
|
|
199
|
+
const waasOptions = marketplaceConfig.walletOptions.oidcIssuers;
|
|
200
|
+
const googleClientId = waasOptions.google;
|
|
201
|
+
const appleClientId = waasOptions.apple;
|
|
202
|
+
const appleRedirectURI = globalThis.window ? `https://${globalThis.window?.location?.origin}${globalThis.window?.location?.pathname}` : void 0;
|
|
203
|
+
const wallets = [];
|
|
204
|
+
if (marketplaceConfig.walletOptions.waas?.emailEnabled) {
|
|
205
|
+
wallets.push(
|
|
206
|
+
emailWaas({
|
|
207
|
+
projectAccessKey,
|
|
208
|
+
waasConfigKey
|
|
209
|
+
})
|
|
210
|
+
);
|
|
211
|
+
}
|
|
156
212
|
if (googleClientId) {
|
|
157
213
|
wallets.push(
|
|
158
214
|
googleWaas({
|
|
@@ -215,10 +271,7 @@ var createWagmiConfig = (marketplaceConfig, sdkConfig, ssr) => {
|
|
|
215
271
|
sdkConfig.projectAccessKey,
|
|
216
272
|
nodeGatewayEnv
|
|
217
273
|
);
|
|
218
|
-
|
|
219
|
-
if (sdkConfig.wallet?.embedded?.waasConfigKey && walletType !== "ECOSYSTEM" /* ECOSYSTEM */) {
|
|
220
|
-
walletType = "EMBEDDED" /* EMBEDDED */;
|
|
221
|
-
}
|
|
274
|
+
const walletType = marketplaceConfig.walletOptions.walletType;
|
|
222
275
|
const connectors = getConnectors({
|
|
223
276
|
marketplaceConfig,
|
|
224
277
|
sdkConfig,
|
|
@@ -267,18 +320,13 @@ function getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv) {
|
|
|
267
320
|
|
|
268
321
|
export {
|
|
269
322
|
DEFAULT_NETWORK,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
AddressSchema,
|
|
275
|
-
TransactionType,
|
|
323
|
+
MarketplaceWallet,
|
|
324
|
+
MarketplaceType,
|
|
325
|
+
FilterCondition,
|
|
326
|
+
API,
|
|
276
327
|
getConnectors,
|
|
277
328
|
getWaasConnectors,
|
|
278
329
|
getEcosystemConnector,
|
|
279
|
-
createWagmiConfig
|
|
280
|
-
MarketplaceWallet,
|
|
281
|
-
FilterCondition,
|
|
282
|
-
MarketplaceType
|
|
330
|
+
createWagmiConfig
|
|
283
331
|
};
|
|
284
|
-
//# sourceMappingURL=chunk-
|
|
332
|
+
//# sourceMappingURL=chunk-D7RVSZAQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/_internal/wagmi/create-config.ts","../src/react/_internal/consts.ts","../src/react/_internal/wagmi/get-connectors.ts","../src/react/_internal/api/builder.gen.ts"],"sourcesContent":["import { getDefaultChains } from '@0xsequence/connect';\nimport { allNetworks, findNetworkConfig } from '@0xsequence/network';\nimport type { Chain, Transport } from 'viem';\nimport { http, cookieStorage, createConfig, createStorage } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types';\nimport type { MarketplaceConfig } from '../../queries/marketplaceConfig';\nimport { DEFAULT_NETWORK } from '../consts';\nimport { getConnectors } from './get-connectors';\n\nexport const createWagmiConfig = (\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n\tssr?: boolean,\n) => {\n\tconst chains = getChainConfigs(marketplaceConfig);\n\tconst nodeGatewayEnv = sdkConfig._internal?.nodeGatewayEnv ?? 'production';\n\tconst transports = getTransportConfigs(\n\t\tchains,\n\t\tsdkConfig.projectAccessKey,\n\t\tnodeGatewayEnv,\n\t);\n\n\tconst walletType = marketplaceConfig.walletOptions.walletType;\n\n\tconst connectors = getConnectors({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t\twalletType,\n\t});\n\n\tconst multiInjectedProviderDiscovery =\n\t\tmarketplaceConfig.walletOptions.includeEIP6963Wallets;\n\n\treturn createConfig({\n\t\tconnectors,\n\t\tchains,\n\t\tssr,\n\t\tmultiInjectedProviderDiscovery,\n\t\tstorage: ssr\n\t\t\t? createStorage({\n\t\t\t\t\tstorage: cookieStorage,\n\t\t\t\t})\n\t\t\t: undefined,\n\t\ttransports,\n\t});\n};\n\nfunction getChainConfigs(marketConfig: MarketplaceConfig): [Chain, ...Chain[]] {\n\tconst supportedChainIds = new Set(\n\t\tmarketConfig.collections.map((c) => c.chainId),\n\t);\n\n\tif (supportedChainIds.size === 0) {\n\t\tsupportedChainIds.add(DEFAULT_NETWORK);\n\t}\n\n\tconst chains = getDefaultChains([...supportedChainIds]);\n\n\treturn chains;\n}\n\nfunction getTransportConfigs(\n\tchains: [Chain, ...Chain[]],\n\tprojectAccessKey: string,\n\tnodeGatewayEnv: Env,\n): Record<number, Transport> {\n\treturn chains.reduce(\n\t\t(acc, chain) => {\n\t\t\tconst network = findNetworkConfig(allNetworks, chain.id);\n\t\t\tif (network) {\n\t\t\t\tlet rpcUrl = network.rpcUrl;\n\t\t\t\tif (nodeGatewayEnv === 'development') {\n\t\t\t\t\trpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');\n\t\t\t\t}\n\t\t\t\tif (!network.rpcUrl.endsWith(projectAccessKey))\n\t\t\t\t\trpcUrl = `${rpcUrl}/${projectAccessKey}`;\n\t\t\t\tacc[chain.id] = http(rpcUrl);\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<number, Transport>,\n\t);\n}\n","export const DEFAULT_NETWORK = 137;\n","import {\n\ttype SequenceOptions,\n\ttype Wallet,\n\tapple,\n\tappleWaas,\n\tcoinbaseWallet,\n\tecosystemWallet,\n\temail,\n\temailWaas,\n\tfacebook,\n\tgetConnectWallets,\n\tgoogle,\n\tgoogleWaas,\n\tsequence,\n\ttwitch,\n\twalletConnect,\n} from '@0xsequence/connect';\nimport React, { type FunctionComponent } from 'react';\nimport type { CreateConnectorFn } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types';\nimport { MissingConfigError } from '../../../utils/_internal/error/transaction';\nimport type { MarketplaceConfig } from '../../queries/marketplaceConfig';\nimport { MarketplaceWallet } from '../api/builder.gen';\nimport { DEFAULT_NETWORK } from '../consts';\n\nexport function getConnectors({\n\tmarketplaceConfig,\n\tsdkConfig,\n\twalletType,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n\twalletType: MarketplaceWallet;\n}): CreateConnectorFn[] {\n\tconst connectors = commonConnectors(marketplaceConfig, sdkConfig);\n\n\tif (walletType === MarketplaceWallet.UNIVERSAL) {\n\t\tconnectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWallet.EMBEDDED) {\n\t\tconnectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWallet.ECOSYSTEM) {\n\t\tconnectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));\n\t} else {\n\t\tthrow new Error('Invalid wallet type');\n\t}\n\n\treturn getConnectWallets(sdkConfig.projectAccessKey, connectors);\n}\n\nfunction commonConnectors(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n) {\n\tconst wallets = [];\n\tconst { title: appName } = marketplaceConfig;\n\tconst walletOptions = marketplaceConfig.walletOptions;\n\tconst walletConnectProjectId = sdkConfig.walletConnectProjectId;\n\n\tif (walletOptions.connectors.includes('coinbase')) {\n\t\twallets.push(\n\t\t\tcoinbaseWallet({\n\t\t\t\tappName,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (\n\t\twalletConnectProjectId &&\n\t\twalletOptions.connectors.includes('walletconnect')\n\t) {\n\t\twallets.push(\n\t\t\twalletConnect({\n\t\t\t\tprojectId: walletConnectProjectId,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nfunction getUniversalWalletConfigs(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst { projectAccessKey } = config;\n\tconst sequenceWalletEnv = config._internal?.sequenceWalletEnv || 'production';\n\n\tconst sequenceWalletOptions = {\n\t\twalletAppURL: getSequenceWalletURL(sequenceWalletEnv),\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tconnect: {\n\t\t\tprojectAccessKey,\n\t\t\tapp: marketplaceConfig.title,\n\t\t\tsettings: {\n\t\t\t\tbannerUrl: marketplaceConfig.ogImage,\n\t\t\t},\n\t\t},\n\t} satisfies SequenceOptions;\n\n\treturn [\n\t\tsequence(sequenceWalletOptions),\n\t\temail(sequenceWalletOptions),\n\t\tfacebook(sequenceWalletOptions),\n\t\tgoogle(sequenceWalletOptions),\n\t\tapple(sequenceWalletOptions),\n\t\ttwitch(sequenceWalletOptions),\n\t] as const;\n}\n\nexport function getWaasConnectors(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst { projectAccessKey } = config;\n\n\tconst waasConfigKey = marketplaceConfig.walletOptions.waas?.tenantKey;\n\n\tif (!waasConfigKey)\n\t\tthrow new MissingConfigError(\n\t\t\t'Embedded wallet config is missing, please check your access key',\n\t\t);\n\n\tconst waasOptions = marketplaceConfig.walletOptions.oidcIssuers;\n\tconst googleClientId = waasOptions.google;\n\tconst appleClientId = waasOptions.apple;\n\tconst appleRedirectURI = globalThis.window\n\t\t? `https://${globalThis.window?.location?.origin}${globalThis.window?.location?.pathname}`\n\t\t: undefined;\n\n\tconst wallets: Wallet[] = [];\n\n\tif (marketplaceConfig.walletOptions.waas?.emailEnabled) {\n\t\twallets.push(\n\t\t\temailWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\twaasConfigKey,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (googleClientId) {\n\t\twallets.push(\n\t\t\tgoogleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tgoogleClientId,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (appleClientId) {\n\t\twallets.push(\n\t\t\tappleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tappleClientId,\n\t\t\t\tappleRedirectURI,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nexport function getEcosystemConnector(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n): Wallet {\n\tconst ecosystemOptions = marketplaceConfig.walletOptions.ecosystem;\n\tif (!ecosystemOptions) throw new MissingConfigError('ecosystem');\n\tconst { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } =\n\t\tecosystemOptions;\n\n\treturn ecosystemWallet({\n\t\tprojectAccessKey: sdkConfig.projectAccessKey,\n\t\twalletUrl,\n\t\tname: walletAppName,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tlogoDark: getEcosystemLogo(logoDarkUrl, walletAppName),\n\t\tlogoLight: getEcosystemLogo(logoLightUrl, walletAppName),\n\t});\n}\n\nfunction getEcosystemLogo(\n\turl: string | undefined,\n\tname: string,\n): FunctionComponent {\n\tif (!url) return () => null;\n\tconst Logo = () =>\n\t\tReact.createElement('img', { src: url, alt: name, width: 32, height: 32 });\n\tLogo.displayName = 'EcosystemLogo';\n\treturn Logo;\n}\n\nfunction getSequenceWalletURL(env: Env) {\n\tswitch (env) {\n\t\tcase 'development':\n\t\t\treturn 'https://dev.sequence.app';\n\t\tcase 'production':\n\t\t\treturn 'https://sequence.app';\n\t\tcase 'next':\n\t\t\treturn 'https://next.sequence.app';\n\t}\n}\n","// Importing OrderbookKind from marketplace.gen, to avoid multiple enums\nimport { OrderbookKind } from \"./marketplace.gen\";\n\n// Extracted from builder webrpc\n\nexport interface LookupMarketplaceConfigArgs {\n projectId?: number;\n hostname?: string;\n}\n\nexport interface LookupMarketplaceConfigReturn {\n settings: MarketplaceSettings;\n}\n\nexport interface MarketplaceSettings {\n projectId: number;\n publisherId: string;\n title: string;\n shortDescription: string;\n socials: MarketplaceSocials;\n faviconUrl: string;\n landingBannerUrl: string;\n collections: Array<MarketplaceCollection>;\n walletOptions: MarketplaceWalletOptions;\n landingPageLayout: string;\n logoUrl: string;\n bannerUrl: string;\n fontUrl?: string;\n ogImage?: string;\n accessKey?: string;\n}\n\nexport interface MarketplaceSocials {\n twitter: string;\n discord: string;\n website: string;\n tiktok: string;\n instagram: string;\n youtube: string;\n}\n\nexport interface MarketplaceCollection {\n marketplaceType: MarketplaceType;\n chainId: number;\n address: string;\n exchanges: Array<string>;\n bannerUrl: string;\n feePercentage: number;\n currencyOptions: Array<string>;\n destinationMarketplace: OrderbookKind;\n filterSettings?: CollectionFilterSettings;\n isLAOSERC721?: boolean;\n}\n\nexport interface CollectionFilterSettings {\n filterOrder: Array<string>;\n exclusions: Array<MetadataFilterRule>;\n}\n\nexport interface OpenIdProvider {\n iss: string;\n aud: Array<string>;\n}\nexport interface MetadataFilterRule {\n key: string;\n condition: FilterCondition;\n value?: string;\n}\n\nexport interface MarketplaceWalletWaasSettings {\n tenantKey: string;\n emailEnabled: boolean;\n providers: Array<OpenIdProvider>;\n}\n\nexport interface MarketplaceWalletOptions {\n walletType: MarketplaceWallet;\n oidcIssuers: { [key: string]: string };\n connectors: Array<string>;\n includeEIP6963Wallets: boolean;\n ecosystem?: EcosystemWalletSettings;\n waas?: MarketplaceWalletWaasSettings;\n}\n\nexport interface EcosystemWalletSettings {\n walletUrl: string;\n walletAppName: string;\n logoLightUrl?: string;\n logoDarkUrl?: string;\n}\n\nexport enum MarketplaceWallet {\n UNIVERSAL = \"UNIVERSAL\",\n EMBEDDED = \"EMBEDDED\",\n ECOSYSTEM = \"ECOSYSTEM\",\n}\n\nexport enum MarketplaceType {\n AMM = \"AMM\",\n P2P = \"P2P\",\n SEQUENCE = \"SEQUENCE\",\n ORDERBOOK = \"ORDERBOOK\",\n}\n\nexport enum FilterCondition {\n ENTIRE_KEY = \"ENTIRE_KEY\",\n SPECIFIC_VALUE = \"SPECIFIC_VALUE\",\n}\n\nexport type Fetch = (\n input: RequestInfo,\n init?: RequestInit\n) => Promise<Response>;\n\nexport class WebrpcRequestFailedError extends Error {\n name: string;\n code: number;\n message: string;\n status: number;\n cause?: string;\n\n constructor(\n name = \"WebrpcRequestFailed\",\n code = -1,\n message = `request failed`,\n status = 0,\n cause?: string\n ) {\n super(message);\n this.name = name;\n this.code = code;\n this.message = message;\n this.status = status;\n this.cause = cause;\n Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype);\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n static new(payload: any): WebrpcRequestFailedError {\n return new WebrpcRequestFailedError(\n payload.name,\n payload.code,\n payload.msg || payload.message,\n payload.status,\n payload.cause\n );\n }\n}\n\nconst createHTTPRequest = (\n body: object = {},\n headers: object = {},\n signal: AbortSignal | null = null\n): object => {\n return {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(body || {}),\n mode: \"cors\",\n signal: signal || null,\n };\n};\n\nconst buildResponse = (res: Response): Promise<any> => {\n if (!res.ok) {\n return res.json().then((errData) => {\n throw WebrpcRequestFailedError.new(errData);\n });\n }\n return res.json();\n};\n\nexport class API {\n protected hostname: string;\n protected fetch: Fetch;\n protected path = \"/rpc/Builder/\";\n\n constructor(hostname: string, fetch: Fetch) {\n this.hostname = hostname;\n this.fetch = fetch;\n }\n\n private url(name: string): string {\n return this.hostname + this.path + name;\n }\n\n lookupMarketplaceConfig = (\n args: LookupMarketplaceConfigArgs,\n headers?: object,\n signal?: AbortSignal\n ): Promise<LookupMarketplaceConfigReturn> => {\n return this.fetch(\n this.url(\"LookupMarketplaceConfig\"),\n createHTTPRequest(args, headers, signal)\n ).then(\n (res) => {\n return buildResponse(res).then((_data) => {\n return {\n projectId: <number>_data.projectId,\n settings: <MarketplaceSettings>_data.settings,\n };\n });\n },\n (error) => {\n throw WebrpcRequestFailedError.new({\n cause: `fetch(): ${error.message || \"\"}`,\n });\n }\n );\n };\n}\n"],"mappings":"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","names":["MarketplaceWallet","MarketplaceType","FilterCondition"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// src/react/_internal/get-provider.ts
|
|
2
|
+
var PROVIDER_ID = "sdk-provider";
|
|
3
|
+
function getProviderEl() {
|
|
4
|
+
if (!globalThis.document) return null;
|
|
5
|
+
return document.getElementById(PROVIDER_ID);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// src/react/_internal/types.ts
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
var QueryArgSchema = z.object({
|
|
11
|
+
enabled: z.boolean().optional()
|
|
12
|
+
}).optional();
|
|
13
|
+
var CollectableIdSchema = z.string().or(z.number());
|
|
14
|
+
var AddressSchema = z.string().transform((val, ctx) => {
|
|
15
|
+
const regex = /^0x[a-fA-F0-9]{40}$/;
|
|
16
|
+
if (!regex.test(val)) {
|
|
17
|
+
ctx.addIssue({
|
|
18
|
+
code: z.ZodIssueCode.custom,
|
|
19
|
+
message: `Invalid Address ${val}`
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return val;
|
|
23
|
+
});
|
|
24
|
+
var TransactionType = /* @__PURE__ */ ((TransactionType2) => {
|
|
25
|
+
TransactionType2["BUY"] = "BUY";
|
|
26
|
+
TransactionType2["SELL"] = "SELL";
|
|
27
|
+
TransactionType2["LISTING"] = "LISTING";
|
|
28
|
+
TransactionType2["OFFER"] = "OFFER";
|
|
29
|
+
TransactionType2["TRANSFER"] = "TRANSFER";
|
|
30
|
+
TransactionType2["CANCEL"] = "CANCEL";
|
|
31
|
+
return TransactionType2;
|
|
32
|
+
})(TransactionType || {});
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
PROVIDER_ID,
|
|
36
|
+
getProviderEl,
|
|
37
|
+
QueryArgSchema,
|
|
38
|
+
CollectableIdSchema,
|
|
39
|
+
AddressSchema,
|
|
40
|
+
TransactionType
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=chunk-DWTLVJAW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/_internal/get-provider.ts","../src/react/_internal/types.ts"],"sourcesContent":["export const PROVIDER_ID = 'sdk-provider';\n\nexport function getProviderEl() {\n\tif (!globalThis.document) return null;\n\treturn document.getElementById(PROVIDER_ID);\n}\n","import type { Address } from 'viem';\nimport type { Chain } from 'viem';\nimport { z } from 'zod';\nimport type { ContractType, CreateReq } from '../../types';\nimport type { MarketplaceConfig, SdkConfig } from '../../types';\nimport type { MarketplaceKind, OrderbookKind } from './api';\n\nexport const QueryArgSchema = z\n\t.object({\n\t\tenabled: z.boolean().optional(),\n\t})\n\t.optional();\n\nexport type QueryArg = z.infer<typeof QueryArgSchema>;\n\nexport const CollectableIdSchema = z.string().or(z.number());\n\nexport const AddressSchema = z.string().transform((val, ctx) => {\n\tconst regex = /^0x[a-fA-F0-9]{40}$/;\n\n\tif (!regex.test(val)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: `Invalid Address ${val}`,\n\t\t});\n\t}\n\n\treturn val as Address;\n});\n\nexport type CollectionType = ContractType.ERC1155 | ContractType.ERC721;\n\ntype TransactionStep = {\n\texist: boolean;\n\tisExecuting: boolean;\n\texecute: () => Promise<void>;\n};\n\nexport type TransactionSteps = {\n\tapproval: TransactionStep;\n\ttransaction: TransactionStep;\n};\n\nexport enum TransactionType {\n\tBUY = 'BUY',\n\tSELL = 'SELL',\n\tLISTING = 'LISTING',\n\tOFFER = 'OFFER',\n\tTRANSFER = 'TRANSFER',\n\tCANCEL = 'CANCEL',\n}\n\nexport interface TransactionConfig {\n\ttype: TransactionType;\n\tchainId: number;\n\tchains: readonly Chain[];\n\tcollectionAddress: string;\n\tsdkConfig: SdkConfig;\n\tmarketplaceConfig: MarketplaceConfig;\n\torderbookKind?: OrderbookKind;\n}\n\nexport interface BuyInput {\n\torderId: string;\n\tcollectableDecimals: number;\n\tmarketplace: MarketplaceKind;\n\tquantity: string;\n}\n\nexport interface SellInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n\tquantity?: string;\n}\n\nexport interface ListingInput {\n\tcontractType: ContractType;\n\tlisting: CreateReq;\n}\n\nexport interface OfferInput {\n\tcontractType: ContractType;\n\toffer: CreateReq;\n}\n\nexport interface CancelInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n}\n"],"mappings":";AAAO,IAAM,cAAc;AAEpB,SAAS,gBAAgB;AAC/B,MAAI,CAAC,WAAW,SAAU,QAAO;AACjC,SAAO,SAAS,eAAe,WAAW;AAC3C;;;ACHA,SAAS,SAAS;AAKX,IAAM,iBAAiB,EAC5B,OAAO;AAAA,EACP,SAAS,EAAE,QAAQ,EAAE,SAAS;AAC/B,CAAC,EACA,SAAS;AAIJ,IAAM,sBAAsB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;AAEpD,IAAM,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,QAAQ;AAC/D,QAAM,QAAQ;AAEd,MAAI,CAAC,MAAM,KAAK,GAAG,GAAG;AACrB,QAAI,SAAS;AAAA,MACZ,MAAM,EAAE,aAAa;AAAA,MACrB,SAAS,mBAAmB,GAAG;AAAA,IAChC,CAAC;AAAA,EACF;AAEA,SAAO;AACR,CAAC;AAeM,IAAK,kBAAL,kBAAKA,qBAAL;AACN,EAAAA,iBAAA,SAAM;AACN,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,WAAQ;AACR,EAAAA,iBAAA,cAAW;AACX,EAAAA,iBAAA,YAAS;AANE,SAAAA;AAAA,GAAA;","names":["TransactionType"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
collectionOptions
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YALXP2PW.js";
|
|
6
6
|
import {
|
|
7
7
|
InfoIcon_default
|
|
8
8
|
} from "./chunk-EODKQL6Y.js";
|
|
@@ -27,25 +27,21 @@ import {
|
|
|
27
27
|
listBalancesOptions,
|
|
28
28
|
listCollectiblesOptions,
|
|
29
29
|
lowestListingOptions
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-4XLXOEXQ.js";
|
|
31
31
|
import {
|
|
32
32
|
marketplaceConfigOptions
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-MAD64DLJ.js";
|
|
34
34
|
import {
|
|
35
35
|
AddressSchema,
|
|
36
36
|
CollectableIdSchema,
|
|
37
37
|
PROVIDER_ID,
|
|
38
38
|
QueryArgSchema
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-DWTLVJAW.js";
|
|
40
40
|
import {
|
|
41
|
-
BaseError,
|
|
42
|
-
ChainSwitchError,
|
|
43
|
-
ChainSwitchUserRejectedError,
|
|
44
41
|
CollectibleStatus,
|
|
45
42
|
CollectionStatus,
|
|
46
43
|
ContractType,
|
|
47
44
|
MarketplaceKind,
|
|
48
|
-
NoWalletConnectedError,
|
|
49
45
|
OrderSide,
|
|
50
46
|
OrderStatus,
|
|
51
47
|
OrderbookKind,
|
|
@@ -54,15 +50,10 @@ import {
|
|
|
54
50
|
SortOrder,
|
|
55
51
|
SourceKind,
|
|
56
52
|
StepType,
|
|
57
|
-
TransactionConfirmationError,
|
|
58
53
|
TransactionCrypto,
|
|
59
|
-
TransactionExecutionError,
|
|
60
54
|
TransactionNFTCheckoutProvider,
|
|
61
55
|
TransactionOnRampProvider,
|
|
62
|
-
TransactionSignatureError,
|
|
63
56
|
TransactionSwapProvider,
|
|
64
|
-
UserRejectedRequestError,
|
|
65
|
-
WalletInstanceNotFoundError,
|
|
66
57
|
WalletKind,
|
|
67
58
|
balanceQueries,
|
|
68
59
|
collectableKeys,
|
|
@@ -72,7 +63,18 @@ import {
|
|
|
72
63
|
getMarketplaceClient,
|
|
73
64
|
getMetadataClient,
|
|
74
65
|
getQueryClient
|
|
75
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-KGM2WLSP.js";
|
|
67
|
+
import {
|
|
68
|
+
BaseError,
|
|
69
|
+
ChainSwitchError,
|
|
70
|
+
ChainSwitchUserRejectedError,
|
|
71
|
+
NoWalletConnectedError,
|
|
72
|
+
TransactionConfirmationError,
|
|
73
|
+
TransactionExecutionError,
|
|
74
|
+
TransactionSignatureError,
|
|
75
|
+
UserRejectedRequestError,
|
|
76
|
+
WalletInstanceNotFoundError
|
|
77
|
+
} from "./chunk-NX52D7NX.js";
|
|
76
78
|
|
|
77
79
|
// src/react/hooks/useAutoSelectFeeOption.tsx
|
|
78
80
|
import { zeroAddress } from "viem";
|
|
@@ -1743,7 +1745,9 @@ import {
|
|
|
1743
1745
|
|
|
1744
1746
|
// src/react/_internal/wallet/wallet.ts
|
|
1745
1747
|
import {
|
|
1748
|
+
BaseError as BaseError2,
|
|
1746
1749
|
TransactionReceiptNotFoundError,
|
|
1750
|
+
UserRejectedRequestError as ViemUserRejectedRequestError,
|
|
1747
1751
|
WaitForTransactionReceiptTimeoutError,
|
|
1748
1752
|
custom,
|
|
1749
1753
|
erc20Abi,
|
|
@@ -1873,8 +1877,15 @@ var wallet = ({
|
|
|
1873
1877
|
message: stepItem.signature.value
|
|
1874
1878
|
});
|
|
1875
1879
|
}
|
|
1876
|
-
} catch (
|
|
1880
|
+
} catch (e) {
|
|
1881
|
+
const error = e;
|
|
1877
1882
|
logger.error("Signature failed", error);
|
|
1883
|
+
if (error.cause instanceof BaseError2) {
|
|
1884
|
+
const viemError = error.cause;
|
|
1885
|
+
if (viemError instanceof ViemUserRejectedRequestError) {
|
|
1886
|
+
throw new UserRejectedRequestError();
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1878
1889
|
throw new TransactionSignatureError(stepItem.id, error);
|
|
1879
1890
|
}
|
|
1880
1891
|
},
|
|
@@ -1902,8 +1913,15 @@ var wallet = ({
|
|
|
1902
1913
|
gas: hexToBigInt(stepItem.gas)
|
|
1903
1914
|
}
|
|
1904
1915
|
});
|
|
1905
|
-
} catch (
|
|
1916
|
+
} catch (e) {
|
|
1917
|
+
const error = e;
|
|
1906
1918
|
logger.error("Transaction failed", error);
|
|
1919
|
+
if (error.cause instanceof BaseError2) {
|
|
1920
|
+
const viemError = error.cause;
|
|
1921
|
+
if (viemError instanceof ViemUserRejectedRequestError) {
|
|
1922
|
+
throw new UserRejectedRequestError();
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1907
1925
|
throw new TransactionExecutionError(stepItem.id, error);
|
|
1908
1926
|
}
|
|
1909
1927
|
},
|
|
@@ -1954,7 +1972,8 @@ var wallet = ({
|
|
|
1954
1972
|
default:
|
|
1955
1973
|
throw new Error("Unsupported contract type for approval checking");
|
|
1956
1974
|
}
|
|
1957
|
-
}
|
|
1975
|
+
},
|
|
1976
|
+
publicClient
|
|
1958
1977
|
};
|
|
1959
1978
|
return walletInstance;
|
|
1960
1979
|
};
|
|
@@ -2858,4 +2877,4 @@ export {
|
|
|
2858
2877
|
collectionDetailsPollingOptions,
|
|
2859
2878
|
useCollectionDetailsPolling
|
|
2860
2879
|
};
|
|
2861
|
-
//# sourceMappingURL=chunk-
|
|
2880
|
+
//# sourceMappingURL=chunk-G3447GIP.js.map
|