@toruslabs/torus.js
Advanced tools
Comparing version
@@ -7,6 +7,6 @@ import stringify from 'json-stable-stringify'; | ||
import _objectSpread from '@babel/runtime/helpers/objectSpread2'; | ||
import { LEGACY_NETWORKS_ROUTE_MAP, TORUS_SAPPHIRE_NETWORK, SIGNER_MAP, METADATA_MAP } from '@toruslabs/constants'; | ||
import { post, generateJsonRPCObject, get, setAPIKey, setEmbedHost } from '@toruslabs/http-helpers'; | ||
import { ec } from 'elliptic'; | ||
import log$1 from 'loglevel'; | ||
import { LEGACY_NETWORKS_ROUTE_MAP, SIGNER_MAP, METADATA_MAP } from '@toruslabs/constants'; | ||
@@ -20,2 +20,3 @@ const JRPC_METHODS = { | ||
const SAPPHIRE_METADATA_URL = "https://node-1.node.web3auth.io/metadata"; | ||
const SAPPHIRE_DEVNET_METADATA_URL = "https://node-1.dev-node.web3auth.io/metadata"; | ||
@@ -499,3 +500,6 @@ // this function normalizes the result from nodes before passing the result to threshold check function | ||
} | ||
async function getOrSetSapphireMetadataNonce(X, Y, serverTimeOffset, privKey) { | ||
async function getOrSetSapphireMetadataNonce(network, X, Y, serverTimeOffset, privKey) { | ||
if (LEGACY_NETWORKS_ROUTE_MAP[network]) { | ||
throw new Error("getOrSetSapphireMetadataNonce should only be used for sapphire networks"); | ||
} | ||
let data = { | ||
@@ -521,3 +525,4 @@ pub_key_X: X, | ||
} | ||
return post(`${SAPPHIRE_METADATA_URL}/get_or_set_nonce`, data, undefined, { | ||
const metadataUrl = network === TORUS_SAPPHIRE_NETWORK.SAPPHIRE_DEVNET ? SAPPHIRE_DEVNET_METADATA_URL : SAPPHIRE_METADATA_URL; | ||
return post(`${metadataUrl}/get_or_set_nonce`, data, undefined, { | ||
useAPIKey: true | ||
@@ -678,3 +683,3 @@ }); | ||
if (!nonceResult) { | ||
const metadataNonceResult = await getOrSetSapphireMetadataNonce(keyResult.keys[0].pub_key_X, keyResult.keys[0].pub_key_Y); | ||
const metadataNonceResult = await getOrSetSapphireMetadataNonce(network, keyResult.keys[0].pub_key_X, keyResult.keys[0].pub_key_Y); | ||
// rechecking nonceResult to avoid promise race condition. | ||
@@ -1035,2 +1040,3 @@ if (!nonceResult && metadataNonceResult) { | ||
privateKey, | ||
thresholdPublicKey, | ||
sessionTokenData, | ||
@@ -1052,2 +1058,3 @@ thresholdNonceData, | ||
privateKey, | ||
thresholdPublicKey, | ||
sessionTokenData, | ||
@@ -1069,3 +1076,4 @@ nodeIndexes, | ||
if (!nonceResult && !verifierParams.extended_verifier_id && !LEGACY_NETWORKS_ROUTE_MAP[network]) { | ||
const metadataNonceResult = await getOrSetSapphireMetadataNonce(oAuthPubkeyX, oAuthPubkeyY, serverTimeOffset, oAuthKey); | ||
// NOTE: dont use padded pub key anywhere in metadata apis, send pub keys as is received from nodes. | ||
const metadataNonceResult = await getOrSetSapphireMetadataNonce(network, thresholdPublicKey.X, thresholdPublicKey.Y, serverTimeOffset, oAuthKey); | ||
// rechecking nonceResult to avoid promise race condition. | ||
@@ -1616,2 +1624,2 @@ if (metadataNonceResult && !thresholdNonceData) { | ||
export { GetOrSetNonceError, GetPubKeyOrKeyAssign, JRPC_METHODS, Point, Polynomial, SAPPHIRE_METADATA_URL, Share, calculateMedian, convertMetadataToNonce, decryptNodeData, Torus as default, encParamsBufToHex, encParamsHexToBuf, generateAddressFromPrivKey, generateAddressFromPubKey, generateMetadataParams, generateRandomPolynomial, getMetadata, getNonce, getOrSetNonce, getOrSetSapphireMetadataNonce, getPostboxKeyFrom1OutOf1, kCombinations, keccak256, lagrangeInterpolatePolynomial, lagrangeInterpolation, normalizeKeysResult, retrieveOrImportShare, retryCommitment, stripHexPrefix, thresholdSame, toChecksumAddress, waitFor }; | ||
export { GetOrSetNonceError, GetPubKeyOrKeyAssign, JRPC_METHODS, Point, Polynomial, SAPPHIRE_DEVNET_METADATA_URL, SAPPHIRE_METADATA_URL, Share, calculateMedian, convertMetadataToNonce, decryptNodeData, Torus as default, encParamsBufToHex, encParamsHexToBuf, generateAddressFromPrivKey, generateAddressFromPubKey, generateMetadataParams, generateRandomPolynomial, getMetadata, getNonce, getOrSetNonce, getOrSetSapphireMetadataNonce, getPostboxKeyFrom1OutOf1, kCombinations, keccak256, lagrangeInterpolatePolynomial, lagrangeInterpolation, normalizeKeysResult, retrieveOrImportShare, retryCommitment, stripHexPrefix, thresholdSame, toChecksumAddress, waitFor }; |
@@ -8,1 +8,2 @@ export declare const JRPC_METHODS: { | ||
export declare const SAPPHIRE_METADATA_URL = "https://node-1.node.web3auth.io/metadata"; | ||
export declare const SAPPHIRE_DEVNET_METADATA_URL = "https://node-1.dev-node.web3auth.io/metadata"; |
/// <reference types="node" /> | ||
import { TORUS_NETWORK_TYPE } from "@toruslabs/constants"; | ||
import BN from "bn.js"; | ||
@@ -13,2 +14,2 @@ import { ec as EC } from "elliptic"; | ||
export declare function getNonce(legacyMetadataHost: string, ecCurve: EC, serverTimeOffset: number, X: string, Y: string, privKey?: BN): Promise<GetOrSetNonceResult>; | ||
export declare function getOrSetSapphireMetadataNonce(X: string, Y: string, serverTimeOffset?: number, privKey?: BN): Promise<GetOrSetNonceResult>; | ||
export declare function getOrSetSapphireMetadataNonce(network: TORUS_NETWORK_TYPE, X: string, Y: string, serverTimeOffset?: number, privKey?: BN): Promise<GetOrSetNonceResult>; |
@@ -17,3 +17,3 @@ import { TORUS_NETWORK_TYPE } from "@toruslabs/constants"; | ||
allowHost: string; | ||
network: string; | ||
network: TORUS_NETWORK_TYPE; | ||
clientId: string; | ||
@@ -20,0 +20,0 @@ endpoints: string[]; |
{ | ||
"name": "@toruslabs/torus.js", | ||
"version": "12.3.6", | ||
"version": "12.3.7", | ||
"description": "Handle communication with torus nodes", | ||
@@ -5,0 +5,0 @@ "main": "dist/torusUtils.cjs.js", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
389010
0.51%3696
0.52%