Socket
Socket
Sign inDemoInstall

arbundles

Package Overview
Dependencies
7
Maintainers
3
Versions
89
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.7.3 to 0.8.0

bundle.js

15

file/bundleData.js
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -31,9 +35,8 @@ if (k2 === undefined) k2 = k;

async function bundleAndSignData(dataItems, signer, dir) {
const headerFile = await tmp_promise_1.file({ dir });
const headerFile = await (0, tmp_promise_1.file)({ dir });
const headerStream = fs.createWriteStream(headerFile.path);
const files = new Array(dataItems.length);
headerStream.write(utils_1.longTo32ByteArray(dataItems.length));
headerStream.write((0, utils_1.longTo32ByteArray)(dataItems.length));
for (const [index, item] of dataItems.entries()) {
let dataItem;
dataItem = item;
const dataItem = item;
if (!dataItem.isSigned()) {

@@ -43,3 +46,3 @@ await dataItem.sign(signer);

files[index] = dataItem.filename;
headerStream.write(Buffer.concat([utils_1.longTo32ByteArray(await dataItem.size()), dataItem.rawId]));
headerStream.write(Buffer.concat([(0, utils_1.longTo32ByteArray)(await dataItem.size()), dataItem.rawId]));
}

@@ -46,0 +49,0 @@ await new Promise((resolve) => headerStream.end(resolve));

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -30,9 +34,8 @@ if (k2 === undefined) k2 = k;

const base64url_1 = __importDefault(require("base64url"));
const assert_1 = __importDefault(require("assert"));
const utils_1 = require("../src/utils");
const parser_1 = require("../src/parser");
const tags_1 = require("../src/tags");
const promises_1 = require("stream/promises");
async function createData(data, signer, opts) {
var _a, _b, _c, _d, _e;
const filename = await tmp_promise_1.tmpName();
const filename = await (0, tmp_promise_1.tmpName)();
const stream = fs.createWriteStream(filename);

@@ -44,11 +47,13 @@ // TODO: Add asserts

const _anchor = (opts === null || opts === void 0 ? void 0 : opts.anchor) ? Buffer.from(opts.anchor) : null;
const _tags = ((_b = (_a = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0 ? await parser_1.serializeTags(opts.tags) : null;
stream.write(utils_1.shortTo2ByteArray(signer.signatureType));
const _tags = ((_b = (_a = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0 ? await (0, tags_1.serializeTags)(opts.tags) : null;
stream.write((0, utils_1.shortTo2ByteArray)(signer.signatureType));
// Signature
stream.write(new Uint8Array(signer.signatureLength).fill(0));
assert_1.default(_owner.byteLength == signer.ownerLength, new Error(`Owner must be ${signer.ownerLength} bytes`));
if (_owner.byteLength !== signer.ownerLength)
new Error(`Owner must be ${signer.ownerLength} bytes`);
stream.write(_owner);
stream.write(_target ? singleItemBuffer(1) : singleItemBuffer(0));
if (_target) {
assert_1.default(_target.byteLength == 32, new Error("Target must be 32 bytes"));
if (_target.byteLength !== 32)
throw new Error("Target must be 32 bytes");
stream.write(_target);

@@ -58,3 +63,4 @@ }

if (_anchor) {
assert_1.default(_anchor.byteLength == 32, new Error("Anchor must be 32 bytes"));
if (_anchor.byteLength !== 32)
throw new Error("Anchor must be 32 bytes");
stream.write(_anchor);

@@ -64,4 +70,4 @@ }

// TODO: Finish this
stream.write(utils_1.longTo8ByteArray((_d = (_c = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0));
const bytesCount = utils_1.longTo8ByteArray((_e = _tags === null || _tags === void 0 ? void 0 : _tags.byteLength) !== null && _e !== void 0 ? _e : 0);
stream.write((0, utils_1.longTo8ByteArray)((_d = (_c = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0));
const bytesCount = (0, utils_1.longTo8ByteArray)((_e = _tags === null || _tags === void 0 ? void 0 : _tags.byteLength) !== null && _e !== void 0 ? _e : 0);
stream.write(bytesCount);

@@ -73,3 +79,3 @@ if (_tags) {

"function") {
await promises_1.pipeline(data, stream);
await (0, promises_1.pipeline)(data, stream);
}

@@ -76,0 +82,0 @@ else {

4

file/file.d.ts
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import { FileHandle } from "fs/promises";

@@ -6,3 +8,3 @@ import { Signer } from "../src/signing";

import { Readable } from "stream";
declare type File = string | FileHandle;
type File = string | FileHandle;
interface Transaction {

@@ -9,0 +11,0 @@ id: string;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -29,6 +33,6 @@ if (k2 === undefined) k2 = k;

const utils_1 = require("../src/utils");
const parser_1 = require("../src/parser");
const base64url_1 = __importDefault(require("base64url"));
const stream_1 = require("../stream");
const read = util_1.promisify(fs.read);
const tags_1 = require("../src/tags");
const read = (0, util_1.promisify)(fs.read);
const fileToFd = async (f) => typeof f === "string" ? await fs.promises.open(f, "r") : f;

@@ -43,9 +47,9 @@ async function fileToJson(filename) {

tagsStart += anchorPresent ? 32 : 0;
const numberOfTags = utils_1.byteArrayToLong(await read(fd, Buffer.alloc(8), tagsStart, 8, 0).then((value) => value.buffer));
const numberOfTags = (0, utils_1.byteArrayToLong)(await read(fd, Buffer.alloc(8), tagsStart, 8, 0).then((value) => value.buffer));
let tags = [];
if (numberOfTags > 0) {
const numberOfTagBytesArray = await read(fd, Buffer.alloc(8), tagsStart + 8, 8, 0).then((value) => value.buffer);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const numberOfTagBytes = (0, utils_1.byteArrayToLong)(numberOfTagBytesArray);
const tagBytes = await read(fd, Buffer.alloc(8), tagsStart + 16, numberOfTagBytes, 0).then((value) => value.buffer);
tags = parser_1.tagsParser.fromBuffer(tagBytes);
tags = (0, tags_1.deserializeTags)(tagBytes);
}

@@ -73,3 +77,3 @@ const id = filename;

await fd.close();
return utils_1.byteArrayToLong(headerBuffer);
return (0, utils_1.byteArrayToLong)(headerBuffer);
}

@@ -81,3 +85,3 @@ exports.numberOfItems = numberOfItems;

return {
offset: utils_1.byteArrayToLong(headerBuffer.subarray(0, 32)),
offset: (0, utils_1.byteArrayToLong)(headerBuffer.subarray(0, 32)),
id: base64url_1.default.encode(headerBuffer.subarray(32, 64)),

@@ -163,3 +167,3 @@ };

tagsStart += anchorPresent ? 32 : 0;
const numberOfTags = utils_1.byteArrayToLong(await read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((value) => value.buffer));
const numberOfTags = (0, utils_1.byteArrayToLong)(await read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((value) => value.buffer));
if (numberOfTags == 0) {

@@ -169,12 +173,12 @@ return [];

const numberOfTagBytesArray = await read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((value) => value.buffer);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const numberOfTagBytes = (0, utils_1.byteArrayToLong)(numberOfTagBytesArray);
const tagBytes = await read(fd.fd, Buffer.allocUnsafe(numberOfTagBytes), 0, numberOfTagBytes, tagsStart + 16).then((value) => value.buffer);
await fd.close();
return parser_1.tagsParser.fromBuffer(tagBytes);
return (0, tags_1.deserializeTags)(tagBytes);
}
exports.getTags = getTags;
async function signedFileStream(path, signer, opts) {
return stream_1.streamSigner(fs.createReadStream(path), fs.createReadStream(path), signer, opts);
return (0, stream_1.streamSigner)(fs.createReadStream(path), fs.createReadStream(path), signer, opts);
}
exports.signedFileStream = signedFileStream;
//# sourceMappingURL=file.js.map
/// <reference types="node" />
/// <reference types="node" />
import { BundleInterface } from "../src/BundleInterface";

@@ -3,0 +4,0 @@ import FileDataItem from "./FileDataItem";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -36,3 +40,3 @@ if (k2 === undefined) k2 = k;

// import { pipeline } from 'stream/promises';
const read = util_1.promisify(fs.read);
const read = (0, util_1.promisify)(fs.read);
class FileBundle {

@@ -53,3 +57,3 @@ constructor(headerFile, txs) {

await handle.close();
return utils_1.byteArrayToLong(lengthBuffer);
return (0, utils_1.byteArrayToLong)(lengthBuffer);
}

@@ -97,3 +101,3 @@ get items() {

const stream = multistream_1.default.obj(streams);
const tx = await promises_1.pipeline(stream, arweave_stream_tx_1.createTransactionAsync(attributes, arweave, jwk));
const tx = await (0, promises_1.pipeline)(stream, (0, arweave_stream_tx_1.createTransactionAsync)(attributes, arweave, jwk));
tx.addTag("Bundle-Format", "binary");

@@ -116,3 +120,3 @@ tx.addTag("Bundle-Version", "2.0.0");

const stream2 = multistream_1.default.obj(streams2);
await promises_1.pipeline(stream2, arweave_stream_tx_1.uploadTransactionAsync(tx, arweave, true));
await (0, promises_1.pipeline)(stream2, (0, arweave_stream_tx_1.uploadTransactionAsync)(tx, arweave, true));
return tx;

@@ -124,3 +128,3 @@ }

yield {
offset: utils_1.byteArrayToLong(await read(handle.fd, Buffer.allocUnsafe(32), 0, 32, i).then((r) => r.buffer)),
offset: (0, utils_1.byteArrayToLong)(await read(handle.fd, Buffer.allocUnsafe(32), 0, 32, i).then((r) => r.buffer)),
id: await read(handle.fd, Buffer.allocUnsafe(32), 0, 32, i + 32).then((r) => base64url_1.default.encode(r.buffer)),

@@ -127,0 +131,0 @@ };

/// <reference types="node" />
/// <reference types="node" />
import { PathLike } from "fs";

@@ -3,0 +4,0 @@ import { BundleItem } from "../src/BundleItem";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -28,17 +32,13 @@ if (k2 === undefined) k2 = k;

const utils_1 = require("../src/utils");
const parser_1 = require("../src/parser");
const src_1 = require("../src");
const utils_2 = require("arweave/node/lib/utils");
const arweave_1 = __importDefault(require("arweave"));
const util_1 = require("util");
const signing_1 = require("../src/signing");
const axios_1 = __importDefault(require("axios"));
const constants_1 = require("../src/constants");
const write = util_1.promisify(fs.write);
const read = util_1.promisify(fs.read);
const util_1 = require("util");
const tags_1 = require("../src/tags");
const read = (0, util_1.promisify)(fs.read);
const write = (0, util_1.promisify)(fs.write);
class FileDataItem {
constructor(filename, id) {
this.filename = filename;
this._id = id;
}
async signatureLength() {

@@ -58,2 +58,6 @@ var _a;

}
constructor(filename, id) {
this.filename = filename;
this._id = id;
}
get id() {

@@ -79,4 +83,4 @@ return base64url_1.default.encode(this._id);

const tagsStart = await item.getTagsStart();
const numberOfTags = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((r) => utils_1.byteArrayToLong(r.buffer));
const numberOfTagsBytes = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((r) => utils_1.byteArrayToLong(r.buffer));
const numberOfTags = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((r) => (0, utils_1.byteArrayToLong)(r.buffer));
const numberOfTagsBytes = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((r) => (0, utils_1.byteArrayToLong)(r.buffer));
if (numberOfTagsBytes > 4096) {

@@ -89,3 +93,3 @@ await handle.close();

try {
parser_1.tagsParser.fromBuffer(tagsBytes);
(0, tags_1.deserializeTags)(tagsBytes);
}

@@ -99,6 +103,6 @@ catch (e) {

const owner = await item.rawOwner();
const signatureData = await src_1.deepHash([
utils_2.stringToBuffer("dataitem"),
utils_2.stringToBuffer("1"),
utils_2.stringToBuffer(sigType.toString()),
const signatureData = await (0, src_1.deepHash)([
(0, utils_2.stringToBuffer)("dataitem"),
(0, utils_2.stringToBuffer)("1"),
(0, utils_2.stringToBuffer)(sigType.toString()),
owner,

@@ -133,3 +137,3 @@ await item.rawTarget(),

await handle.close();
return utils_1.byteArrayToLong(buffer);
return (0, utils_1.byteArrayToLong)(buffer);
}

@@ -192,3 +196,3 @@ async rawSignature() {

const numberOfTagsBuffer = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((r) => r.buffer);
const numberOfTags = utils_1.byteArrayToLong(numberOfTagsBuffer);
const numberOfTags = (0, utils_1.byteArrayToLong)(numberOfTagsBuffer);
if (numberOfTags === 0) {

@@ -199,3 +203,3 @@ await handle.close();

const numberOfTagsBytesBuffer = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((r) => r.buffer);
const numberOfTagsBytes = utils_1.byteArrayToLong(numberOfTagsBytesBuffer);
const numberOfTagsBytes = (0, utils_1.byteArrayToLong)(numberOfTagsBytesBuffer);
if (numberOfTagsBytes > 4096) {

@@ -213,3 +217,3 @@ await handle.close();

return [];
return parser_1.tagsParser.fromBuffer(tagsBytes);
return (0, tags_1.deserializeTags)(tagsBytes);
}

@@ -233,6 +237,6 @@ async rawData() {

const dataStart = await this.dataStart();
const signatureData = await src_1.deepHash([
utils_2.stringToBuffer("dataitem"),
utils_2.stringToBuffer("1"),
utils_2.stringToBuffer((await this.signatureType()).toString()),
const signatureData = await (0, src_1.deepHash)([
(0, utils_2.stringToBuffer)("dataitem"),
(0, utils_2.stringToBuffer)("1"),
(0, utils_2.stringToBuffer)((await this.signatureType()).toString()),
await this.rawOwner(),

@@ -281,3 +285,3 @@ await this.rawTarget(),

const numberOfTagsBytesBuffer = await read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((r) => r.buffer);
const numberOfTagsBytes = utils_1.byteArrayToLong(numberOfTagsBytesBuffer);
const numberOfTagsBytes = (0, utils_1.byteArrayToLong)(numberOfTagsBytesBuffer);
await handle.close();

@@ -284,0 +288,0 @@ return tagsStart + 16 + numberOfTagsBytes;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

@@ -1,1 +0,2 @@

export * from "./src";
export * from "./webIndex";
export * as file from "./file";
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -9,7 +13,21 @@ if (k2 === undefined) k2 = k;

}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./src"), exports);
exports.file = void 0;
__exportStar(require("./webIndex"), exports);
exports.file = __importStar(require("./file"));
//# sourceMappingURL=index.js.map
{
"name": "arbundles",
"version": "0.7.3",
"version": "0.8.0",
"description": "Arweave bundling library",

@@ -21,6 +21,12 @@ "author": "Josh Benaron <joshbenaron@gmail.com>",

"file/**/*.js.map",
"file/**/*.d.ts"
"file/**/*.d.ts",
"esm/**/*",
"webIndex.js",
"webIndex.js.map",
"webIndex.d.ts",
"bundle.js",
"bundle.js.map"
],
"scripts": {
"build": "tsc",
"build": "tsc -p tsconfig.json & tsc -p esm.tsconfig.json & webpack",
"lint": "eslint ./src -c ./.eslintrc.json --ext .ts,.tsx",

@@ -34,4 +40,5 @@ "test": "jest --coverage",

"devDependencies": {
"@solana/wallet-adapter-base": "^0.9.2",
"@types/bs58": "^4.0.1",
"@types/jest": "~26.0.23",
"@types/jest": "^29.2.5",
"@types/multistream": "^2.1.1",

@@ -42,27 +49,33 @@ "@types/node": "^17.0.10",

"@typescript-eslint/parser": "~4.25.0",
"aptos": "^1.3.13",
"assert": "^2.0.0",
"avsc": "https://github.com/Bundlr-Network/avsc#csp-fixes",
"browserify-zlib": "^0.2.0",
"crypto-browserify": "^3.12.0",
"eslint": "~7.27.0",
"eslint-config-prettier": "~8.3.0",
"eslint-plugin-jest": "~24.3.6",
"eslint-plugin-jest": "^27.2.1",
"husky": "^7.0.0",
"jest": "~27.0.3",
"inspectpack": "^4.7.1",
"jest": "^29.3.1",
"object-sizeof": "^1.6.1",
"path-browserify": "^1.0.1",
"perf_hooks": "^0.0.1",
"prettier": "~2.3.0",
"pretty-quick": "^3.1.2",
"process": "^0.11.10",
"rimraf": "~3.0.2",
"ts-jest": "~27.0.2",
"stream-browserify": "^3.0.0",
"ts-jest": "^29.0.3",
"ts-loader": "^9.4.1",
"ts-node": "^10.8.1",
"tslib": "^2.4.0",
"tsutils": "~3.21.0",
"typescript": "~4.3.2"
"typescript": "^4.9.3",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.0"
},
"dependencies": {
"@noble/ed25519": "^1.6.1",
"@randlabs/myalgo-connect": "^1.1.2",
"@solana/wallet-adapter-base": "^0.9.2",
"algosdk": "^1.13.1",
"aptos": "^1.3.13",
"arweave": "^1.11.4",
"arweave-stream-tx": "^1.1.0",
"avsc": "https://github.com/Bundlr-Network/avsc#csp-fixes",
"base64url": "^3.0.1",

@@ -72,7 +85,11 @@ "bs58": "^4.0.1",

"keccak": "^3.0.2",
"secp256k1": "^4.0.2"
},
"optionalDependencies": {
"@randlabs/myalgo-connect": "^1.1.2",
"algosdk": "^1.13.1",
"arweave-stream-tx": "^1.1.0",
"multistream": "^4.1.0",
"process": "^0.11.10",
"secp256k1": "^4.0.2",
"tmp-promise": "^3.0.2"
}
}

@@ -7,3 +7,3 @@ # ANS-104 Bundles

See [ANS-104](https://github.com/joshbenaron/arweave-standards/blob/ans104/ans/ANS-104.md) for more details.
See [ANS-104](https://github.com/ArweaveTeam/arweave-standards/blob/master/ans/ANS-104.md) for more details.

@@ -10,0 +10,0 @@ ## Installing the library

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -26,9 +10,9 @@ Object.defineProperty(exports, "__esModule", { value: true });

const deepHash_1 = require("./deepHash");
const deepHash_2 = __importDefault(require("arweave/web/lib/deepHash"));
async function getSignatureData(item) {
if (utils_2.isBrowser) {
const web = await Promise.resolve().then(() => __importStar(require("arweave/web/lib/deepHash")));
return web.default([
utils_1.stringToBuffer("dataitem"),
utils_1.stringToBuffer("1"),
utils_1.stringToBuffer(item.signatureType.toString()),
return (0, deepHash_2.default)([
(0, utils_1.stringToBuffer)("dataitem"),
(0, utils_1.stringToBuffer)("1"),
(0, utils_1.stringToBuffer)(item.signatureType.toString()),
item.rawOwner,

@@ -42,6 +26,6 @@ item.rawTarget,

else {
return deepHash_1.deepHash([
utils_1.stringToBuffer("dataitem"),
utils_1.stringToBuffer("1"),
utils_1.stringToBuffer(item.signatureType.toString()),
return (0, deepHash_1.deepHash)([
(0, utils_1.stringToBuffer)("dataitem"),
(0, utils_1.stringToBuffer)("1"),
(0, utils_1.stringToBuffer)(item.signatureType.toString()),
item.rawOwner,

@@ -48,0 +32,0 @@ item.rawTarget,

@@ -43,3 +43,3 @@ "use strict";

// Set offset
header.set(utils_1.longTo32ByteArray(d.getRaw().byteLength), 0);
header.set((0, utils_1.longTo32ByteArray)(d.getRaw().byteLength), 0);
// Set id

@@ -55,3 +55,3 @@ header.set(id, 32);

const buffer = Buffer.concat([
utils_1.longTo32ByteArray(dataItems.length),
(0, utils_1.longTo32ByteArray)(dataItems.length),
headers,

@@ -71,3 +71,3 @@ binaries,

async function getSignatureAndId(item, signer) {
const signatureData = await ar_data_base_1.getSignatureData(item);
const signatureData = await (0, ar_data_base_1.getSignatureData)(item);
const signatureBytes = await signer.sign(signatureData);

@@ -74,0 +74,0 @@ const idBytes = await arweave_1.default.crypto.hash(signatureBytes);

@@ -7,7 +7,6 @@ "use strict";

exports.createData = void 0;
const assert_1 = __importDefault(require("assert"));
const base64url_1 = __importDefault(require("base64url"));
const utils_1 = require("./utils");
const DataItem_1 = __importDefault(require("./DataItem"));
const parser_1 = require("./parser");
const tags_1 = require("./tags");
/**

@@ -29,3 +28,3 @@ * This will create a single DataItem in binary format (Uint8Array)

const anchor_length = 1 + ((_b = _anchor === null || _anchor === void 0 ? void 0 : _anchor.byteLength) !== null && _b !== void 0 ? _b : 0);
const _tags = ((_d = (_c = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0 ? parser_1.serializeTags(opts.tags) : null;
const _tags = ((_d = (_c = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0 ? (0, tags_1.serializeTags)(opts.tags) : null;
const tags_length = 16 + (_tags ? _tags.byteLength : 0);

@@ -44,3 +43,3 @@ const _data = typeof data === "string" ? Buffer.from(data) : Buffer.from(data);

const bytes = Buffer.alloc(length);
bytes.set(utils_1.shortTo2ByteArray(signer.signatureType), 0);
bytes.set((0, utils_1.shortTo2ByteArray)(signer.signatureType), 0);
// Push bytes for `signature`

@@ -51,3 +50,4 @@ bytes.set(new Uint8Array(signer.signatureLength).fill(0), 2);

// Push bytes for `owner`
assert_1.default(_owner.byteLength == signer.ownerLength, new Error(`Owner must be ${signer.ownerLength} bytes, but was incorrectly ${_owner.byteLength}`));
if (_owner.byteLength !== signer.ownerLength)
throw new Error(`Owner must be ${signer.ownerLength} bytes, but was incorrectly ${_owner.byteLength}`);
bytes.set(_owner, 2 + signer.signatureLength);

@@ -59,3 +59,4 @@ const position = 2 + signer.signatureLength + signer.ownerLength;

if (_target) {
assert_1.default(_target.byteLength == 32, new Error("Target must be 32 bytes but was incorrectly ${_target.byteLength}"));
if (_target.byteLength !== 32)
throw new Error(`Target must be 32 bytes but was incorrectly ${_target.byteLength}`);
bytes.set(_target, position + 1);

@@ -70,7 +71,8 @@ }

tags_start += _anchor.byteLength;
assert_1.default(_anchor.byteLength == 32, new Error("Anchor must be 32 bytes"));
if (_anchor.byteLength == 32)
throw new Error("Anchor must be 32 bytes");
bytes.set(_anchor, anchor_start + 1);
}
bytes.set(utils_1.longTo8ByteArray((_f = (_e = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0), tags_start);
const bytesCount = utils_1.longTo8ByteArray((_g = _tags === null || _tags === void 0 ? void 0 : _tags.byteLength) !== null && _g !== void 0 ? _g : 0);
bytes.set((0, utils_1.longTo8ByteArray)((_f = (_e = opts === null || opts === void 0 ? void 0 : opts.tags) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0), tags_start);
const bytesCount = (0, utils_1.longTo8ByteArray)((_g = _tags === null || _tags === void 0 ? void 0 : _tags.byteLength) !== null && _g !== void 0 ? _g : 0);
bytes.set(bytesCount, tags_start + 8);

@@ -77,0 +79,0 @@ if (_tags) {

@@ -38,3 +38,3 @@ "use strict";

for (let i = HEADER_START; i < HEADER_START + 64 * this.length; i += 64) {
ids.push(utils_1.byteArrayToLong(this.binary.subarray(i, i + 32)));
ids.push((0, utils_1.byteArrayToLong)(this.binary.subarray(i, i + 32)));
}

@@ -66,3 +66,3 @@ return ids;

const valid = await item.isValid();
const expected = base64url_1.default(crypto_1.createHash("sha256").update(item.rawSignature).digest());
const expected = (0, base64url_1.default)((0, crypto_1.createHash)("sha256").update(item.rawSignature).digest());
if (!(valid && item.id === expected)) {

@@ -77,6 +77,6 @@ return false;

for (let i = HEADER_START; i < HEADER_START + 64 * this.length; i += 64) {
const _offset = utils_1.byteArrayToLong(this.binary.subarray(i, i + 32));
const _offset = (0, utils_1.byteArrayToLong)(this.binary.subarray(i, i + 32));
offset += _offset;
const _id = this.binary.subarray(i + 32, i + 64);
if (utils_1.arraybufferEqual(_id, id)) {
if (Buffer.compare(_id, id) === 0) {
return { startOffset: offset, size: _offset };

@@ -96,3 +96,3 @@ }

const headerStart = 32 + 64 * index;
const dataItemSize = utils_1.byteArrayToLong(this.binary.subarray(headerStart, headerStart + 32));
const dataItemSize = (0, utils_1.byteArrayToLong)(this.binary.subarray(headerStart, headerStart + 32));
let counter = 0;

@@ -103,3 +103,3 @@ for (let i = HEADER_START; i < HEADER_START + 64 * this.length; i += 64) {

}
const _offset = utils_1.byteArrayToLong(this.binary.subarray(i, i + 32));
const _offset = (0, utils_1.byteArrayToLong)(this.binary.subarray(i, i + 32));
offset += _offset;

@@ -126,3 +126,3 @@ counter++;

getDataItemCount() {
return utils_1.byteArrayToLong(this.binary.subarray(0, 32));
return (0, utils_1.byteArrayToLong)(this.binary.subarray(0, 32));
}

@@ -138,3 +138,3 @@ getBundleStart() {

for (let i = HEADER_START; i < HEADER_START + 64 * this.length; i += 64) {
const _offset = utils_1.byteArrayToLong(this.binary.subarray(i, i + 32));
const _offset = (0, utils_1.byteArrayToLong)(this.binary.subarray(i, i + 32));
const _id = this.binary.subarray(i + 32, i + 64);

@@ -141,0 +141,0 @@ const dataItemStart = bundleStart + offset;

@@ -7,3 +7,3 @@ /// <reference types="node" />

import { CreateTransactionInterface } from "arweave/node/common";
declare type ResolvesTo<T> = T | Promise<T> | ((...args: any[]) => Promise<T>);
type ResolvesTo<T> = T | Promise<T> | ((...args: any[]) => Promise<T>);
export interface BundleInterface {

@@ -10,0 +10,0 @@ readonly length: ResolvesTo<number>;

/// <reference types="node" />
import { Signer } from './signing';
import { Buffer } from "buffer";
declare type ResolvesTo<T> = T | Promise<T> | ((...args: any[]) => Promise<T>);
type ResolvesTo<T> = T | Promise<T> | ((...args: any[]) => Promise<T>);
export declare abstract class BundleItem {

@@ -6,0 +6,0 @@ readonly signatureType: ResolvesTo<number>;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -27,3 +31,2 @@ if (k2 === undefined) k2 = k;

const utils_1 = require("./utils");
const parser_1 = require("./parser");
const base64url_1 = __importDefault(require("base64url"));

@@ -37,2 +40,3 @@ const buffer_1 = require("buffer");

const arweave_1 = __importDefault(require("arweave"));
const tags_1 = require("./tags");
exports.MIN_BINARY_SIZE = 80;

@@ -47,3 +51,3 @@ class DataItem {

get signatureType() {
const signatureTypeVal = utils_1.byteArrayToLong(this.binary.subarray(0, 2));
const signatureTypeVal = (0, utils_1.byteArrayToLong)(this.binary.subarray(0, 2));
switch (signatureTypeVal) {

@@ -133,3 +137,3 @@ case 1: {

const tagsStart = this.getTagsStart();
const tagsSize = utils_1.byteArrayToLong(this.binary.subarray(tagsStart + 8, tagsStart + 16));
const tagsSize = (0, utils_1.byteArrayToLong)(this.binary.subarray(tagsStart + 8, tagsStart + 16));
return this.binary.subarray(tagsStart + 16, tagsStart + 16 + tagsSize);

@@ -139,8 +143,8 @@ }

const tagsStart = this.getTagsStart();
const tagsCount = utils_1.byteArrayToLong(this.binary.subarray(tagsStart, tagsStart + 8));
const tagsCount = (0, utils_1.byteArrayToLong)(this.binary.subarray(tagsStart, tagsStart + 8));
if (tagsCount == 0) {
return [];
}
const tagsSize = utils_1.byteArrayToLong(this.binary.subarray(tagsStart + 8, tagsStart + 16));
return parser_1.tagsParser.fromBuffer(buffer_1.Buffer.from(this.binary.subarray(tagsStart + 16, tagsStart + 16 + tagsSize)));
const tagsSize = (0, utils_1.byteArrayToLong)(this.binary.subarray(tagsStart + 8, tagsStart + 16));
return (0, tags_1.deserializeTags)(buffer_1.Buffer.from(this.binary.subarray(tagsStart + 16, tagsStart + 16 + tagsSize)));
}

@@ -157,3 +161,3 @@ get tagsB64Url() {

const numberOfTagBytesArray = this.binary.subarray(tagsStart + 8, tagsStart + 16);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const numberOfTagBytes = (0, utils_1.byteArrayToLong)(numberOfTagBytesArray);
return tagsStart + 16 + numberOfTagBytes;

@@ -164,3 +168,3 @@ }

const numberOfTagBytesArray = this.binary.subarray(tagsStart + 8, tagsStart + 16);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const numberOfTagBytes = (0, utils_1.byteArrayToLong)(numberOfTagBytesArray);
const dataStart = tagsStart + 16 + numberOfTagBytes;

@@ -180,3 +184,3 @@ return this.binary.subarray(dataStart, this.binary.length);

async sign(signer) {
this._id = await ar_data_bundle_1.sign(this, signer);
this._id = await (0, ar_data_bundle_1.sign)(this, signer);
return this.rawId;

@@ -220,5 +224,5 @@ }

const tagsStart = item.getTagsStart();
const numberOfTags = utils_1.byteArrayToLong(buffer.subarray(tagsStart, tagsStart + 8));
const numberOfTags = (0, utils_1.byteArrayToLong)(buffer.subarray(tagsStart, tagsStart + 8));
const numberOfTagBytesArray = buffer.subarray(tagsStart + 8, tagsStart + 16);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const numberOfTagBytes = (0, utils_1.byteArrayToLong)(numberOfTagBytesArray);
if (numberOfTagBytes > 4096)

@@ -228,3 +232,3 @@ return false;

try {
const tags = parser_1.tagsParser.fromBuffer(buffer_1.Buffer.from(buffer.subarray(tagsStart + 16, tagsStart + 16 + numberOfTagBytes)));
const tags = (0, tags_1.deserializeTags)(buffer_1.Buffer.from(buffer.subarray(tagsStart + 16, tagsStart + 16 + numberOfTagBytes)));
if (tags.length !== numberOfTags) {

@@ -240,7 +244,7 @@ return false;

const Signer = index_1.indexToType[sigType];
const signatureData = await ar_data_base_1.getSignatureData(item);
const signatureData = await (0, ar_data_base_1.getSignatureData)(item);
return await Signer.verify(item.rawOwner, signatureData, item.rawSignature);
}
async getSignatureData() {
return ar_data_base_1.getSignatureData(this);
return (0, ar_data_base_1.getSignatureData)(this);
}

@@ -247,0 +251,0 @@ /**

/// <reference types="node" />
export declare type DeepHashChunk = Uint8Array | AsyncIterable<Buffer> | DeepHashChunks;
export declare type DeepHashChunks = DeepHashChunk[];
export type DeepHashChunk = Uint8Array | AsyncIterable<Buffer> | DeepHashChunks;
export type DeepHashChunks = DeepHashChunk[];
export declare function deepHash(data: DeepHashChunk): Promise<Uint8Array>;
export declare function deepHashChunks(chunks: DeepHashChunks, acc: Uint8Array): Promise<Uint8Array>;
export declare function hashStream(stream: AsyncIterable<Buffer>): Promise<Buffer>;

@@ -15,3 +15,3 @@ "use strict";

const _data = data;
const context = crypto_1.createHash("sha384");
const context = (0, crypto_1.createHash)("sha384");
let length = 0;

@@ -64,3 +64,3 @@ for await (const chunk of _data) {

async function hashStream(stream) {
const context = crypto_1.createHash("sha384");
const context = (0, crypto_1.createHash)("sha384");
for await (const chunk of stream) {

@@ -67,0 +67,0 @@ context.update(chunk);

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

@@ -12,3 +12,3 @@ "use strict";

constructor(jwk) {
super(pem_1.jwkTopem(jwk), jwk.n);
super((0, pem_1.jwkTopem)(jwk), jwk.n);
this.jwk = jwk;

@@ -15,0 +15,0 @@ }

@@ -31,3 +31,3 @@ "use strict";

// return ethers.utils.verifyMessage(message, signature) === address;
return secp256k1_2.default.ecdsaVerify((signature.length === 65) ? signature.slice(0, -1) : signature, utils_1.arrayify(utils_1.hashMessage(message)), (typeof pk === "string") ? base64url_1.default.toBuffer(pk) : pk);
return secp256k1_2.default.ecdsaVerify((signature.length === 65) ? signature.slice(0, -1) : signature, (0, utils_1.arrayify)((0, utils_1.hashMessage)(message)), (typeof pk === "string") ? base64url_1.default.toBuffer(pk) : pk);
}

@@ -34,0 +34,0 @@ }

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -22,3 +26,2 @@ if (k2 === undefined) k2 = k;

Object.defineProperty(exports, "__esModule", { value: true });
const aptos_1 = require("aptos");
const ed25519 = __importStar(require("@noble/ed25519"));

@@ -39,4 +42,22 @@ // import nacl from 'tweetnacl';

async sign(message) {
const { signatures, bitmap } = await this.collectSignatures(message);
const generatedBitmap = aptos_1.TxnBuilderTypes.MultiEd25519Signature.createBitmap(bitmap);
const { signatures, bitmap: bits } = await this.collectSignatures(message);
// Bits are read from left to right. e.g. 0b10000000 represents the first bit is set in one byte.
// The decimal value of 0b10000000 is 128.
const firstBitInByte = 128;
const bitmap = new Uint8Array([0, 0, 0, 0]);
// Check if duplicates exist in bits
const dupCheckSet = new Set();
bits.forEach((bit) => {
if (bit >= 32) {
throw new Error(`Invalid bit value ${bit}.`);
}
if (dupCheckSet.has(bit)) {
throw new Error("Duplicated bits detected.");
}
dupCheckSet.add(bit);
const byteOffset = Math.floor(bit / 8);
let byte = bitmap[byteOffset];
byte |= firstBitInByte >> bit % 8;
bitmap[byteOffset] = byte;
});
const signature = Buffer.alloc(this.signatureLength);

@@ -49,6 +70,3 @@ let sigPos = 0;

}
// signatures.forEach((s, i) => {
// signature.set(s, i * 64)
// })
signature.set(generatedBitmap, this.signatureLength - 4);
signature.set(bitmap, this.signatureLength - 4);
return signature;

@@ -55,0 +73,0 @@ }

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

/// <reference types="node" />
import BN from "bn.js";
import { Buffer } from "buffer";
declare function keccak256(value: Buffer | BN | string | number): any;
export = keccak256;
export default function keccak256(value: Buffer | BN | string | number): any;

@@ -5,2 +5,3 @@ "use strict";

};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/explicit-function-return-type */

@@ -12,6 +13,7 @@ const bn_js_1 = __importDefault(require("bn.js"));

value = toBuffer(value);
return keccak_1.default("keccak256")
return (0, keccak_1.default)("keccak256")
.update(value)
.digest();
}
exports.default = keccak256;
function toBuffer(value) {

@@ -92,3 +94,2 @@ if (!buffer_1.Buffer.isBuffer(value)) {

}
module.exports = keccak256;
//# sourceMappingURL=keccak256.js.map
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -29,2 +33,5 @@ if (k2 === undefined) k2 = k;

class Curve25519 {
get publicKey() {
return this._publicKey;
}
constructor(_key, pk) {

@@ -37,5 +44,2 @@ this._key = _key;

}
get publicKey() {
return this._publicKey;
}
get key() {

@@ -42,0 +46,0 @@ return new Uint8Array(0);

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -6,0 +10,0 @@ if (k2 === undefined) k2 = k;

@@ -11,2 +11,5 @@ "use strict";

class Rsa4096Pss {
get publicKey() {
return this._publicKey;
}
constructor(_key, pk) {

@@ -19,3 +22,3 @@ this._key = _key;

if (!pk) {
this.pk = crypto_1.createPublicKey({
this.pk = (0, crypto_1.createPublicKey)({
key: _key,

@@ -32,7 +35,4 @@ type: "pkcs1",

}
get publicKey() {
return this._publicKey;
}
sign(message) {
return crypto_1.createSign("sha256").update(message).sign({
return (0, crypto_1.createSign)("sha256").update(message).sign({
key: this._key,

@@ -39,0 +39,0 @@ padding: crypto_1.constants.RSA_PKCS1_PSS_PADDING,

@@ -30,3 +30,3 @@ "use strict";

try {
verified = secp256k1_1.default.ecdsaVerify(signature, keccak256_1.default(Buffer.from(message)), p);
verified = secp256k1_1.default.ecdsaVerify(signature, (0, keccak256_1.default)(Buffer.from(message)), p);
// eslint-disable-next-line no-empty

@@ -38,3 +38,3 @@ }

sign(message) {
return secp256k1_1.default.ecdsaSign(keccak256_1.default(Buffer.from(message)), Buffer.from(this.key)).signature;
return secp256k1_1.default.ecdsaSign((0, keccak256_1.default)(Buffer.from(message)), Buffer.from(this.key)).signature;
}

@@ -41,0 +41,0 @@ }

@@ -6,3 +6,2 @@ export declare function longTo8ByteArray(long: number): Uint8Array;

export declare function byteArrayToLong(byteArray: Uint8Array): number;
export declare function arraybufferEqual(buf1: Uint8Array, buf2: Uint8Array): boolean;
export declare const isBrowser: boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBrowser = exports.arraybufferEqual = exports.byteArrayToLong = exports.longTo32ByteArray = exports.longTo16ByteArray = exports.shortTo2ByteArray = exports.longTo8ByteArray = void 0;
exports.isBrowser = exports.byteArrayToLong = exports.longTo32ByteArray = exports.longTo16ByteArray = exports.shortTo2ByteArray = exports.longTo8ByteArray = void 0;
function longTo8ByteArray(long) {

@@ -42,34 +42,4 @@ // we want to represent the input as a 8-bytes array

const byteArray = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,
];

@@ -92,23 +62,26 @@ for (let index = 0; index < byteArray.length; index++) {

exports.byteArrayToLong = byteArrayToLong;
function arraybufferEqual(buf1, buf2) {
const _buf1 = buf1.buffer;
const _buf2 = buf2.buffer;
if (_buf1 === _buf2) {
return true;
}
if (_buf1.byteLength !== _buf2.byteLength) {
return false;
}
const view1 = new DataView(_buf1);
const view2 = new DataView(_buf2);
let i = _buf1.byteLength;
while (i--) {
if (view1.getUint8(i) !== view2.getUint8(i)) {
return false;
}
}
return true;
}
exports.arraybufferEqual = arraybufferEqual;
exports.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
// this is bugged for comparing buffers
// export function arraybufferEqual(buf1: Uint8Array, buf2: Uint8Array): boolean {
// const _buf1 = buf1.buffer;
// const _buf2 = buf2.buffer;
// if (_buf1 === _buf2) {
// return true;
// }
// if (_buf1.byteLength !== _buf2.byteLength) {
// return false;
// }
// const view1 = new DataView(_buf1);
// const view2 = new DataView(_buf2);
// let i = _buf1.byteLength;
// while (i--) {
// if (view1.getUint8(i) !== view2.getUint8(i)) {
// return false;
// }
// }
// return true;
// }
// @ts-expect-error These variables are defined in extension environments
const isExtension = typeof browser !== "undefined" || typeof chrome !== "undefined";
exports.isBrowser = (typeof window !== "undefined" && typeof window.document !== "undefined") ||
isExtension;
//# sourceMappingURL=utils.js.map
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {

@@ -32,6 +36,6 @@ if (k2 === undefined) k2 = k;

const constants_2 = require("../src/constants");
const parser_1 = require("../src/parser");
const crypto = __importStar(require("crypto"));
const utils_2 = require("arweave/node/lib/utils");
const deepHash_1 = require("../src/deepHash");
const tags_1 = require("../src/tags");
async function processStream(stream) {

@@ -41,3 +45,3 @@ const reader = getReader(stream);

bytes = await readBytes(reader, bytes, 32);
const itemCount = utils_1.byteArrayToLong(bytes.subarray(0, 32));
const itemCount = (0, utils_1.byteArrayToLong)(bytes.subarray(0, 32));
bytes = bytes.subarray(32);

@@ -49,4 +53,4 @@ const headersLength = 64 * itemCount;

headers[i / 64] = [
utils_1.byteArrayToLong(bytes.subarray(i, i + 32)),
base64url_1.default(Buffer.from(bytes.subarray(i + 32, i + 64))),
(0, utils_1.byteArrayToLong)(bytes.subarray(i, i + 32)),
(0, base64url_1.default)(Buffer.from(bytes.subarray(i + 32, i + 64))),
];

@@ -61,3 +65,3 @@ }

bytes = await readBytes(reader, bytes, 2);
const signatureType = utils_1.byteArrayToLong(bytes.subarray(0, 2));
const signatureType = (0, utils_1.byteArrayToLong)(bytes.subarray(0, 2));
bytes = bytes.subarray(2);

@@ -93,6 +97,6 @@ const { sigLength, pubLength, sigName } = constants_2.SIG_CONFIG[signatureType];

bytes = await readBytes(reader, bytes, 8);
const tagsLength = utils_1.byteArrayToLong(bytes.subarray(0, 8));
const tagsLength = (0, utils_1.byteArrayToLong)(bytes.subarray(0, 8));
bytes = bytes.subarray(8);
bytes = await readBytes(reader, bytes, 8);
const tagsBytesLength = utils_1.byteArrayToLong(bytes.subarray(0, 8));
const tagsBytesLength = (0, utils_1.byteArrayToLong)(bytes.subarray(0, 8));
bytes = bytes.subarray(8);

@@ -102,3 +106,3 @@ bytes = await readBytes(reader, bytes, tagsBytesLength);

const tags = tagsLength !== 0 && tagsBytesLength !== 0
? parser_1.tagsParser.fromBuffer(Buffer.from(tagsBytes))
? (0, tags_1.deserializeTags)(Buffer.from(tagsBytes))
: [];

@@ -114,6 +118,6 @@ if (tags.length !== tagsLength)

// Verify signature
const signatureData = deepHash_1.deepHash([
utils_2.stringToBuffer("dataitem"),
utils_2.stringToBuffer("1"),
utils_2.stringToBuffer(signatureType.toString()),
const signatureData = (0, deepHash_1.deepHash)([
(0, utils_2.stringToBuffer)("dataitem"),
(0, utils_2.stringToBuffer)("1"),
(0, utils_2.stringToBuffer)(signatureType.toString()),
owner,

@@ -156,3 +160,3 @@ target,

// Check id
if (id !== base64url_1.default(crypto.createHash("sha256").update(signature).digest()))
if (id !== (0, base64url_1.default)(crypto.createHash("sha256").update(signature).digest()))
throw new Error("ID doesn't match signature");

@@ -165,6 +169,6 @@ const Signer = constants_1.indexToType[signatureType];

sigName,
signature: base64url_1.default(Buffer.from(signature)),
target: base64url_1.default(Buffer.from(target)),
anchor: base64url_1.default(Buffer.from(anchor)),
owner: base64url_1.default(Buffer.from(owner)),
signature: (0, base64url_1.default)(Buffer.from(signature)),
target: (0, base64url_1.default)(Buffer.from(target)),
anchor: (0, base64url_1.default)(Buffer.from(anchor)),
owner: (0, base64url_1.default)(Buffer.from(owner)),
tags,

@@ -187,8 +191,8 @@ dataOffset: offsetSum + dataOffset,

async function streamSigner(s1, s2, signer, opts) {
const header = index_1.createData("", signer, opts);
const header = (0, index_1.createData)("", signer, opts);
const output = new stream_1.PassThrough();
const parts = [
utils_2.stringToBuffer("dataitem"),
utils_2.stringToBuffer("1"),
utils_2.stringToBuffer(header.signatureType.toString()),
(0, utils_2.stringToBuffer)("dataitem"),
(0, utils_2.stringToBuffer)("1"),
(0, utils_2.stringToBuffer)(header.signatureType.toString()),
header.rawOwner,

@@ -198,5 +202,5 @@ header.rawTarget,

header.rawTags,
s1
s1,
];
const hash = await deepHash_1.deepHash(parts);
const hash = await (0, deepHash_1.deepHash)(parts);
const sigBytes = Buffer.from(await signer.sign(hash));

@@ -203,0 +207,0 @@ header.setSignature(sigBytes);

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc