@storagehub-sdk/core 0.0.5 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@
6
6
  * for retrieving the active account address, sending transactions, and
7
7
  * signing arbitrary messages.
8
8
  */
9
- import type { TransactionRequest } from 'ethers';
9
+ import type { TransactionRequest } from "ethers";
10
10
  export declare abstract class WalletBase {
11
11
  /**
12
12
  * Return the public address for the currently selected account.
@@ -1,5 +1,5 @@
1
- import { WalletBase } from './base.js';
2
- import { type Eip1193Provider, type TransactionRequest } from 'ethers';
1
+ import { WalletBase } from "./base.js";
2
+ import { type Eip1193Provider, type TransactionRequest } from "ethers";
3
3
  declare global {
4
4
  /**
5
5
  * EIP-1193 injected provider placed on the window object by browser wallets.
@@ -1,4 +1,4 @@
1
- export type WalletErrorCode = 'InvalidPrivateKey' | 'InvalidMnemonic';
1
+ export type WalletErrorCode = "InvalidPrivateKey" | "InvalidMnemonic";
2
2
  export declare class WalletError extends Error {
3
3
  readonly name = "WalletError";
4
4
  readonly code: WalletErrorCode;
@@ -1,5 +1,5 @@
1
- import { WalletBase } from './base.js';
2
- import { type Provider, type TransactionRequest } from 'ethers';
1
+ import { WalletBase } from "./base.js";
2
+ import { type Provider, type TransactionRequest } from "ethers";
3
3
  /**
4
4
  * A local, in-memory wallet implementation.
5
5
  *
package/dist/wasm.d.ts CHANGED
@@ -1 +1 @@
1
- export { FileMetadata, FileTrie } from '../wasm/pkg/storagehub_wasm.js';
1
+ export { FileMetadata, FileTrie } from "../wasm/pkg/storagehub_wasm.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storagehub-sdk/core",
3
- "version": "0.0.5",
3
+ "version": "0.1.1",
4
4
  "description": "Core primitives for StorageHub SDK (types, crypto, filemanager, storage, wasm bindings)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.node.js",
@@ -23,28 +23,32 @@
23
23
  "wasm/pkg",
24
24
  "README.md"
25
25
  ],
26
+ "dependencies": {
27
+ "@polkadot/types": "^16.4.7",
28
+ "abitype": "^1.0.0",
29
+ "ethers": "^6.15.0",
30
+ "viem": "^2.9.20"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^20.11.19",
34
+ "solc": "^0.8.26"
35
+ },
36
+ "engines": {
37
+ "node": ">=22"
38
+ },
26
39
  "scripts": {
27
40
  "build": "node ./build.js && pnpm run build:types",
41
+ "build:abi": "node scripts/compile-abi.js",
28
42
  "build:types": "tsc --emitDeclarationOnly -p tsconfig.json",
29
- "clean": "rm -rf dist node_modules wasm/pkg/*",
43
+ "clean": "rm -rf dist node_modules wasm/pkg/* src/abi/*.abi.json",
30
44
  "coverage": "vitest run --coverage",
31
45
  "dev": "node ./build.js --watch",
32
- "format": "prettier --write \"{src/**/*.ts,src/**/*.tsx}\"",
33
- "format:check": "prettier --check \"{src/**/*.ts,src/**/*.tsx}\"",
34
- "lint": "eslint \"{src/**/*.ts,src/**/*.tsx}\"",
35
- "lint:fix": "eslint \"{src/**/*.ts,src/**/*.tsx}\" --fix",
46
+ "fmt": "biome format .",
47
+ "fmt:fix": "biome format . --write",
48
+ "lint": "biome lint .",
49
+ "lint:fix": "biome lint . --write",
50
+ "prebuild": "pnpm run build:abi",
36
51
  "test": "vitest",
37
52
  "typecheck": "tsc --noEmit"
38
- },
39
- "dependencies": {
40
- "@polkadot/types": "^10.10.3",
41
- "ethers": "^6.15.0"
42
- },
43
- "devDependencies": {
44
- "@eslint/eslintrc": "2.1.4",
45
- "@types/node": "^20.11.19"
46
- },
47
- "engines": {
48
- "node": ">=22"
49
53
  }
50
- }
54
+ }
@@ -14,6 +14,11 @@ export class FileMetadata {
14
14
  * 32-byte `Uint8Array`.
15
15
  */
16
16
  getFileKey(): Uint8Array;
17
+ /**
18
+ * Returns the SCALE-encoded FileMetadata as bytes.
19
+ * This is used for multipart uploads to the backend.
20
+ */
21
+ encode(): Uint8Array;
17
22
  }
18
23
  export class FileTrie {
19
24
  free(): void;
@@ -29,17 +34,18 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
29
34
 
30
35
  export interface InitOutput {
31
36
  readonly memory: WebAssembly.Memory;
37
+ readonly __wbg_filemetadata_free: (a: number, b: number) => void;
38
+ readonly filemetadata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number) => [number, number, number];
39
+ readonly filemetadata_getFileKey: (a: number) => [number, number];
40
+ readonly filemetadata_encode: (a: number) => [number, number];
32
41
  readonly __wbg_filetrie_free: (a: number, b: number) => void;
33
42
  readonly filetrie_new: () => number;
34
43
  readonly filetrie_push_chunk: (a: number, b: number, c: number) => void;
35
44
  readonly filetrie_get_root: (a: number) => [number, number];
36
- readonly __wbg_filemetadata_free: (a: number, b: number) => void;
37
- readonly filemetadata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number) => [number, number, number];
38
- readonly filemetadata_getFileKey: (a: number) => [number, number];
39
45
  readonly __wbindgen_export_0: WebAssembly.Table;
40
46
  readonly __wbindgen_malloc: (a: number, b: number) => number;
41
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
42
47
  readonly __externref_table_dealloc: (a: number) => void;
48
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
43
49
  readonly __wbindgen_start: () => void;
44
50
  }
45
51
 
@@ -27,17 +27,17 @@ function passArray8ToWasm0(arg, malloc) {
27
27
  return ptr;
28
28
  }
29
29
 
30
- function getArrayU8FromWasm0(ptr, len) {
31
- ptr = ptr >>> 0;
32
- return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
33
- }
34
-
35
30
  function takeFromExternrefTable0(idx) {
36
31
  const value = wasm.__wbindgen_export_0.get(idx);
37
32
  wasm.__externref_table_dealloc(idx);
38
33
  return value;
39
34
  }
40
35
 
36
+ function getArrayU8FromWasm0(ptr, len) {
37
+ ptr = ptr >>> 0;
38
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
39
+ }
40
+
41
41
  const FileMetadataFinalization = (typeof FinalizationRegistry === 'undefined')
42
42
  ? { register: () => {}, unregister: () => {} }
43
43
  : new FinalizationRegistry(ptr => wasm.__wbg_filemetadata_free(ptr >>> 0, 1));
@@ -94,6 +94,17 @@ export class FileMetadata {
94
94
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
95
95
  return v1;
96
96
  }
97
+ /**
98
+ * Returns the SCALE-encoded FileMetadata as bytes.
99
+ * This is used for multipart uploads to the backend.
100
+ * @returns {Uint8Array}
101
+ */
102
+ encode() {
103
+ const ret = wasm.filemetadata_encode(this.__wbg_ptr);
104
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
105
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
106
+ return v1;
107
+ }
97
108
  }
98
109
 
99
110
  const FileTrieFinalization = (typeof FinalizationRegistry === 'undefined')
Binary file
@@ -1,15 +1,16 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
+ export const __wbg_filemetadata_free: (a: number, b: number) => void;
5
+ export const filemetadata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number) => [number, number, number];
6
+ export const filemetadata_getFileKey: (a: number) => [number, number];
7
+ export const filemetadata_encode: (a: number) => [number, number];
4
8
  export const __wbg_filetrie_free: (a: number, b: number) => void;
5
9
  export const filetrie_new: () => number;
6
10
  export const filetrie_push_chunk: (a: number, b: number, c: number) => void;
7
11
  export const filetrie_get_root: (a: number) => [number, number];
8
- export const __wbg_filemetadata_free: (a: number, b: number) => void;
9
- export const filemetadata_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint, h: number, i: number) => [number, number, number];
10
- export const filemetadata_getFileKey: (a: number) => [number, number];
11
12
  export const __wbindgen_export_0: WebAssembly.Table;
12
13
  export const __wbindgen_malloc: (a: number, b: number) => number;
13
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
14
14
  export const __externref_table_dealloc: (a: number) => void;
15
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
15
16
  export const __wbindgen_start: () => void;