@fxhash/config 0.0.8 → 0.0.10

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 (77) hide show
  1. package/README.md +19 -2
  2. package/dist/api/base.d.ts +11 -0
  3. package/dist/api/eth.d.ts +10 -6
  4. package/dist/api/fxhash.d.ts +9 -32
  5. package/dist/api/tezos.d.ts +7 -8
  6. package/dist/config/algolia.d.ts +11 -0
  7. package/dist/config/gpu.d.ts +11 -0
  8. package/dist/config/metadata.d.ts +15 -0
  9. package/dist/config.d.ts +13 -67
  10. package/dist/constants.d.ts +2 -0
  11. package/dist/contracts/base.d.ts +30 -0
  12. package/dist/contracts/eth.d.ts +30 -13
  13. package/dist/contracts/tezos.d.ts +40 -40
  14. package/dist/errors/metadata.d.ts +14 -0
  15. package/dist/helpers.d.ts +6 -0
  16. package/dist/index.d.ts +14 -12
  17. package/dist/index.js +814 -26
  18. package/dist/index.js.map +1 -1
  19. package/dist/types.d.ts +166 -0
  20. package/dist/utils/contracts.d.ts +2 -0
  21. package/dist/utils/index.d.ts +2 -11
  22. package/dist/utils/ipfs.d.ts +25 -0
  23. package/package.json +17 -27
  24. package/dist/api/eth.cjs +0 -7
  25. package/dist/api/eth.cjs.map +0 -1
  26. package/dist/api/eth.js +0 -7
  27. package/dist/api/eth.js.map +0 -1
  28. package/dist/api/fxhash.cjs +0 -9
  29. package/dist/api/fxhash.cjs.map +0 -1
  30. package/dist/api/fxhash.js +0 -9
  31. package/dist/api/fxhash.js.map +0 -1
  32. package/dist/api/tezos.cjs +0 -9
  33. package/dist/api/tezos.cjs.map +0 -1
  34. package/dist/api/tezos.js +0 -9
  35. package/dist/api/tezos.js.map +0 -1
  36. package/dist/chunk-7WY5VFHS.js +0 -27
  37. package/dist/chunk-7WY5VFHS.js.map +0 -1
  38. package/dist/chunk-C6E7ASBV.js +0 -10
  39. package/dist/chunk-C6E7ASBV.js.map +0 -1
  40. package/dist/chunk-E7KQMDGP.cjs +0 -10
  41. package/dist/chunk-E7KQMDGP.cjs.map +0 -1
  42. package/dist/chunk-IYJZUHOI.js +0 -64
  43. package/dist/chunk-IYJZUHOI.js.map +0 -1
  44. package/dist/chunk-JQKT6SDR.cjs +0 -17
  45. package/dist/chunk-JQKT6SDR.cjs.map +0 -1
  46. package/dist/chunk-LYBPFYQE.cjs +0 -81
  47. package/dist/chunk-LYBPFYQE.cjs.map +0 -1
  48. package/dist/chunk-M6DLQFBS.cjs +0 -64
  49. package/dist/chunk-M6DLQFBS.cjs.map +0 -1
  50. package/dist/chunk-NSIM63EC.cjs +0 -27
  51. package/dist/chunk-NSIM63EC.cjs.map +0 -1
  52. package/dist/chunk-O34FLX72.cjs +0 -101
  53. package/dist/chunk-O34FLX72.cjs.map +0 -1
  54. package/dist/chunk-OX246A4J.js +0 -81
  55. package/dist/chunk-OX246A4J.js.map +0 -1
  56. package/dist/chunk-U462M4P2.js +0 -17
  57. package/dist/chunk-U462M4P2.js.map +0 -1
  58. package/dist/chunk-VRXN4ZLN.js +0 -101
  59. package/dist/chunk-VRXN4ZLN.js.map +0 -1
  60. package/dist/config.cjs +0 -16
  61. package/dist/config.cjs.map +0 -1
  62. package/dist/config.js +0 -16
  63. package/dist/config.js.map +0 -1
  64. package/dist/contracts/eth.cjs +0 -7
  65. package/dist/contracts/eth.cjs.map +0 -1
  66. package/dist/contracts/eth.js +0 -7
  67. package/dist/contracts/eth.js.map +0 -1
  68. package/dist/contracts/tezos.cjs +0 -9
  69. package/dist/contracts/tezos.cjs.map +0 -1
  70. package/dist/contracts/tezos.js +0 -9
  71. package/dist/contracts/tezos.js.map +0 -1
  72. package/dist/index.cjs +0 -51
  73. package/dist/index.cjs.map +0 -1
  74. package/dist/utils/index.cjs +0 -14
  75. package/dist/utils/index.cjs.map +0 -1
  76. package/dist/utils/index.js +0 -14
  77. package/dist/utils/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,29 +1,747 @@
1
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
+ }) : x)(function(x) {
4
+ if (typeof require !== "undefined") return require.apply(this, arguments);
5
+ throw Error('Dynamic require of "' + x + '" is not supported');
6
+ });
7
+
8
+ // src/api/eth.ts
9
+ var ethTestnetApis = {
10
+ rpcs: [
11
+ "https://eth-sepolia.g.alchemy.com/v2/fATxHNjMh0rR9DnHCtZKDpPPxkEY48Qb"
12
+ ],
13
+ reservoir: "https://api-sepolia.reservoir.tools",
14
+ safe: "https://safe-transaction-sepolia.safe.global",
15
+ whitelist: "http://localhost:9999/whitelist/new",
16
+ alchemy: {
17
+ rpc: "https://eth-sepolia.g.alchemy.com/v2/xTtlsglqRKcFwSkg2bilqp7U2smOt3g9"
18
+ }
19
+ };
20
+ var ethMainnetApis = {
21
+ rpcs: [
22
+ "https://eth-mainnet.g.alchemy.com/v2/xTtlsglqRKcFwSkg2bilqp7U2smOt3g9"
23
+ ],
24
+ reservoir: "https://api.reservoir.tools",
25
+ safe: "https://safe-transaction-mainnet.safe.global/",
26
+ whitelist: "https://api.v2.dev.fxhash-dev.xyz/whitelist/new",
27
+ alchemy: {
28
+ rpc: "https://eth-mainnet.g.alchemy.com/v2/xTtlsglqRKcFwSkg2bilqp7U2smOt3g9"
29
+ }
30
+ };
31
+
32
+ // src/api/tezos.ts
33
+ var tezosTestnetApis = {
34
+ tzkt: "https://api.ghostnet.tzkt.io/v1/",
35
+ tzktPro: "https://api.ghostnet.tzkt.io/v1/",
36
+ tzktWebsite: "https://ghostnet.tzkt.io/",
37
+ rpcs: [
38
+ "https://ghostnet.ecadinfra.com",
39
+ "https://ghostnet.smartpy.io",
40
+ "https://ghostnet.tezos.marigold.dev/"
41
+ ]
42
+ };
43
+ var tezosMainnetApis = {
44
+ tzkt: "https://api.tzkt.io/v1/",
45
+ tzktPro: "https://pro.tzkt.io/v1/",
46
+ tzktWebsite: "https://tzkt.io/",
47
+ rpcs: [
48
+ "https://rpc1.fxhash.xyz",
49
+ "https://mainnet.smartpy.io",
50
+ "https://mainnet.api.tez.ie",
51
+ "https://teznode.letzbake.com"
52
+ ]
53
+ };
54
+
55
+ // src/helpers.ts
56
+ var HOST_LOCAL = "localhost";
57
+ var HOST_DOCKER_INTERNAL = "host.docker.internal";
58
+ function getDockerInternalUrl(url) {
59
+ return url.replace(HOST_LOCAL, HOST_DOCKER_INTERNAL);
60
+ }
61
+ var isProd = (() => {
62
+ return process.env.FXHASH_ENV === "prd" || process.env.FXHASH_ENV === "production" || process.env.NEXT_PUBLIC_FXHASH_ENV === "prd" || process.env.NEXT_PUBLIC_FXHASH_ENV === "production" || process.env.REACT_APP_FXHASH_ENV === "prd" || process.env.REACT_APP_FXHASH_ENV === "production" || process.env.VITE_FXHASH_ENV === "prd" || process.env.VITE_FXHASH_ENV === "production";
63
+ })();
64
+ var isLocal = (() => {
65
+ return process.env.FXHASH_ENV === "local" || process.env.NEXT_PUBLIC_FXHASH_ENV === "local" || process.env.REACT_APP_FXHASH_ENV === "local" || process.env.VITE_FXHASH_ENV === "local";
66
+ })();
67
+ var isDockerLocal = (() => {
68
+ const isBrowser = typeof window !== "undefined";
69
+ if (isBrowser) return false;
70
+ let fs;
71
+ try {
72
+ fs = __require("fs");
73
+ } catch (e) {
74
+ return false;
75
+ }
76
+ if (!fs) return false;
77
+ return isLocal && fs.existsSync("/.dockerenv");
78
+ })();
79
+ function getEnv() {
80
+ if (isProd) return "prd";
81
+ if (isLocal) {
82
+ return isDockerLocal ? "localDocker" : "local";
83
+ }
84
+ return "dev";
85
+ }
86
+
87
+ // src/api/fxhash.ts
88
+ var fxhashDevApis = {
89
+ website: "https://beta.fxhash-dev.xyz",
90
+ docs: "https://docs.fxhash.xyz",
91
+ main: "https://api.v2-temp.dev.fxhash-dev.xyz/graphql",
92
+ hasura: "https://api.v2.dev.fxhash-dev.xyz",
93
+ hasuraGql: "https://api.v2.dev.fxhash-dev.xyz/v1/graphql",
94
+ file: "https://file-api.fxhash-dev.xyz",
95
+ fileInternal: "http://fxhash-multichain-dev-testnet-file-api.fxhash-multichain-dev-testnet.svc.cluster.local:4004",
96
+ walletInternal: "http://fxhash-multichain-dev-testnet-wallet-api.fxhash-multichain-dev-testnet.svc.cluster.local:3208",
97
+ fsEmulator: "https://file-api.fxhash-dev.xyz/fs",
98
+ extract: "https://extract.fxhash-dev.xyz",
99
+ extractInternal: "http://fxhash-dev-testnet-extract-balancer.fxhash-dev-testnet.svc.cluster.local:4017",
100
+ media: "https://media.dev.fxhash-dev.xyz",
101
+ ethMetadata: "https://media.dev.fxhash-dev.xyz/metadata/ethereum/",
102
+ ipfsInternal: "http://fxhash-dev-testnet-ipfs-cluster-api.fxhash-dev-testnet.svc.cluster.local:9094",
103
+ ipfsGateway: "https://gateway.fxhash-dev.xyz",
104
+ ipfsGatewaySafe: "https://gateway.fxhash-dev2.xyz",
105
+ ipfsGatewayInternal: "http://fxhash-dev-testnet-ipfs-cluster-gateway.fxhash-dev-testnet.svc.cluster.local:8080",
106
+ onchfsProxy: "https://onchfs.fxhash-dev2.xyz",
107
+ opensea: "https://testnets-api.opensea.io/api/v2",
108
+ authority: {
109
+ api: "NONE"
110
+ },
111
+ capture: {
112
+ lambdas: {
113
+ small: "https://u5not5l323zczuwnrzxwkt34ra0eyidj.lambda-url.us-east-1.on.aws/",
114
+ medium: "https://jgfz7a6km7fsqonej2sp3lqwvu0utnyy.lambda-url.us-east-1.on.aws/",
115
+ large: "https://fzezvbp2f74yturkj4akjyrq3e0zswhb.lambda-url.us-east-1.on.aws/"
116
+ },
117
+ proxy: {
118
+ ipfs: "ipfs://Qme6E5z1GDqrHyPomGEw5LChxmE9pdEYGWjwxrv6ZgwZRo",
119
+ onchfs: "onchfs://4287364ed3219d3f2f77302a71eff0db49e971058ef87f163981ef89a445b143"
120
+ }
121
+ },
122
+ events: {
123
+ liveBackend: "_NONE"
124
+ },
125
+ indexer: {
126
+ tez: "http://fxhash-multichain-dev-testnet-indexer-v2.fxhash-multichain-dev-testnet.svc.cluster.local:4001",
127
+ eth: "http://fxhash-multichain-dev-testnet-eth-indexer.fxhash-multichain-dev-testnet.svc.cluster.local:3000",
128
+ base: "http://fxhash-multichain-dev-testnet-base-indexer.fxhash-multichain-dev-testnet.svc.cluster.local:3000"
129
+ }
130
+ };
131
+ var fxhashLocalApis = {
132
+ ...fxhashDevApis,
133
+ website: "http://localhost:3200",
134
+ hasura: "http://localhost:8888",
135
+ hasuraGql: "http://localhost:8888/v1/graphql",
136
+ fileInternal: fxhashDevApis.file,
137
+ ipfsGatewayInternal: fxhashDevApis.ipfsGateway,
138
+ walletInternal: "http://host.docker.internal:3208"
139
+ };
140
+ var fxhashLocalDockerApis = {
141
+ ...fxhashLocalApis,
142
+ hasura: getDockerInternalUrl(fxhashLocalApis.hasura),
143
+ hasuraGql: getDockerInternalUrl(fxhashLocalApis.hasuraGql)
144
+ };
145
+ var fxhashPrdApis = {
146
+ website: "https://www.fxhash.xyz",
147
+ docs: "https://docs.fxhash.xyz",
148
+ main: "https://api.v2-temp.fxhash.xyz/graphql",
149
+ hasura: "https://api.v2.fxhash.xyz",
150
+ hasuraGql: "https://api.v2.fxhash.xyz/v1/graphql",
151
+ file: "https://file-api.fxhash.xyz",
152
+ fileInternal: "http://fxhash-multichain-prd-file-api.fxhash-multichain-prd.svc.cluster.local:4004",
153
+ walletInternal: "http://fxhash-multichain-prd-wallet-api.fxhash-multichain-prd.svc.cluster.local:3208",
154
+ fsEmulator: "https://file-api.fxhash.xyz/fs",
155
+ extract: "https://extract.fxhash.xyz",
156
+ extractInternal: "http://fxhash-prd-extract-balancer.fxhash-prd.svc.cluster.local:4017",
157
+ media: "https://media.fxhash.xyz",
158
+ ethMetadata: "https://media.fxhash.xyz/metadata/ethereum/",
159
+ ipfsInternal: "http://fxhash-prd-ipfs-cluster-api.fxhash-prd.svc.cluster.local:9094",
160
+ ipfsGateway: "https://gateway.fxhash.xyz",
161
+ ipfsGatewaySafe: "https://gateway.fxhash2.xyz",
162
+ ipfsGatewayInternal: "http://fxhash-prd-ipfs-cluster-gateway.fxhash-prd.svc.cluster.local:8080",
163
+ onchfsProxy: "https://onchfs.fxhash2.xyz",
164
+ opensea: "https://api.opensea.io/api/v2",
165
+ authority: {
166
+ api: "NONE"
167
+ },
168
+ capture: {
169
+ lambdas: {
170
+ small: "https://7sz7knaaw3obgqxjyv3m4e5myu0lsbdp.lambda-url.us-east-1.on.aws/",
171
+ medium: "https://tuupcq6eesbfk4veuzdfrhu7zm0zwuqy.lambda-url.us-east-1.on.aws/",
172
+ large: "https://bojj24y6ucxmsyfi4uccdmiliy0dzhji.lambda-url.us-east-1.on.aws/"
173
+ },
174
+ proxy: {
175
+ ipfs: "ipfs://Qme6E5z1GDqrHyPomGEw5LChxmE9pdEYGWjwxrv6ZgwZRo",
176
+ onchfs: "onchfs://4287364ed3219d3f2f77302a71eff0db49e971058ef87f163981ef89a445b143"
177
+ }
178
+ },
179
+ events: {
180
+ liveBackend: "_NONE"
181
+ },
182
+ indexer: {
183
+ tez: "http://fxhash-multichain-prd-indexer-v2.fxhash-multichain-prd.svc.cluster.local:4001",
184
+ eth: "http://fxhash-multichain-prd-eth-indexer.fxhash-multichain-prd.svc.cluster.local:3000",
185
+ base: "http://fxhash-multichain-prd-base-indexer.fxhash-multichain-prd.svc.cluster.local:3000"
186
+ }
187
+ };
188
+ var fxEnvToApisMap = {
189
+ local: fxhashLocalApis,
190
+ localDocker: fxhashLocalDockerApis,
191
+ dev: fxhashDevApis,
192
+ prd: fxhashPrdApis
193
+ };
194
+ function fxApisByEnv(env) {
195
+ return fxEnvToApisMap[env];
196
+ }
197
+
198
+ // src/contracts/tezos.ts
199
+ var tezosTestnetContracts = {
200
+ allowed_mint: "KT1QwfqMUDRYVyxo9KhunY5YCx9qQ9LWcswr",
201
+ allowed_mint_issuer: "KT1WDByFKQmgVynxSr2rzdijs5aSs7mo7eBM",
202
+ allowed_mint_issuer_v3: "KT1S3UqrLgMpVivNWWmBUnkPCaSFHDJ4HYvb",
203
+ allowed_mint_v3: "KT1HUE2A6CHNw4NZZBWjJyG38nysWWfusagu",
204
+ articles: "KT1HV8NXUCKWC1tWNHSD8LPPiKPshQuXvb8r",
205
+ card_proxy: "KT1R6N27Qdw4RqeSUnYkw436uZrFSRWtxqbd",
206
+ collaboration_factory: "KT1WFXts7jwxpD9uGDKzyqTUTFaG222xmjoZ",
207
+ consumable_database: "KT1FP9y1PJpJkXhdJCgYZhVbj9UBpxnA57Bx",
208
+ cycles: "KT1BJBcvtgZM2Kf4rUapmp4AhXtWCmznxd6F",
209
+ gentk_v1: "KT1ExHjELnDuat9io3HkDcrBhHmek7h8EVXG",
210
+ gentk_v1_data: "KT1SquPSN9oiMUWHG9coKRJAwz8Afe4c6izT",
211
+ gentk_v2: "KT1NkZho1yRkDdQnN4Mz93sDYyY2pPrEHTNs",
212
+ gentk_v3: "KT1TtVAyjh4Ahdm8sLZwFnL7tqoLf59XrK2h",
213
+ issuer_tickets: "KT19PBsvmB2CwFqXftzb5gNJfxrEDFdSxGKZ",
214
+ issuer_v0: "KT1PyfrDD85RxUWz8dMHoC92MxdPzecSQ5t9",
215
+ issuer_v1: "KT1QwWVZogqPZZtGSVxGpLkEWar7LFvAsMdd",
216
+ issuer_v2: "KT1Sy7X6TubmZ39G8CHVrUcxjc3jiF68P8oB",
217
+ issuer_v3: "KT1DfymMp3qD5Pd5ujPjp7UsQbppY9yY1Hbf",
218
+ marketplace_v1: "KT1DbivePcuUzCp5RaAQWxPSLV9G2Ys4faUR",
219
+ marketplace_v2: "KT1HFYtf4vNCr4xRDZxLKc5asUdCsPUTTW9R",
220
+ marketplace_v3: "KT1J6rt4d9U785DZWYEPvQ2fR1e71gxP42Lj",
221
+ moderation_articles: "KT1Qg78fa81Xyjh65yNqUgVucubHUyq6VmgL",
222
+ moderation_team: "KT1RsfyWzHs1EEWMzFLmKnJTQwPqRzsnF3Dp",
223
+ moderation_token: "KT1PokFR36CcXKh3jUnjncabcuPWm5BMiqjt",
224
+ moderation_token_v3: "KT1C1J38YR6eDvRBDEDaypptCFda9aH7FRbJ",
225
+ moderation_user: "KT1Q3s7mYpscCnwsyndrVZg9WqBCmw99n37g",
226
+ pricing_dutch_auction: "KT1BqikbUisiBBd9WvPiqnTwLY8Pm68p2Aua",
227
+ pricing_dutch_auction_v3: "KT1QCboxZ28SqsfyZWTDrkSpZzU6xjZXBsFb",
228
+ pricing_fixed: "KT1PAsf9Zc9FGJA9iLE1Ab2vPkMDsh4hyZVi",
229
+ pricing_fixed_v3: "KT1Mqyy5JPknNzNJtgF93SHpFHv4VcYrNZry",
230
+ randomizer: "KT1QmdsrJWJgK3VXid8q7D4sPipVoc9jh12x",
231
+ randomizer_v2: "KT1Eow4nBY3B9EhWcX1aEXva67VkNFfP1Tq6",
232
+ token_moderation: "KT1BHfPDMRp2q48ZkmmnK7TRzQRdFnp6XVKq",
233
+ treasury: "KT1MbDbRhZPs5TzZEXkT142ePoccFHfohBoo",
234
+ user_moderation: "KT1LmZjoitx2itnB1qCbHMrT3V64RbuSPf3a",
235
+ user_register: "KT1XaikgmBDQANBvkFqyFhSpgAZJAXpiDFGE",
236
+ onchfs_files: "KT1FA8AGGcJha6S6MqfBUiibwTaYhK8u7s9Q"
237
+ };
238
+ var tezosMainnetContracts = {
239
+ allowed_mint: "KT1VDQwskdfHkSbA9W6CSEnxnh1u1XU8K8Gu",
240
+ allowed_mint_issuer: "KT1Djz5ix2yEGmV7PMq3GYq17TvMMkd1anT2",
241
+ allowed_mint_issuer_v3: "KT1LJ4R4xoEWMgTjrGrdHJAeHLYFaB4RsoVK",
242
+ allowed_mint_v3: "KT1KgEjxqfRCMwtCGifT6fDPwC35RptTUEvE",
243
+ articles: "KT1GtbuswcNMGhHF2TSuH1Yfaqn16do8Qtva",
244
+ card_proxy: "KT1DQGSRsgHcf2TPdKGc4qm5AT9JprJCAo7j",
245
+ collaboration_factory: "KT1JrUPSCt1r2MB2J7Lk2KwiWSYr3Mr414ck",
246
+ consumable_database: "KT1Mbfkqh5EhebWuMvqAfUPTpgiBPwmQCDSD",
247
+ cycles: "KT1BgD9SPfysnMz3vkfm6ZEaGFKCVcE5ay91",
248
+ gentk_v1: "KT1KEa8z6vWXDJrVqtMrAeDVzsvxat3kHaCE",
249
+ gentk_v1_data: "KT1WRpPyXHSCbTfDQFWVXbMpxxvf7Y7KChxc",
250
+ gentk_v2: "KT1U6EHmNxJTkvaWJ4ThczG4FSDaHC21ssvi",
251
+ gentk_v3: "KT1EfsNuqwLAWDd3o4pvfUx1CAh5GMdTrRvr",
252
+ issuer_tickets: "KT19etLCjCCzTLFFAxsxLFsVYMRPetr2bTD5",
253
+ issuer_v0: "KT1AEVuykWeuuFX7QkEAMNtffzwhe1Z98hJS",
254
+ issuer_v1: "KT1XCoGnfupWk7Sp8536EfrxcP73LmT68Nyr",
255
+ issuer_v2: "KT1BJC12dG17CVvPKJ1VYaNnaT5mzfnUTwXv",
256
+ issuer_v3: "KT1Xpmp15KfqoePNW9HczFmqaGNHwadV2a3b",
257
+ marketplace_v1: "KT1Xo5B7PNBAeynZPmca4bRh6LQow4og1Zb9",
258
+ marketplace_v2: "KT1GbyoDi7H1sfXmimXpptZJuCdHMh66WS9u",
259
+ marketplace_v3: "KT1M1NyU9X4usEimt2f3kDaijZnDMNBu42Ja",
260
+ moderation_articles: "KT1A36z7nG4zPDbhjyrzhYf9SCn5ipPZeRMQ",
261
+ moderation_team: "KT1FvGQcPxzuJkJsdWFQiGkueSNT5mqpFDrf",
262
+ moderation_token: "KT18tPu7uXy9PJ97i3qCLsr7an4X6sQ5qxU7",
263
+ moderation_token_v3: "KT1UBWXN1KxTh4eurrCTCH7aEjqdrM3HjP6R",
264
+ moderation_user: "KT1Wn2kkKmdbyLWBiLXWCkE7fKj1LsLKar2A",
265
+ pricing_dutch_auction: "KT1EzLrXRCXij42pKfbZPn48PuxrnVki1aYY",
266
+ pricing_dutch_auction_v3: "KT1MFgHKorMWXeVL6qrpgjZmemirafppSg9q",
267
+ pricing_fixed: "KT1FHzHxuMaNLYG8LdniY45M6RCfkF3AoXFh",
268
+ pricing_fixed_v3: "KT1V24J6FVuKPU3xy6gVF6wJ3zdRXBheQhaV",
269
+ randomizer: "KT1XYgKrzBbzsckGvXTPgxFyN7KNZ9RPYVWf",
270
+ randomizer_v2: "KT1CfmepqJkfZwqLPFVMKFoYUS7dPPZHyCTo",
271
+ token_moderation: "KT1HgVuzNWVvnX16fahbV2LrnpwifYKoFMRd",
272
+ treasury: "KT1P2BXYb894MekrCcSrnidzQYPVqitLoVLc",
273
+ user_moderation: "KT1TWWQ6FtLoosVfZgTKV2q68TMZaENhGm54",
274
+ user_register: "KT1Ezht4PDKZri7aVppVGT4Jkw39sesaFnww",
275
+ onchfs_files: "KT1Ae7dT1gsLw2tRnUMXSCmEyF74KVkM6LUo"
276
+ };
277
+
278
+ // src/contracts/eth.ts
279
+ var ethTestnetContracts = {
280
+ multicall3: "0xcA11bde05977b3631167028862bE2a173976CA11",
281
+ seaport_zone: "0x0000000006B429721d1F4c4cD256BF3A38c09Ac6",
282
+ issuer_factory_v1: "0x4e9ef916F55B5d4a27E6406C7Ce8bcd29c2693d6",
283
+ mint_ticket_factory_v1: "0xbaed21d8C57caf71578b9aE1E09a68721d0Dd02d",
284
+ dutch_auction_minter_v1: "0x2F8ea350E7F29BCaC2AEE5889d64df07EE3Fa98d",
285
+ fixed_price_minter_v1: "0xa6c9c758e80ec18e1a28d485b97400B11dCFCD64",
286
+ ticket_redeemer_v1: "0xdd29eA613e0553fc03f5762Bf643710a7987A216",
287
+ ipfs_renderer_v1: "0x17b9c8a7C6F9D3768D4DA75EBB6abDe9FBe900cf",
288
+ onchfs_renderer_v1: "0x25B087D2c87a0b34188a530dC9cCfDa30822AA8e",
289
+ randomizer_v1: "0x5962e4dEeDe2DB4A83259255D30c19F4397FD5A6",
290
+ role_registry_v1: "0x92B70c5C6E676BdC395DfD911c07392fc7C36E4F",
291
+ contract_registry_v1: "0xb7CFDcDb2c6a1D05D7b85FB4ae7B7bccd028010F",
292
+ gen_art_token_impl_v1: "0x1feeb359e96E6Dd6F19F1FC98e8FffDdf5AeaD58",
293
+ mint_ticket_impl_v1: "0x0303e3a5be6e9Fa21E72cE446a402a6AEec13c60",
294
+ onchfs_file_system: "0x4f555d39e89f6d768f75831d610b3940fa94c6b1",
295
+ onchfs_content_store: "0x070e5A608705aC4954eec054f9074eEe49bDcbfF",
296
+ seaport: "0x00cA04c45da318d5b7E7B14D5381Ca59F09C73f0",
297
+ fxhashTeamSafeAddress: "0x4F073947573FF44621cA25061Fb035c73a3014ab",
298
+ signerSafe: "0x4F073947573FF44621cA25061Fb035c73a3014ab",
299
+ moderationSafe: "0x4F073947573FF44621cA25061Fb035c73a3014ab",
300
+ farcaster_frame_fixed_price_minter_v1: "0xB0905f81167bD90ABD5a583E029D27DA77568084",
301
+ fx_token: "0xfa2e08ebfa6dae5ff68c3a0e2eb33a78f363f9fe"
302
+ };
303
+ var ethMainnetContracts = {
304
+ multicall3: "0xcA11bde05977b3631167028862bE2a173976CA11",
305
+ seaport_zone: "0x0000000006B429721d1F4c4cD256BF3A38c09Ac6",
306
+ issuer_factory_v1: "0x442295de8A31d65026dBc09c29d469F6854f188a",
307
+ mint_ticket_factory_v1: "0xDB92ed0e6265d042F05E5C2f6D2F99496e87D706",
308
+ dutch_auction_minter_v1: "0x1bC736a2b144096a4752534C557D7E6C311CcAF1",
309
+ fixed_price_minter_v1: "0xB645cFfD9bFB93c2c181d5Be0D6a8C1d81C2aEf3",
310
+ ticket_redeemer_v1: "0x3D72011b1bB52e33f9D81Fc5553FF4765e3f32c1",
311
+ ipfs_renderer_v1: "0x48F00F8314920ca0cd763D74acFe8cFE4024a274",
312
+ onchfs_renderer_v1: "0xe9fE6b2e494E40404AcB2b8B0a0Bc7b79FD03c83",
313
+ randomizer_v1: "0xED32Ed47A75e298433cF822E10645C04a0B95075",
314
+ role_registry_v1: "0x22b9Dd17BA1132C027d780bC0A784f08f244022B",
315
+ contract_registry_v1: "0x4DAc308c686D747A804B7E95db606695a529A750",
316
+ gen_art_token_impl_v1: "0x429AC1aA66220573Da6928bcce7384fe50e1284f",
317
+ mint_ticket_impl_v1: "0xc2743B0B901eDAA8ccd1A09914449A797e1079F1",
318
+ onchfs_file_system: "0x9e0f2864c6f125bbf599df6ca6e6c3774c5b2e04",
319
+ onchfs_content_store: "0xC6806fd75745bB5F5B32ADa19963898155f9DB91",
320
+ seaport: "0x00cA04c45da318d5b7E7B14D5381Ca59F09C73f0",
321
+ fxhashTeamSafeAddress: "0xD8b1905022d70e74c6c8aaA2baaf275fBe1634f1",
322
+ signerSafe: "0xB456aF77dEB65065462BD1f0D9098413E6CA4200",
323
+ moderationSafe: "0x99CDaECbe1be4B7232a4f2c79EF76D403886FE1E",
324
+ farcaster_frame_fixed_price_minter_v1: "0x6e625892C739bFD960671Db5544E260757480725",
325
+ fx_token: "0xTODO"
326
+ };
327
+
328
+ // src/api/base.ts
329
+ var baseTestnetApis = {
330
+ rpcs: ["https://sepolia.base.org"],
331
+ reservoir: "https://api-base-sepolia.reservoir.tools",
332
+ safe: "https://safe-transaction-base-sepolia.safe.global/",
333
+ whitelist: "http://localhost:9999/whitelist/new",
334
+ alchemy: {
335
+ rpc: "https://base-sepolia.g.alchemy.com/v2/xTtlsglqRKcFwSkg2bilqp7U2smOt3g9"
336
+ }
337
+ };
338
+ var baseMainnetApis = {
339
+ rpcs: ["https://mainnet.base.org"],
340
+ reservoir: "https://api-base.reservoir.tools",
341
+ safe: "https://safe-transaction-base.safe.global/",
342
+ whitelist: "https://api.v2.dev.fxhash-dev.xyz/whitelist/new",
343
+ alchemy: {
344
+ rpc: "https://base-mainnet.g.alchemy.com/v2/xTtlsglqRKcFwSkg2bilqp7U2smOt3g9"
345
+ }
346
+ };
347
+
348
+ // src/config/metadata.ts
349
+ import { failure, success } from "@fxhash/utils";
350
+
351
+ // src/errors/metadata.ts
1
352
  import {
2
- devConfig,
3
- fxhashConfig,
4
- prdConfig
5
- } from "./chunk-VRXN4ZLN.js";
6
- import {
7
- ethTestnetApis
8
- } from "./chunk-C6E7ASBV.js";
9
- import {
10
- fxhashDevApis,
11
- fxhashPrdApis
12
- } from "./chunk-IYJZUHOI.js";
13
- import {
14
- tezosMainnetApis,
15
- tezosTestnetApis
16
- } from "./chunk-7WY5VFHS.js";
17
- import {
18
- ethTestnetContracts
19
- } from "./chunk-U462M4P2.js";
20
- import {
21
- tezosMainnetContracts,
22
- tezosTestnetContracts
23
- } from "./chunk-OX246A4J.js";
353
+ RichError,
354
+ isRichErrorMessages
355
+ } from "@fxhash/errors";
356
+ var AppMetadataInvalidTypeError = class extends RichError {
357
+ constructor() {
358
+ super(...arguments);
359
+ this.name = "AppMetadataInvalidTypeError";
360
+ this.messages = {
361
+ dev: "App metadata should be an object."
362
+ };
363
+ }
364
+ };
365
+ var AppMetadataMissingPropertiesError = class extends RichError {
366
+ constructor(par1) {
367
+ super(
368
+ isRichErrorMessages(par1) ? par1 : {
369
+ dev: `App metadata is missing required properties ${par1.map((p) => `"${p}"`).join(", ")}`
370
+ }
371
+ );
372
+ this.name = "AppMetadataMissingPropertiesError";
373
+ }
374
+ };
24
375
 
25
- // src/index.ts
26
- var config = process.env.FXHASH_ENV === "prd" || process.env.FXHASH_ENV === "production" ? prdConfig : devConfig;
376
+ // src/config/metadata.ts
377
+ var crossEnvMetadata = {
378
+ name: "FXHASH",
379
+ description: "fxhash is a blockchain open platform for Generative Art",
380
+ icon: "https://gateway.fxhash2.xyz/ipfs/QmUQUtCenBEYQLoHvfFCRxyHYDqBE49UGxtcp626FZnFDG"
381
+ };
382
+ function fxAppEnvMetadata(env) {
383
+ return {
384
+ ...crossEnvMetadata,
385
+ url: fxApisByEnv(env).website
386
+ };
387
+ }
388
+ function isAppMetadataValid(value) {
389
+ if (!(typeof value === "object"))
390
+ return failure(new AppMetadataInvalidTypeError());
391
+ const missingProperties = [];
392
+ const requiredProperties = [
393
+ "name",
394
+ "description",
395
+ "url"
396
+ ];
397
+ for (const prop of requiredProperties) {
398
+ if (!value[prop]) missingProperties.push(prop);
399
+ }
400
+ if (missingProperties.length > 0)
401
+ return failure(new AppMetadataMissingPropertiesError(missingProperties));
402
+ return success();
403
+ }
404
+
405
+ // src/config/algolia.ts
406
+ var algoliaConfig = {
407
+ enabled: true,
408
+ indexGenerativeTokens: "generative-tokens",
409
+ indexOffers: "listings",
410
+ indexUsers: "users",
411
+ indexArticles: "articles",
412
+ indexAccounts: "accounts"
413
+ };
414
+ var algoliaConfigDev = {
415
+ appId: "T4XRS2LFQK",
416
+ ...algoliaConfig
417
+ };
418
+ var algoliaConfigProd = {
419
+ appId: "F7M6D8T095",
420
+ ...algoliaConfig
421
+ };
422
+
423
+ // src/config/gpu.ts
424
+ var GPU_VERSIONS = ["v111", "v132"];
425
+ var gpuRenderingConfigShared = {
426
+ v111: {
427
+ date: "2023-03-06",
428
+ version: "111.0.5563.64"
429
+ },
430
+ v132: {
431
+ date: "2025-01-14",
432
+ version: "132.0.6834.110"
433
+ }
434
+ };
435
+ var createEnvConfig = (batchArns) => {
436
+ return Object.fromEntries(
437
+ GPU_VERSIONS.map((version) => [
438
+ version,
439
+ {
440
+ ...gpuRenderingConfigShared[version],
441
+ batchArn: batchArns[version]
442
+ }
443
+ ])
444
+ );
445
+ };
446
+ var gpuRenderingConfigDev = createEnvConfig({
447
+ v111: "arn:aws:batch:us-east-1:409089350506:job-definition/fxhash-batch-dev-fxhash-extract-chrome-v111",
448
+ v132: "arn:aws:batch:us-east-1:409089350506:job-definition/fxhash-batch-dev-fxhash-extract-chrome-v132"
449
+ });
450
+ var gpuRenderingConfigProd = createEnvConfig({
451
+ v111: "arn:aws:batch:us-east-1:759392670381:job-definition/fxhash-batch-prd-fxhash-extract-chrome-v111",
452
+ v132: "arn:aws:batch:us-east-1:759392670381:job-definition/fxhash-batch-prd-fxhash-extract-chrome-v132"
453
+ });
454
+
455
+ // src/contracts/base.ts
456
+ var baseTestnetContracts = {
457
+ multicall3: "0xcA11bde05977b3631167028862bE2a173976CA11",
458
+ seaport_zone: "0x0000000006B429721d1F4c4cD256BF3A38c09Ac6",
459
+ issuer_factory_v1: "0x60cFDE3aaf6E938535767794088cf15EaaC50019",
460
+ mint_ticket_factory_v1: "0x8A7e5eE0CeA42DBE1d2aAC4501262B0edC5B518B",
461
+ dutch_auction_minter_v1: "0xeb5Cee0eD6A47BE2A463A0C9e83dA5DE6149d375",
462
+ fixed_price_minter_v1: "0x29159d2DFbF93E991d39Dc080a5f8dcc5C90ebb8",
463
+ ticket_redeemer_v1: "0xFfbC4F51AB33E14380893213d7C969e0626c4C43",
464
+ ipfs_renderer_v1: "0x7657C31078d8bfB8d1BC127fC04dAd23B3f451ed",
465
+ onchfs_renderer_v1: "0xf23C64BA846557c24E6F5086376047b0CE70d1cC",
466
+ randomizer_v1: "0xCA6323f03B5113471BA3b7B2F4Ba0AA2D45aE257",
467
+ role_registry_v1: "0x179f5B8FE1c270D7fC1807355F3fd981A30e21A6",
468
+ contract_registry_v1: "0xd44B3b2Ee596613c1aFcF85c9b0E41A0ec8B79E2",
469
+ gen_art_token_impl_v1: "0x06976f5C039497d8a79Cc0dCE7A95B3E9748164A",
470
+ mint_ticket_impl_v1: "0xa71b5935366BA29332033217a9E83698acadfd2f",
471
+ onchfs_file_system: "0x3fb48e03291b2490f939c961a1ad088437129f71",
472
+ onchfs_content_store: "0x48AC7370df2d5982852172A4D857c29608AFa774",
473
+ seaport: "0x00cA04c45da318d5b7E7B14D5381Ca59F09C73f0",
474
+ fxhashTeamSafeAddress: "0x8a4f6e1ae6Bb77EFE7646f9649Bfd519fA638871",
475
+ signerSafe: "0x8a4f6e1ae6Bb77EFE7646f9649Bfd519fA638871",
476
+ moderationSafe: "0x8a4f6e1ae6Bb77EFE7646f9649Bfd519fA638871",
477
+ farcaster_frame_fixed_price_minter_v1: "0xB0905f81167bD90ABD5a583E029D27DA77568084",
478
+ fx_token: "0xd89fdcB6c8D107f27CEe4452Ccfb70Dc4F9768a7",
479
+ fx_airdrop: "0x1e4e821216582f0771528b848b4a51c8474be2c7",
480
+ fx_tez_airdrop: "0x3c2b4c38d37affb023a1d2327af428909eb8a134",
481
+ fx_token_launchpad: "0xC8b352C819B57F0991fAFcEDFdEf241A1950d0E4",
482
+ fx_project_factory: "0x7e535239AcE186c0d95e89F0c64f57481A987cE5"
483
+ };
484
+ var baseMainnetContracts = {
485
+ multicall3: "0xcA11bde05977b3631167028862bE2a173976CA11",
486
+ seaport_zone: "0x0000000006B429721d1F4c4cD256BF3A38c09Ac6",
487
+ issuer_factory_v1: "0xf05636d65c7a10dF989eC2411D4F3230d3A02f3D",
488
+ mint_ticket_factory_v1: "0xe5832D3a3da179e818e9E3bFF7b96A928b29Eda2",
489
+ dutch_auction_minter_v1: "0x9667a1Cf26223c9de22207DD93cfEEc9237b8f4E",
490
+ fixed_price_minter_v1: "0x4bDcaC532143d8d35ed759189EE22E3704580b9D",
491
+ ticket_redeemer_v1: "0x972502Bc75A780D76495Ffa84Cf8DA301F162Df6",
492
+ ipfs_renderer_v1: "0x9c4cC8403bE33B89a46794Ae409ce634ca567956",
493
+ onchfs_renderer_v1: "0x4180D747e984C9CFEEfaF23944AE0C20c0742341",
494
+ randomizer_v1: "0x6754E97b8eaeC13Fa24480E9d1240176Dd0f2911",
495
+ role_registry_v1: "0x8d3C748e99066e15425BA1620cdD066d85D6d918",
496
+ contract_registry_v1: "0xCa6e30B1C7cBE7cF605cE30B334f968C5E2EA016",
497
+ gen_art_token_impl_v1: "0xC5769428823C9a0393DC66855DD3817b2A85BEFD",
498
+ mint_ticket_impl_v1: "0x3e9754Da0fb002Fa13D69B2f313d5CB441fC8ef5",
499
+ onchfs_file_system: "0x2983008f292a43f208bba0275afd7e9b3d39af3b",
500
+ onchfs_content_store: "0x070e5A608705aC4954eec054f9074eEe49bDcbfF",
501
+ seaport: "0x00cA04c45da318d5b7E7B14D5381Ca59F09C73f0",
502
+ fxhashTeamSafeAddress: "0x38D3a2F9c63D4a580f100B051ba137fa6d8e2560",
503
+ signerSafe: "0x38D3a2F9c63D4a580f100B051ba137fa6d8e2560",
504
+ moderationSafe: "0x38D3a2F9c63D4a580f100B051ba137fa6d8e2560",
505
+ farcaster_frame_fixed_price_minter_v1: "0x6e625892C739bFD960671Db5544E260757480725",
506
+ fx_token: "0xTODO",
507
+ fx_airdrop: "0xTODO",
508
+ fx_tez_airdrop: "0xTODO",
509
+ fx_token_launchpad: "0xTODO",
510
+ fx_project_factory: "0xTODO"
511
+ };
512
+
513
+ // src/types.ts
514
+ var BlockchainIdentifiers = {
515
+ TezosGhostnet: "tezos:NetXnHfVqm9iesp",
516
+ TezosMainnet: "tezos:NetXdQprcVkpaWU",
517
+ EthereumMainnet: "eip155:1",
518
+ EthereumGoerli: "eip155:5",
519
+ EthereumSepolia: "eip155:11155111",
520
+ BaseSepolia: "eip155:84532",
521
+ BaseMainnet: "eip155:8453"
522
+ };
523
+
524
+ // src/constants.ts
525
+ var AUTH_JWT_PK_DEV = `-----BEGIN PUBLIC KEY-----
526
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1hF8JwAxIiFWzbXIgeOK
527
+ Bzf6SZlT3S1YampzVgy4pw1G0aKwHnyvC+HrRfkEOCGxX24DqbEpZby2LjKF9bfa
528
+ OLrERrNSNrDLXbf3ipKQrnEBu2UdT2pE5UF/SwJUTdGczb78EId0yIjuZ26qZcQg
529
+ Pr1ji6FgdOOdEwdphl4x1dlQzgMgjhRcPwf9NsBx3R6l/ut2o38Qa8azxM7XBg8F
530
+ UlsKGy4/jY2OIEKCravCoXmpeX9pxploED/DoJJI9FZXVB7/91iIb6MI0Ycby+xo
531
+ GL/cF+ZYSVRoFexji4vpycJfltW5YJ8jHSveZWa6LXqM6LY7zRFmlxb3SF4tsDTT
532
+ PQIDAQAB
533
+ -----END PUBLIC KEY-----`;
534
+ var AUTH_JWT_PK_PRD = `-----BEGIN PUBLIC KEY-----
535
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtwl1CRvpN7MZeGGDTy8x
536
+ +W3EkZfBzZqEp3vahCaqBdMkMhy7oB1pUU7pjb34tg9epnKdKo0cZn+Bw1LkSKWh
537
+ Z1DSbgCdNR47qKb4xN8mZ5VvEw/64+nUXbCOikX+rMqSE2tNeNU3KOYr8VQYt9dv
538
+ /J0xFwsr0aa4m23dmJ/oPLA8eR8lZk++fEZsbezKH3i9zz73I0UAivijM0S9lYeB
539
+ NkT5zOaAJARzl69hEMQAv9qUkokwPSHlcG+LakhTGYAyMe3w/KHXVRkWjuCUgUJf
540
+ 90oveckX4dhMbHbz9ba1p3hpmwdmlRzljIIE2GQYawA8eNLsOb/z6V8HGMbCL/N9
541
+ JwIDAQAB
542
+ -----END PUBLIC KEY-----`;
543
+
544
+ // src/config.ts
545
+ var tezosFees = {
546
+ primary: 500,
547
+ secondary: 250
548
+ };
549
+ var ethFees = {
550
+ primary: 1e3,
551
+ secondary: 2500
552
+ };
553
+ var baseFees = {
554
+ primary: 1e3,
555
+ secondary: 2500
556
+ };
557
+ var fxhashConfig = {
558
+ networks: {
559
+ testnet: {
560
+ tez: {
561
+ contracts: tezosTestnetContracts,
562
+ config: {
563
+ network: "ghostnet",
564
+ chainId: BlockchainIdentifiers.TezosGhostnet,
565
+ ethFeeReceiver: "0x",
566
+ wertRelayer: "tz1T2uyYTshSGrEg13VGJFqsWwbi2H175hZb",
567
+ fxhashFees: tezosFees,
568
+ royaltyBasisPoint: 1e3,
569
+ splitBasisPoint: 1e3
570
+ },
571
+ apis: tezosTestnetApis
572
+ },
573
+ eth: {
574
+ contracts: ethTestnetContracts,
575
+ config: {
576
+ network: "Sepolia",
577
+ chainId: BlockchainIdentifiers.EthereumSepolia,
578
+ ethFeeReceiver: "0xe1f04609f7bC45e23a1BA4CD4a76f476755beBA6",
579
+ wertRelayer: "0x2ff0ec69341f43cc462251bd49bb63681adafcb0",
580
+ fxhashFees: ethFees,
581
+ royaltyBasisPoint: 1e4,
582
+ splitBasisPoint: 1e6
583
+ },
584
+ apis: ethTestnetApis
585
+ },
586
+ base: {
587
+ contracts: baseTestnetContracts,
588
+ config: {
589
+ network: "Base Sepolia",
590
+ chainId: BlockchainIdentifiers.BaseSepolia,
591
+ ethFeeReceiver: "0xF70DF285Bc6941b4760BcC041B0cA1cc50E27F8d",
592
+ wertRelayer: "0x2ff0ec69341f43cc462251bd49bb63681adafcb0",
593
+ fxhashFees: baseFees,
594
+ royaltyBasisPoint: 1e4,
595
+ splitBasisPoint: 1e6
596
+ },
597
+ apis: baseTestnetApis
598
+ }
599
+ },
600
+ mainnet: {
601
+ tez: {
602
+ contracts: tezosMainnetContracts,
603
+ config: {
604
+ network: "mainnet",
605
+ chainId: BlockchainIdentifiers.TezosMainnet,
606
+ ethFeeReceiver: "0x",
607
+ wertRelayer: "tz1KkPS1TWFyDWfQwrdvmTmsCLUNMegDrrSi",
608
+ fxhashFees: tezosFees,
609
+ royaltyBasisPoint: 1e3,
610
+ splitBasisPoint: 1e3
611
+ },
612
+ apis: tezosMainnetApis
613
+ },
614
+ eth: {
615
+ contracts: ethMainnetContracts,
616
+ config: {
617
+ network: "Ethereum",
618
+ chainId: BlockchainIdentifiers.EthereumMainnet,
619
+ ethFeeReceiver: "0xed650E40F7bd3812152D4BFA6740662F50e178DF",
620
+ wertRelayer: "0xc16157e00b1bff1522c6f01246b4fb621da048d0",
621
+ fxhashFees: ethFees,
622
+ royaltyBasisPoint: 1e4,
623
+ splitBasisPoint: 1e6
624
+ },
625
+ apis: ethMainnetApis
626
+ },
627
+ base: {
628
+ contracts: baseMainnetContracts,
629
+ config: {
630
+ network: "Base",
631
+ chainId: BlockchainIdentifiers.BaseMainnet,
632
+ ethFeeReceiver: "0xF70DF285Bc6941b4760BcC041B0cA1cc50E27F8d",
633
+ wertRelayer: "0xc16157e00b1bff1522c6f01246b4fb621da048d0",
634
+ fxhashFees: baseFees,
635
+ royaltyBasisPoint: 1e4,
636
+ splitBasisPoint: 1e6
637
+ },
638
+ apis: baseMainnetApis
639
+ }
640
+ }
641
+ },
642
+ envs: {
643
+ local: {
644
+ apis: fxhashLocalApis,
645
+ config: {
646
+ envName: "local",
647
+ metadata: fxAppEnvMetadata("local"),
648
+ gtMinPrice: "0",
649
+ walletConnectId: "111994543d1b754bab82c368d0e61ae5",
650
+ projectLockTime: 3600,
651
+ referrerShare: 0,
652
+ splitsApiKey: "75348d57d6cf60fa4551766c",
653
+ cloudflareTurnstileSiteKey: "1x00000000000000000000AA",
654
+ cloudflareTurnstileSiteKeyV2: "0x4AAAAAAAW-w_xThcj91jkA",
655
+ syndicateProjectId: "9dd71e90-4605-45f4-94e0-4e533b01081d",
656
+ awsS3Bucket: "fxh-media-assets-dev-testnet-us-east-1",
657
+ awsS3Region: "us-east-1",
658
+ openTelemetryTarget: "http://localhost:14268",
659
+ algolia: algoliaConfigDev,
660
+ gpu: gpuRenderingConfigDev,
661
+ authJwtPublicKey: AUTH_JWT_PK_DEV
662
+ }
663
+ },
664
+ localDocker: {
665
+ apis: fxhashLocalDockerApis,
666
+ config: {
667
+ envName: "localDocker",
668
+ metadata: fxAppEnvMetadata("localDocker"),
669
+ gtMinPrice: "0",
670
+ walletConnectId: "111994543d1b754bab82c368d0e61ae5",
671
+ projectLockTime: 3600,
672
+ referrerShare: 0,
673
+ splitsApiKey: "75348d57d6cf60fa4551766c",
674
+ cloudflareTurnstileSiteKey: "1x00000000000000000000AA",
675
+ cloudflareTurnstileSiteKeyV2: "0x4AAAAAAAW-w_xThcj91jkA",
676
+ syndicateProjectId: "9dd71e90-4605-45f4-94e0-4e533b01081d",
677
+ awsS3Bucket: "fxh-media-assets-dev-testnet-us-east-1",
678
+ awsS3Region: "us-east-1",
679
+ openTelemetryTarget: "http://localhost:14268",
680
+ algolia: algoliaConfigDev,
681
+ gpu: gpuRenderingConfigDev,
682
+ authJwtPublicKey: AUTH_JWT_PK_DEV
683
+ }
684
+ },
685
+ dev: {
686
+ apis: fxhashDevApis,
687
+ config: {
688
+ envName: "development",
689
+ metadata: fxAppEnvMetadata("dev"),
690
+ gtMinPrice: "0",
691
+ walletConnectId: "111994543d1b754bab82c368d0e61ae5",
692
+ projectLockTime: 3600,
693
+ referrerShare: 0,
694
+ splitsApiKey: "75348d57d6cf60fa4551766c",
695
+ cloudflareTurnstileSiteKey: "0x4AAAAAAAVOb6invoeYS4EN",
696
+ cloudflareTurnstileSiteKeyV2: "0x4AAAAAAAW-w_xThcj91jkA",
697
+ syndicateProjectId: "9dd71e90-4605-45f4-94e0-4e533b01081d",
698
+ awsS3Bucket: "fxh-media-assets-dev-testnet-us-east-1",
699
+ awsS3Region: "us-east-1",
700
+ openTelemetryTarget: "https://tempo.ss.fxhash2.xyz",
701
+ algolia: algoliaConfigDev,
702
+ gpu: gpuRenderingConfigDev,
703
+ authJwtPublicKey: AUTH_JWT_PK_DEV
704
+ }
705
+ },
706
+ prd: {
707
+ apis: fxhashPrdApis,
708
+ config: {
709
+ envName: "production",
710
+ metadata: fxAppEnvMetadata("prd"),
711
+ gtMinPrice: "0",
712
+ walletConnectId: "111994543d1b754bab82c368d0e61ae5",
713
+ projectLockTime: 3600,
714
+ referrerShare: 0,
715
+ splitsApiKey: "75348d57d6cf60fa4551766c",
716
+ cloudflareTurnstileSiteKey: "0x4AAAAAAAVObp1YeuhbqNKB",
717
+ cloudflareTurnstileSiteKeyV2: "0x4AAAAAAAW-yE4Q6Wdz6SNb",
718
+ syndicateProjectId: "398ad73d-341c-4861-a038-f0ae1ca58e07",
719
+ awsS3Bucket: "fxh-media-assets-prd-mainnet-us-east-1",
720
+ awsS3Region: "us-east-1",
721
+ openTelemetryTarget: "https://tempo.ss.fxhash2.xyz",
722
+ algolia: algoliaConfigProd,
723
+ gpu: gpuRenderingConfigProd,
724
+ authJwtPublicKey: AUTH_JWT_PK_PRD
725
+ }
726
+ }
727
+ }
728
+ };
729
+ function getBlockchainNetworkForEnv(env) {
730
+ return env === "prd" ? "mainnet" : "testnet";
731
+ }
732
+ function getConfigForEnv(env) {
733
+ const blockchainNetwork = getBlockchainNetworkForEnv(env);
734
+ return {
735
+ ...fxhashConfig.networks[blockchainNetwork],
736
+ ...fxhashConfig.envs[env]
737
+ };
738
+ }
739
+ var localConfig = getConfigForEnv("local");
740
+ var localDockerConfig = getConfigForEnv("localDocker");
741
+ var devConfig = getConfigForEnv("dev");
742
+ var prdConfig = getConfigForEnv("prd");
743
+ var currentEnv = getEnv();
744
+ var config = getConfigForEnv(currentEnv);
27
745
  function setConfig(userConfig) {
28
746
  config = {
29
747
  ...config,
@@ -31,18 +749,88 @@ function setConfig(userConfig) {
31
749
  };
32
750
  return config;
33
751
  }
34
- var src_default = fxhashConfig;
752
+
753
+ // src/utils/ipfs.ts
754
+ var EGatewayIpfs = /* @__PURE__ */ ((EGatewayIpfs2) => {
755
+ EGatewayIpfs2["FXHASH"] = "FXHASH";
756
+ EGatewayIpfs2["FXHASH_SAFE"] = "FXHASH_SAFE";
757
+ EGatewayIpfs2["IPFSIO"] = "IPFSIO";
758
+ return EGatewayIpfs2;
759
+ })(EGatewayIpfs || {});
760
+ var ipfsRegex = new RegExp("^ipfs://");
761
+ function ipfsGatewayRoot(gateway) {
762
+ switch (gateway) {
763
+ case "FXHASH" /* FXHASH */:
764
+ return config.apis.ipfsGateway;
765
+ case "FXHASH_SAFE" /* FXHASH_SAFE */:
766
+ return config.apis.ipfsGatewaySafe;
767
+ case "IPFSIO" /* IPFSIO */:
768
+ default:
769
+ return "https://ipfs.io";
770
+ }
771
+ }
772
+ function ipfsCidFromUriOrCid(resource) {
773
+ if (!ipfsRegex.test(resource)) return resource;
774
+ return resource.slice(7);
775
+ }
776
+ function ipfsGatewayUrl(resource, gateway = "FXHASH_SAFE" /* FXHASH_SAFE */) {
777
+ if (!resource) return "";
778
+ const cid = ipfsCidFromUriOrCid(resource);
779
+ return `${ipfsGatewayRoot(gateway)}/ipfs/${cid}`;
780
+ }
781
+ function proxyUrl(uri) {
782
+ if (uri.startsWith("blob:") || uri.startsWith("data:")) return uri;
783
+ const [protocol, cid] = uri.split("://");
784
+ switch (protocol) {
785
+ case "https":
786
+ return uri;
787
+ case "temp":
788
+ return `${config.apis.fsEmulator}/resolve/${cid}`;
789
+ case "onchfs":
790
+ return `${config.apis.onchfsProxy}/${cid}`;
791
+ default:
792
+ return ipfsGatewayUrl(uri);
793
+ }
794
+ }
795
+
796
+ // src/utils/contracts.ts
797
+ var tezosContractPrefixesByContractAddress = {
798
+ [config.tez.contracts.gentk_v1]: "FX0",
799
+ [config.tez.contracts.gentk_v2]: "FX0",
800
+ [config.tez.contracts.gentk_v3]: "FX1"
801
+ };
802
+ function getObjktIdFromContract(contract, id) {
803
+ return `${tezosContractPrefixesByContractAddress[contract]}-${id}`;
804
+ }
805
+
806
+ // src/index.ts
807
+ var index_default = fxhashConfig;
35
808
  export {
809
+ BlockchainIdentifiers,
810
+ EGatewayIpfs,
36
811
  config,
37
- src_default as default,
812
+ index_default as default,
38
813
  devConfig,
39
814
  ethTestnetApis,
40
815
  ethTestnetContracts,
41
816
  fxhashConfig,
42
817
  fxhashDevApis,
43
818
  fxhashPrdApis,
819
+ getDockerInternalUrl,
820
+ getEnv,
821
+ getObjktIdFromContract,
822
+ ipfsCidFromUriOrCid,
823
+ ipfsGatewayRoot,
824
+ ipfsGatewayUrl,
825
+ isAppMetadataValid,
826
+ isDockerLocal,
827
+ isLocal,
828
+ isProd,
829
+ localConfig,
44
830
  prdConfig,
831
+ proxyUrl,
45
832
  setConfig,
833
+ tezosContractPrefixesByContractAddress,
46
834
  tezosMainnetApis,
47
835
  tezosMainnetContracts,
48
836
  tezosTestnetApis,