@seedprotocol/sdk 0.1.111 → 0.1.113

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.
@@ -1,4 +1,4 @@
1
- export { g as GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, f as GET_PROPERTIES, G as GET_SCHEMAS, a as GET_SCHEMA_BY_NAME, b as GET_SEEDS, c as GET_SEED_IDS, d as GET_STORAGE_TRANSACTION_ID, e as GET_VERSIONS, I as Item, h as itemMachineAll, i as itemMachineSingle } from './index-CkDKrj91.js';
1
+ export { g as GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, f as GET_PROPERTIES, G as GET_SCHEMAS, a as GET_SCHEMA_BY_NAME, b as GET_SEEDS, c as GET_SEED_IDS, d as GET_STORAGE_TRANSACTION_ID, e as GET_VERSIONS, I as Item, h as itemMachineAll, i as itemMachineSingle } from './index-Dj4L9w50.js';
2
2
  import './constants-CEnkzyny.js';
3
3
  import '@ethereum-attestation-service/eas-sdk';
4
4
  import 'thirdweb';
@@ -29,4 +29,4 @@ import 'rxjs';
29
29
  import 'drizzle-orm/sqlite-proxy';
30
30
  import '@zenfs/dom';
31
31
  import 'arweave';
32
- //# sourceMappingURL=index-BM9Ymz63.js.map
32
+ //# sourceMappingURL=index-yw-bik4t.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BM9Ymz63.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index-yw-bik4t.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- export { j as ImageSrc, I as Item, k as ItemProperty, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, t as client, v as getCorrectId, s as getGlobalService, n as useCreateItem, p as useDeleteItem, q as useGlobalServiceStatus, l as useItem, m as useItemProperties, o as useItemProperty, u as useItems, r as useServices, w as withSeed } from './index-CkDKrj91.js';
1
+ export { j as ImageSrc, I as Item, k as ItemProperty, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, t as client, v as getCorrectId, s as getGlobalService, n as useCreateItem, p as useDeleteItem, q as useGlobalServiceStatus, l as useItem, m as useItemProperties, o as useItemProperty, u as useItems, r as useServices, w as withSeed } from './index-Dj4L9w50.js';
2
2
  import 'immer';
3
3
  import 'reflect-metadata';
4
4
  import './constants-CEnkzyny.js';
@@ -1,6 +1,6 @@
1
1
  import { _ as __decorate, a as __metadata } from './constants-CEnkzyny.js';
2
2
  import 'drizzle-orm';
3
- import { T as Text, M as Model } from './index-CkDKrj91.js';
3
+ import { T as Text, M as Model } from './index-Dj4L9w50.js';
4
4
  import 'react';
5
5
  import 'reflect-metadata';
6
6
  import 'xstate';
@@ -76,4 +76,4 @@ const models = {
76
76
  };
77
77
 
78
78
  export { models };
79
- //# sourceMappingURL=seed.schema.config-DfASQOur.js.map
79
+ //# sourceMappingURL=seed.schema.config-Baj_iYq7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.schema.config-DfASQOur.js","sources":["../../src/shared/configs/seed.schema.config.ts"],"sourcesContent":["import { Model, Text } from '@/browser'\n\n@Model\nclass Seed {\n @Text() uid!: string\n @Text() type!: string\n}\n\n@Model\nclass Version {\n @Text() seedUid!: string\n @Text() note!: string\n}\n\n@Model\nclass Metadata {\n @Text() key!: string\n @Text() value!: string\n}\n\nexport const models = {\n Seed,\n Version,\n Metadata,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,IAAI,GAAV,MAAM,IAAI,CAAA;CAGT;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,IAAI,GAAA,UAAA,CAAA;IADT;AACK,CAAA,EAAA,IAAI,CAGT;AAGD,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;CAGZ;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAiB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,OAAO,GAAA,UAAA,CAAA;IADZ;AACK,CAAA,EAAA,OAAO,CAGZ;AAGD,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;CAGb;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAe,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAFlB,QAAQ,GAAA,UAAA,CAAA;IADb;AACK,CAAA,EAAA,QAAQ,CAGb;AAEY,MAAA,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,QAAQ;;;;;"}
1
+ {"version":3,"file":"seed.schema.config-Baj_iYq7.js","sources":["../../src/shared/configs/seed.schema.config.ts"],"sourcesContent":["import { Model, Text } from '@/browser'\n\n@Model\nclass Seed {\n @Text() uid!: string\n @Text() type!: string\n}\n\n@Model\nclass Version {\n @Text() seedUid!: string\n @Text() note!: string\n}\n\n@Model\nclass Metadata {\n @Text() key!: string\n @Text() value!: string\n}\n\nexport const models = {\n Seed,\n Version,\n Metadata,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,IAAI,GAAV,MAAM,IAAI,CAAA;CAGT;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,IAAI,GAAA,UAAA,CAAA;IADT;AACK,CAAA,EAAA,IAAI,CAGT;AAGD,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;CAGZ;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAiB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,OAAO,GAAA,UAAA,CAAA;IADZ;AACK,CAAA,EAAA,OAAO,CAGZ;AAGD,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;CAGb;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAe,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAFlB,QAAQ,GAAA,UAAA,CAAA;IADb;AACK,CAAA,EAAA,QAAQ,CAGb;AAEY,MAAA,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,QAAQ;;;;;"}
@@ -1,292 +1,10 @@
1
1
  import { EventObject, fromCallback } from 'xstate'
2
- import { fetchAllFilesMachine } from '@/browser/schema/file/fetchAll/index'
3
- import { ARWEAVE_HOST } from '@/browser/services/internal/constants'
4
- import { GET_FILES_METADATA } from '@/browser/schema/file/queries'
5
- import { getArweave } from '../../../helpers/arweave'
6
- import { fs } from '@zenfs/core'
7
- import {
8
- getDataTypeFromString,
9
- getMimeType,
10
- identifyString,
11
- } from '@/shared/helpers'
12
- import { appState } from 'src/shared/seedSchema'
13
- import { eq } from 'drizzle-orm'
14
- import { easClient, queryClient } from '@/browser/helpers'
15
- import debug from 'debug'
16
- import { getAppDb } from '@/browser/db/sqlWasmClient'
2
+ import { uploadMachine } from '@/browser/schema/file/upload/index'
17
3
 
18
- import { saveAppState } from '@/browser/db/write/saveAppState'
4
+ export const uploadBinaryData = fromCallback<EventObject, typeof uploadMachine>(
5
+ ({ sendBack, receive, input }) => {},
6
+ )
19
7
 
20
- const logger = debug('app:file:actors:fetchAll')
21
-
22
- type FileType = {
23
- mimeType: string
24
- extension: string
25
- }
26
-
27
- // Map of common MIME types to file extensions
28
- const fileTypeMap: Record<string, FileType> = {
29
- 'image/jpeg': { mimeType: 'image/jpeg', extension: '.jpg' },
30
- 'image/png': { mimeType: 'image/png', extension: '.png' },
31
- 'application/json': { mimeType: 'application/json', extension: '.json' },
32
- 'text/plain': { mimeType: 'text/plain', extension: '.txt' },
33
- // Add more MIME types and file extensions as needed
34
- }
35
-
36
- export const fetchAllMetadataRecords = fromCallback<
37
- EventObject,
38
- typeof fetchAllFilesMachine
39
- >(({ sendBack, receive, input: { context, event } }) => {
40
- const { addresses } = context
41
-
42
- const _fetchAllMetadataRecords = async () => {
43
- const { filesMetadata } = await queryClient.fetchQuery({
44
- queryKey: ['getFilesMetadata', ...addresses],
45
- queryFn: async () =>
46
- easClient.request(GET_FILES_METADATA, {
47
- where: {
48
- attester: {
49
- in: addresses,
50
- },
51
- schema: {
52
- is: {
53
- id: {
54
- equals:
55
- '0x55fdefb36fcbbaebeb7d6b41dc3a1a9666e4e42154267c889de064faa7ede517',
56
- },
57
- },
58
- },
59
- },
60
- }),
61
- })
62
-
63
- return filesMetadata
64
- }
65
-
66
- _fetchAllMetadataRecords().then((filesMetadata) => {
67
- sendBack({ type: 'fetchingAllMetadataRecordsSuccess', filesMetadata })
68
- })
69
-
70
- return () => {}
71
- })
72
-
73
- export const fetchAllBinaryData = fromCallback<
74
- EventObject,
75
- typeof fetchAllFilesMachine
76
- >(({ sendBack, input: { context } }) => {
77
- const { filesMetadata, addresses } = context
78
-
79
- const _fetchAllBinaryData = async () => {
80
- if (!(await fs.promises.exists('/files'))) {
81
- await fs.promises.mkdir('/files', { recursive: true })
82
- }
83
-
84
- if (!(await fs.promises.exists('/files/html'))) {
85
- await fs.promises.mkdir('/files/html', { recursive: true })
86
- }
87
-
88
- if (!(await fs.promises.exists('/files/json'))) {
89
- await fs.promises.mkdir('/files/json', { recursive: true })
90
- }
91
-
92
- if (!(await fs.promises.exists('/files/images'))) {
93
- await fs.promises.mkdir('/files/images', { recursive: true })
94
- }
95
-
96
- const appDb = getAppDb()
97
-
98
- if (!appDb) {
99
- logger('[fetchAll/actors] [fetchAllBinaryData] seedDb not available')
100
- return []
101
- }
102
-
103
- for (const fileMetadata of filesMetadata) {
104
- const json = JSON.parse(fileMetadata.decodedDataJson)
105
- const transactionId = json[0].value.value
106
-
107
- const excludedTransactionsQuery = await appDb
108
- .select()
109
- .from(appState)
110
- .where(eq(appState.key, 'excludedTransactions'))
111
-
112
- let excludedTransactions = new Set<string>()
113
-
114
- if (excludedTransactionsQuery && excludedTransactionsQuery.length === 1) {
115
- const valueString = excludedTransactionsQuery[0].value
116
- if (valueString) {
117
- const excludedTransactionsArray = JSON.parse(valueString)
118
- excludedTransactions = new Set(excludedTransactionsArray)
119
- }
120
- }
121
-
122
- if (excludedTransactions.has(transactionId)) {
123
- continue
124
- }
125
-
126
- const arweave = getArweave()
127
-
128
- if (!arweave) {
129
- logger('[fetchAll/actors] [fetchAllBinaryData] arweave not available')
130
- return []
131
- }
132
-
133
- try {
134
- const res = await fetch(
135
- `https://${ARWEAVE_HOST}/tx/${transactionId}/status`,
136
- )
137
-
138
- if (res.status !== 200) {
139
- logger(
140
- `[fetchAll/actors] [fetchAllBinaryData] error fetching transaction data for ${transactionId}`,
141
- )
142
-
143
- excludedTransactions.add(transactionId)
144
-
145
- await saveAppState(
146
- 'excludedTransactions',
147
- JSON.stringify(Array.from(excludedTransactions)),
148
- )
149
-
150
- logger(
151
- '[fetchAll/actors] [fetchAllBinaryData] updated excludedTransactions:',
152
- excludedTransactions,
153
- )
154
-
155
- continue
156
- }
157
-
158
- const dataString = await arweave.transactions
159
- .getData(transactionId, {
160
- decode: true,
161
- string: true,
162
- })
163
- .catch((error) => {
164
- logger(
165
- `[fetchAll/actors] [fetchAllBinaryData] error fetching transaction data for ${transactionId}`,
166
- error,
167
- )
168
- })
169
-
170
- const dataUint8Array = await arweave.transactions.getData(transactionId)
171
- // let buffer
172
- //
173
- // if (dataUint8Array && dataUint8Array instanceof Uint8Array) {
174
- // }
175
-
176
- let contentType = identifyString(dataString)
177
- if (
178
- contentType !== 'json' &&
179
- contentType !== 'base64' &&
180
- contentType !== 'html'
181
- ) {
182
- const possibleImageType = getDataTypeFromString(dataString)
183
- if (!possibleImageType) {
184
- logger(
185
- `[fetchAll/actors] [fetchAllBinaryData] transaction ${transactionId} data not in expected format: ${possibleImageType}`,
186
- )
187
- continue
188
- }
189
-
190
- contentType = possibleImageType
191
- }
192
-
193
- if (contentType === 'url') {
194
- const url = dataString as string
195
- const response = await fetch(url)
196
- if (!response.ok) {
197
- throw new Error(`Failed to fetch image: ${response.statusText}`)
198
- }
199
-
200
- // Get the image as a Blob
201
- const blob = await response.blob()
202
- const buffer = await blob.arrayBuffer()
203
- const bufferUint8Array = new Uint8Array(buffer)
204
-
205
- // Extract the file extension from the URL
206
- const extensionMatch = url.match(
207
- /\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i,
208
- )
209
- if (!extensionMatch) {
210
- throw new Error(
211
- 'Unable to determine the file extension from the URL.',
212
- )
213
- }
214
- const fileExtension = extensionMatch[0] // e.g., ".jpg"
215
-
216
- // Set the file name (you can customize this)
217
- // const fileNameFromUrl = `${transactionId}${fileExtension}`
218
-
219
- await fs.promises.writeFile(
220
- `/files/images/${transactionId}`,
221
- bufferUint8Array,
222
- {
223
- encoding: 'binary',
224
- },
225
- )
226
-
227
- continue
228
- }
229
-
230
- let mimeType = getMimeType(dataString as string)
231
- let fileExtension = mimeType
232
-
233
- if (fileExtension && fileExtension?.startsWith('image')) {
234
- fileExtension = fileExtension.replace('image/', '')
235
- }
236
-
237
- let fileName = transactionId
238
-
239
- if (contentType === 'base64') {
240
- if (mimeType) {
241
- fileName += `.${fileExtension}`
242
- }
243
-
244
- // Remove the Base64 header if it exists (e.g., "data:image/png;base64,")
245
- const base64Data = dataString.split(',').pop() || ''
246
-
247
- // Decode the Base64 string to binary
248
- const binaryString = atob(base64Data)
249
- const length = binaryString.length
250
- const binaryData = new Uint8Array(length)
251
-
252
- for (let i = 0; i < length; i++) {
253
- binaryData[i] = binaryString.charCodeAt(i)
254
- }
255
-
256
- console.log(`attempting to writeFile to /files/images/${fileName}`)
257
-
258
- await fs.promises.writeFile(`/files/images/${fileName}`, binaryData, {
259
- encoding: 'binary',
260
- })
261
-
262
- // if (dataUint8Array && dataUint8Array instanceof Uint8Array) {
263
- // await fs.promises.writeFile(
264
- // `/files/images/${fileName}`,
265
- // dataUint8Array,
266
- // )
267
- // }
268
- }
269
-
270
- if (contentType === 'html') {
271
- fileName += '.html'
272
- await fs.promises.writeFile(`/files/html/${fileName}`, dataString)
273
- }
274
-
275
- if (contentType === 'json') {
276
- fileName += '.json'
277
- await fs.promises.writeFile(`/files/json/${fileName}`, dataString)
278
- }
279
- } catch (error) {
280
- logger(error)
281
- }
282
- }
283
-
284
- return []
285
- }
286
-
287
- _fetchAllBinaryData().then((binaryData) => {
288
- sendBack({ type: 'fetchingAllBinaryDataSuccess', binaryData })
289
- })
290
-
291
- return () => {}
292
- })
8
+ export const uploadMetadata = fromCallback<EventObject, typeof uploadMachine>(
9
+ ({ sendBack, receive, input }) => {},
10
+ )
@@ -1,5 +1,7 @@
1
1
  import Arweave from 'arweave'
2
2
 
3
+ let domain = 'arweave.net'
4
+
3
5
  export const getArweave = (): Arweave | undefined => {
4
6
  if (
5
7
  typeof window === 'undefined' ||
@@ -32,13 +34,17 @@ export const getArweave = (): Arweave | undefined => {
32
34
 
33
35
  if (Object.keys(Arweave).includes('default')) {
34
36
  return Arweave.default.init({
35
- host: 'permagate.io',
37
+ host: domain,
36
38
  protocol: 'https',
37
39
  })
38
40
  }
39
41
 
40
42
  return Arweave.init({
41
- host: 'permagate.io',
43
+ host: domain,
42
44
  protocol: 'https',
43
45
  })
44
46
  }
47
+
48
+ export const setArweaveDomain = (newDomain: string): void => {
49
+ domain = newDomain
50
+ }
@@ -11,10 +11,15 @@ import {
11
11
  setModel,
12
12
  } from '@/browser/stores/modelClass'
13
13
  import { setupServiceHandlers } from '@/browser/events/services'
14
+ import { setArweaveDomain } from '@/browser/helpers/arweave'
14
15
 
15
16
  const client = {
16
17
  init: ({ config, addresses }: SeedConstructorOptions) => {
17
- const { endpoints, models } = config
18
+ const { endpoints, models, arweaveDomain } = config
19
+
20
+ if (arweaveDomain) {
21
+ setArweaveDomain(arweaveDomain)
22
+ }
18
23
 
19
24
  for (const [key, value] of Object.entries(models)) {
20
25
  setModel(key, value)
@@ -29,7 +34,13 @@ const client = {
29
34
  if (!areFsListenersReady()) {
30
35
  console.error('fs listeners not ready during init')
31
36
  }
32
- globalService.send({ type: 'init', endpoints, models, addresses })
37
+ globalService.send({
38
+ type: 'init',
39
+ endpoints,
40
+ models,
41
+ addresses,
42
+ arweaveDomain,
43
+ })
33
44
  import('@/shared/configs/seed.schema.config').then(({ models }) => {
34
45
  for (const [key, value] of Object.entries(models)) {
35
46
  setModel(key, value)
@@ -70,13 +70,13 @@ const processUploadProperty = async (
70
70
  for (const childProperty of uploadProperty.childProperties) {
71
71
  const filePath = childProperty.localStoragePath
72
72
 
73
- if (!filePath) {
73
+ if (!filePath || filePath.endsWith('undefined')) {
74
74
  continue
75
75
  }
76
76
 
77
77
  const exists = await fs.promises.exists(filePath)
78
78
  if (!exists) {
79
- throw new Error(`File doesn't exist at ${filePath}`)
79
+ continue
80
80
  }
81
81
 
82
82
  childUploads.push({
@@ -113,6 +113,10 @@ const processUploadProperty = async (
113
113
  if (relatedItemProperty && relatedItemProperty.localStoragePath) {
114
114
  const filePath = relatedItemProperty.localStoragePath
115
115
 
116
+ if (!filePath || filePath.endsWith('undefined')) {
117
+ return uploads
118
+ }
119
+
116
120
  const exists = await fs.promises.exists(filePath)
117
121
  if (!exists) {
118
122
  return uploads
package/dist/src/index.ts CHANGED
@@ -1,73 +1,21 @@
1
- import { assign, setup } from 'xstate'
1
+ import { setup } from 'xstate'
2
2
  import {
3
- fetchAllBinaryData,
4
- fetchAllMetadataRecords,
5
- } from '@/browser/schema/file/fetchAll/actors'
6
- import { Attestation } from '@/browser/gql/graphql'
3
+ uploadBinaryData,
4
+ uploadMetadata,
5
+ } from '@/browser/schema/file/upload/actors'
7
6
 
8
- type FetchAllFilesMachineContext = {
9
- addresses: string[]
10
- dbsLoaded: boolean
11
- filesMetadata?: Attestation[]
12
- filesBlobData?: any[]
13
- }
14
-
15
- export const fetchAllFilesMachine = setup({
16
- types: {
17
- context: {} as FetchAllFilesMachineContext,
18
- },
7
+ export const uploadMachine = setup({
19
8
  actors: {
20
- fetchAllMetadataRecords,
21
- fetchAllBinaryData,
9
+ uploadBinaryData,
10
+ uploadMetadata,
22
11
  },
23
12
  }).createMachine({
24
- id: 'fetchAllFiles',
13
+ id: 'upload',
25
14
  initial: 'idle',
26
- context: ({ input }) =>
27
- ({
28
- ...input,
29
- dbsLoaded: false,
30
- }) as FetchAllFilesMachineContext,
31
- on: {
32
- allDbsLoaded: {
33
- target: '.fetchingAllMetadataRecords',
34
- actions: assign({
35
- dbsLoaded: true,
36
- }),
37
- },
15
+ context: {
16
+ file: '',
38
17
  },
39
18
  states: {
40
19
  idle: {},
41
- fetchingAllMetadataRecords: {
42
- on: {
43
- fetchingAllMetadataRecordsSuccess: {
44
- target: 'fetchingAllBinaryData',
45
- actions: assign({
46
- filesMetadata: ({ event }) => event.filesMetadata,
47
- }),
48
- },
49
- },
50
- invoke: {
51
- src: 'fetchAllMetadataRecords',
52
- input: ({ context, event }) => ({ context, event }),
53
- },
54
- },
55
- fetchingAllBinaryData: {
56
- on: {
57
- fetchingAllBinaryDataSuccess: {
58
- target: 'success',
59
- actions: assign({
60
- filesBlobData: ({ event }) => event.filesBlobData,
61
- }),
62
- },
63
- },
64
- invoke: {
65
- src: 'fetchAllBinaryData',
66
- input: ({ context }) => ({ context }),
67
- },
68
- },
69
- success: {
70
- type: 'final',
71
- },
72
20
  },
73
21
  })
@@ -18,7 +18,7 @@ export const initialize = fromCallback<
18
18
  EventObject,
19
19
  FromCallbackInput<GlobalMachineContext, EventObject>
20
20
  >(({ sendBack, input: { event, context } }) => {
21
- const { internalService, models, endpoints } = context
21
+ const { internalService, models, endpoints, arweaveDomain } = context
22
22
 
23
23
  const { addresses } = event
24
24
 
@@ -50,7 +50,12 @@ export const initialize = fromCallback<
50
50
  resolve()
51
51
  }
52
52
  })
53
- internalService.send({ type: 'init', endpoints, addresses })
53
+ internalService.send({
54
+ type: 'init',
55
+ endpoints,
56
+ addresses,
57
+ arweaveDomain,
58
+ })
54
59
  })
55
60
  }
56
61
 
@@ -19,6 +19,7 @@ export type InternalMachineContext = {
19
19
  error?: string
20
20
  endpoints: Endpoints
21
21
  addresses: string[]
22
+ arweaveDomain?: string
22
23
  environment: string
23
24
  hasFiles: boolean
24
25
  seedDbService: any
@@ -36,6 +37,7 @@ export type GlobalMachineContext = {
36
37
  internalService?: ActorRefFrom<any>
37
38
  fileSystemService?: ActorRefFrom<typeof fileSystemMachine>
38
39
  publishItemService?: ActorRefFrom<any>
40
+ arweaveDomain?: string
39
41
  }
40
42
 
41
43
  export type PublishMachineContext = PublishRequestData & {
@@ -20,7 +20,7 @@ export const saveConfig = fromCallback<
20
20
  })
21
21
  }
22
22
 
23
- const { endpoints, addresses } = context
23
+ const { endpoints, addresses, arweaveDomain } = context
24
24
 
25
25
  if (!endpoints) {
26
26
  throw new Error('saveConfig called with invalid endpoints')
@@ -64,6 +64,19 @@ export const saveConfig = fromCallback<
64
64
  },
65
65
  setWhere: sql`key = 'addresses'`,
66
66
  })
67
+ await appDb
68
+ .insert(appState)
69
+ .values({
70
+ key: 'arweaveDomain',
71
+ value: arweaveDomain || 'arweave.net',
72
+ })
73
+ .onConflictDoUpdate({
74
+ target: appState.key,
75
+ set: {
76
+ value: arweaveDomain,
77
+ },
78
+ setWhere: sql`key = 'arweaveDomain'`,
79
+ })
67
80
  logger('[sdk] [internal/actors] Should be done saving')
68
81
  } catch (error) {
69
82
  console.error('Error saving config:', error)
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/browser/client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAShE,QAAA,MAAM,MAAM;kCACoB,sBAAsB;0BAuB9B,GAAG;;;qBAcR,MAAM,YAAY,GAAG;;;;0BAqBhB,MAAM;qBAGb,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;yBAG1B,MAAM,EAAE;CAG5B,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/browser/client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAUhE,QAAA,MAAM,MAAM;kCACoB,sBAAsB;0BAiC9B,GAAG;;;qBAcR,MAAM,YAAY,GAAG;;;;0BAqBhB,MAAM;qBAGb,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;yBAG1B,MAAM,EAAE;CAG5B,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPublishUploads.d.ts","sourceRoot":"","sources":["../../../../../../src/browser/db/read/getPublishUploads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,WAAW,MAAM,6BAA6B,CAAA;AAUrD,eAAO,MAAM,cAAc,WACjB,MAAM,GAAG,IAAI,GAAG,SAAS,QAC3B,UAAU,GAAG,SAAS,KAC3B,OAAO,CAAC,MAAM,CAkBhB,CAAA;AACD,eAAO,MAAM,yBAAyB,SAC9B,MAAM,GAAG,UAAU,eACZ,MAAM,GAAG,SAAS,KAC9B,OAAO,CAAC,WAAW,CAerB,CAAA;AACD,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;CACrC,CAAA;AA6HD,MAAM,MAAM,aAAa,GAAG;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,WAAW,CAAA;CAC/B,CAAA;AACD,eAAO,MAAM,iBAAiB,SACtB,IAAI,CAAC,GAAG,CAAC,YACN,aAAa,EAAE,wBACF,YAAY,CAAC,GAAG,CAAC,6BA+CxC,CAAA"}
1
+ {"version":3,"file":"getPublishUploads.d.ts","sourceRoot":"","sources":["../../../../../../src/browser/db/read/getPublishUploads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,WAAW,MAAM,6BAA6B,CAAA;AAUrD,eAAO,MAAM,cAAc,WACjB,MAAM,GAAG,IAAI,GAAG,SAAS,QAC3B,UAAU,GAAG,SAAS,KAC3B,OAAO,CAAC,MAAM,CAkBhB,CAAA;AACD,eAAO,MAAM,yBAAyB,SAC9B,MAAM,GAAG,UAAU,eACZ,MAAM,GAAG,SAAS,KAC9B,OAAO,CAAC,WAAW,CAerB,CAAA;AACD,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;CACrC,CAAA;AAiID,MAAM,MAAM,aAAa,GAAG;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,WAAW,CAAA;CAC/B,CAAA;AACD,eAAO,MAAM,iBAAiB,SACtB,IAAI,CAAC,GAAG,CAAC,YACN,aAAa,EAAE,wBACF,YAAY,CAAC,GAAG,CAAC,6BA+CxC,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import Arweave from 'arweave';
2
2
  export declare const getArweave: () => Arweave | undefined;
3
+ export declare const setArweaveDomain: (newDomain: string) => void;
3
4
  //# sourceMappingURL=arweave.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../../../../../src/browser/helpers/arweave.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,eAAO,MAAM,UAAU,QAAO,OAAO,GAAG,SAyCvC,CAAA"}
1
+ {"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../../../../../src/browser/helpers/arweave.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,eAAO,MAAM,UAAU,QAAO,OAAO,GAAG,SAyCvC,CAAA;AAED,eAAO,MAAM,gBAAgB,cAAe,MAAM,KAAG,IAEpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../../../src/browser/services/global/actors/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8B,MAAM,QAAQ,CAAA;AAQhE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAQjE,eAAO,MAAM,UAAU,qHAyGrB,CAAA"}
1
+ {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../../../src/browser/services/global/actors/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8B,MAAM,QAAQ,CAAA;AAQhE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAQjE,eAAO,MAAM,UAAU,qHA8GrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"saveConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/browser/services/internal/actors/saveConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAKlD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAKnE,eAAO,MAAM,UAAU,0GAoErB,CAAA"}
1
+ {"version":3,"file":"saveConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/browser/services/internal/actors/saveConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAKlD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAKnE,eAAO,MAAM,UAAU,0GAiFrB,CAAA"}
@@ -56,7 +56,7 @@ export interface SeedConstructor {
56
56
  export interface SeedConfig {
57
57
  readonly endpoints: Endpoints;
58
58
  models: Record<string, ModelClassType>;
59
- tables: Record<string, ModelClassType>;
59
+ arweaveDomain?: string;
60
60
  }
61
61
  export interface SeedConstructorOptions {
62
62
  config: SeedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAE9B,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,OAAO,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;IACX,cAAc,EAAE;QACd,KAAK,EAAE,GAAG,CAAA;KACX,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,GAAG,CAAA;IACZ,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,CACR,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,OAAO,KACd,IAAI,CAAA;IACT,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,IAAI,EAAE,OAAO,IAAI,CAAA;IACjB,MAAM,EAAE,OAAO,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,IAAI,CAAA;IACjB,IAAI,EAAE,OAAO,IAAI,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;CAC9C;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,CAAA;AAE7D,MAAM,WAAW,mBAAmB;IAClC;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAE9B,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,OAAO,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;IACX,cAAc,EAAE;QACd,KAAK,EAAE,GAAG,CAAA;KACX,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,GAAG,CAAA;IACZ,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,CACR,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,OAAO,KACd,IAAI,CAAA;IACT,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,QAAQ,CAAA;IACzB,IAAI,EAAE,OAAO,IAAI,CAAA;IACjB,MAAM,EAAE,OAAO,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,IAAI,CAAA;IACjB,IAAI,EAAE,OAAO,IAAI,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;CAC9C;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,CAAA;AAE7D,MAAM,WAAW,mBAAmB;IAClC;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA"}
@@ -17,6 +17,7 @@ export type InternalMachineContext = {
17
17
  error?: string;
18
18
  endpoints: Endpoints;
19
19
  addresses: string[];
20
+ arweaveDomain?: string;
20
21
  environment: string;
21
22
  hasFiles: boolean;
22
23
  seedDbService: any;
@@ -35,6 +36,7 @@ export type GlobalMachineContext = {
35
36
  internalService?: ActorRefFrom<any>;
36
37
  fileSystemService?: ActorRefFrom<typeof fileSystemMachine>;
37
38
  publishItemService?: ActorRefFrom<any>;
39
+ arweaveDomain?: string;
38
40
  };
39
41
  export type PublishMachineContext = PublishRequestData & {
40
42
  status: string;