@fxhash/config 0.0.9 → 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 (85) hide show
  1. package/README.md +18 -2
  2. package/dist/api/base.d.ts +11 -0
  3. package/dist/api/eth.d.ts +10 -9
  4. package/dist/api/fxhash.d.ts +9 -37
  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 -78
  10. package/dist/constants.d.ts +2 -0
  11. package/dist/contracts/base.d.ts +30 -0
  12. package/dist/contracts/eth.d.ts +29 -26
  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 -13
  17. package/dist/index.js +810 -33
  18. package/dist/index.js.map +1 -1
  19. package/dist/types.d.ts +163 -16
  20. package/dist/utils/contracts.d.ts +2 -0
  21. package/dist/utils/index.d.ts +2 -12
  22. package/dist/utils/ipfs.d.ts +25 -0
  23. package/package.json +17 -19
  24. package/dist/api/eth.cjs +0 -9
  25. package/dist/api/eth.cjs.map +0 -1
  26. package/dist/api/eth.js +0 -9
  27. package/dist/api/eth.js.map +0 -1
  28. package/dist/api/fxhash.cjs +0 -11
  29. package/dist/api/fxhash.cjs.map +0 -1
  30. package/dist/api/fxhash.js +0 -11
  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-2Z36EJVM.cjs +0 -159
  37. package/dist/chunk-2Z36EJVM.cjs.map +0 -1
  38. package/dist/chunk-3HYMO7HS.js +0 -13
  39. package/dist/chunk-3HYMO7HS.js.map +0 -1
  40. package/dist/chunk-3U7S5KQ5.js +0 -45
  41. package/dist/chunk-3U7S5KQ5.js.map +0 -1
  42. package/dist/chunk-6LCEWPDB.js +0 -80
  43. package/dist/chunk-6LCEWPDB.js.map +0 -1
  44. package/dist/chunk-7WY5VFHS.js +0 -27
  45. package/dist/chunk-7WY5VFHS.js.map +0 -1
  46. package/dist/chunk-BDNQHSCV.cjs +0 -13
  47. package/dist/chunk-BDNQHSCV.cjs.map +0 -1
  48. package/dist/chunk-HFJTQFU5.cjs +0 -80
  49. package/dist/chunk-HFJTQFU5.cjs.map +0 -1
  50. package/dist/chunk-LYBPFYQE.cjs +0 -81
  51. package/dist/chunk-LYBPFYQE.cjs.map +0 -1
  52. package/dist/chunk-M7HZ3LKE.js +0 -19
  53. package/dist/chunk-M7HZ3LKE.js.map +0 -1
  54. package/dist/chunk-NSIM63EC.cjs +0 -27
  55. package/dist/chunk-NSIM63EC.cjs.map +0 -1
  56. package/dist/chunk-OX246A4J.js +0 -81
  57. package/dist/chunk-OX246A4J.js.map +0 -1
  58. package/dist/chunk-VOYFMWZ7.js +0 -159
  59. package/dist/chunk-VOYFMWZ7.js.map +0 -1
  60. package/dist/chunk-VUNWHN5H.cjs +0 -19
  61. package/dist/chunk-VUNWHN5H.cjs.map +0 -1
  62. package/dist/chunk-XQC264QN.cjs +0 -45
  63. package/dist/chunk-XQC264QN.cjs.map +0 -1
  64. package/dist/config.cjs +0 -19
  65. package/dist/config.cjs.map +0 -1
  66. package/dist/config.js +0 -19
  67. package/dist/config.js.map +0 -1
  68. package/dist/contracts/eth.cjs +0 -9
  69. package/dist/contracts/eth.cjs.map +0 -1
  70. package/dist/contracts/eth.js +0 -9
  71. package/dist/contracts/eth.js.map +0 -1
  72. package/dist/contracts/tezos.cjs +0 -9
  73. package/dist/contracts/tezos.cjs.map +0 -1
  74. package/dist/contracts/tezos.js +0 -9
  75. package/dist/contracts/tezos.js.map +0 -1
  76. package/dist/index.cjs +0 -62
  77. package/dist/index.cjs.map +0 -1
  78. package/dist/types.cjs +0 -7
  79. package/dist/types.cjs.map +0 -1
  80. package/dist/types.js +0 -7
  81. package/dist/types.js.map +0 -1
  82. package/dist/utils/index.cjs +0 -15
  83. package/dist/utils/index.cjs.map +0 -1
  84. package/dist/utils/index.js +0 -15
  85. package/dist/utils/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,39 +1,747 @@
1
- import {
2
- devConfig,
3
- fxhashConfig,
4
- localConfig,
5
- prdConfig
6
- } from "./chunk-VOYFMWZ7.js";
7
- import {
8
- BlockchainIdentifiers
9
- } from "./chunk-3HYMO7HS.js";
10
- import {
11
- ethTestnetApis
12
- } from "./chunk-M7HZ3LKE.js";
13
- import {
14
- fxhashDevApis,
15
- fxhashPrdApis
16
- } from "./chunk-6LCEWPDB.js";
17
- import {
18
- tezosMainnetApis,
19
- tezosTestnetApis
20
- } from "./chunk-7WY5VFHS.js";
21
- import {
22
- ethTestnetContracts
23
- } from "./chunk-3U7S5KQ5.js";
24
- import {
25
- tezosMainnetContracts,
26
- tezosTestnetContracts
27
- } from "./chunk-OX246A4J.js";
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
+ });
28
7
 
29
- // src/index.ts
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
+ }
30
61
  var isProd = (() => {
31
- 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";
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";
32
63
  })();
33
64
  var isLocal = (() => {
34
- return process.env.FXHASH_ENV === "local" || process.env.NEXT_PUBLIC_FXHASH_ENV === "local" || process.env.REACT_APP_FXHASH_ENV === "local";
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");
35
78
  })();
36
- var config = isProd ? prdConfig : isLocal ? localConfig : devConfig;
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
352
+ import {
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
+ };
375
+
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);
37
745
  function setConfig(userConfig) {
38
746
  config = {
39
747
  ...config,
@@ -41,19 +749,88 @@ function setConfig(userConfig) {
41
749
  };
42
750
  return config;
43
751
  }
44
- 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;
45
808
  export {
46
809
  BlockchainIdentifiers,
810
+ EGatewayIpfs,
47
811
  config,
48
- src_default as default,
812
+ index_default as default,
49
813
  devConfig,
50
814
  ethTestnetApis,
51
815
  ethTestnetContracts,
52
816
  fxhashConfig,
53
817
  fxhashDevApis,
54
818
  fxhashPrdApis,
819
+ getDockerInternalUrl,
820
+ getEnv,
821
+ getObjktIdFromContract,
822
+ ipfsCidFromUriOrCid,
823
+ ipfsGatewayRoot,
824
+ ipfsGatewayUrl,
825
+ isAppMetadataValid,
826
+ isDockerLocal,
827
+ isLocal,
828
+ isProd,
829
+ localConfig,
55
830
  prdConfig,
831
+ proxyUrl,
56
832
  setConfig,
833
+ tezosContractPrefixesByContractAddress,
57
834
  tezosMainnetApis,
58
835
  tezosMainnetContracts,
59
836
  tezosTestnetApis,