Socket
Socket
Sign inDemoInstall

arbundles

Package Overview
Dependencies
17
Maintainers
3
Versions
89
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.7.0-rc3 to 0.7.0

src/ar-data-base.d.ts

8

file/createData.d.ts
/// <reference types="node" />
import FileDataItem from "./FileDataItem";
import { DataItemCreateOptions } from "../src/arDataBase";
import { DataItemCreateOptions } from "../src/ar-data-base";
import { Signer } from "../src/signing";
/**
* @param data
* @param signer
* @param opts
* @returns
*/
export declare function createData(data: string | Uint8Array | NodeJS.ReadableStream, signer: Signer, opts?: DataItemCreateOptions): Promise<FileDataItem>;

@@ -30,11 +30,6 @@ "use strict";

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 promises_1 = require("stream/promises");
/**
* @param data
* @param signer
* @param opts
* @returns
*/
async function createData(data, signer, opts) {

@@ -44,2 +39,4 @@ var _a, _b, _c, _d, _e;

const stream = fs.createWriteStream(filename);
// TODO: Add asserts
// Parse all values to a buffer and
const _owner = signer.publicKey;

@@ -50,12 +47,9 @@ const _target = (opts === null || opts === void 0 ? void 0 : opts.target) ? base64url_1.default.toBuffer(opts.target) : null;

stream.write(utils_1.shortTo2ByteArray(signer.signatureType));
// Signature
stream.write(new Uint8Array(signer.signatureLength).fill(0));
if (_owner.byteLength != signer.ownerLength) {
throw new Error(`Owner must be ${signer.ownerLength} bytes`);
}
assert_1.default(_owner.byteLength == signer.ownerLength, new Error(`Owner must be ${signer.ownerLength} bytes`));
stream.write(_owner);
stream.write(_target ? singleItemBuffer(1) : singleItemBuffer(0));
if (_target) {
if (_target.byteLength != 32) {
throw new Error("Target must be 32 bytes");
}
assert_1.default(_target.byteLength == 32, new Error("Target must be 32 bytes"));
stream.write(_target);

@@ -65,7 +59,7 @@ }

if (_anchor) {
if (_anchor.byteLength != 32) {
throw new Error("Anchor must be 32 bytes");
}
assert_1.default(_anchor.byteLength == 32, new Error("Anchor must be 32 bytes"));
stream.write(_anchor);
}
// TODO: Shall I manually add 8 bytes?
// 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));

@@ -72,0 +66,0 @@ const bytesCount = utils_1.longTo8ByteArray((_e = _tags === null || _tags === void 0 ? void 0 : _tags.byteLength) !== null && _e !== void 0 ? _e : 0);

/// <reference types="node" />
import * as fs from "fs";
import { FileHandle } from "fs/promises";
import { Signer } from "../src/signing";
import { DataItemCreateOptions } from "../src";
import { Readable } from "stream";
declare type File = string | FileHandle;
export declare const read: (fd: number, buffer: any, offset: number, length: number, position: fs.ReadPosition) => Promise<{
buffer: Buffer;
bytesRead: number;
}>;
export declare const write: (fd: number, buffer: any, offset: number, length: number, position: number) => Promise<{
buffer: Buffer;
written: number;
}>;
interface Transaction {

@@ -54,2 +48,3 @@ id: string;

}[]>;
export declare function signedFileStream(path: string, signer: Signer, opts?: DataItemCreateOptions): Promise<Readable>;
export {};

@@ -25,29 +25,10 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getTags = exports.getAnchor = exports.getTarget = exports.getOwner = exports.getSignature = exports.getId = exports.getHeaders = exports.getHeaderAt = exports.numberOfItems = exports.fileToJson = exports.write = exports.read = void 0;
exports.signedFileStream = exports.getTags = exports.getAnchor = exports.getTarget = exports.getOwner = exports.getSignature = exports.getId = exports.getHeaders = exports.getHeaderAt = exports.numberOfItems = exports.fileToJson = void 0;
const fs = __importStar(require("fs"));
const util_1 = require("util");
const utils_1 = require("../src/utils");
const parser_1 = require("../src/parser");
const base64url_1 = __importDefault(require("base64url"));
const read = async (fd, buffer, offset, length, position) => {
return new Promise((res, rej) => {
fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {
if (err) {
rej(err);
}
res({ bytesRead, buffer });
});
});
};
exports.read = read;
const write = async (fd, buffer, offset, length, position) => {
return new Promise((res, rej) => {
fs.write(fd, buffer, offset, length, position, (err, written, buffer) => {
if (err) {
rej(err);
}
res({ written, buffer });
});
});
};
exports.write = write;
const stream_1 = require("../stream");
const read = util_1.promisify(fs.read);
const fileToFd = async (f) => typeof f === "string" ? await fs.promises.open(f, "r") : f;

@@ -57,13 +38,13 @@ async function fileToJson(filename) {

let tagsStart = 512 + 512 + 2;
const targetPresent = await exports.read(fd, Buffer.alloc(1), 1024, 64, null).then((value) => value.buffer[0] == 1);
const targetPresent = await read(fd, Buffer.alloc(1), 1024, 64, null).then((value) => value.buffer[0] == 1);
tagsStart += targetPresent ? 32 : 0;
const anchorPresentByte = targetPresent ? 1057 : 1025;
const anchorPresent = await exports.read(fd, Buffer.alloc(1), anchorPresentByte, 64, null).then((value) => value.buffer[0] == 1);
const anchorPresent = await read(fd, Buffer.alloc(1), anchorPresentByte, 64, null).then((value) => value.buffer[0] == 1);
tagsStart += anchorPresent ? 32 : 0;
const numberOfTags = utils_1.byteArrayToLong(await exports.read(fd, Buffer.alloc(8), tagsStart, 8, 0).then((value) => value.buffer));
const numberOfTags = utils_1.byteArrayToLong(await read(fd, Buffer.alloc(8), tagsStart, 8, 0).then((value) => value.buffer));
let tags = [];
if (numberOfTags > 0) {
const numberOfTagBytesArray = await exports.read(fd, Buffer.alloc(8), tagsStart + 8, 8, 0).then((value) => value.buffer);
const numberOfTagBytesArray = await read(fd, Buffer.alloc(8), tagsStart + 8, 8, 0).then((value) => value.buffer);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const tagBytes = await exports.read(fd, Buffer.alloc(8), tagsStart + 16, numberOfTagBytes, 0).then((value) => value.buffer);
const tagBytes = await read(fd, Buffer.alloc(8), tagsStart + 16, numberOfTagBytes, 0).then((value) => value.buffer);
tags = parser_1.tagsParser.fromBuffer(tagBytes);

@@ -90,3 +71,3 @@ }

const fd = await fileToFd(file);
const headerBuffer = await exports.read(fd.fd, Buffer.allocUnsafe(32), 0, 32, 0).then((v) => v.buffer);
const headerBuffer = await read(fd.fd, Buffer.allocUnsafe(32), 0, 32, 0).then((v) => v.buffer);
await fd.close();

@@ -98,3 +79,3 @@ return utils_1.byteArrayToLong(headerBuffer);

const fd = await fileToFd(file);
const headerBuffer = await exports.read(fd.fd, Buffer.alloc(64), 0, 64, 32 + 64 * index).then((v) => v.buffer);
const headerBuffer = await read(fd.fd, Buffer.alloc(64), 0, 64, 32 + 64 * index).then((v) => v.buffer);
return {

@@ -117,3 +98,3 @@ offset: utils_1.byteArrayToLong(headerBuffer.subarray(0, 32)),

const offset = (_a = options.offset) !== null && _a !== void 0 ? _a : 0;
const buffer = await exports.read(fd.fd, Buffer.allocUnsafe(512), offset, 512, null).then((r) => r.buffer);
const buffer = await read(fd.fd, Buffer.allocUnsafe(512), offset, 512, null).then((r) => r.buffer);
await fd.close();

@@ -127,3 +108,3 @@ return buffer;

const offset = (_a = options.offset) !== null && _a !== void 0 ? _a : 0;
const buffer = await exports.read(fd.fd, Buffer.allocUnsafe(512), offset, 512, null).then((r) => r.buffer);
const buffer = await read(fd.fd, Buffer.allocUnsafe(512), offset, 512, null).then((r) => r.buffer);
await fd.close();

@@ -137,3 +118,3 @@ return buffer;

const offset = (_a = options.offset) !== null && _a !== void 0 ? _a : 0;
const buffer = await exports.read(fd.fd, Buffer.allocUnsafe(512), offset + 512, 512, null).then((r) => r.buffer);
const buffer = await read(fd.fd, Buffer.allocUnsafe(512), offset + 512, 512, null).then((r) => r.buffer);
await fd.close();

@@ -148,7 +129,7 @@ return base64url_1.default.encode(buffer);

const targetStart = offset + 1024;
const targetPresent = await exports.read(fd.fd, Buffer.allocUnsafe(1), targetStart, 1, null).then((value) => value.buffer[0] == 1);
const targetPresent = await read(fd.fd, Buffer.allocUnsafe(1), targetStart, 1, null).then((value) => value.buffer[0] == 1);
if (!targetPresent) {
return undefined;
}
const buffer = await exports.read(fd.fd, Buffer.allocUnsafe(32), targetStart + 1, 32, null).then((r) => r.buffer);
const buffer = await read(fd.fd, Buffer.allocUnsafe(32), targetStart + 1, 32, null).then((r) => r.buffer);
await fd.close();

@@ -162,3 +143,3 @@ return base64url_1.default.encode(buffer);

const offset = (_a = options.offset) !== null && _a !== void 0 ? _a : 0;
const targetPresent = await exports.read(fd.fd, Buffer.allocUnsafe(1), 1024, 1, null).then((value) => value.buffer[0] == 1);
const targetPresent = await read(fd.fd, Buffer.allocUnsafe(1), 1024, 1, null).then((value) => value.buffer[0] == 1);
let anchorStart = offset + 1025;

@@ -168,7 +149,7 @@ if (targetPresent) {

}
const anchorPresent = await exports.read(fd.fd, Buffer.allocUnsafe(1), anchorStart, 1, null).then((value) => value.buffer[0] == 1);
const anchorPresent = await read(fd.fd, Buffer.allocUnsafe(1), anchorStart, 1, null).then((value) => value.buffer[0] == 1);
if (!anchorPresent) {
return undefined;
}
const buffer = await exports.read(fd.fd, Buffer.allocUnsafe(32), anchorStart + 1, 32, null).then((r) => r.buffer);
const buffer = await read(fd.fd, Buffer.allocUnsafe(32), anchorStart + 1, 32, null).then((r) => r.buffer);
await fd.close();

@@ -183,14 +164,14 @@ return base64url_1.default.encode(buffer);

let tagsStart = 512 + 512 + 2 + ((_b = options === null || options === void 0 ? void 0 : options.offset) !== null && _b !== void 0 ? _b : 0);
const targetPresent = await exports.read(fd.fd, Buffer.allocUnsafe(1), 0, 1, offset + 1024).then((value) => value.buffer[0] == 1);
const targetPresent = await read(fd.fd, Buffer.allocUnsafe(1), 0, 1, offset + 1024).then((value) => value.buffer[0] == 1);
tagsStart += targetPresent ? 32 : 0;
const anchorPresentByte = offset + (targetPresent ? 1057 : 1025);
const anchorPresent = await exports.read(fd.fd, Buffer.allocUnsafe(1), 0, 1, anchorPresentByte).then((value) => value.buffer[0] == 1);
const anchorPresent = await read(fd.fd, Buffer.allocUnsafe(1), 0, 1, anchorPresentByte).then((value) => value.buffer[0] == 1);
tagsStart += anchorPresent ? 32 : 0;
const numberOfTags = utils_1.byteArrayToLong(await exports.read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((value) => value.buffer));
const numberOfTags = utils_1.byteArrayToLong(await read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((value) => value.buffer));
if (numberOfTags == 0) {
return [];
}
const numberOfTagBytesArray = await exports.read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((value) => value.buffer);
const numberOfTagBytesArray = await read(fd.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart + 8).then((value) => value.buffer);
const numberOfTagBytes = utils_1.byteArrayToLong(numberOfTagBytesArray);
const tagBytes = await exports.read(fd.fd, Buffer.allocUnsafe(numberOfTagBytes), 0, numberOfTagBytes, tagsStart + 16).then((value) => value.buffer);
const tagBytes = await read(fd.fd, Buffer.allocUnsafe(numberOfTagBytes), 0, numberOfTagBytes, tagsStart + 16).then((value) => value.buffer);
await fd.close();

@@ -200,2 +181,6 @@ return parser_1.tagsParser.fromBuffer(tagBytes);

exports.getTags = getTags;
async function signedFileStream(path, signer, opts) {
return stream_1.streamSigner(fs.createReadStream(path), fs.createReadStream(path), signer, opts);
}
exports.signedFileStream = signedFileStream;
//# sourceMappingURL=file.js.map

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

const multistream_1 = __importDefault(require("multistream"));
const util_1 = require("util");
const base64url_1 = __importDefault(require("base64url"));

@@ -36,3 +37,3 @@ const promises_1 = require("stream/promises");

// import { pipeline } from 'stream/promises';
const file_1 = require("./file");
const read = util_1.promisify(fs.read);
class FileBundle {

@@ -51,3 +52,3 @@ constructor(headerFile, txs) {

const handle = await fs.promises.open(this.headerFile, "r");
const lengthBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(32), 0, 32, 0).then((r) => r.buffer);
const lengthBuffer = await read(handle.fd, Buffer.allocUnsafe(32), 0, 32, 0).then((r) => r.buffer);
await handle.close();

@@ -122,4 +123,4 @@ return utils_1.byteArrayToLong(lengthBuffer);

yield {
offset: utils_1.byteArrayToLong(await file_1.read(handle.fd, Buffer.allocUnsafe(32), 0, 32, i).then((r) => r.buffer)),
id: await file_1.read(handle.fd, Buffer.allocUnsafe(32), 0, 32, i + 32).then((r) => base64url_1.default.encode(r.buffer)),
offset: 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)),
};

@@ -126,0 +127,0 @@ }

@@ -30,8 +30,10 @@ "use strict";

const src_1 = require("../src");
const utils_2 = require("arweave/web/lib/utils");
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 file_1 = require("./file");
const write = util_1.promisify(fs.write);
const read = util_1.promisify(fs.read);
class FileDataItem {

@@ -76,4 +78,4 @@ constructor(filename, id) {

const tagsStart = await item.getTagsStart();
const numberOfTags = await file_1.read(handle.fd, Buffer.allocUnsafe(8), 0, 8, tagsStart).then((r) => utils_1.byteArrayToLong(r.buffer));
const numberOfTagsBytes = await file_1.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) => 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));
if (numberOfTagsBytes > 4096) {

@@ -83,3 +85,3 @@ await handle.close();

}
const tagsBytes = await file_1.read(handle.fd, Buffer.allocUnsafe(numberOfTagsBytes), 0, numberOfTagsBytes, tagsStart + 16).then((r) => r.buffer);
const tagsBytes = await read(handle.fd, Buffer.allocUnsafe(numberOfTagsBytes), 0, numberOfTagsBytes, tagsStart + 16).then((r) => r.buffer);
if (numberOfTags > 0) {

@@ -127,3 +129,3 @@ try {

const handle = await fs.promises.open(this.filename, "r");
const buffer = await file_1.read(handle.fd, Buffer.allocUnsafe(2), 0, 2, 0).then((r) => r.buffer);
const buffer = await read(handle.fd, Buffer.allocUnsafe(2), 0, 2, 0).then((r) => r.buffer);
await handle.close();

@@ -135,3 +137,3 @@ return utils_1.byteArrayToLong(buffer);

const length = await this.signatureLength();
const buffer = await file_1.read(handle.fd, Buffer.alloc(length), 0, length, 2).then((r) => r.buffer);
const buffer = await read(handle.fd, Buffer.alloc(length), 0, length, 2).then((r) => r.buffer);
await handle.close();

@@ -146,3 +148,3 @@ return buffer;

const length = await this.ownerLength();
const buffer = await file_1.read(handle.fd, Buffer.allocUnsafe(length), 0, length, 2 + (await this.signatureLength())).then((r) => r.buffer);
const buffer = await read(handle.fd, Buffer.allocUnsafe(length), 0, length, 2 + (await this.signatureLength())).then((r) => r.buffer);
await handle.close();

@@ -157,6 +159,6 @@ return buffer;

const targetStart = await this.getTargetStart();
const targetPresentBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(1), 0, 1, targetStart).then((r) => r.buffer);
const targetPresentBuffer = await read(handle.fd, Buffer.allocUnsafe(1), 0, 1, targetStart).then((r) => r.buffer);
const targetPresent = targetPresentBuffer[0] === 1;
if (targetPresent) {
const targetBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(32), 0, 32, targetStart + 1).then((r) => r.buffer);
const targetBuffer = await read(handle.fd, Buffer.allocUnsafe(32), 0, 32, targetStart + 1).then((r) => r.buffer);
await handle.close();

@@ -178,3 +180,3 @@ return targetBuffer;

const handle = await fs.promises.open(this.filename, "r");
const anchorBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(32), 0, 32, anchorStart + 1).then((r) => r.buffer);
const anchorBuffer = await read(handle.fd, Buffer.allocUnsafe(32), 0, 32, anchorStart + 1).then((r) => r.buffer);
await handle.close();

@@ -191,3 +193,3 @@ return anchorBuffer;

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

@@ -198,3 +200,3 @@ if (numberOfTags === 0) {

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

@@ -205,3 +207,3 @@ if (numberOfTagsBytes > 4096) {

}
const tagsBytes = await file_1.read(handle.fd, Buffer.allocUnsafe(numberOfTagsBytes), 0, numberOfTagsBytes, tagsStart + 16).then((r) => r.buffer);
const tagsBytes = await read(handle.fd, Buffer.allocUnsafe(numberOfTagsBytes), 0, numberOfTagsBytes, tagsStart + 16).then((r) => r.buffer);
await handle.close();

@@ -224,3 +226,3 @@ return tagsBytes;

const handle = await fs.promises.open(this.filename, "r");
const dataBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(dataSize), 0, dataSize, dataStart).then((r) => r.buffer);
const dataBuffer = await read(handle.fd, Buffer.allocUnsafe(dataSize), 0, dataSize, dataStart).then((r) => r.buffer);
await handle.close();

@@ -247,3 +249,3 @@ return dataBuffer;

const handle = await fs.promises.open(this.filename, "r+");
await file_1.write(handle.fd, signatureBytes, 0, await this.signatureLength(), 2);
await write(handle.fd, signatureBytes, 0, await this.signatureLength(), 2);
this.rawId = Buffer.from(idBytes);

@@ -281,3 +283,3 @@ await handle.close();

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

@@ -290,6 +292,6 @@ await handle.close();

const handle = await fs.promises.open(this.filename, "r");
const targetPresentBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(1), 0, 1, targetStart).then((r) => r.buffer);
const targetPresentBuffer = await read(handle.fd, Buffer.allocUnsafe(1), 0, 1, targetStart).then((r) => r.buffer);
const targetPresent = targetPresentBuffer[0] === 1;
const anchorStart = targetStart + (targetPresent ? 33 : 1);
const anchorPresentBuffer = await file_1.read(handle.fd, Buffer.allocUnsafe(1), 0, 1, anchorStart).then((r) => r.buffer);
const anchorPresentBuffer = await read(handle.fd, Buffer.allocUnsafe(1), 0, 1, anchorStart).then((r) => r.buffer);
const anchorPresent = anchorPresentBuffer[0] === 1;

@@ -296,0 +298,0 @@ await handle.close();

{
"name": "arbundles",
"version": "0.7.0-rc3",
"version": "0.7.0",
"description": "Arweave bundling library",

@@ -8,3 +8,2 @@ "author": "Josh Benaron <joshbenaron@gmail.com>",

"main": "src/index.js",
"browser": "esm/shim.js",
"types": "index.d.ts",

@@ -23,16 +22,6 @@ "files": [

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

@@ -46,6 +35,2 @@ "test": "jest --coverage",

"devDependencies": {
"@metamask/eth-sig-util": "^4.0.0",
"@noble/ed25519": "^1.6.0",
"@randlabs/myalgo-connect": "^1.1.2",
"@solana/wallet-adapter-base": "^0.9.2",
"@types/bs58": "^4.0.1",

@@ -58,9 +43,2 @@ "@types/jest": "~26.0.23",

"@typescript-eslint/parser": "~4.25.0",
"algosdk": "^1.13.1",
"arweave": "^1.10.18",
"assert": "^2.0.0",
"axios": "^0.21.3",
"base64url": "^3.0.1",
"browserify-zlib": "^0.2.0",
"bs58": "^4.0.1",
"eslint": "~7.27.0",

@@ -70,29 +48,21 @@ "eslint-config-prettier": "~8.3.0",

"husky": "^7.0.0",
"inspectpack": "^4.7.1",
"jest": "~27.0.3",
"keccak": "^3.0.2",
"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",
"ts-loader": "^9.2.8",
"ts-node": "^10.5.0",
"tslib": "^2.3.0",
"ts-node": "^10.8.1",
"tslib": "^2.4.0",
"tsutils": "~3.21.0",
"typescript": "~4.3.2",
"webpack": "^5.71.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.9.2"
"typescript": "~4.3.2"
},
"dependencies": {
"@cosmjs/amino": "^0.28.4",
"@cosmjs/crypto": "^0.28.4",
"@cosmjs/encoding": "^0.28.4",
"@metamask/eth-sig-util": "^4.0.0",
"@noble/ed25519": "^1.6.0",
"arweave": "^1.10.18",
"@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",

@@ -103,11 +73,9 @@ "avsc": "https://github.com/Bundlr-Network/avsc#csp-fixes",

"bs58": "^4.0.1",
"buffer": "^6.0.3",
"crypto-browserify": "^3.12.0",
"ethers": "^5.6.5",
"ethers": "^5.5.1",
"keccak": "^3.0.2",
"multistream": "^4.1.0",
"process": "^0.11.10",
"secp256k1": "^4.0.2",
"stream-browserify": "^3.0.0",
"tmp-promise": "^3.0.2"
}
}

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

const bundle = await bundleAndSignData(dataItems, jwk);
const bundle = await bundleAndSignData(dataItems, signer);
```

@@ -6,3 +6,4 @@ export declare enum SignatureConfig {

SOLANA = 4,
COSMOS = 5
INJECTEDAPTOS = 5,
MULTIAPTOS = 6
}

@@ -9,0 +10,0 @@ interface SignatureMeta {

@@ -10,3 +10,4 @@ "use strict";

SignatureConfig[SignatureConfig["SOLANA"] = 4] = "SOLANA";
SignatureConfig[SignatureConfig["COSMOS"] = 5] = "COSMOS";
SignatureConfig[SignatureConfig["INJECTEDAPTOS"] = 5] = "INJECTEDAPTOS";
SignatureConfig[SignatureConfig["MULTIAPTOS"] = 6] = "MULTIAPTOS";
})(SignatureConfig = exports.SignatureConfig || (exports.SignatureConfig = {}));

@@ -34,8 +35,13 @@ exports.SIG_CONFIG = {

},
[SignatureConfig.COSMOS]: {
sigLength: 96,
pubLength: 65,
sigName: "cosmos",
[SignatureConfig.INJECTEDAPTOS]: {
sigLength: 64,
pubLength: 32,
sigName: "injectedAptos",
},
[SignatureConfig.MULTIAPTOS]: {
sigLength: 64 * 32 + 4,
pubLength: 32 * 32 + 1,
sigName: "multiAptos",
},
};
//# sourceMappingURL=constants.js.map

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

constructor(binary: Buffer);
static isDataItem(obj: any): boolean;
static isDataItem(obj: any): obj is DataItem;
get signatureType(): SignatureConfig;

@@ -48,2 +48,3 @@ isValid(): Promise<boolean>;

sign(signer: Signer): Promise<Buffer>;
setSignature(signature: Buffer): Promise<void>;
isSigned(): boolean;

@@ -50,0 +51,0 @@ /**

@@ -30,8 +30,9 @@ "use strict";

const buffer_1 = require("buffer");
const arDataBundle_1 = require("./arDataBundle");
const ar_data_bundle_1 = require("./ar-data-bundle");
const index_1 = require("./signing/index");
const arDataBase_1 = require("./arDataBase");
const ar_data_base_1 = require("./ar-data-base");
const axios_1 = __importDefault(require("axios"));
const constants_1 = require("./constants");
const crypto = __importStar(require("crypto"));
const arweave_1 = __importDefault(require("arweave"));
exports.MIN_BINARY_SIZE = 80;

@@ -61,4 +62,7 @@ class DataItem {

case 5: {
return constants_1.SignatureConfig.COSMOS;
return constants_1.SignatureConfig.INJECTEDAPTOS;
}
case 6: {
return constants_1.SignatureConfig.MULTIAPTOS;
}
default: {

@@ -167,5 +171,9 @@ throw new Error("Unknown signature type: " + signatureTypeVal);

async sign(signer) {
this._id = await arDataBundle_1.sign(this, signer);
this._id = await ar_data_bundle_1.sign(this, signer);
return this.rawId;
}
async setSignature(signature) {
this.binary.set(signature, 2);
this._id = buffer_1.Buffer.from(await arweave_1.default.crypto.hash(signature));
}
isSigned() {

@@ -240,7 +248,7 @@ var _a, _b;

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

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

@@ -1,11 +0,10 @@

import { bundleAndSignData, unbundleData } from "./arDataBundle";
import { bundleAndSignData, unbundleData } from "./ar-data-bundle";
import Bundle from "./Bundle";
import DataItem, { MIN_BINARY_SIZE } from "./DataItem";
import { deepHash } from "./deepHash";
import { DataItemCreateOptions } from "./arDataBase";
import { createData } from "./arDataCreate";
import { DataItemCreateOptions } from "./ar-data-base";
import { createData } from "./ar-data-create";
import { ArweaveSigner } from "./signing";
import SolanaSigner from "./signing/chains/SolanaSigner";
import EthereumSigner from "./signing/chains/ethereumSigner";
import CosmosSigner from "./signing/chains/CosmosSigner";
export { MIN_BINARY_SIZE, Bundle, DataItem, createData, bundleAndSignData, unbundleData, deepHash, DataItemCreateOptions, };

@@ -16,4 +15,3 @@ declare const signers: {

EthereumSigner: typeof EthereumSigner;
CosmosSigner: typeof CosmosSigner;
};
export { signers };

@@ -26,5 +26,5 @@ "use strict";

exports.signers = exports.deepHash = exports.unbundleData = exports.bundleAndSignData = exports.createData = exports.DataItem = exports.Bundle = exports.MIN_BINARY_SIZE = void 0;
const arDataBundle_1 = require("./arDataBundle");
Object.defineProperty(exports, "bundleAndSignData", { enumerable: true, get: function () { return arDataBundle_1.bundleAndSignData; } });
Object.defineProperty(exports, "unbundleData", { enumerable: true, get: function () { return arDataBundle_1.unbundleData; } });
const ar_data_bundle_1 = require("./ar-data-bundle");
Object.defineProperty(exports, "bundleAndSignData", { enumerable: true, get: function () { return ar_data_bundle_1.bundleAndSignData; } });
Object.defineProperty(exports, "unbundleData", { enumerable: true, get: function () { return ar_data_bundle_1.unbundleData; } });
const Bundle_1 = __importDefault(require("./Bundle"));

@@ -37,8 +37,7 @@ exports.Bundle = Bundle_1.default;

Object.defineProperty(exports, "deepHash", { enumerable: true, get: function () { return deepHash_1.deepHash; } });
const arDataCreate_1 = require("./arDataCreate");
Object.defineProperty(exports, "createData", { enumerable: true, get: function () { return arDataCreate_1.createData; } });
const ar_data_create_1 = require("./ar-data-create");
Object.defineProperty(exports, "createData", { enumerable: true, get: function () { return ar_data_create_1.createData; } });
const signing_1 = require("./signing");
const SolanaSigner_1 = __importDefault(require("./signing/chains/SolanaSigner"));
const ethereumSigner_1 = __importDefault(require("./signing/chains/ethereumSigner"));
const CosmosSigner_1 = __importDefault(require("./signing/chains/CosmosSigner"));
const signers = {

@@ -48,5 +47,4 @@ ArweaveSigner: signing_1.ArweaveSigner,

EthereumSigner: ethereumSigner_1.default,
CosmosSigner: CosmosSigner_1.default,
};
exports.signers = signers;
//# sourceMappingURL=index.js.map
"use strict";
// import Curve25519 from "../keys/curve25519";
// export default class AlgorandSigner extends Curve25519 {
// get publicKey(): Buffer {
// return Buffer.from(this.pk);
// }
// get key(): Uint8Array {
// return Buffer.from(this._key);
// }
// constructor(key: any, pk: any) {
// super(key.subarray(0, 32), pk);
// }
// }
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const curve25519_1 = __importDefault(require("../keys/curve25519"));
class AlgorandSigner extends curve25519_1.default {
get publicKey() {
return Buffer.from(this.pk);
}
get key() {
return Buffer.from(this._key);
}
constructor(key, pk) {
super(key.subarray(0, 32), pk);
}
}
exports.default = AlgorandSigner;
//# sourceMappingURL=AlgorandSigner.js.map

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

const secp256k1_2 = __importDefault(require("secp256k1"));
// import { Wallet, utils } from "ethers"
const eth_sig_util_1 = require("@metamask/eth-sig-util");
const keccak256_1 = __importDefault(require("../keccak256"));
const ethers_1 = require("ethers");
class EthereumSigner extends secp256k1_1.default {

@@ -22,27 +20,10 @@ get publicKey() {

sign(message) {
return Buffer.from(eth_sig_util_1.personalSign({
privateKey: Buffer.from(this._key, "hex"),
data: message,
}).slice(2));
// const wallet = new Wallet(this._key);
// const sig = wallet
// .signMessage(message)
// .then((r) => Buffer.from(r.slice(2), "hex")) as any;
const wallet = new ethers_1.ethers.Wallet(this._key);
return wallet
.signMessage(message)
.then((r) => Buffer.from(r.slice(2), "hex"));
}
static async verify(pk, message, signature) {
// const address = utils.computeAddress(pk);
// return utils.verifyMessage(message, signature) === address;
const address = "0x" + keccak256_1.default(pk.slice(1)).slice(-20).toString("hex");
let _message = Buffer.from(message).toString("hex");
if (_message.slice(0, 2) != "0x") {
_message = "0x" + _message;
}
let _signature = Buffer.from(signature).toString("hex");
if (_signature.slice(0, 2) != "0x") {
_signature = "0x" + _signature;
}
return (eth_sig_util_1.recoverPersonalSignature({
data: _message,
signature: _signature,
}) === address);
const address = ethers_1.ethers.utils.computeAddress(pk);
return ethers_1.ethers.utils.verifyMessage(message, signature) === address;
}

@@ -49,0 +30,0 @@ }

"use strict";
// import InjectedSolanaSigner from "./injectedSolanaSigner";
// export default class HexSolanaSigner extends InjectedSolanaSigner {
// signatureType = 4; // for solana sig type
// constructor(provider) {
// super(provider);
// }
// async sign(message: Uint8Array): Promise<Uint8Array> {
// return super.sign(Buffer.from(Buffer.from(message).toString("hex")));
// }
// static async verify(
// pk: Buffer,
// message: Uint8Array,
// signature: Uint8Array,
// ): Promise<boolean> {
// return super.verify(
// pk,
// Buffer.from(Buffer.from(message).toString("hex")),
// signature,
// );
// }
// }
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const injectedSolanaSigner_1 = __importDefault(require("./injectedSolanaSigner"));
class HexSolanaSigner extends injectedSolanaSigner_1.default {
constructor(provider) {
super(provider);
this.signatureType = 4; // for solana sig type
}
async sign(message) {
return super.sign(Buffer.from(Buffer.from(message).toString("hex")));
}
static async verify(pk, message, signature) {
return super.verify(pk, Buffer.from(Buffer.from(message).toString("hex")), signature);
}
}
exports.default = HexSolanaSigner;
//# sourceMappingURL=HexInjectedSolanaSigner.js.map

@@ -1,5 +0,14 @@

export { default as ArweaveSigner } from "./ArweaveSigner";
import ArweaveSigner from "./ArweaveSigner";
export * from "./ethereumSigner";
import PolygonSigner from "./PolygonSigner";
export * from "./SolanaSigner";
import InjectedEthereumSigner from "./injectedEthereumSigner";
export { default as InjectedSolanaSigner } from "./injectedSolanaSigner";
export { ArweaveSigner, PolygonSigner, InjectedEthereumSigner };
export { default as NearSigner } from "./NearSigner";
export { default as AlgorandSigner } from "./AlgorandSigner";
export { default as HexInjectedSolanaSigner } from "./HexInjectedSolanaSigner";
export { default as HexSolanaSigner } from "./HexSolanaSigner";
export { default as CosmosSigner } from "./CosmosSigner";
export { default as AptosSigner } from "./AptosSigner";
export { default as InjectedAptosSigner } from "./InjectedAptosSigner";
export { default as MultiSignatureAptosSigner } from "./multiSignatureAptos";

@@ -16,19 +16,27 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.CosmosSigner = exports.HexSolanaSigner = exports.ArweaveSigner = void 0;
var ArweaveSigner_1 = require("./ArweaveSigner");
Object.defineProperty(exports, "ArweaveSigner", { enumerable: true, get: function () { return __importDefault(ArweaveSigner_1).default; } });
exports.MultiSignatureAptosSigner = exports.InjectedAptosSigner = exports.AptosSigner = exports.HexSolanaSigner = exports.HexInjectedSolanaSigner = exports.AlgorandSigner = exports.NearSigner = exports.InjectedEthereumSigner = exports.PolygonSigner = exports.ArweaveSigner = exports.InjectedSolanaSigner = void 0;
const ArweaveSigner_1 = __importDefault(require("./ArweaveSigner"));
exports.ArweaveSigner = ArweaveSigner_1.default;
__exportStar(require("./ethereumSigner"), exports);
// import PolygonSigner from "./PolygonSigner";
const PolygonSigner_1 = __importDefault(require("./PolygonSigner"));
exports.PolygonSigner = PolygonSigner_1.default;
__exportStar(require("./SolanaSigner"), exports);
// import InjectedEthereumSigner from "./injectedEthereumSigner";
// export { default as InjectedSolanaSigner } from "./injectedSolanaSigner";
// import InjectedAlgorandSigner from "./injectedAlgorandSigner";
// export { InjectedAlgorandSigner } from "./injectedAlgorandSigner";
// export { default as NearSigner } from "./NearSigner";
// export { default as AlgorandSigner } from "./AlgorandSigner";
// export { default as HexInjectedSolanaSigner } from "./HexInjectedSolanaSigner";
const injectedEthereumSigner_1 = __importDefault(require("./injectedEthereumSigner"));
exports.InjectedEthereumSigner = injectedEthereumSigner_1.default;
var injectedSolanaSigner_1 = require("./injectedSolanaSigner");
Object.defineProperty(exports, "InjectedSolanaSigner", { enumerable: true, get: function () { return __importDefault(injectedSolanaSigner_1).default; } });
var NearSigner_1 = require("./NearSigner");
Object.defineProperty(exports, "NearSigner", { enumerable: true, get: function () { return __importDefault(NearSigner_1).default; } });
var AlgorandSigner_1 = require("./AlgorandSigner");
Object.defineProperty(exports, "AlgorandSigner", { enumerable: true, get: function () { return __importDefault(AlgorandSigner_1).default; } });
var HexInjectedSolanaSigner_1 = require("./HexInjectedSolanaSigner");
Object.defineProperty(exports, "HexInjectedSolanaSigner", { enumerable: true, get: function () { return __importDefault(HexInjectedSolanaSigner_1).default; } });
var HexSolanaSigner_1 = require("./HexSolanaSigner");
Object.defineProperty(exports, "HexSolanaSigner", { enumerable: true, get: function () { return __importDefault(HexSolanaSigner_1).default; } });
var CosmosSigner_1 = require("./CosmosSigner");
Object.defineProperty(exports, "CosmosSigner", { enumerable: true, get: function () { return __importDefault(CosmosSigner_1).default; } });
var AptosSigner_1 = require("./AptosSigner");
Object.defineProperty(exports, "AptosSigner", { enumerable: true, get: function () { return __importDefault(AptosSigner_1).default; } });
var InjectedAptosSigner_1 = require("./InjectedAptosSigner");
Object.defineProperty(exports, "InjectedAptosSigner", { enumerable: true, get: function () { return __importDefault(InjectedAptosSigner_1).default; } });
var multiSignatureAptos_1 = require("./multiSignatureAptos");
Object.defineProperty(exports, "MultiSignatureAptosSigner", { enumerable: true, get: function () { return __importDefault(multiSignatureAptos_1).default; } });
//# sourceMappingURL=index.js.map
"use strict";
// import { ethers } from "ethers";
// import { Signer } from "..";
// import { SignatureConfig, SIG_CONFIG } from "../../constants";
// export default class InjectedEthereumSigner implements Signer {
// private signer: ethers.providers.JsonRpcSigner;
// public publicKey: Buffer;
// readonly ownerLength: number = SIG_CONFIG[SignatureConfig.ETHEREUM].pubLength;
// readonly signatureLength: number =
// SIG_CONFIG[SignatureConfig.ETHEREUM].sigLength;
// readonly signatureType: SignatureConfig = SignatureConfig.ETHEREUM;
// constructor(provider: ethers.providers.Web3Provider) {
// this.signer = provider.getSigner();
// }
// async setPublicKey(): Promise<void> {
// const address = "sign this message to connect to Bundlr.Network";
// const signedMsg = await this.signer.signMessage(address);
// const hash = await ethers.utils.hashMessage(address);
// const recoveredKey = ethers.utils.recoverPublicKey(
// ethers.utils.arrayify(hash),
// signedMsg,
// );
// this.publicKey = Buffer.from(ethers.utils.arrayify(recoveredKey));
// }
// async sign(message: Uint8Array): Promise<Uint8Array> {
// if (!this.publicKey) {
// await this.setPublicKey();
// }
// const sig = await this.signer.signMessage(message);
// return Buffer.from(sig.slice(2), "hex");
// }
// static verify(
// pk: Buffer,
// message: Uint8Array,
// signature: Uint8Array,
// ): boolean {
// const address = ethers.utils.computeAddress(pk);
// return ethers.utils.verifyMessage(message, signature) === address;
// }
// }
Object.defineProperty(exports, "__esModule", { value: true });
const ethers_1 = require("ethers");
const constants_1 = require("../../constants");
class InjectedEthereumSigner {
constructor(provider) {
this.ownerLength = constants_1.SIG_CONFIG[constants_1.SignatureConfig.ETHEREUM].pubLength;
this.signatureLength = constants_1.SIG_CONFIG[constants_1.SignatureConfig.ETHEREUM].sigLength;
this.signatureType = constants_1.SignatureConfig.ETHEREUM;
this.signer = provider.getSigner();
}
async setPublicKey() {
const address = "sign this message to connect to Bundlr.Network";
const signedMsg = await this.signer.signMessage(address);
const hash = await ethers_1.ethers.utils.hashMessage(address);
const recoveredKey = ethers_1.ethers.utils.recoverPublicKey(ethers_1.ethers.utils.arrayify(hash), signedMsg);
this.publicKey = Buffer.from(ethers_1.ethers.utils.arrayify(recoveredKey));
}
async sign(message) {
if (!this.publicKey) {
await this.setPublicKey();
}
const sig = await this.signer.signMessage(message);
return Buffer.from(sig.slice(2), "hex");
}
static verify(pk, message, signature) {
const address = ethers_1.ethers.utils.computeAddress(pk);
return ethers_1.ethers.utils.verifyMessage(message, signature) === address;
}
}
exports.default = InjectedEthereumSigner;
//# sourceMappingURL=injectedEthereumSigner.js.map
"use strict";
// import { Signer } from "..";
// import * as ed25519 from "@noble/ed25519";
// import base64url from "base64url";
// import { SIG_CONFIG } from "../../constants";
// import { MessageSignerWalletAdapter } from "@solana/wallet-adapter-base";
// export default class InjectedSolanaSigner implements Signer {
// private readonly _publicKey: Buffer;
// readonly ownerLength: number = SIG_CONFIG[2].pubLength;
// readonly signatureLength: number = SIG_CONFIG[2].sigLength;
// readonly signatureType: number = 2;
// pem?: string | Buffer;
// provider: MessageSignerWalletAdapter;
// constructor(provider) {
// this.provider = provider;
// this._publicKey = this.provider.publicKey.toBuffer();
// }
// public get publicKey(): Buffer {
// return this._publicKey;
// }
// async sign(message: Uint8Array): Promise<Uint8Array> {
// if (!this.provider.signMessage)
// throw new Error("Selected Wallet does not support message signing");
// return await this.provider.signMessage(message);
// }
// static async verify(
// pk: Buffer,
// message: Uint8Array,
// signature: Uint8Array,
// ): Promise<boolean> {
// let p = pk;
// if (typeof pk === "string") p = base64url.toBuffer(pk);
// return ed25519.verify(
// Buffer.from(signature),
// Buffer.from(message),
// Buffer.from(p),
// );
// }
// }
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 };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ed25519 = __importStar(require("@noble/ed25519"));
const base64url_1 = __importDefault(require("base64url"));
const constants_1 = require("../../constants");
class InjectedSolanaSigner {
constructor(provider) {
this.ownerLength = constants_1.SIG_CONFIG[2].pubLength;
this.signatureLength = constants_1.SIG_CONFIG[2].sigLength;
this.signatureType = 2;
this.provider = provider;
this._publicKey = this.provider.publicKey.toBuffer();
}
get publicKey() {
return this._publicKey;
}
async sign(message) {
if (!this.provider.signMessage)
throw new Error("Selected Wallet does not support message signing");
return await this.provider.signMessage(message);
}
static async verify(pk, message, signature) {
let p = pk;
if (typeof pk === "string")
p = base64url_1.default.toBuffer(pk);
return ed25519.verify(Buffer.from(signature), Buffer.from(message), Buffer.from(p));
}
}
exports.default = InjectedSolanaSigner;
//# sourceMappingURL=injectedSolanaSigner.js.map
"use strict";
// import SolanaSigner from "./SolanaSigner";
// export default class NearSigner extends SolanaSigner {
// constructor(_key: string) {
// super(_key.replace("ed25519:", ""));
// }
// }
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const SolanaSigner_1 = __importDefault(require("./SolanaSigner"));
class NearSigner extends SolanaSigner_1.default {
constructor(_key) {
super(_key.replace("ed25519:", ""));
}
}
exports.default = NearSigner;
//# sourceMappingURL=NearSigner.js.map
"use strict";
// import EthereumSigner from "./ethereumSigner";
// export default class PolygonSigner extends EthereumSigner {}
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ethereumSigner_1 = __importDefault(require("./ethereumSigner"));
class PolygonSigner extends ethereumSigner_1.default {
}
exports.default = PolygonSigner;
//# sourceMappingURL=PolygonSigner.js.map

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

const chains_1 = require("./chains");
const multiSignatureAptos_1 = __importDefault(require("./chains/multiSignatureAptos"));
exports.indexToType = {

@@ -23,7 +24,10 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment

// @ts-ignore
4: chains_1.HexSolanaSigner,
4: chains_1.HexInjectedSolanaSigner,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
5: chains_1.CosmosSigner,
5: chains_1.InjectedAptosSigner,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
6: multiSignatureAptos_1.default,
};
//# sourceMappingURL=constants.js.map
/// <reference types="node" />
import BN from "bn.js";
import { Buffer } from "buffer";
export default function keccak256(value: Buffer | BN | string | number): any;
declare function keccak256(value: Buffer | BN | string | number): any;
export = keccak256;

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

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

@@ -17,3 +16,2 @@ const bn_js_1 = __importDefault(require("bn.js"));

}
exports.default = keccak256;
function toBuffer(value) {

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

}
module.exports = keccak256;
//# sourceMappingURL=keccak256.js.map
/// <reference types="node" />
import { Signer } from "../Signer";
import { Signer } from '../Signer';
export default class Curve25519 implements Signer {

@@ -4,0 +4,0 @@ protected _key: string;

/// <reference types="node" />
import { Readable } from "stream";
import { PassThrough, Readable } from "stream";
import { DataItemCreateOptions } from "../src/index";
import { Signer } from "../src/signing";
export default function processStream(stream: Readable): Promise<Record<string, any>[]>;
/**
* Signs a stream (requires two instances/read passes)
* @param s1 Stream to sign - same as s2
* @param s2 Stream to sign - same as s1
* @param signer Signer to use to sign the stream
* @param opts Optional options to apply to the stream (same as DataItem)
*/
export declare function streamSigner(s1: Readable, s2: Readable, signer: Signer, opts?: DataItemCreateOptions): Promise<PassThrough>;

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.streamSigner = void 0;
const stream_1 = require("stream");

@@ -34,3 +35,3 @@ const utils_1 = require("../src/utils");

const crypto = __importStar(require("crypto"));
const utils_2 = require("arweave/web/lib/utils");
const utils_2 = require("arweave/node/lib/utils");
const deepHash_1 = require("../src/deepHash");

@@ -171,2 +172,29 @@ async function processStream(stream) {

exports.default = processStream;
/**
* Signs a stream (requires two instances/read passes)
* @param s1 Stream to sign - same as s2
* @param s2 Stream to sign - same as s1
* @param signer Signer to use to sign the stream
* @param opts Optional options to apply to the stream (same as DataItem)
*/
async function streamSigner(s1, s2, signer, opts) {
const header = 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()),
header.rawOwner,
header.rawTarget,
header.rawAnchor,
header.rawTags,
s1
];
const hash = await deepHash_1.deepHash(parts);
const sigBytes = Buffer.from(await signer.sign(hash));
header.setSignature(sigBytes);
output.write(header.getRaw());
return s2.pipe(output);
}
exports.streamSigner = streamSigner;
async function readBytes(reader, buffer, length) {

@@ -173,0 +201,0 @@ if (buffer.byteLength > length)

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