@astrox/agent 0.0.24 → 0.0.30
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.
- package/lib/cjs/actor.d.ts +126 -0
- package/lib/cjs/actor.js +207 -0
- package/lib/cjs/actor.js.map +1 -0
- package/lib/cjs/agent/api.d.ts +140 -0
- package/lib/cjs/agent/api.js +16 -0
- package/lib/cjs/agent/api.js.map +1 -0
- package/lib/cjs/agent/http/index.d.ts +49 -0
- package/lib/cjs/agent/http/index.js +355 -0
- package/lib/cjs/agent/http/index.js.map +1 -0
- package/lib/cjs/agent/http/transforms.d.ts +20 -0
- package/lib/cjs/agent/http/transforms.js +70 -0
- package/lib/cjs/agent/http/transforms.js.map +1 -0
- package/lib/cjs/agent/http/types.d.ts +77 -0
- package/lib/cjs/agent/http/types.js +24 -0
- package/lib/cjs/agent/http/types.js.map +1 -0
- package/lib/cjs/agent/index.d.ts +7 -0
- package/lib/cjs/agent/index.js +42 -0
- package/lib/cjs/agent/index.js.map +1 -0
- package/lib/cjs/agent/proxy.d.ts +85 -0
- package/lib/cjs/agent/proxy.js +159 -0
- package/lib/cjs/agent/proxy.js.map +1 -0
- package/lib/cjs/auth.d.ts +87 -0
- package/lib/cjs/auth.js +70 -0
- package/lib/cjs/auth.js.map +1 -0
- package/lib/cjs/canisters/asset.d.ts +10 -0
- package/lib/cjs/canisters/asset.js +18 -0
- package/lib/cjs/canisters/asset.js.map +1 -0
- package/lib/cjs/canisters/asset_idl.d.ts +7 -0
- package/lib/cjs/canisters/asset_idl.js +14 -0
- package/lib/cjs/canisters/asset_idl.js.map +1 -0
- package/lib/cjs/canisters/management.d.ts +33 -0
- package/lib/cjs/canisters/management.js +30 -0
- package/lib/cjs/canisters/management.js.map +1 -0
- package/lib/cjs/canisters/management_idl.d.ts +7 -0
- package/lib/cjs/canisters/management_idl.js +29 -0
- package/lib/cjs/canisters/management_idl.js.map +1 -0
- package/lib/cjs/cbor.d.ts +9 -0
- package/lib/cjs/cbor.js +138 -0
- package/lib/cjs/cbor.js.map +1 -0
- package/lib/cjs/certificate.d.ts +43 -0
- package/lib/cjs/certificate.js +227 -0
- package/lib/cjs/certificate.js.map +1 -0
- package/lib/cjs/errors.d.ts +8 -0
- package/lib/cjs/errors.js +13 -0
- package/lib/cjs/errors.js.map +1 -0
- package/lib/cjs/index.d.ts +52 -0
- package/lib/cjs/index.js +38 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/polling/index.d.ts +16 -0
- package/lib/cjs/polling/index.js +81 -0
- package/lib/cjs/polling/index.js.map +1 -0
- package/lib/cjs/polling/strategy.d.ts +47 -0
- package/lib/cjs/polling/strategy.js +106 -0
- package/lib/cjs/polling/strategy.js.map +1 -0
- package/lib/cjs/request_id.d.ts +15 -0
- package/lib/cjs/request_id.js +89 -0
- package/lib/cjs/request_id.js.map +1 -0
- package/lib/cjs/utils/bls.d.ts +9 -0
- package/lib/cjs/utils/bls.js +65 -0
- package/lib/cjs/utils/bls.js.map +1 -0
- package/lib/cjs/utils/buffer.d.ts +16 -0
- package/lib/cjs/utils/buffer.js +59 -0
- package/lib/cjs/utils/buffer.js.map +1 -0
- package/lib/cjs/vendor/bls/bls.d.ts +28 -0
- package/lib/cjs/vendor/bls/bls.js +894 -0
- package/lib/cjs/vendor/bls/bls.js.map +1 -0
- package/lib/esm/actor.d.ts +126 -0
- package/lib/esm/actor.js +200 -0
- package/lib/esm/actor.js.map +1 -0
- package/lib/esm/agent/api.d.ts +140 -0
- package/lib/esm/agent/api.js +13 -0
- package/lib/esm/agent/api.js.map +1 -0
- package/lib/esm/agent/http/index.d.ts +49 -0
- package/lib/esm/agent/http/index.js +328 -0
- package/lib/esm/agent/http/index.js.map +1 -0
- package/lib/esm/agent/http/transforms.d.ts +20 -0
- package/lib/esm/agent/http/transforms.js +45 -0
- package/lib/esm/agent/http/transforms.js.map +1 -0
- package/lib/esm/agent/http/types.d.ts +77 -0
- package/lib/esm/agent/http/types.js +20 -0
- package/lib/esm/agent/http/types.js.map +1 -0
- package/lib/esm/agent/index.d.ts +7 -0
- package/lib/esm/agent/index.js +27 -0
- package/lib/esm/agent/index.js.map +1 -0
- package/lib/esm/agent/proxy.d.ts +85 -0
- package/lib/esm/agent/proxy.js +154 -0
- package/lib/esm/agent/proxy.js.map +1 -0
- package/lib/esm/auth.d.ts +87 -0
- package/lib/esm/auth.js +64 -0
- package/lib/esm/auth.js.map +1 -0
- package/lib/esm/canisters/asset.d.ts +10 -0
- package/lib/esm/canisters/asset.js +11 -0
- package/lib/esm/canisters/asset.js.map +1 -0
- package/lib/esm/canisters/asset_idl.d.ts +7 -0
- package/lib/esm/canisters/asset_idl.js +12 -0
- package/lib/esm/canisters/asset_idl.js.map +1 -0
- package/lib/esm/canisters/management.d.ts +37 -0
- package/lib/esm/canisters/management.js +23 -0
- package/lib/esm/canisters/management.js.map +1 -0
- package/lib/esm/canisters/management_idl.d.ts +7 -0
- package/lib/esm/canisters/management_idl.js +27 -0
- package/lib/esm/canisters/management_idl.js.map +1 -0
- package/lib/esm/cbor.d.ts +9 -0
- package/lib/esm/cbor.js +111 -0
- package/lib/esm/cbor.js.map +1 -0
- package/lib/esm/certificate.d.ts +43 -0
- package/lib/esm/certificate.js +200 -0
- package/lib/esm/certificate.js.map +1 -0
- package/lib/esm/errors.d.ts +8 -0
- package/lib/esm/errors.js +9 -0
- package/lib/esm/errors.js.map +1 -0
- package/lib/esm/index.d.ts +52 -0
- package/lib/esm/index.js +14 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/polling/index.d.ts +16 -0
- package/lib/esm/polling/index.js +57 -0
- package/lib/esm/polling/index.js.map +1 -0
- package/lib/esm/polling/strategy.d.ts +47 -0
- package/lib/esm/polling/strategy.js +95 -0
- package/lib/esm/polling/strategy.js.map +1 -0
- package/lib/esm/request_id.d.ts +15 -0
- package/lib/esm/request_id.js +81 -0
- package/lib/esm/request_id.js.map +1 -0
- package/lib/esm/utils/bls.d.ts +9 -0
- package/lib/esm/utils/bls.js +43 -0
- package/lib/esm/utils/bls.js.map +1 -0
- package/lib/esm/utils/buffer.d.ts +16 -0
- package/lib/esm/utils/buffer.js +52 -0
- package/lib/esm/utils/buffer.js.map +1 -0
- package/lib/esm/vendor/bls/bls.d.ts +28 -0
- package/lib/esm/vendor/bls/bls.js +870 -0
- package/lib/esm/vendor/bls/bls.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { getKraken } from '../index';
|
|
2
|
+
import init, { bls_init, bls_verify } from '../vendor/bls/bls';
|
|
3
|
+
export let verify;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param pk primary key: Uint8Array
|
|
7
|
+
* @param sig signature: Uint8Array
|
|
8
|
+
* @param msg message: Uint8Array
|
|
9
|
+
* @returns Promise resolving a boolean
|
|
10
|
+
*/
|
|
11
|
+
export async function blsVerify(pk, sig, msg) {
|
|
12
|
+
if (!verify) {
|
|
13
|
+
const kraken = getKraken();
|
|
14
|
+
if (!kraken) {
|
|
15
|
+
await init();
|
|
16
|
+
if (bls_init() !== 0) {
|
|
17
|
+
throw new Error('Cannot initialize BLS');
|
|
18
|
+
}
|
|
19
|
+
verify = async (pk1, sig1, msg1) => {
|
|
20
|
+
// Reorder things from what the WASM expects (sig, m, w).
|
|
21
|
+
return bls_verify(sig1, msg1, pk1) === 0;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const isInit = await kraken.methodChannel.invokeMethod('agent/blsInit', []);
|
|
26
|
+
if (!isInit) {
|
|
27
|
+
throw new Error('Cannot initialize BLS');
|
|
28
|
+
}
|
|
29
|
+
verify = async (pk1, sig1, msg1) => {
|
|
30
|
+
// Reorder things from what the WASM expects (sig, m, w).
|
|
31
|
+
const verifyResult = await kraken.methodChannel.invokeMethod('agent/blsVerify', [
|
|
32
|
+
Buffer.from(pk1).toString('hex'),
|
|
33
|
+
Buffer.from(sig1).toString('hex'),
|
|
34
|
+
new TextDecoder().decode(msg1),
|
|
35
|
+
]);
|
|
36
|
+
return verifyResult === 0;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const result = await verify(pk, sig, msg);
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=bls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bls.js","sourceRoot":"","sources":["../../../src/utils/bls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,CAAC,IAAI,MAA8E,CAAC;AAE1F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAc,EACd,GAAe,EACf,GAAe;IAEf,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,EAAE,CAAC;YACb,IAAI,QAAQ,EAAE,KAAK,CAAC,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YACD,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;gBACjC,yDAAyD;gBACzD,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC;SACH;aAAM;YACL,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YACD,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;gBACjC,yDAAyD;gBACzD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,EAAE;oBAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC/B,CAAC,CAAC;gBACH,OAAO,YAAY,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;SACH;KACF;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Concatenate multiple array buffers.
|
|
3
|
+
* @param buffers The buffers to concatenate.
|
|
4
|
+
*/
|
|
5
|
+
export declare function concat(...buffers: ArrayBuffer[]): ArrayBuffer;
|
|
6
|
+
/**
|
|
7
|
+
* Transforms a buffer to an hexadecimal string. This will use the buffer as an Uint8Array.
|
|
8
|
+
* @param buffer The buffer to return the hexadecimal string of.
|
|
9
|
+
*/
|
|
10
|
+
export declare function toHex(buffer: ArrayBuffer): string;
|
|
11
|
+
/**
|
|
12
|
+
* Transforms a hexadecimal string into an array buffer.
|
|
13
|
+
* @param hex The hexadecimal string to use.
|
|
14
|
+
*/
|
|
15
|
+
export declare function fromHex(hex: string): ArrayBuffer;
|
|
16
|
+
export declare function compare(b1: ArrayBuffer, b2: ArrayBuffer): number;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Concatenate multiple array buffers.
|
|
3
|
+
* @param buffers The buffers to concatenate.
|
|
4
|
+
*/
|
|
5
|
+
export function concat(...buffers) {
|
|
6
|
+
const result = new Uint8Array(buffers.reduce((acc, curr) => acc + curr.byteLength, 0));
|
|
7
|
+
let index = 0;
|
|
8
|
+
for (const b of buffers) {
|
|
9
|
+
result.set(new Uint8Array(b), index);
|
|
10
|
+
index += b.byteLength;
|
|
11
|
+
}
|
|
12
|
+
return result.buffer;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Transforms a buffer to an hexadecimal string. This will use the buffer as an Uint8Array.
|
|
16
|
+
* @param buffer The buffer to return the hexadecimal string of.
|
|
17
|
+
*/
|
|
18
|
+
export function toHex(buffer) {
|
|
19
|
+
return [...new Uint8Array(buffer)].map(x => x.toString(16).padStart(2, '0')).join('');
|
|
20
|
+
}
|
|
21
|
+
const hexRe = /^([0-9A-F]{2})*$/i.compile();
|
|
22
|
+
/**
|
|
23
|
+
* Transforms a hexadecimal string into an array buffer.
|
|
24
|
+
* @param hex The hexadecimal string to use.
|
|
25
|
+
*/
|
|
26
|
+
export function fromHex(hex) {
|
|
27
|
+
if (!hexRe.test(hex)) {
|
|
28
|
+
throw new Error('Invalid hexadecimal string.');
|
|
29
|
+
}
|
|
30
|
+
const buffer = [...hex]
|
|
31
|
+
.reduce((acc, curr, i) => {
|
|
32
|
+
// tslint:disable-next-line:no-bitwise
|
|
33
|
+
acc[(i / 2) | 0] = (acc[(i / 2) | 0] || '') + curr;
|
|
34
|
+
return acc;
|
|
35
|
+
}, [])
|
|
36
|
+
.map(x => Number.parseInt(x, 16));
|
|
37
|
+
return new Uint8Array(buffer).buffer;
|
|
38
|
+
}
|
|
39
|
+
export function compare(b1, b2) {
|
|
40
|
+
if (b1.byteLength !== b2.byteLength) {
|
|
41
|
+
return b1.byteLength - b2.byteLength;
|
|
42
|
+
}
|
|
43
|
+
const u1 = new Uint8Array(b1);
|
|
44
|
+
const u2 = new Uint8Array(b2);
|
|
45
|
+
for (let i = 0; i < u1.length; i++) {
|
|
46
|
+
if (u1[i] !== u2[i]) {
|
|
47
|
+
return u1[i] - u2[i];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return 0;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAG,OAAsB;IAC9C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACvB,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;KACvB;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,MAAmB;IACvC,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC;SACpB,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QACvB,sCAAsC;QACtC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAe,EAAE,EAAe;IACtD,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,UAAU,EAAE;QACnC,OAAO,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;KACtC;IAED,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACtB;KACF;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @returns {number}
|
|
3
|
+
*/
|
|
4
|
+
export declare function bls_init(): number;
|
|
5
|
+
/**
|
|
6
|
+
* @param {Uint8Array} sig
|
|
7
|
+
* @param {Uint8Array} m
|
|
8
|
+
* @param {Uint8Array} w
|
|
9
|
+
* @returns {number}
|
|
10
|
+
*/
|
|
11
|
+
export declare function bls_verify(sig: Uint8Array, m: Uint8Array, w: Uint8Array): number;
|
|
12
|
+
declare function init(): Promise<InitOutput>;
|
|
13
|
+
export declare type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
14
|
+
export interface InitOutput {
|
|
15
|
+
readonly memory: WebAssembly.Memory;
|
|
16
|
+
readonly bls_init: () => number;
|
|
17
|
+
readonly bls_verify: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
18
|
+
readonly __wbindgen_malloc: (a: number) => number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
22
|
+
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
23
|
+
*
|
|
24
|
+
* @param {InitInput | Promise<InitInput>} module_or_path
|
|
25
|
+
*
|
|
26
|
+
* @returns {Promise<InitOutput>}
|
|
27
|
+
*/
|
|
28
|
+
export default init;
|