From c6a592a76dc0948c8420526b000be1c0e9125704 Mon Sep 17 00:00:00 2001 From: DieMyst Date: Mon, 12 Aug 2019 19:10:29 +0300 Subject: [PATCH] update AS --- as-dependencies/crossmodule/assembly/index.ts | 21 +++++++-------- package.json | 26 +++---------------- 2 files changed, 13 insertions(+), 34 deletions(-) diff --git a/as-dependencies/crossmodule/assembly/index.ts b/as-dependencies/crossmodule/assembly/index.ts index b3479b0..2a0d9ef 100644 --- a/as-dependencies/crossmodule/assembly/index.ts +++ b/as-dependencies/crossmodule/assembly/index.ts @@ -72,20 +72,20 @@ export class ByteInvoke { return resultBytes; } - sendBytes(localPtr: i32, len: i32): i32 { - let addr = this.api.allocate(len); + sendBytes(buffer: Uint8Array): i32 { + let addr = this.api.allocate(buffer.byteLength); - for (let i = 0; i < len; i++) { - let b: u8 = load(localPtr + i) as u8; + for (let i = 0; i < buffer.byteLength; i++) { + let b: u8 = buffer[i]; this.api.store(addr + i, b); } return addr; } - invoke(ptr: i32, len: i32): Uint8Array { - let requestPtr = this.sendBytes(ptr, len); - let resultPtr = this.api.invokeImpl(requestPtr, len); + invoke(buffer: Uint8Array): Uint8Array { + let requestPtr = this.sendBytes(buffer); + let resultPtr = this.api.invokeImpl(requestPtr, buffer.byteLength); return this.getBytes(resultPtr); } } @@ -99,11 +99,10 @@ export class StringInvoke { } invoke(request: string): string { - let utf8ptr = request.toUTF8(); - let len = request.length; + let buffer = String.UTF8.encode(request); - let resultBytes = this.byteInvoker.invoke(utf8ptr, len); + let resultBytes = this.byteInvoker.invoke(Uint8Array.wrap(buffer)); - return String.fromUTF8(resultBytes.buffer.data, resultBytes.length); + return String.UTF8.decode(resultBytes.buffer); } } diff --git a/package.json b/package.json index 095b407..0754765 100644 --- a/package.json +++ b/package.json @@ -1,36 +1,16 @@ { "name": "signature-connector", - "version": "0.0.1", + "version": "0.0.2", "description": "", "main": "index.js", "scripts": { "asbuild:untouched": "asc assembly/index.ts -b build/untouched.wasm -t build/untouched.wat --sourceMap --validate --debug", "asbuild:optimized": "asc assembly/index.ts -b build/optimized.wasm -t build/optimized.wat --sourceMap --validate --optimize", - "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized", - "asbuild:test": "npm run asbuild:test:signature", - "asbuild:test:signature": "npx asc tests/assembly/signature-test.spec.as.ts -b tests/build/signature-test.wasm -t tests/build/signature-test.wat --validate --sourceMap --importMemory --debug", - "test": "npm run asbuild:test && ava -v --serial", - "test:ci": "npm run asbuild:test && ava --fail-fast --serial" + "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized" }, "author": "", "license": "ISC", "devDependencies": { - "@types/node": "^10.12.3", - "assemblyscript": "github:fluencelabs/assemblyscript", - "ts-node": "^7.0.1", - "ava": "^1.4.0", - "typescript": "^3.1.6" - }, - "ava": { - "compileEnhancements": true, - "extensions": [ - "ts" - ], - "require": [ - "ts-node/register/transpile-only" - ], - "files": [ - "tests/**/*.spec.ts" - ] + "assemblyscript": "assemblyscript/assemblyscript" } }