@gurge/sdk-react-native 0.3.88 → 0.3.94
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/common/src/crypto/ecdh-sealed-keys.cjs +1 -1
- package/common/src/crypto/ecdh-sealed-keys.mjs +1 -1
- package/common/src/crypto/ecdh.cjs +1 -1
- package/common/src/crypto/ecdh.mjs +4 -0
- package/common/src/crypto/preProcessing.cjs +1 -1
- package/common/src/crypto/preProcessing.mjs +1 -1
- package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
- package/common/src/data-structures/crypto-keys/keys.mjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.mjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/package.json +3 -2
- package/react-native/HinkalProvider.cjs +1 -1
- package/react-native/HinkalProvider.mjs +1 -0
- package/shims/libsodium-wrappers.cjs +3 -0
- package/shims/libsodium-wrappers.mjs +3 -0
- package/vendor/libsodium/dist/modules/libsodium.cjs +0 -1
- package/vendor/libsodium/dist/modules/libsodium.mjs +0 -3711
- package/vendor/libsodium-wrappers/dist/modules/libsodium-wrappers.cjs +0 -1
- package/vendor/libsodium-wrappers/dist/modules/libsodium-wrappers.mjs +0 -3623
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require(`../../../
|
|
1
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require(`../../../shims/libsodium-wrappers.cjs`);let n=require(`ethers`);var r=e.__toESM(t.default),i=()=>r.default.crypto_box_SEALBYTES+r.default.crypto_secretbox_KEYBYTES,a=({nonce:e,sealedKeys:t,ciphertext:n})=>{let r=t.length,a=new Uint8Array(1+e.length+r*i()+n.length),o=0;return a[o]=r,o+=1,a.set(e,o),o+=e.length,t.forEach(e=>{a.set(e,o),o+=e.length}),a.set(n,o),a},o=(e,t)=>{let i=r.default.crypto_secretbox_keygen(),o=r.default.randombytes_buf(r.default.crypto_secretbox_NONCEBYTES),s=r.default.crypto_secretbox_easy(e,o,i);return a({nonce:o,sealedKeys:t.map(e=>r.default.crypto_box_seal(i,n.ethers.getBytes(e))),ciphertext:s})};exports.encryptSealedKeys=o,exports.pack=a;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __toESM as e } from "../../../_virtual/_rolldown/runtime.mjs";
|
|
2
|
-
import { require_libsodium_wrappers as t } from "../../../
|
|
2
|
+
import { require_libsodium_wrappers as t } from "../../../shims/libsodium-wrappers.mjs";
|
|
3
3
|
import { ethers as n } from "ethers";
|
|
4
4
|
//#region common/src/crypto/ecdh-sealed-keys.ts
|
|
5
5
|
var r = /* @__PURE__ */ e(t()), i = () => r.default.crypto_box_SEALBYTES + r.default.crypto_secretbox_KEYBYTES, a = ({ nonce: e, sealedKeys: t, ciphertext: n }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`ethers`);
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.cjs");const e=require(`../../../shims/libsodium-wrappers.cjs`);require(`ethers`),e.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require(`./poseidon.cjs`),n=require(`../../../
|
|
1
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require(`./poseidon.cjs`),n=require(`../../../shims/libsodium-wrappers.cjs`),r=require(`./babyJub.cjs`),i=require(`./eddsa.cjs`);let a=require(`buffer`),o=require(`process`);o=e.__toESM(o);var s=e.__toESM(n.default),c=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=a.Buffer,globalThis.process=o.default),await Promise.all([s.default.ready,t.poseidonHolder.init(),r.jubHolder.init(),...e?[]:[i.eddsaHolder.init()]])};exports.preProcessing=c;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __toESM as e } from "../../../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import { poseidonHolder as t } from "./poseidon.mjs";
|
|
3
|
-
import { require_libsodium_wrappers as n } from "../../../
|
|
3
|
+
import { require_libsodium_wrappers as n } from "../../../shims/libsodium-wrappers.mjs";
|
|
4
4
|
import { jubHolder as r } from "./babyJub.mjs";
|
|
5
5
|
import { eddsaHolder as i } from "./eddsa.mjs";
|
|
6
6
|
import { Buffer as a } from "buffer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../../../
|
|
1
|
+
const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../../../shims/libsodium-wrappers.cjs`),i=require(`../../crypto/babyJub.cjs`),a=require(`../../crypto/eddsa.cjs`),o=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),s=require(`./keyUtils.cjs`);let c=require(`ethers`),l=require(`@solana/web3.js`),u=require(`bs58`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=e.__toESM(r.default),m=new o.AttachableMemoryCacheDevice,h=new o.AttachableMemoryCacheDevice,g=new o.AttachableMemoryCacheDevice,_=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;PREFIX_FOR_NULLIFYING_PAIR=`2`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===f.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.nullifyingKey||=c.ethers.keccak256(this.signature),this.nullifyingKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=a.eddsaInstance(),t=i.babyJubInstance(),r=n.poseidonHash(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),o=Buffer.from(c.ethers.getBytes(r)),s=e.prv2pub(o);return{privSpendingKey:r,pubSpendingBJJPoint:[BigInt(t.F.toString(s[0])),BigInt(t.F.toString(s[1]))]}};signEddsa=e=>{this.requireSignature();let t=i.babyJubInstance(),n=a.eddsaInstance(),r=Buffer.from(c.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),o=t.F.e(e),s=n.signPoseidon(r,o);return{R8:[BigInt(t.F.toString(s.R8[0])),BigInt(t.F.toString(s.R8[1]))],S:BigInt(s.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return c.ethers.keccak256(c.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return c.ethers.keccak256(c.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new c.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),l.Keypair.fromSeed(c.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=l.Keypair.fromSeed(c.ethers.getBytes(this.getShieldedPrivateKey()));return c.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=l.Keypair.fromSeed(c.ethers.getBytes(this.getShieldedPrivateKey()));return`ed25519:${u.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return c.ethers.keccak256(c.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=c.ethers.getBytes(t),r=l.Keypair.fromSeed(n);return u.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),c.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=c.ethers.getBytes(this.signature),i=new l.PublicKey(t).toBytes();return d.default.sign.detached.verify(n,r,i)}static getRandomizedStealthPairOld=h.attach((e,n)=>{let r=i.babyJubInstance(),a=e*(BigInt(n)%t.CIRCOM_P)%t.CIRCOM_P,o=r.mulPointEscalar(r.Base8,e),s=r.mulPointEscalar(r.Base8,a);return{H0:[BigInt(r.F.toString(o[0])),BigInt(r.F.toString(o[1]))],H1:[BigInt(r.F.toString(s[0])),BigInt(r.F.toString(s[1]))]}});static getRandomizedStealthPair=m.attach((e,n)=>{let r=i.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=r.mulPointEscalar(r.Base8,e),s=r.mulPointEscalar(o,a);return{H0:[BigInt(r.F.toString(o[0])),BigInt(r.F.toString(o[1]))],H1:[BigInt(r.F.toString(s[0])),BigInt(r.F.toString(s[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*s.getCircomSign(e[0]));return{h0:i,h1:a}};static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getStealthAddress=g.attach((e,t)=>{let{H0:r,H1:i}=this.getRandomizedStealthPairOld(e,t);return n.poseidonHash(2n*s.getCircomSign(r[0])+s.getCircomSign(i[0]),r[1],i[1])});static getH1FromH0=(e,n)=>{let r=i.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=[r.F.e(e[0]),r.F.e(e[1])],s=r.mulPointEscalar(o,a);return[BigInt(r.F.toString(s[0])),BigInt(r.F.toString(s[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddressNewStyle=(e,t,r)=>{if(r?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let i=this.getH1FromH0(e,t);return n.poseidonHash(2n*s.getCircomSign(e[0])+s.getCircomSign(i[0]),e[1],i[1],r[0],r[1],t)};static findCorrectRandomization(e,n){if(!n)throw Error(`No Private Shielded Key Provided`);let r=BigInt(n)%t.CIRCOM_P,i,a,o=0n;do i=e*10n**o%t.CIRCOM_P,a=i*r%t.CIRCOM_P,o+=1n;while(a>=2n**253n||i>=2n**253n);return i}static getH0FromRandomization=e=>{let t=i.babyJubInstance(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=p.default.crypto_box_seed_keypair(c.ethers.getBytes(e));return{privateKey:c.ethers.hexlify(t.privateKey),publicKey:c.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()))};exports.UserKeys=_,exports.stealthAddressCacheDevice=g,exports.stealthPairCacheDevice=m,exports.stealthPairOldCacheDevice=h;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __toESM as e } from "../../../../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import { CIRCOM_P as t } from "../../constants/protocol.constants.mjs";
|
|
3
3
|
import { poseidonHash as n } from "../../crypto/poseidon.mjs";
|
|
4
|
-
import { require_libsodium_wrappers as r } from "../../../../
|
|
4
|
+
import { require_libsodium_wrappers as r } from "../../../../shims/libsodium-wrappers.mjs";
|
|
5
5
|
import { babyJubInstance as i } from "../../crypto/babyJub.mjs";
|
|
6
6
|
import { eddsaInstance as a } from "../../crypto/eddsa.mjs";
|
|
7
7
|
import { AttachableMemoryCacheDevice as o } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require(`./serialize.utils.cjs`),n=require(`../../../../
|
|
1
|
+
const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require(`./serialize.utils.cjs`),n=require(`../../../../shims/libsodium-wrappers.cjs`),r=require(`./enclaveHandshakeService.cjs`);let i=require(`ethers`),a=require(`node-forge`);a=e.__toESM(a);var o=e.__toESM(n.default),s=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,c=e=>a.util.hexToBytes(e.replace(`0x`,``)),l=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=s(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(s)):t[e]=n.map(s))}),t},u=(e,t)=>{let n=a.util.decode64(e),r=a.asn1.fromDer(a.util.createBuffer(n)),i=a.pki.publicKeyFromAsn1(r),o=a.util.binary.raw.encode(t),s=i.encrypt(o,`RSA-OAEP`,{md:a.md.sha1.create(),mgf1:{md:a.md.sha1.create()}});return a.util.encode64(s)},d=(e,t)=>{let n=o.default.randombytes_buf(o.default.crypto_secretbox_NONCEBYTES),r=o.default.crypto_secretbox_easy(t,n,e),s=c(i.ethers.hexlify(n)+i.ethers.hexlify(r).slice(2));return a.util.encode64(s)},f=(e,t)=>{let n=o.default.randombytes_buf(o.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:u(t,n),inputCiphertext:d(n,e)}},p=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(l(e));return f(new TextEncoder().encode(r),n)},m=async e=>p(e,await r.enclaveHandshakeService.getPublicKey()),h=async e=>f(e,await r.enclaveHandshakeService.getPublicKey());exports.makeEnclaveHandshakeAndEncryptInput=m,exports.makeEnclaveHandshakeAndEncryptUint8Array=h;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __toESM as e } from "../../../../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import { safeJsonStringify as t } from "./serialize.utils.mjs";
|
|
3
|
-
import { require_libsodium_wrappers as n } from "../../../../
|
|
3
|
+
import { require_libsodium_wrappers as n } from "../../../../shims/libsodium-wrappers.mjs";
|
|
4
4
|
import { enclaveHandshakeService as r } from "./enclaveHandshakeService.mjs";
|
|
5
5
|
import { ethers as i } from "ethers";
|
|
6
6
|
import * as a from "node-forge";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`/assets/utxoWorkerLauncher-
|
|
1
|
+
var e=`/assets/utxoWorkerLauncher-DvkI4llp.js`;exports.default=e;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
const domain = 'https://storage.googleapis.com/hinkal-workers-staging';
|
|
3
3
|
|
|
4
4
|
const WORKER_CDN_URLS = {
|
|
5
|
-
ZKProof: domain + '/0.3.
|
|
6
|
-
SnarkJS: domain + '/0.3.
|
|
7
|
-
UTXO: domain + '/0.3.
|
|
5
|
+
ZKProof: domain + '/0.3.94/' + 'zkProofWorkerLauncher.js',
|
|
6
|
+
SnarkJS: domain + '/0.3.94/' + 'snarkjsWorkerLauncher.js',
|
|
7
|
+
UTXO: domain + '/0.3.94/' + 'utxoWorkerLauncher.js',
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
// Returns a blob:// URL which points
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`/assets/zkProofWorkerLauncher-
|
|
1
|
+
var e=`/assets/zkProofWorkerLauncher-sNtxURBH.js`;exports.default=e;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gurge/sdk-react-native",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.94",
|
|
4
4
|
"description": "Prebundled Hinkal SDK for React Native — no Metro config required.",
|
|
5
5
|
"homepage": "hinkal.io",
|
|
6
6
|
"author": {
|
|
@@ -50,7 +50,8 @@
|
|
|
50
50
|
"build": "nx build sdk-react-native"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"buffer": "6.0.3"
|
|
53
|
+
"buffer": "6.0.3",
|
|
54
|
+
"libsodium-wrappers": "^0.8.2"
|
|
54
55
|
},
|
|
55
56
|
"peerDependencies": {
|
|
56
57
|
"react": ">=18.2.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../_virtual/_rolldown/runtime.cjs");const e=require(`./HinkalWebViewWorker.cjs`);let t=require(`react/jsx-runtime`);var n=({children:n})=>(0,t.jsxs)(t.Fragment,{children:[n,(0,t.jsx)(e,{})]});exports.HinkalProvider=n;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../_virtual/_rolldown/runtime.cjs"),require(`../bootstrap.cjs`);const e=require(`./HinkalWebViewWorker.cjs`);let t=require(`react/jsx-runtime`);var n=({children:n})=>(0,t.jsxs)(t.Fragment,{children:[n,(0,t.jsx)(e,{})]});exports.HinkalProvider=n;
|