@permaweb/libs 0.0.1

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.
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createAtomicAsset = createAtomicAsset;
13
+ exports.getAtomicAsset = getAtomicAsset;
14
+ exports.getAtomicAssets = getAtomicAssets;
15
+ exports.buildAsset = buildAsset;
16
+ const ao_1 = require("../common/ao");
17
+ const gql_1 = require("../common/gql");
18
+ const config_1 = require("../helpers/config");
19
+ const utils_1 = require("../helpers/utils");
20
+ // TODO: Render-With
21
+ // TODO: Thumbnail
22
+ // TODO: License
23
+ function createAtomicAsset(args, wallet, callback) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ var _a, _b;
26
+ if (!validateAssetCreateArgs(args))
27
+ throw new Error('Invalid arguments passed for atomic asset creation');
28
+ let processSrc = null;
29
+ try {
30
+ processSrc = yield (0, ao_1.fetchProcessSrc)(config_1.AO.src.asset);
31
+ if (processSrc) {
32
+ processSrc = processSrc.replaceAll(`'<NAME>'`, `[[${args.title}]]`);
33
+ processSrc = processSrc.replaceAll('<CREATOR>', args.creator ? args.creator : wallet.address);
34
+ processSrc = processSrc.replaceAll('<TICKER>', 'ATOMIC');
35
+ processSrc = processSrc.replaceAll('<DENOMINATION>', args.denomination ? args.denomination.toString() : '1');
36
+ processSrc = processSrc.replaceAll('<SUPPLY>', args.supply ? args.supply.toString() : '1');
37
+ if (args.collectionId)
38
+ processSrc = processSrc.replaceAll('<COLLECTION>', args.collectionId);
39
+ if (!args.transferable)
40
+ processSrc = processSrc.replace('Transferable = true', 'Transferable = false');
41
+ }
42
+ }
43
+ catch (e) {
44
+ throw new Error(e);
45
+ }
46
+ const tags = buildAssetTags(args);
47
+ const data = (_b = (_a = config_1.CONTENT_TYPES[args.contentType]) === null || _a === void 0 ? void 0 : _a.serialize(args.data)) !== null && _b !== void 0 ? _b : args.data;
48
+ try {
49
+ const assetId = yield (0, ao_1.aoCreateProcess)({
50
+ spawnData: data,
51
+ spawnTags: tags,
52
+ wallet: wallet,
53
+ evalSrc: processSrc,
54
+ }, (status) => callback(status));
55
+ const initMessage = yield (0, ao_1.aoSend)({
56
+ processId: assetId,
57
+ wallet: wallet,
58
+ action: 'Add-Upload-To-Zone'
59
+ });
60
+ console.log(`Init upload message: ${initMessage}`);
61
+ return assetId;
62
+ }
63
+ catch (e) {
64
+ throw new Error(e);
65
+ }
66
+ });
67
+ }
68
+ function getAtomicAsset(id) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ try {
71
+ const gqlResponse = yield (0, gql_1.getGQLData)({
72
+ gateway: config_1.GATEWAYS.goldsky,
73
+ ids: [id],
74
+ tagFilters: null,
75
+ owners: null,
76
+ cursor: null,
77
+ });
78
+ if (gqlResponse && gqlResponse.data.length) {
79
+ const asset = buildAsset(gqlResponse.data[0]);
80
+ let state = {
81
+ ticker: null,
82
+ denomination: null,
83
+ balances: null,
84
+ transferable: null
85
+ };
86
+ const processState = yield (0, ao_1.aoDryRun)({
87
+ processId: asset.id,
88
+ action: 'Info',
89
+ });
90
+ if (processState) {
91
+ if (processState.Name || processState.name) {
92
+ asset.title = processState.Name || processState.name;
93
+ }
94
+ if (processState.Ticker || processState.ticker)
95
+ state.ticker = processState.Ticker || processState.ticker;
96
+ if (processState.Denomination || processState.denomination)
97
+ state.denomination = processState.Denomination || processState.denomination;
98
+ if (processState.Logo || processState.logo)
99
+ asset.thumbnail = processState.Logo || processState.logo;
100
+ if (processState.Balances) {
101
+ state.balances = Object.fromEntries(Object.entries(processState.Balances).filter(([_, value]) => Number(value) !== 0));
102
+ }
103
+ if (processState.Transferable !== undefined) {
104
+ state.transferable = processState.Transferable;
105
+ }
106
+ else {
107
+ state.transferable = true;
108
+ }
109
+ }
110
+ if (!state.balances) {
111
+ try {
112
+ const processBalances = yield (0, ao_1.aoDryRun)({
113
+ processId: asset.id,
114
+ action: 'Balances',
115
+ });
116
+ if (processBalances)
117
+ state.balances = processBalances;
118
+ }
119
+ catch (e) {
120
+ console.error(e);
121
+ }
122
+ }
123
+ return Object.assign(Object.assign({}, asset), state);
124
+ }
125
+ return null;
126
+ }
127
+ catch (e) {
128
+ throw new Error(e.message || 'Error fetching atomic asset');
129
+ }
130
+ });
131
+ }
132
+ function getAtomicAssets(args) {
133
+ return __awaiter(this, void 0, void 0, function* () {
134
+ var _a;
135
+ try {
136
+ const gqlResponse = yield (0, gql_1.getGQLData)({
137
+ gateway: config_1.GATEWAYS.arweave,
138
+ ids: (_a = args.ids) !== null && _a !== void 0 ? _a : null,
139
+ tagFilters: null,
140
+ owners: null,
141
+ cursor: null,
142
+ });
143
+ if (gqlResponse && gqlResponse.data.length) {
144
+ return gqlResponse.data.map((element) => buildAsset(element));
145
+ }
146
+ return null;
147
+ }
148
+ catch (e) {
149
+ throw new Error(e);
150
+ }
151
+ });
152
+ }
153
+ function buildAsset(element) {
154
+ const asset = {
155
+ id: element.node.id,
156
+ owner: element.node.owner.address,
157
+ creator: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.creator),
158
+ title: getTitle(element),
159
+ description: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.description),
160
+ type: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.type),
161
+ topics: getTopics(element),
162
+ implementation: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.implements),
163
+ contentType: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.contentType),
164
+ renderWith: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.renderWith),
165
+ thumbnail: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.thumbnail),
166
+ udl: getLicense(element),
167
+ collectionId: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.collectionId),
168
+ dateCreated: getDateCreated(element),
169
+ blockHeight: element.node.block ? element.node.block.height : 0,
170
+ };
171
+ return asset;
172
+ }
173
+ function getTitle(element) {
174
+ return (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.title) ||
175
+ (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.name) ||
176
+ (0, utils_1.formatAddress)(element.node.id, false);
177
+ }
178
+ function getTopics(element) {
179
+ return element.node.tags
180
+ .filter(tag => tag.name.includes(config_1.TAGS.keys.topic.toLowerCase()))
181
+ .map(tag => tag.value);
182
+ }
183
+ function getDateCreated(element) {
184
+ if (element.node.block) {
185
+ return element.node.block.timestamp * 1000;
186
+ }
187
+ const dateCreatedTag = (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.dateCreated);
188
+ if (dateCreatedTag) {
189
+ return Number(dateCreatedTag);
190
+ }
191
+ return 0;
192
+ }
193
+ function getLicense(element) {
194
+ const license = (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.license);
195
+ if (license && license === config_1.LICENSES.udl.address) {
196
+ return {
197
+ access: { value: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.access) },
198
+ derivations: { value: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.derivations) },
199
+ commercialUse: { value: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.commericalUse) },
200
+ dataModelTraining: { value: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.dataModelTraining) },
201
+ paymentMode: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.paymentMode),
202
+ paymentAddress: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.paymentAddress),
203
+ currency: (0, utils_1.getTagValue)(element.node.tags, config_1.TAGS.keys.currency),
204
+ };
205
+ }
206
+ return null;
207
+ }
208
+ function buildAssetTags(args) {
209
+ const tags = [
210
+ { name: config_1.TAGS.keys.title, value: args.title },
211
+ { name: config_1.TAGS.keys.description, value: args.description },
212
+ { name: config_1.TAGS.keys.type, value: args.type },
213
+ { name: config_1.TAGS.keys.contentType, value: args.contentType },
214
+ { name: config_1.TAGS.keys.implements, value: 'ANS-110' },
215
+ { name: config_1.TAGS.keys.dateCreated, value: new Date().getTime().toString() },
216
+ ];
217
+ args.topics.forEach((topic) => tags.push({ name: config_1.TAGS.keys.topic, value: topic }));
218
+ if (args.creator) {
219
+ tags.push({ name: config_1.TAGS.keys.creator, value: args.creator });
220
+ }
221
+ if (args.collectionId) {
222
+ tags.push({ name: config_1.TAGS.keys.collectionId, value: args.collectionId });
223
+ }
224
+ return tags;
225
+ }
226
+ function validateAssetCreateArgs(args) {
227
+ if (typeof args !== 'object' || args === null)
228
+ return false;
229
+ const requiredFields = ['title', 'description', 'type', 'topics', 'contentType', 'data'];
230
+ for (const field of requiredFields) {
231
+ if (!(field in args))
232
+ return false;
233
+ }
234
+ if (typeof args.title !== 'string' || args.title.trim() === '')
235
+ return false;
236
+ if (typeof args.description !== 'string')
237
+ return false;
238
+ if (typeof args.type !== 'string' || args.type.trim() === '')
239
+ return false;
240
+ if (!Array.isArray(args.topics) || args.topics.length === 0)
241
+ return false;
242
+ if (typeof args.contentType !== 'string' || args.contentType.trim() === '')
243
+ return false;
244
+ if (args.data === undefined || args.data === null)
245
+ return false;
246
+ if ('creator' in args && typeof args.creator !== 'string')
247
+ return false;
248
+ if ('collectionId' in args && typeof args.collectionId !== 'string')
249
+ return false;
250
+ if ('supply' in args && (typeof args.supply !== 'number' || args.supply <= 0))
251
+ return false;
252
+ if ('transferable' in args && typeof args.transferable !== 'boolean')
253
+ return false;
254
+ return true;
255
+ }
256
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/services/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './assets';
2
+ export * from './zones';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./assets"), exports);
18
+ __exportStar(require("./zones"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
@@ -0,0 +1,9 @@
1
+ export declare function createZone(wallet: any, callback: (status: any) => void): Promise<string | null>;
2
+ export declare function updateZone(args: {
3
+ zoneId: string;
4
+ data: object;
5
+ }, wallet: any): Promise<string | null>;
6
+ export declare function getZone(zoneId: string): Promise<{
7
+ store: object | null;
8
+ assets: any;
9
+ } | null>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createZone = createZone;
13
+ exports.updateZone = updateZone;
14
+ exports.getZone = getZone;
15
+ const ao_1 = require("../common/ao");
16
+ const config_1 = require("../helpers/config");
17
+ // TODO: Add to registry
18
+ function createZone(wallet, callback) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ const zoneId = yield (0, ao_1.aoCreateProcess)({
22
+ wallet: wallet,
23
+ evalTxId: config_1.AO.src.zone,
24
+ }, (status) => callback(status));
25
+ return zoneId;
26
+ }
27
+ catch (e) {
28
+ throw new Error(e);
29
+ }
30
+ });
31
+ }
32
+ function updateZone(args, wallet) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ const mappedData = { entries: Object.entries(args.data).map(([key, value]) => ({ key, value })) };
36
+ const zoneUpdateId = yield (0, ao_1.aoSend)({
37
+ processId: args.zoneId,
38
+ wallet: wallet,
39
+ action: 'Update-Zone',
40
+ data: mappedData
41
+ });
42
+ return zoneUpdateId;
43
+ }
44
+ catch (e) {
45
+ throw new Error(e);
46
+ }
47
+ });
48
+ }
49
+ function getZone(zoneId) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ try {
52
+ const processState = yield (0, ao_1.aoDryRun)({
53
+ processId: zoneId,
54
+ action: 'Info',
55
+ });
56
+ return processState;
57
+ }
58
+ catch (e) {
59
+ throw new Error(e);
60
+ }
61
+ });
62
+ }
63
+ //# sourceMappingURL=zones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zones.js","sourceRoot":"","sources":["../../src/services/zones.ts"],"names":[],"mappings":";;;;;;;;;;;AAKA,gCAaC;AAED,gCAgBC;AAED,0BAYC;AAlDD,kCAA8D;AAE9D,2CAAoC;AAEpC,wBAAwB;AACxB,SAAsB,UAAU,CAAC,MAAW,EAAE,QAA+B;;QAC5E,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAe,EACnC;gBACC,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,WAAE,CAAC,GAAG,CAAC,IAAI;aACrB,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,CAAC;YACF,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;CAAA;AAED,SAAsB,UAAU,CAAC,IAAsC,EAAE,MAAW;;QACnF,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YAElG,MAAM,YAAY,GAAG,MAAM,IAAA,WAAM,EAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,UAAU;aAChB,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QACrB,CAAC;QACD,OAAO,CAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;CAAA;AAED,SAAsB,OAAO,CAAC,MAAc;;QAC3C,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,MAAM,IAAA,aAAQ,EAAC;gBACnC,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,OAAO,YAAY,CAAA;QACpB,CAAC;QACD,OAAO,CAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;CAAA"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@permaweb/libs",
3
+ "version": "0.0.01",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "keywords": [],
11
+ "author": "",
12
+ "license": "ISC",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/permaweb/ao-permaweb.git",
16
+ "directory": "sdk"
17
+ },
18
+ "scripts": {
19
+ "format": "eslint --fix . && npx prettier --write .",
20
+ "build": "tsc && tsc-alias"
21
+ },
22
+ "dependencies": {
23
+ "@permaweb/aoconnect": "^0.0.59",
24
+ "tsc-alias": "^1.8.10"
25
+ },
26
+ "devDependencies": {
27
+ "@types/node": "^22.7.6",
28
+ "@typescript-eslint/eslint-plugin": "^5.57.1",
29
+ "@typescript-eslint/parser": "^5.57.1",
30
+ "eslint": "^8.35.0",
31
+ "eslint-plugin-import": "^2.27.5",
32
+ "eslint-plugin-simple-import-sort": "^10.0.0",
33
+ "typescript": "^5.5.4"
34
+ }
35
+ }