@spacesops/wdk-react-native-provider 1.0.0-beta.3
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/LICENSE +176 -0
- package/README.md +841 -0
- package/lib/module/contexts/constants.js +20 -0
- package/lib/module/contexts/constants.js.map +1 -0
- package/lib/module/contexts/reducer.js +87 -0
- package/lib/module/contexts/reducer.js.map +1 -0
- package/lib/module/contexts/types.js +4 -0
- package/lib/module/contexts/types.js.map +1 -0
- package/lib/module/contexts/wallet-context.js +409 -0
- package/lib/module/contexts/wallet-context.js.map +1 -0
- package/lib/module/index.js +15 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/polyfills.js +34 -0
- package/lib/module/polyfills.js.map +1 -0
- package/lib/module/services/wdk-service/bare-api.js +69 -0
- package/lib/module/services/wdk-service/bare-api.js.map +1 -0
- package/lib/module/services/wdk-service/index.js +506 -0
- package/lib/module/services/wdk-service/index.js.map +1 -0
- package/lib/module/services/wdk-service/types.js +48 -0
- package/lib/module/services/wdk-service/types.js.map +1 -0
- package/lib/module/services/wdk-service/wdk-encryption-salt.js +29 -0
- package/lib/module/services/wdk-service/wdk-encryption-salt.js.map +1 -0
- package/lib/module/services/wdk-service/wdk-secret-manager-storage.js +64 -0
- package/lib/module/services/wdk-service/wdk-secret-manager-storage.js.map +1 -0
- package/lib/module/services/wdk-service/wdk-secret-manager-worklet.bundle.js +1 -0
- package/lib/module/services/wdk-service/wdk-worklet.mobile.bundle.js +1 -0
- package/lib/module/spec/hrpc/hrpc.json +66 -0
- package/lib/module/spec/hrpc/index.js +121 -0
- package/lib/module/spec/hrpc/index.js.map +1 -0
- package/lib/module/spec/hrpc/messages.js +291 -0
- package/lib/module/spec/hrpc/messages.js.map +1 -0
- package/lib/module/spec/schema/index.js +291 -0
- package/lib/module/spec/schema/index.js.map +1 -0
- package/lib/module/spec/schema/schema.json +186 -0
- package/lib/module/utils/get-balances-from-balance-map.js +18 -0
- package/lib/module/utils/get-balances-from-balance-map.js.map +1 -0
- package/lib/module/utils/get-transactions-from-transaction-map.js +10 -0
- package/lib/module/utils/get-transactions-from-transaction-map.js.map +1 -0
- package/lib/module/worklet/wdk-secret-manager-worklet.js +106 -0
- package/lib/module/worklet/wdk-secret-manager-worklet.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/contexts/constants.d.ts +3 -0
- package/lib/typescript/src/contexts/constants.d.ts.map +1 -0
- package/lib/typescript/src/contexts/reducer.d.ts +38 -0
- package/lib/typescript/src/contexts/reducer.d.ts.map +1 -0
- package/lib/typescript/src/contexts/types.d.ts +40 -0
- package/lib/typescript/src/contexts/types.d.ts.map +1 -0
- package/lib/typescript/src/contexts/wallet-context.d.ts +10 -0
- package/lib/typescript/src/contexts/wallet-context.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +7 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/polyfills.d.ts +7 -0
- package/lib/typescript/src/polyfills.d.ts.map +1 -0
- package/lib/typescript/src/services/wdk-service/bare-api.d.ts +32 -0
- package/lib/typescript/src/services/wdk-service/bare-api.d.ts.map +1 -0
- package/lib/typescript/src/services/wdk-service/index.d.ts +68 -0
- package/lib/typescript/src/services/wdk-service/index.d.ts.map +1 -0
- package/lib/typescript/src/services/wdk-service/types.d.ts +125 -0
- package/lib/typescript/src/services/wdk-service/types.d.ts.map +1 -0
- package/lib/typescript/src/services/wdk-service/wdk-encryption-salt.d.ts +6 -0
- package/lib/typescript/src/services/wdk-service/wdk-encryption-salt.d.ts.map +1 -0
- package/lib/typescript/src/services/wdk-service/wdk-secret-manager-storage.d.ts +13 -0
- package/lib/typescript/src/services/wdk-service/wdk-secret-manager-storage.d.ts.map +1 -0
- package/lib/typescript/src/utils/get-balances-from-balance-map.d.ts +4 -0
- package/lib/typescript/src/utils/get-balances-from-balance-map.d.ts.map +1 -0
- package/lib/typescript/src/utils/get-transactions-from-transaction-map.d.ts +4 -0
- package/lib/typescript/src/utils/get-transactions-from-transaction-map.d.ts.map +1 -0
- package/metro-polyfills.js +89 -0
- package/package.json +152 -0
- package/src/contexts/constants.ts +19 -0
- package/src/contexts/reducer.ts +103 -0
- package/src/contexts/types.ts +51 -0
- package/src/contexts/wallet-context.tsx +411 -0
- package/src/index.tsx +28 -0
- package/src/polyfills.ts +31 -0
- package/src/services/wdk-service/bare-api.ts +88 -0
- package/src/services/wdk-service/index.ts +765 -0
- package/src/services/wdk-service/types.ts +137 -0
- package/src/services/wdk-service/wdk-encryption-salt.ts +30 -0
- package/src/services/wdk-service/wdk-secret-manager-storage.ts +102 -0
- package/src/spec/hrpc/hrpc.json +66 -0
- package/src/spec/hrpc/index.js +228 -0
- package/src/spec/hrpc/messages.js +328 -0
- package/src/spec/schema/index.js +328 -0
- package/src/spec/schema/schema.json +186 -0
- package/src/utils/get-balances-from-balance-map.ts +22 -0
- package/src/utils/get-transactions-from-transaction-map.ts +18 -0
- package/src/worklet/wdk-secret-manager-worklet.js +118 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const MAX_BYTES = 16;
|
|
4
|
+
function generateWdkSalt(email) {
|
|
5
|
+
const localPart = email.split('@')[0];
|
|
6
|
+
|
|
7
|
+
// Encode the local part using TextEncoder
|
|
8
|
+
const encoder = new TextEncoder();
|
|
9
|
+
const encoded = encoder.encode(localPart);
|
|
10
|
+
|
|
11
|
+
// Prepare a MAX_BYTES-byte buffer
|
|
12
|
+
const bf = new Uint8Array(MAX_BYTES);
|
|
13
|
+
if (encoded.length > MAX_BYTES) {
|
|
14
|
+
// If more than MAX_BYTES bytes, take the last MAX_BYTES bytes
|
|
15
|
+
const sliced = encoded.slice(0, MAX_BYTES);
|
|
16
|
+
bf.set(sliced);
|
|
17
|
+
} else {
|
|
18
|
+
// Copy encoded bytes to beginning
|
|
19
|
+
bf.set(encoded, 0);
|
|
20
|
+
|
|
21
|
+
// Fill the remaining bytes with 7
|
|
22
|
+
bf.fill(7, encoded.length);
|
|
23
|
+
}
|
|
24
|
+
return bf;
|
|
25
|
+
}
|
|
26
|
+
export const wdkEncryptionSalt = {
|
|
27
|
+
generateWdkSalt
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=wdk-encryption-salt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MAX_BYTES","generateWdkSalt","email","localPart","split","encoder","TextEncoder","encoded","encode","bf","Uint8Array","length","sliced","slice","set","fill","wdkEncryptionSalt"],"sourceRoot":"../../../../src","sources":["services/wdk-service/wdk-encryption-salt.ts"],"mappings":";;AAAA,MAAMA,SAAS,GAAG,EAAE;AAEpB,SAASC,eAAeA,CAACC,KAAU,EAAU;EAC3C,MAAMC,SAAS,GAAGD,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;EAErC;EACA,MAAMC,OAAO,GAAG,IAAIC,WAAW,CAAC,CAAC;EACjC,MAAMC,OAAO,GAAGF,OAAO,CAACG,MAAM,CAACL,SAAS,CAAC;;EAEzC;EACA,MAAMM,EAAE,GAAG,IAAIC,UAAU,CAACV,SAAS,CAAC;EAEpC,IAAIO,OAAO,CAACI,MAAM,GAAGX,SAAS,EAAE;IAC9B;IACA,MAAMY,MAAM,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAC,EAAEb,SAAS,CAAC;IAC1CS,EAAE,CAACK,GAAG,CAACF,MAAM,CAAC;EAChB,CAAC,MAAM;IACL;IACAH,EAAE,CAACK,GAAG,CAACP,OAAO,EAAE,CAAC,CAAC;;IAElB;IACAE,EAAE,CAACM,IAAI,CAAC,CAAC,EAAER,OAAO,CAACI,MAAM,CAAC;EAC5B;EAEA,OAAOF,EAAE;AACX;AAEA,OAAO,MAAMO,iBAAiB,GAAG;EAC/Bf;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import b4a from 'b4a';
|
|
4
|
+
import * as Keychain from 'react-native-keychain';
|
|
5
|
+
export const WDK_STORAGE_SEED = 'seed';
|
|
6
|
+
export const WDK_STORAGE_ENTROPY = 'entropy';
|
|
7
|
+
export const WDK_STORAGE_SALT = 'salt';
|
|
8
|
+
export class WdkSecretManagerStorage {
|
|
9
|
+
static BASE_SERVICE_NAME = 'wdk.secretManager';
|
|
10
|
+
static async saveData(key, value) {
|
|
11
|
+
const itemService = WdkSecretManagerStorage.getServiceForItem(key);
|
|
12
|
+
await Keychain.setGenericPassword(key, b4a.isBuffer(value) ? b4a.toString(value, 'hex') : value, {
|
|
13
|
+
service: itemService,
|
|
14
|
+
accessControl: key === 'seed' ? Keychain.ACCESS_CONTROL.BIOMETRY_ANY : undefined
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
static async retrieveData(key) {
|
|
18
|
+
const itemService = WdkSecretManagerStorage.getServiceForItem(key);
|
|
19
|
+
try {
|
|
20
|
+
const credentials = await Keychain.getGenericPassword({
|
|
21
|
+
service: itemService,
|
|
22
|
+
accessControl: key === 'seed' ? Keychain.ACCESS_CONTROL.BIOMETRY_ANY : undefined
|
|
23
|
+
});
|
|
24
|
+
if (credentials) {
|
|
25
|
+
return b4a.from(credentials.password, 'hex');
|
|
26
|
+
}
|
|
27
|
+
console.info(`For key ${itemService} in secure storage data do not exist.`);
|
|
28
|
+
return false;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
console.error(error);
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static async hasKey(key) {
|
|
35
|
+
const itemService = WdkSecretManagerStorage.getServiceForItem(key);
|
|
36
|
+
return await Keychain.hasGenericPassword({
|
|
37
|
+
service: itemService
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
static async resetData(key) {
|
|
41
|
+
const itemService = WdkSecretManagerStorage.getServiceForItem(key);
|
|
42
|
+
try {
|
|
43
|
+
const success = await Keychain.resetGenericPassword({
|
|
44
|
+
service: itemService
|
|
45
|
+
});
|
|
46
|
+
if (success) {
|
|
47
|
+
console.info(`Item for key '${key}' was reset successfully.`);
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(`Failed to reset item for key '${key}':`, error);
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static async resetAllData() {
|
|
56
|
+
await WdkSecretManagerStorage.resetData(WDK_STORAGE_ENTROPY);
|
|
57
|
+
await WdkSecretManagerStorage.resetData(WDK_STORAGE_SEED);
|
|
58
|
+
await WdkSecretManagerStorage.resetData(WDK_STORAGE_SALT);
|
|
59
|
+
}
|
|
60
|
+
static getServiceForItem(key) {
|
|
61
|
+
return `${WdkSecretManagerStorage.BASE_SERVICE_NAME}.${key}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=wdk-secret-manager-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["b4a","Keychain","WDK_STORAGE_SEED","WDK_STORAGE_ENTROPY","WDK_STORAGE_SALT","WdkSecretManagerStorage","BASE_SERVICE_NAME","saveData","key","value","itemService","getServiceForItem","setGenericPassword","isBuffer","toString","service","accessControl","ACCESS_CONTROL","BIOMETRY_ANY","undefined","retrieveData","credentials","getGenericPassword","from","password","console","info","error","hasKey","hasGenericPassword","resetData","success","resetGenericPassword","resetAllData"],"sourceRoot":"../../../../src","sources":["services/wdk-service/wdk-secret-manager-storage.ts"],"mappings":";;AAAA,OAAOA,GAAG,MAAM,KAAK;AACrB,OAAO,KAAKC,QAAQ,MAAM,uBAAuB;AAEjD,OAAO,MAAMC,gBAAgB,GAAG,MAAe;AAC/C,OAAO,MAAMC,mBAAmB,GAAG,SAAkB;AACrD,OAAO,MAAMC,gBAAgB,GAAG,MAAe;AAE/C,OAAO,MAAMC,uBAAuB,CAAC;EACnC,OAAOC,iBAAiB,GAAG,mBAAmB;EAE9C,aAAaC,QAAQA,CACnBC,GAG2B,EAC3BC,KAAsB,EACtB;IACA,MAAMC,WAAW,GAAGL,uBAAuB,CAACM,iBAAiB,CAACH,GAAG,CAAC;IAClE,MAAMP,QAAQ,CAACW,kBAAkB,CAC/BJ,GAAG,EACHR,GAAG,CAACa,QAAQ,CAACJ,KAAK,CAAC,GAAGT,GAAG,CAACc,QAAQ,CAACL,KAAK,EAAE,KAAK,CAAC,GAAGA,KAAK,EACxD;MACEM,OAAO,EAAEL,WAAW;MACpBM,aAAa,EACXR,GAAG,KAAK,MAAM,GAAGP,QAAQ,CAACgB,cAAc,CAACC,YAAY,GAAGC;IAC5D,CACF,CAAC;EACH;EAEA,aAAaC,YAAYA,CACvBZ,GAG2B,EAC3B;IACA,MAAME,WAAW,GAAGL,uBAAuB,CAACM,iBAAiB,CAACH,GAAG,CAAC;IAElE,IAAI;MACF,MAAMa,WAAW,GAAG,MAAMpB,QAAQ,CAACqB,kBAAkB,CAAC;QACpDP,OAAO,EAAEL,WAAW;QACpBM,aAAa,EACXR,GAAG,KAAK,MAAM,GAAGP,QAAQ,CAACgB,cAAc,CAACC,YAAY,GAAGC;MAC5D,CAAC,CAAC;MACF,IAAIE,WAAW,EAAE;QACf,OAAOrB,GAAG,CAACuB,IAAI,CAACF,WAAW,CAACG,QAAQ,EAAE,KAAK,CAAC;MAC9C;MACAC,OAAO,CAACC,IAAI,CACV,WAAWhB,WAAW,uCACxB,CAAC;MACD,OAAO,KAAK;IACd,CAAC,CAAC,OAAOiB,KAAK,EAAE;MACdF,OAAO,CAACE,KAAK,CAACA,KAAK,CAAC;MACpB,OAAO,KAAK;IACd;EACF;EAEA,aAAaC,MAAMA,CACjBpB,GAG2B,EAC3B;IACA,MAAME,WAAW,GAAGL,uBAAuB,CAACM,iBAAiB,CAACH,GAAG,CAAC;IAClE,OAAO,MAAMP,QAAQ,CAAC4B,kBAAkB,CAAC;MAAEd,OAAO,EAAEL;IAAY,CAAC,CAAC;EACpE;EAEA,aAAaoB,SAASA,CACpBtB,GAG2B,EAC3B;IACA,MAAME,WAAW,GAAGL,uBAAuB,CAACM,iBAAiB,CAACH,GAAG,CAAC;IAClE,IAAI;MACF,MAAMuB,OAAO,GAAG,MAAM9B,QAAQ,CAAC+B,oBAAoB,CAAC;QAClDjB,OAAO,EAAEL;MACX,CAAC,CAAC;MACF,IAAIqB,OAAO,EAAE;QACXN,OAAO,CAACC,IAAI,CAAC,iBAAiBlB,GAAG,2BAA2B,CAAC;MAC/D;MACA,OAAO,IAAI;IACb,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdF,OAAO,CAACE,KAAK,CAAC,iCAAiCnB,GAAG,IAAI,EAAEmB,KAAK,CAAC;MAC9D,OAAO,KAAK;IACd;EACF;EAEA,aAAaM,YAAYA,CAAA,EAAG;IAC1B,MAAM5B,uBAAuB,CAACyB,SAAS,CAAC3B,mBAAmB,CAAC;IAC5D,MAAME,uBAAuB,CAACyB,SAAS,CAAC5B,gBAAgB,CAAC;IACzD,MAAMG,uBAAuB,CAACyB,SAAS,CAAC1B,gBAAgB,CAAC;EAC3D;EAEA,OAAOO,iBAAiBA,CACtBH,GAG2B,EAC3B;IACA,OAAO,GAAGH,uBAAuB,CAACC,iBAAiB,IAAIE,GAAG,EAAE;EAC9D;AACF","ignoreList":[]}
|