[wip] jr model

This commit is contained in:
2023-02-07 21:50:28 -07:00
parent 33393f592a
commit 3ad5590d90
15 changed files with 9469 additions and 60 deletions
+7
View File
@@ -0,0 +1,7 @@
/**
* JR Controller
*
* @module
*/
+11 -11
View File
@@ -1,15 +1,15 @@
let detect_msg =
{id : "urmom",
name : "JR",
networkId : "ae_uat",
origin : "ur dads balls",
type : "extension"};
let detect_msg
= {id : "urmom",
name : "JR",
networkId : "ae_uat",
origin : "ur dads balls",
type : "extension"};
let detect_awcp_msg =
{type: "to_aepp",
data: {jsonrpc: "2.0",
method: "connection.announcePresence",
params: detect_msg}};
let detect_awcp_msg
= {type : "to_aepp",
data : {jsonrpc : "2.0",
method : "connection.announcePresence",
params : detect_msg}};
-40
View File
@@ -1,40 +0,0 @@
/* idea: versioned state
*
* there is a version 0 state
*
* each state migration contains a migration from the previous version to the
* new version
*
* laws:
*
* - all version N states must map to valid version N+1 states
*
*/
export {
jr_version,
jr_state
};
let jr_version = 0;
/**
* current state type for current version
*/
type jr_state = jr_0_state;
/**
* All jr state types, historically
*/
type jr_n_state
= jr_0_state;
/**
* This is the version 0 state
*/
type jr_0_state
= {version : 0,
keypair : keypair};
type keypair
= {secretKey: Uint8Array
-4
View File
@@ -34,7 +34,6 @@ detuctable
: Promise<void>
{
let ati = await active_tab_id();
// @ts-ignore browser api unknown
browser.tabs.sendMessage(ati, // active tab
'mk-detectable'); // message
// @ts-ignore disabled exists on this
@@ -51,7 +50,6 @@ active_tab_id
()
: Promise<number>
{
// @ts-ignore browser api unkown
let active_tabs = await browser.tabs.query({active: true, currentWindow: true});
return active_tabs[0].id;
}
@@ -70,7 +68,6 @@ relist_keypairs
// delete all list items
pfizer(document.getElementById('keypairs')!);
// look for keypairs then relist
// @ts-ignore browser api
let obj = await browser.storage.local.get('keypairs');
await handle_keypairs(obj);
}
@@ -174,7 +171,6 @@ generate_keypair
: Promise<void>
{
logln('generating a keypair');
// @ts-ignore namespace nacl
let keypair : keypair = nacl.sign.keyPair();
// @ts-ignore changing type
keypair.name = "Untitled Keypair 1";
File diff suppressed because it is too large Load Diff
+98
View File
@@ -0,0 +1,98 @@
// Type definitions for TweetNaCl.js
export as namespace nacl;
declare var nacl: nacl;
export = nacl;
declare namespace nacl {
export interface BoxKeyPair {
publicKey: Uint8Array;
secretKey: Uint8Array;
}
export interface SignKeyPair {
publicKey: Uint8Array;
secretKey: Uint8Array;
}
export interface secretbox {
(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null;
readonly keyLength: number;
readonly nonceLength: number;
readonly overheadLength: number;
}
export interface scalarMult {
(n: Uint8Array, p: Uint8Array): Uint8Array;
base(n: Uint8Array): Uint8Array;
readonly scalarLength: number;
readonly groupElementLength: number;
}
namespace boxProps {
export interface open {
(msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | null;
after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null;
}
export interface keyPair {
(): BoxKeyPair;
fromSecretKey(secretKey: Uint8Array): BoxKeyPair;
}
}
export interface box {
(msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
open: boxProps.open;
keyPair: boxProps.keyPair;
readonly publicKeyLength: number;
readonly secretKeyLength: number;
readonly sharedKeyLength: number;
readonly nonceLength: number;
readonly overheadLength: number;
}
namespace signProps {
export interface detached {
(msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean;
}
export interface keyPair {
(): SignKeyPair;
fromSecretKey(secretKey: Uint8Array): SignKeyPair;
fromSeed(secretKey: Uint8Array): SignKeyPair;
}
}
export interface sign {
(msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null;
detached: signProps.detached;
keyPair: signProps.keyPair;
readonly publicKeyLength: number;
readonly secretKeyLength: number;
readonly seedLength: number;
readonly signatureLength: number;
}
export interface hash {
(msg: Uint8Array): Uint8Array;
readonly hashLength: number;
}
}
declare interface nacl {
randomBytes(n: number): Uint8Array;
secretbox: nacl.secretbox;
scalarMult: nacl.scalarMult;
box: nacl.box;
sign: nacl.sign;
hash: nacl.hash;
verify(x: Uint8Array, y: Uint8Array): boolean;
setPRNG(fn: (x: Uint8Array, n: number) => void): void;
}