mirror of
https://github.com/fluencelabs/signature-connector
synced 2025-04-25 06:02:13 +00:00
update AS
This commit is contained in:
parent
2387b6e7c1
commit
c6a592a76d
@ -72,20 +72,20 @@ export class ByteInvoke {
|
|||||||
return resultBytes;
|
return resultBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
sendBytes(localPtr: i32, len: i32): i32 {
|
sendBytes(buffer: Uint8Array): i32 {
|
||||||
let addr = this.api.allocate(len);
|
let addr = this.api.allocate(buffer.byteLength);
|
||||||
|
|
||||||
for (let i = 0; i < len; i++) {
|
for (let i = 0; i < buffer.byteLength; i++) {
|
||||||
let b: u8 = load<u8>(localPtr + i) as u8;
|
let b: u8 = buffer[i];
|
||||||
this.api.store(addr + i, b);
|
this.api.store(addr + i, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
return addr;
|
return addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
invoke(ptr: i32, len: i32): Uint8Array {
|
invoke(buffer: Uint8Array): Uint8Array {
|
||||||
let requestPtr = this.sendBytes(ptr, len);
|
let requestPtr = this.sendBytes(buffer);
|
||||||
let resultPtr = this.api.invokeImpl(requestPtr, len);
|
let resultPtr = this.api.invokeImpl(requestPtr, buffer.byteLength);
|
||||||
return this.getBytes(resultPtr);
|
return this.getBytes(resultPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -99,11 +99,10 @@ export class StringInvoke {
|
|||||||
}
|
}
|
||||||
|
|
||||||
invoke(request: string): string {
|
invoke(request: string): string {
|
||||||
let utf8ptr = request.toUTF8();
|
let buffer = String.UTF8.encode(request);
|
||||||
let len = request.length;
|
|
||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
26
package.json
26
package.json
@ -1,36 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "signature-connector",
|
"name": "signature-connector",
|
||||||
"version": "0.0.1",
|
"version": "0.0.2",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"asbuild:untouched": "asc assembly/index.ts -b build/untouched.wasm -t build/untouched.wat --sourceMap --validate --debug",
|
"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: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": "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"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^10.12.3",
|
"assemblyscript": "assemblyscript/assemblyscript"
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user