@hinkal/common 0.2.33 → 0.2.35
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/API/callNearIntentsAPI.cjs +1 -0
- package/API/callNearIntentsAPI.d.ts +3 -0
- package/API/callNearIntentsAPI.mjs +8 -0
- package/API/enclaveSignatureCalls.cjs +1 -1
- package/API/enclaveSignatureCalls.d.ts +1 -1
- package/API/enclaveSignatureCalls.mjs +1 -1
- package/API/index.cjs +1 -1
- package/API/index.d.ts +1 -0
- package/API/index.mjs +1 -0
- package/constants/bridging.constants.cjs +1 -1
- package/constants/bridging.constants.d.ts +15 -1
- package/constants/bridging.constants.mjs +25 -5
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +12 -1
- package/constants/chains.constants.mjs +94 -26
- package/constants/index.cjs +1 -1
- package/constants/index.mjs +1 -0
- package/constants/protocol.constants.cjs +1 -1
- package/constants/protocol.constants.d.ts +3 -0
- package/constants/protocol.constants.mjs +2 -2
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +2 -0
- package/constants/server.constants.mjs +2 -0
- package/constants/token-data/ERC20Registry.cjs +1 -1
- package/constants/token-data/ERC20Registry.mjs +49 -14
- package/constants/token-data/avalancheRegistry.json.cjs +1 -0
- package/constants/token-data/avalancheRegistry.json.mjs +44 -0
- package/constants/token-data/bnbMainnetRegistry.json.cjs +1 -0
- package/constants/token-data/bnbMainnetRegistry.json.mjs +44 -0
- package/constants/token-data/cronosRegistry.json.cjs +1 -0
- package/constants/token-data/cronosRegistry.json.mjs +44 -0
- package/constants/token-data/hyperEvmRegistry.json.cjs +1 -0
- package/constants/token-data/hyperEvmRegistry.json.mjs +36 -0
- package/constants/token-data/index.cjs +1 -1
- package/constants/token-data/index.d.ts +58 -1
- package/constants/token-data/index.mjs +10 -2
- package/constants/token-data/inkRegistry.json.cjs +1 -0
- package/constants/token-data/inkRegistry.json.mjs +28 -0
- package/constants/token-data/monadRegistry.json.cjs +1 -0
- package/constants/token-data/monadRegistry.json.mjs +36 -0
- package/constants/token-data/plasmaRegistry.json.cjs +1 -0
- package/constants/token-data/plasmaRegistry.json.mjs +28 -0
- package/constants/token-data/popularNonRebasingTokens.cjs +1 -0
- package/constants/token-data/popularNonRebasingTokens.d.ts +2 -0
- package/constants/token-data/popularNonRebasingTokens.mjs +11 -0
- package/constants/tokens.constants.cjs +1 -1
- package/constants/tokens.constants.mjs +8 -1
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +8 -2
- package/data-structures/Hinkal/Hinkal.mjs +123 -101
- package/data-structures/Hinkal/IHinkal.d.ts +8 -2
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +15 -15
- package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/data-structures/Hinkal/hinkalClaimUtxo.mjs +33 -35
- package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +43 -49
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +38 -40
- package/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -0
- package/data-structures/Hinkal/hinkalNearDepositAndBridge.d.ts +6 -0
- package/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +43 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +21 -26
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +62 -64
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +36 -36
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +7 -7
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +9 -9
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +8 -8
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +50 -51
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +45 -46
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +38 -39
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +18 -19
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +21 -22
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +24 -25
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +39 -41
- package/data-structures/Hinkal/index.cjs +1 -1
- package/data-structures/Hinkal/index.d.ts +1 -0
- package/data-structures/Hinkal/index.mjs +1 -0
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +18 -0
- package/data-structures/crypto-keys/keys.mjs +10 -0
- package/data-structures/index.cjs +1 -1
- package/data-structures/index.mjs +1 -0
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.d.ts +4 -0
- package/error-handling/error-codes.constants.mjs +4 -0
- package/error-handling/get-error.message.cjs +1 -1
- package/error-handling/get-error.message.mjs +2 -1
- package/functions/index.cjs +1 -1
- package/functions/index.mjs +8 -6
- package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
- package/functions/pre-transaction/buildCommitmentValidationData.d.ts +12 -2
- package/functions/pre-transaction/buildCommitmentValidationData.mjs +43 -36
- package/functions/pre-transaction/sendV0Transaction.cjs +2 -1
- package/functions/pre-transaction/sendV0Transaction.d.ts +2 -2
- package/functions/pre-transaction/sendV0Transaction.mjs +65 -60
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.d.ts +1 -0
- package/functions/snarkjs/constructGeneralZkProof.mjs +6 -5
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -0
- package/functions/snarkjs/constructSolanaZkProof.mjs +35 -34
- package/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -0
- package/functions/snarkjs/generateMainAndCommitmentZkProof.d.ts +11 -0
- package/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +16 -0
- package/functions/snarkjs/generateZkProof.cjs +1 -1
- package/functions/snarkjs/generateZkProof.d.ts +3 -3
- package/functions/snarkjs/generateZkProof.mjs +5 -9
- package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
- package/functions/snarkjs/generateZkProofEnclave.d.ts +2 -2
- package/functions/snarkjs/generateZkProofEnclave.mjs +8 -8
- package/functions/snarkjs/generateZkProofSelf.cjs +1 -1
- package/functions/snarkjs/generateZkProofSelf.mjs +5 -5
- package/functions/snarkjs/index.cjs +1 -1
- package/functions/snarkjs/index.d.ts +1 -0
- package/functions/snarkjs/index.mjs +1 -0
- package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -1
- package/functions/snarkjs/verifyCommitmentValidationData.mjs +5 -5
- package/functions/utils/customEnclaveFunctionsRegister.d.ts +3 -3
- package/functions/utils/enclave-signature-storage.cjs +1 -1
- package/functions/utils/enclave-signature-storage.d.ts +1 -1
- package/functions/utils/enclave-signature-storage.mjs +1 -1
- package/functions/utils/index.cjs +1 -1
- package/functions/utils/index.d.ts +1 -0
- package/functions/utils/index.mjs +6 -5
- package/functions/utils/nearIntents.utils.cjs +1 -0
- package/functions/utils/nearIntents.utils.d.ts +11 -0
- package/functions/utils/nearIntents.utils.mjs +36 -0
- package/functions/utils/time.utils.cjs +1 -1
- package/functions/utils/time.utils.d.ts +1 -0
- package/functions/utils/time.utils.mjs +2 -2
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +1 -1
- package/index.cjs +1 -1
- package/index.mjs +320 -315
- package/package.json +1 -1
- package/types/index.d.ts +1 -0
- package/types/near-intents.types.d.ts +60 -0
- package/types/solana.types.d.ts +1 -0
- package/webworker/{logError-fCJ4HXQz.js → logError-DoUkEIFE.js} +14 -14
- package/webworker/package.json +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/snarkjsWorkerNode.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/utxoWorkerNode.cjs +1 -1
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/{workerProxy-BNBqYien.js → workerProxy-DQJE57Ye.js} +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/webworker/zkProofWorkerNode.cjs +1 -1
|
@@ -3,69 +3,70 @@ import { randomBigInt as t } from "../web3/etherFunctions.mjs";
|
|
|
3
3
|
import { poseidonFunction as n } from "../../crypto/poseidon.mjs";
|
|
4
4
|
import { takeOffHighestBit as r } from "../utils/bit.operations.mjs";
|
|
5
5
|
import { formatMintAddress as i } from "../utils/solanaMint.utils.mjs";
|
|
6
|
-
import { buildOutCommitments as a, calcAmountChanges as
|
|
7
|
-
import { encodeToByte32Array as
|
|
8
|
-
import { computeSignedMessageHashSolana as
|
|
9
|
-
import { generateZkProof as d } from "./generateZkProof.mjs";
|
|
6
|
+
import { buildOutCommitments as a, calcAmountChanges as o, calcStealthAddressStructure as s, getUtxoCircuitH0Coords as c, getUtxoCircuitInRandomization as l } from "./common.snarkjs.mjs";
|
|
7
|
+
import { encodeToByte32Array as u } from "../pre-transaction/solana.mjs";
|
|
8
|
+
import { computeSignedMessageHashSolana as d } from "./signedMessageHash.mjs";
|
|
10
9
|
import "../pre-transaction/index.mjs";
|
|
10
|
+
import { generateMainAndCommitmentZkProof as ee } from "./generateMainAndCommitmentZkProof.mjs";
|
|
11
11
|
import "../utils/index.mjs";
|
|
12
12
|
import { getDataFromWorkers as f } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
|
|
13
13
|
import { getSolanaCalldataHash as p } from "../pre-transaction/getSolanaCalldataHash.mjs";
|
|
14
14
|
import "../web3/index.mjs";
|
|
15
15
|
import { PublicKey as m } from "@solana/web3.js";
|
|
16
16
|
//#region libs/shared/common/src/functions/snarkjs/constructSolanaZkProof.ts
|
|
17
|
-
var h = async (h, g, _,
|
|
18
|
-
let
|
|
17
|
+
var h = async (h, g, _, v, y, b, x, S, C, w, T, E, D, O = e.solanaLocalnet, k = [], A = [], j = 0n) => {
|
|
18
|
+
let M = new m(w), N = new m(T), P = _.getShieldedPrivateKey(), { pubSpendingBJJPoint: F } = _.getSpendingKeyPair(), I = s(x, P, _.getSpendingKeyPair().pubSpendingBJJPoint), L = t(31), R = n(L), z = n(j), B = v.map((e) => i(e)), V = B.map((e) => e.mintAccountPart1), H = B.map((e) => e.mintAccountPart2), U = p(E, M, N, D, S, C, k, A), te = `${E.tokenNumber}x${E.nullifierAmount}x${E.outputAmount}`, W = o(y, b), { inCommitmentSiblings: G, inCommitmentSiblingSides: K, rootHashHinkal: q, inNullifiers: J } = await f(O, g, y.map((e) => e.map((e) => e.getConstructableParams()))), Y = a(b), X = r(I.extraRandomization), Z = I.H0, Q = d({
|
|
19
19
|
rootHashHinkal: q,
|
|
20
|
-
mintAccountPart1:
|
|
21
|
-
mintAccountPart2:
|
|
20
|
+
mintAccountPart1: V,
|
|
21
|
+
mintAccountPart2: H,
|
|
22
22
|
amountChanges: W,
|
|
23
|
-
outTimeStamp: BigInt(
|
|
23
|
+
outTimeStamp: BigInt(b[0][0].timeStamp),
|
|
24
24
|
inNullifiers: J,
|
|
25
25
|
outCommitments: Y,
|
|
26
|
-
calldataHash:
|
|
27
|
-
message:
|
|
28
|
-
swapperAccountAdditionalSeed:
|
|
29
|
-
outH1Ay:
|
|
26
|
+
calldataHash: U,
|
|
27
|
+
message: R,
|
|
28
|
+
swapperAccountAdditionalSeed: z,
|
|
29
|
+
outH1Ay: I.H1,
|
|
30
30
|
H0Ax: X,
|
|
31
31
|
H0Ay: Z
|
|
32
32
|
}), { R8: $, S: ne } = _.signEddsa(Q), re = {
|
|
33
33
|
rootHashHinkal: q,
|
|
34
|
-
spendingPublicKey:
|
|
34
|
+
spendingPublicKey: F,
|
|
35
35
|
eddsaSignature: [
|
|
36
36
|
$[0],
|
|
37
37
|
$[1],
|
|
38
38
|
ne
|
|
39
39
|
],
|
|
40
40
|
signedMessageHash: Q,
|
|
41
|
-
nullifyingPrivateKey:
|
|
42
|
-
mintAccountPart1:
|
|
43
|
-
mintAccountPart2:
|
|
41
|
+
nullifyingPrivateKey: P,
|
|
42
|
+
mintAccountPart1: V,
|
|
43
|
+
mintAccountPart2: H,
|
|
44
44
|
amountChanges: W,
|
|
45
|
-
inAmounts:
|
|
46
|
-
inRandomizations:
|
|
47
|
-
inH0Ax:
|
|
48
|
-
inH0Ay:
|
|
49
|
-
isNewStyle:
|
|
50
|
-
inTimeStamps:
|
|
45
|
+
inAmounts: y.map((e) => e.map((e) => e.amount.toString())),
|
|
46
|
+
inRandomizations: y.map((e) => e.map((e) => l(e))),
|
|
47
|
+
inH0Ax: y.map((e) => e.map((e) => c(e)[0].toString())),
|
|
48
|
+
inH0Ay: y.map((e) => e.map((e) => c(e)[1].toString())),
|
|
49
|
+
isNewStyle: y.map((e) => e.map((e) => !!e.isNewStyle)),
|
|
50
|
+
inTimeStamps: y.map((e) => e.map((e) => e.timeStamp)),
|
|
51
51
|
inNullifiers: J,
|
|
52
52
|
inCommitmentSiblings: G,
|
|
53
53
|
inCommitmentSiblingSides: K,
|
|
54
|
-
outAmounts:
|
|
55
|
-
outTimeStamp: BigInt(
|
|
56
|
-
outPublicKeys:
|
|
54
|
+
outAmounts: b.map((e) => e.map((e) => e.amount.toString())),
|
|
55
|
+
outTimeStamp: BigInt(b[0][0].timeStamp),
|
|
56
|
+
outPublicKeys: b.map((e) => e.map((e) => e.getStealthAddress())),
|
|
57
57
|
outCommitments: Y,
|
|
58
|
-
calldataHash:
|
|
59
|
-
messageSeed:
|
|
60
|
-
swapperAccountSalt:
|
|
58
|
+
calldataHash: U,
|
|
59
|
+
messageSeed: L,
|
|
60
|
+
swapperAccountSalt: j,
|
|
61
61
|
H0Ax: X,
|
|
62
62
|
H0Ay: Z
|
|
63
|
-
}, {
|
|
63
|
+
}, { zkCallData: ie, publicSignals: ae, commitmentValidationData: oe } = await ee(O, _, v, y, `mainSolanaCircuit${te}`, re, h), [se, ce, le] = ie;
|
|
64
64
|
return {
|
|
65
|
-
proofAArr:
|
|
66
|
-
proofBArr:
|
|
67
|
-
proofCArr:
|
|
68
|
-
publicInputsArr:
|
|
65
|
+
proofAArr: se.map(BigInt).map(u).flat(),
|
|
66
|
+
proofBArr: ce.flat().map(BigInt).map(u).flat(),
|
|
67
|
+
proofCArr: le.map(BigInt).map(u).flat(),
|
|
68
|
+
publicInputsArr: ae.map(BigInt).map(u),
|
|
69
|
+
commitmentValidationData: oe
|
|
69
70
|
};
|
|
70
71
|
};
|
|
71
72
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../pre-transaction/buildCommitmentValidationData.cjs`);require(`../pre-transaction/index.cjs`);const t=require(`./generateZkProof.cjs`);var n=async(n,r,i,a,o,s,c)=>{let l=await e.buildCommitmentValidationData(n,r,i,a),u=[o],d=[s];l&&(u.push(l.verifierName),d.push(l.commitmentInput));let f=await t.generateZkProof(n,u,d,c),{zkCallData:p,publicSignals:m}=f[0];return{zkCallData:p,publicSignals:m,commitmentValidationData:e.buildCommitmentValidationDataFromProof(l,f[1])}};exports.generateMainAndCommitmentZkProof=n;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UserKeys } from '../../data-structures/crypto-keys/keys';
|
|
2
|
+
import { Utxo } from '../../data-structures/utxo/Utxo';
|
|
3
|
+
import { CommitmentValidationDataType } from '../../types/circom-data.types';
|
|
4
|
+
import { NewZkCallDataType } from '../../types/snark.types';
|
|
5
|
+
interface GenerateMainAndCommitmentZkProofResponse {
|
|
6
|
+
zkCallData: NewZkCallDataType;
|
|
7
|
+
publicSignals: string[];
|
|
8
|
+
commitmentValidationData: CommitmentValidationDataType | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare const generateMainAndCommitmentZkProof: (chainId: number, userKeys: UserKeys, tokenAddresses: string[], inputUtxos: Utxo[][], mainVerifierName: string, mainCircuitInput: unknown, generateProofRemotely: boolean) => Promise<GenerateMainAndCommitmentZkProofResponse>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { buildCommitmentValidationData as e, buildCommitmentValidationDataFromProof as t } from "../pre-transaction/buildCommitmentValidationData.mjs";
|
|
2
|
+
import "../pre-transaction/index.mjs";
|
|
3
|
+
import { generateZkProof as n } from "./generateZkProof.mjs";
|
|
4
|
+
//#region libs/shared/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.ts
|
|
5
|
+
var r = async (r, i, a, o, s, c, l) => {
|
|
6
|
+
let u = await e(r, i, a, o), d = [s], f = [c];
|
|
7
|
+
u && (d.push(u.verifierName), f.push(u.commitmentInput));
|
|
8
|
+
let p = await n(r, d, f, l), { zkCallData: m, publicSignals: h } = p[0];
|
|
9
|
+
return {
|
|
10
|
+
zkCallData: m,
|
|
11
|
+
publicSignals: h,
|
|
12
|
+
commitmentValidationData: t(u, p[1])
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { r as generateMainAndCommitmentZkProof };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../utils/customEnclaveFunctionsRegister.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`./getZKFiles.cjs`),r=require(`./generateZkProofEnclave.cjs`),i=require(`./generateZkProofSelf.cjs`);var a=async(a,o,s,c)=>{if(c)try{let t=e.getCustomProofGenerator();
|
|
1
|
+
const e=require(`../utils/customEnclaveFunctionsRegister.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`./getZKFiles.cjs`),r=require(`./generateZkProofEnclave.cjs`),i=require(`./generateZkProofSelf.cjs`);var a=async(a,o,s,c)=>{if(c)try{let t=e.getCustomProofGenerator();return t?(await t(s,o.map(e=>n.getWASMFile(e,a)),o.map(e=>n.getZKeyFile(e,a)))).map(({zkCallData:e,publicSignals:t})=>({zkCallData:e,publicSignals:t})):await r.generateZkProofEnclave(a,o,s)}catch(e){t.Logger.error(`enclave proof error`,e)}return Promise.all(o.map((e,t)=>i.generateZkProofSelf(a,e,s[t])))};exports.generateZkProof=a;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NewZkCallDataType } from '../../types';
|
|
2
|
-
export declare const generateZkProof: (chainId: number,
|
|
1
|
+
import { NewZkCallDataType } from '../../types/snark.types';
|
|
2
|
+
export declare const generateZkProof: (chainId: number, verifierNames: string[], inputs: any[], remotely?: boolean) => Promise<{
|
|
3
3
|
zkCallData: NewZkCallDataType;
|
|
4
4
|
publicSignals: string[];
|
|
5
|
-
}>;
|
|
5
|
+
}[]>;
|
|
@@ -7,18 +7,14 @@ import { generateZkProofSelf as a } from "./generateZkProofSelf.mjs";
|
|
|
7
7
|
var o = async (o, s, c, l) => {
|
|
8
8
|
if (l) try {
|
|
9
9
|
let t = e();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
publicSignals: i
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
return await i(o, s, c);
|
|
10
|
+
return t ? (await t(c, s.map((e) => n(e, o)), s.map((e) => r(e, o)))).map(({ zkCallData: e, publicSignals: t }) => ({
|
|
11
|
+
zkCallData: e,
|
|
12
|
+
publicSignals: t
|
|
13
|
+
})) : await i(o, s, c);
|
|
18
14
|
} catch (e) {
|
|
19
15
|
t.error("enclave proof error", e);
|
|
20
16
|
}
|
|
21
|
-
return a(o,
|
|
17
|
+
return Promise.all(s.map((e, t) => a(o, e, c[t])));
|
|
22
18
|
};
|
|
23
19
|
//#endregion
|
|
24
20
|
export { o as generateZkProof };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const t=require(`./constant.cjs`),n=require(`../utils/encryptInputForEnclave.cjs`),r=require(`./getZKFiles.cjs`);var i=e=>{if(e.startsWith(`http`)){let t=e.split(`/`).at(-1);if(!t)throw Error(`invalid verifierName`);return t}return e},a=async(a,o,s)=>{let c=i(r.getWASMFile(
|
|
1
|
+
const e=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const t=require(`./constant.cjs`),n=require(`../utils/encryptInputForEnclave.cjs`),r=require(`./getZKFiles.cjs`);var i=e=>{if(e.startsWith(`http`)){let t=e.split(`/`).at(-1);if(!t)throw Error(`invalid verifierName`);return t}return e},a=async(a,o,s)=>{let c=o.map(e=>i(r.getWASMFile(e,a))),l=o.map(e=>i(r.getZKeyFile(e,a))),{keyCiphertext:u,inputCiphertext:d}=await n.makeEnclaveHandshakeAndEncryptInput(s),f={circuit_wasms:c,circuit_zkeys:l,inputs:d,key:u};return(await e.httpClient.post(`${t.ENCLAVE_URL}/generate-proofs`,f)).map(({zk_calldata:e,public_signals:t})=>({zkCallData:e,publicSignals:t}))};exports.generateZkProofEnclave=a;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NewZkCallDataType } from '../../types/snark.types';
|
|
2
|
-
export declare const generateZkProofEnclave: (chainId: number,
|
|
2
|
+
export declare const generateZkProofEnclave: (chainId: number, verifierNames: string[], inputs: any[]) => Promise<{
|
|
3
3
|
zkCallData: NewZkCallDataType;
|
|
4
4
|
publicSignals: string[];
|
|
5
|
-
}>;
|
|
5
|
+
}[]>;
|
|
@@ -12,16 +12,16 @@ var a = (e) => {
|
|
|
12
12
|
}
|
|
13
13
|
return e;
|
|
14
14
|
}, o = async (o, s, c) => {
|
|
15
|
-
let l = a(r(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
let l = s.map((e) => a(r(e, o))), u = s.map((e) => a(i(e, o))), { keyCiphertext: d, inputCiphertext: f } = await n(c), p = {
|
|
16
|
+
circuit_wasms: l,
|
|
17
|
+
circuit_zkeys: u,
|
|
18
|
+
inputs: f,
|
|
19
19
|
key: d
|
|
20
|
-
}, { public_signals: m, zk_calldata: h } = await e.post(`${t}/generate`, p);
|
|
21
|
-
return {
|
|
22
|
-
zkCallData: h,
|
|
23
|
-
publicSignals: m
|
|
24
20
|
};
|
|
21
|
+
return (await e.post(`${t}/generate-proofs`, p)).map(({ zk_calldata: e, public_signals: t }) => ({
|
|
22
|
+
zkCallData: e,
|
|
23
|
+
publicSignals: t
|
|
24
|
+
}));
|
|
25
25
|
};
|
|
26
26
|
//#endregion
|
|
27
27
|
export { o as generateZkProofEnclave };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require(`../../webworker/worker.registry.cjs`),t=require(`../../webworker/performTaskWithWorker.cjs`),n=require(`./getZKFiles.cjs`),r=require(`../../webworker/snarkjsWorker/snarkjsWorker.types.cjs`);var i=async(i,a,o)=>{let s=n.getWASMFile(a,i),c=n.getZKeyFile(a,i),{publicSignals:l,zkCallData:u}=await t.performTaskWithWorker({type:e.WorkerVariant.SnarkJS,payload:{type:r.SnarkJSWorkerActionType.FULL_PROVE,data:{input:o,chainId:i,wasmFilePath:s,zKeyFilePath:c}}});return{zkCallData:u,publicSignals:l}};exports.generateZkProofSelf=i;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { WorkerVariant as e } from "../../webworker/worker.registry.mjs";
|
|
2
|
+
import { performTaskWithWorker as t } from "../../webworker/performTaskWithWorker.mjs";
|
|
3
|
+
import { getWASMFile as n, getZKeyFile as r } from "./getZKFiles.mjs";
|
|
4
4
|
import { SnarkJSWorkerActionType as i } from "../../webworker/snarkjsWorker/snarkjsWorker.types.mjs";
|
|
5
5
|
//#region libs/shared/common/src/functions/snarkjs/generateZkProofSelf.ts
|
|
6
6
|
var a = async (a, o, s) => {
|
|
7
|
-
let c =
|
|
8
|
-
type:
|
|
7
|
+
let c = n(o, a), l = r(o, a), { publicSignals: u, zkCallData: d } = await t({
|
|
8
|
+
type: e.SnarkJS,
|
|
9
9
|
payload: {
|
|
10
10
|
type: i.FULL_PROVE,
|
|
11
11
|
data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./common.snarkjs.cjs`),require(`./signedMessageHash.cjs`),require(`./generateZkProof.cjs`),require(`./fetchOnChainRootHashes.cjs`),require(`./constructGeneralZkProof.cjs`),require(`./constructSolanaZkProof.cjs`),require(`./verifyCommitmentValidationData.cjs`);
|
|
1
|
+
require(`./common.snarkjs.cjs`),require(`./signedMessageHash.cjs`),require(`./generateZkProof.cjs`),require(`./generateMainAndCommitmentZkProof.cjs`),require(`./fetchOnChainRootHashes.cjs`),require(`./constructGeneralZkProof.cjs`),require(`./constructSolanaZkProof.cjs`),require(`./verifyCommitmentValidationData.cjs`);
|
|
@@ -2,6 +2,7 @@ export * from './constructGeneralZkProof';
|
|
|
2
2
|
export * from './common.snarkjs';
|
|
3
3
|
export * from './signedMessageHash';
|
|
4
4
|
export * from './generateZkProof';
|
|
5
|
+
export * from './generateMainAndCommitmentZkProof';
|
|
5
6
|
export * from './constructSolanaZkProof';
|
|
6
7
|
export * from './fetchOnChainRootHashes';
|
|
7
8
|
export * from './verifyCommitmentValidationData';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "./common.snarkjs.mjs";
|
|
2
2
|
import "./signedMessageHash.mjs";
|
|
3
3
|
import "./generateZkProof.mjs";
|
|
4
|
+
import "./generateMainAndCommitmentZkProof.mjs";
|
|
4
5
|
import "./fetchOnChainRootHashes.mjs";
|
|
5
6
|
import "./constructGeneralZkProof.mjs";
|
|
6
7
|
import "./constructSolanaZkProof.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`),n=require(`../utils/bytes32.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`),n=require(`../utils/bytes32.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../pre-transaction/solana-public-signals.cjs`),a=require(`./getZKFiles.cjs`);let o=require(`ethers`),s=require(`snarkjs`);s=e.__toESM(s);var c=e=>e.flat().map(e=>BigInt(e).toString()),l=(e,t)=>{let n=t.inNullifiers[0]?.length??0;return a.getVKFile(`commitmentCalculator${t.tokenAddresses.length}x${n}`,e)},u=async(e,n)=>{let r=l(e,n);return t.httpClient.get(r)},d=e=>({pi_a:[...e.a],pi_b:[[e.b[0][1],e.b[0][0]],[e.b[1][1],e.b[1][0]]],pi_c:[...e.c],protocol:`groth16`}),f=e=>{let t=e.tokenAddresses.map(e=>o.ethers.getBigInt(e).toString()),n=c(e.inCommitments),r=c(e.inNullifiers);return[...t,...n,...r]},p=async(e,t,n)=>{if(c(t.inNullifiers).join(`,`)!==n.join(`,`))throw Error(`commitmentValidationData.inNullifiers mismatch with request input`);let r=await u(e,t),i=f(t),a=d(t.proof);if(!await s.groth16.verify(r,i,a))throw Error(`Invalid commitment validation proof`)},m=async e=>{let t=e.commitmentValidationData;if(!t)return;let n=c(r.deserializeCircomData(e.circomData).inputNullifiers);await p(e.chainId,t,n)},h=async e=>{let t=e.commitmentValidationData;if(!t)return;let r=i.convertSolanaPublicSignals(e.args.publicInputsArr,e.args.dimensions).inNullifiers.flat().map(e=>n.convertBytes32ToBigInt(e).toString());await p(e.chainId,t,r)};exports.verifyCommitmentValidationData=m,exports.verifyCommitmentValidationDataSolana=h;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { httpClient as e } from "../../data-structures/http/HttpClient.mjs";
|
|
2
2
|
import { convertBytes32ToBigInt as t } from "../utils/bytes32.utils.mjs";
|
|
3
3
|
import { deserializeCircomData as n } from "./common.snarkjs.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { convertSolanaPublicSignals as r } from "../pre-transaction/solana-public-signals.mjs";
|
|
5
|
+
import { getVKFile as i } from "./getZKFiles.mjs";
|
|
6
6
|
import { ethers as a } from "ethers";
|
|
7
7
|
import * as o from "snarkjs";
|
|
8
8
|
//#region libs/shared/common/src/functions/snarkjs/verifyCommitmentValidationData.ts
|
|
9
9
|
var s = (e) => e.flat().map((e) => BigInt(e).toString()), c = (e, t) => {
|
|
10
10
|
let n = t.inNullifiers[0]?.length ?? 0;
|
|
11
|
-
return
|
|
11
|
+
return i(`commitmentCalculator${t.tokenAddresses.length}x${n}`, e);
|
|
12
12
|
}, l = async (t, n) => {
|
|
13
13
|
let r = c(t, n);
|
|
14
14
|
return e.get(r);
|
|
@@ -36,8 +36,8 @@ var s = (e) => e.flat().map((e) => BigInt(e).toString()), c = (e, t) => {
|
|
|
36
36
|
}, m = async (e) => {
|
|
37
37
|
let n = e.commitmentValidationData;
|
|
38
38
|
if (!n) return;
|
|
39
|
-
let
|
|
40
|
-
await f(e.chainId, n,
|
|
39
|
+
let i = r(e.args.publicInputsArr, e.args.dimensions).inNullifiers.flat().map((e) => t(e).toString());
|
|
40
|
+
await f(e.chainId, n, i);
|
|
41
41
|
};
|
|
42
42
|
//#endregion
|
|
43
43
|
export { p as verifyCommitmentValidationData, m as verifyCommitmentValidationDataSolana };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { NewZkCallDataType } from '../../types/snark.types';
|
|
2
1
|
import { RemoteProofType } from '../../types/remote-proof.types';
|
|
3
2
|
import { EncryptedOutputWithSign } from '../../types/commitments.types';
|
|
4
3
|
import { IUtxoConstructor } from '../../data-structures/utxo/Utxo';
|
|
5
|
-
|
|
4
|
+
import { NewZkCallDataType } from '../../types/snark.types';
|
|
5
|
+
export type ProofGeneratorFn = (inputs: any[], circuitWasmFilenames: string[], circuitZkeyFilenames: string[]) => Promise<{
|
|
6
6
|
proof: RemoteProofType;
|
|
7
7
|
publicSignals: string[];
|
|
8
8
|
zkCallData: NewZkCallDataType;
|
|
9
|
-
}>;
|
|
9
|
+
}[]>;
|
|
10
10
|
export type UtxoDecryptorFn = (chainId: number, keysData: Uint8Array) => Promise<{
|
|
11
11
|
utxos: IUtxoConstructor<string>[];
|
|
12
12
|
encryptedOutputs: EncryptedOutputWithSign[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./encryptInputForEnclave.cjs`),t=require(`../../API/enclaveSignatureCalls.cjs`);var n=async(n,r,i,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await e.makeEnclaveHandshakeAndEncryptInput(r),{signature:c}=await t.storeAndGetSignatureEnclaveCall(n,s,o,i,a);return c};exports.storeAndGetSignatureFromEnclave=n;
|
|
1
|
+
const e=require(`./encryptInputForEnclave.cjs`),t=require(`../../API/enclaveSignatureCalls.cjs`);var n=async(n,r,i=!1,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await e.makeEnclaveHandshakeAndEncryptInput(r),{signature:c}=await t.storeAndGetSignatureEnclaveCall(n,s,o,i,a);return c};exports.storeAndGetSignatureFromEnclave=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const storeAndGetSignatureFromEnclave: (ethAddress: string, authSignature: string, isSolanaLedger
|
|
1
|
+
export declare const storeAndGetSignatureFromEnclave: (ethAddress: string, authSignature: string, isSolanaLedger?: boolean, txMessageForSolanaLedger?: string) => Promise<string>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { makeEnclaveHandshakeAndEncryptInput as e } from "./encryptInputForEnclave.mjs";
|
|
2
2
|
import { storeAndGetSignatureEnclaveCall as t } from "../../API/enclaveSignatureCalls.mjs";
|
|
3
3
|
//#region libs/shared/common/src/functions/utils/enclave-signature-storage.ts
|
|
4
|
-
var n = async (n, r, i, a) => {
|
|
4
|
+
var n = async (n, r, i = !1, a) => {
|
|
5
5
|
let { keyCiphertext: o, inputCiphertext: s } = await e(r), { signature: c } = await t(n, s, o, i, a);
|
|
6
6
|
return c;
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./serialize.utils.cjs`),require(`./get-signature-header.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./addresses.cjs`),require(`./auth.utils.cjs`),require(`./amounts.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`./bytes32.utils.cjs`),require(`./time.utils.cjs`),require(`./bit.operations.cjs`),require(`./upToDateState.cjs`),require(`./getDataFromTransaction.cjs`),require(`./cacheFunctions.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./mutexes.utils.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(
|
|
1
|
+
require(`./serialize.utils.cjs`),require(`./get-signature-header.cjs`),require(`./caseInsensitive.utils.cjs`),require(`./addresses.cjs`),require(`./auth.utils.cjs`),require(`./amounts.utils.cjs`),require(`./erc20tokenFunctions.cjs`),require(`./bytes32.utils.cjs`),require(`./time.utils.cjs`),require(`./bit.operations.cjs`),require(`./upToDateState.cjs`),require(`./getDataFromTransaction.cjs`),require(`./cacheFunctions.cjs`),require(`./encryptInputForEnclave.cjs`),require(`./solanaMint.utils.cjs`),require(`./customEnclaveFunctionsRegister.cjs`),require(`./tron.utils.cjs`),require(`./string.utils.cjs`),require(`./token-check.utils.cjs`),require(`./mutexes.utils.cjs`),require(`../pre-transaction/outputUtxoProcessing.cjs`),require(`./external-action.utils.cjs`),require(`../pre-transaction/solana.cjs`),require(`../pre-transaction/interaction-to-action.cjs`),require(`../pre-transaction/process-gas-estimates.cjs`),require(`../pre-transaction/getFlatFees.cjs`),require(`../pre-transaction/getVolatileTransferAmount.cjs`),require(`../pre-transaction/constructAdminData.cjs`),require(`./create-provider.cjs`),require(`../pre-transaction/calculateSolanaNullifierCount.cjs`),require(`../pre-transaction/addressTableLookup.cjs`),require(`../pre-transaction/solana-public-signals.cjs`),require(`../pre-transaction/convert-okx-instructions.cjs`),require(`./process.utils.cjs`),require(`../pre-transaction/sendV0Transaction.cjs`),require(`../pre-transaction/store-proof.cjs`),require(`../pre-transaction/sendInitNullifiersTransaction.cjs`),require(`../pre-transaction/recipientUtxoProcessing.cjs`),require(`../pre-transaction/store-instructions.cjs`),require(`../pre-transaction/ensureAmountChanges.cjs`),require(`../pre-transaction/getFeeStructure.cjs`),require(`../pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),require(`../pre-transaction/buildCommitmentValidationData.cjs`),require(`../pre-transaction/index.cjs`),require(`./serialize-utxos.utils.cjs`),require(`./requireEnv.cjs`),require(`./resolve-sync.utils.cjs`),require(`./convertIntegrationProviderToExternalActionId.cjs`),require(`./evmNetworkFunctions.cjs`),require(`./userAgent.cjs`),require(`./reloadPage.cjs`),require(`./nickname.utils.cjs`),require(`./cacheDevice.utils.cjs`),require(`./getBlockExplorerUrl.cjs`),require(`./involves-permit2-op.cjs`),require(`./convertEmporiumOpToCallInfo.cjs`),require(`./getRecipientInfoFromUserKeys.cjs`),require(`./publicBalance.utils.cjs`),require(`./rpc-int-encode.cjs`),require(`./arraysMatch.cjs`),require(`./trimFieldValues.cjs`),require(`./walletBalances.utils.cjs`),require(`./nftTokenFunctions.cjs`),require(`./inLogicMetadata.cjs`),require(`./networks.utils.cjs`),require(`./is-valid-url.cjs`),require(`./postToOffscreen.cjs`),require(`./solanaSendPreflight.utils.cjs`),require(`./prepareHinkal.cjs`),require(`./getContractAddress.cjs`),require(`./getUtxosFromReceipt.utils.cjs`),require(`./getUtxosFromReceiptSolana.cjs`),require(`./fees.utils.cjs`),require(`./proxyAvatar.utils.cjs`),require(`./validateUsername.cjs`),require(`./enclave-utxo-storage.cjs`),require(`./enclave-signature-storage.cjs`),require(`./tx-confirmation.utils.cjs`),require(`./buildClaimableDepositPlan.cjs`),require(`./pay-routing.utils.cjs`),require(`./formatter.cjs`),require(`./tronSimulation.utils.cjs`),require(`./getSignerFromContract.cjs`),require(`./deposit-claimable.utils.cjs`),require(`./transfer-claimable.utils.cjs`),require(`./getWalletGroupKey.utils.cjs`),require(`./dispatchBalanceRefreshes.cjs`),require(`./lifi.utils.cjs`),require(`./enclave-recipient-info-storage.cjs`),require(`./solana-memo.cjs`),require(`./mnemonics.cjs`),require(`./nearIntents.utils.cjs`);
|
|
@@ -21,16 +21,12 @@ import "./mutexes.utils.mjs";
|
|
|
21
21
|
import "../pre-transaction/outputUtxoProcessing.mjs";
|
|
22
22
|
import "./external-action.utils.mjs";
|
|
23
23
|
import "../pre-transaction/solana.mjs";
|
|
24
|
-
import "./serialize-utxos.utils.mjs";
|
|
25
|
-
import "./create-provider.mjs";
|
|
26
|
-
import "./requireEnv.mjs";
|
|
27
|
-
import "./resolve-sync.utils.mjs";
|
|
28
|
-
import "./convertIntegrationProviderToExternalActionId.mjs";
|
|
29
24
|
import "../pre-transaction/interaction-to-action.mjs";
|
|
30
25
|
import "../pre-transaction/process-gas-estimates.mjs";
|
|
31
26
|
import "../pre-transaction/getFlatFees.mjs";
|
|
32
27
|
import "../pre-transaction/getVolatileTransferAmount.mjs";
|
|
33
28
|
import "../pre-transaction/constructAdminData.mjs";
|
|
29
|
+
import "./create-provider.mjs";
|
|
34
30
|
import "../pre-transaction/calculateSolanaNullifierCount.mjs";
|
|
35
31
|
import "../pre-transaction/addressTableLookup.mjs";
|
|
36
32
|
import "../pre-transaction/solana-public-signals.mjs";
|
|
@@ -46,6 +42,10 @@ import "../pre-transaction/getFeeStructure.mjs";
|
|
|
46
42
|
import "../pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
|
|
47
43
|
import "../pre-transaction/buildCommitmentValidationData.mjs";
|
|
48
44
|
import "../pre-transaction/index.mjs";
|
|
45
|
+
import "./serialize-utxos.utils.mjs";
|
|
46
|
+
import "./requireEnv.mjs";
|
|
47
|
+
import "./resolve-sync.utils.mjs";
|
|
48
|
+
import "./convertIntegrationProviderToExternalActionId.mjs";
|
|
49
49
|
import "./evmNetworkFunctions.mjs";
|
|
50
50
|
import "./userAgent.mjs";
|
|
51
51
|
import "./reloadPage.mjs";
|
|
@@ -89,3 +89,4 @@ import "./lifi.utils.mjs";
|
|
|
89
89
|
import "./enclave-recipient-info-storage.mjs";
|
|
90
90
|
import "./solana-memo.mjs";
|
|
91
91
|
import "./mnemonics.mjs";
|
|
92
|
+
import "./nearIntents.utils.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../types/external-action.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`./caseInsensitive.utils.cjs`),i=require(`./addresses.cjs`),a=require(`../../API/callNearIntentsAPI.cjs`),o=require(`./erc20tokenFunctions.cjs`),s=require(`../../constants/bridging.constants.cjs`),c=require(`./tron.utils.cjs`),l=require(`../pre-transaction/getFeeStructure.cjs`);var u=(e,n)=>{if(!n||!t.isTronLike(e))return n;try{return c.addressToHexFormat(n)}catch{return n}},d=e=>{let t=s.NEAR_INTENTS_CHAIN_ID_BY_BLOCKCHAIN[e.blockchain];if(t===void 0)return;let n=u(t,e.contractAddress);return(n?o.getERC20Token(n,t):void 0)??o.getERC20TokenBySymbol(e.symbol,t)},f=async(e,t)=>{let n=s.NEAR_INTENTS_BLOCKCHAIN_BY_CHAIN_ID[e];if(!n)throw Error(`NEAR Intents does not support chain ${e}`);let o=(await a.getNearIntentsTokens()).filter(e=>e.blockchain===n),c=i.isNativePlaceholderAddress(t)?o.find(e=>!e.contractAddress):o.find(n=>n.contractAddress&&r.caseInsensitiveEqual(u(e,n.contractAddress),t));if(!c)throw Error(`No NEAR Intents asset for token ${t} on chain ${e}`);return c.assetId},p=(t,r,i)=>l.getFeeStructure(t,r.erc20TokenAddress,[r.erc20TokenAddress],e.ExternalActionId.Transact,[],n.HINKAL_PRIVATE_SEND_VARIABLE_RATE,{mintTo:r.erc20TokenAddress,recipient:i,nullifierCount:r.erc20TokenAddress===`11111111111111111111111111111111`?0:1});exports.buildNearBridgeFeeStructure=p,exports.getErc20TokenForNearAsset=d,exports.resolveNearAssetId=f;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FeeStructure } from '../../types/hinkal.types';
|
|
2
|
+
import { NearIntentsToken } from '../../types/near-intents.types';
|
|
3
|
+
import { ERC20Token } from '../../types/token.types';
|
|
4
|
+
/**
|
|
5
|
+
* Reverse of resolveNearAssetId: map a NEAR Intents token back to the in-app ERC20Token so a
|
|
6
|
+
* bridge refund sitting in the user's Intents account can be displayed and claimed like any other
|
|
7
|
+
* balance. Returns undefined for assets on chains/tokens the app does not support.
|
|
8
|
+
*/
|
|
9
|
+
export declare const getErc20TokenForNearAsset: (token: NearIntentsToken) => ERC20Token | undefined;
|
|
10
|
+
export declare const resolveNearAssetId: (chainId: number, tokenAddress: string) => Promise<string>;
|
|
11
|
+
export declare const buildNearBridgeFeeStructure: (chainId: number, token: ERC20Token, recipient: string) => Promise<FeeStructure>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ExternalActionId as e } from "../../types/external-action.types.mjs";
|
|
2
|
+
import { isTronLike as t } from "../../constants/chains.constants.mjs";
|
|
3
|
+
import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as n } from "../../constants/protocol.constants.mjs";
|
|
4
|
+
import { caseInsensitiveEqual as r } from "./caseInsensitive.utils.mjs";
|
|
5
|
+
import { isNativePlaceholderAddress as i } from "./addresses.mjs";
|
|
6
|
+
import { getNearIntentsTokens as a } from "../../API/callNearIntentsAPI.mjs";
|
|
7
|
+
import { getERC20Token as o, getERC20TokenBySymbol as s } from "./erc20tokenFunctions.mjs";
|
|
8
|
+
import { NEAR_INTENTS_BLOCKCHAIN_BY_CHAIN_ID as c, NEAR_INTENTS_CHAIN_ID_BY_BLOCKCHAIN as l } from "../../constants/bridging.constants.mjs";
|
|
9
|
+
import { addressToHexFormat as u } from "./tron.utils.mjs";
|
|
10
|
+
import { getFeeStructure as d } from "../pre-transaction/getFeeStructure.mjs";
|
|
11
|
+
//#region libs/shared/common/src/functions/utils/nearIntents.utils.ts
|
|
12
|
+
var f = (e, n) => {
|
|
13
|
+
if (!n || !t(e)) return n;
|
|
14
|
+
try {
|
|
15
|
+
return u(n);
|
|
16
|
+
} catch {
|
|
17
|
+
return n;
|
|
18
|
+
}
|
|
19
|
+
}, p = (e) => {
|
|
20
|
+
let t = l[e.blockchain];
|
|
21
|
+
if (t === void 0) return;
|
|
22
|
+
let n = f(t, e.contractAddress);
|
|
23
|
+
return (n ? o(n, t) : void 0) ?? s(e.symbol, t);
|
|
24
|
+
}, m = async (e, t) => {
|
|
25
|
+
let n = c[e];
|
|
26
|
+
if (!n) throw Error(`NEAR Intents does not support chain ${e}`);
|
|
27
|
+
let o = (await a()).filter((e) => e.blockchain === n), s = i(t) ? o.find((e) => !e.contractAddress) : o.find((n) => n.contractAddress && r(f(e, n.contractAddress), t));
|
|
28
|
+
if (!s) throw Error(`No NEAR Intents asset for token ${t} on chain ${e}`);
|
|
29
|
+
return s.assetId;
|
|
30
|
+
}, h = (t, r, i) => d(t, r.erc20TokenAddress, [r.erc20TokenAddress], e.Transact, [], n, {
|
|
31
|
+
mintTo: r.erc20TokenAddress,
|
|
32
|
+
recipient: i,
|
|
33
|
+
nullifierCount: r.erc20TokenAddress === "11111111111111111111111111111111" ? 0 : 1
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
36
|
+
export { h as buildNearBridgeFeeStructure, p as getErc20TokenForNearAsset, m as resolveNearAssetId };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=1e3*60*60*24,t=(e=1e3)=>new Promise(t=>{setTimeout(()=>{t(void 0)},e)}),n=()=>Math.floor(Date.now()/1e3),r=e=>new Date(e).toISOString(),i=()=>{let e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),6,0,0,0));return e<t?new Date(t.setUTCDate(t.getUTCDate()-1)):t},a=()=>{let e=i(),t=new Date(e);return t.setUTCDate(t.getUTCDate()-6),t},o=()=>{let e=i(),t=(e.getUTCDay()+6)%7,n=new Date(e);return n.setUTCDate(e.getUTCDate()-t),n.setUTCHours(6,0,0,0),n},s=()=>{let e=o();return e.setUTCDate(e.getUTCDate()-7),e},c=()=>{let e=new Date,t=new Date(e);return t.setUTCHours(6,0,0,0),t<=e&&t.setUTCDate(t.getUTCDate()+1),t.getTime()-e.getTime()},l=()=>{let e=new Date,t=new Date(e);return t.setUTCHours(8,0,0,0),t<=e&&t.setUTCDate(t.getUTCDate()+1),t.getTime()-e.getTime()},u=()=>{let e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),6,0,0,0));return e<t&&t.setUTCDate(t.getUTCDate()-1),t},d=(e=new Date)=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())),f=()=>{let e=new Date,t=new Date(e);return t.setUTCHours(6,0,0,0),t<=e&&t.setUTCDate(t.getUTCDate()+1),t.toISOString()},p=e=>{let t=new Date().getFullYear()===e.getFullYear()?{month:`long`,day:`numeric`}:{month:`long`,day:`numeric`,year:`numeric`};return e.toLocaleDateString(void 0,t)},m=e=>{try{let t=new Date(e);if(Number.isNaN(t.getTime()))return``;let n=t.getDate(),r=t.getFullYear();return`${t.toLocaleString(`en-US`,{month:`short`})} ${n}, ${r}, ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}catch{return``}},h=e=>{let t=new Date,n=new Date(e),r=t.getTime()-n.getTime(),i=Math.floor(r/1e3),a=Math.floor(i/60),o=Math.floor(a/60),s=Math.floor(o/24),c=Math.floor(s/7),l=Math.floor(s/30),u=Math.floor(s/365);return i<60?`${Math.max(1,i)} sec${i===1?``:`s`} ago`:a<60?`${a} min${a===1?``:`s`} ago`:o<24?`${o} hour${o===1?``:`s`} ago`:s<7?`${s} day${s===1?``:`s`} ago`:c<4?`${c} week${c===1?``:`s`} ago`:l<12?`${l} month${l===1?``:`s`} ago`:`${u} year${u===1?``:`s`} ago`},g=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),_=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),v=(t,n)=>(new Date().getTime()-t.getTime())/e<=n;exports.MS_PER_DAY=e,exports.calculateRelativeTime=h,exports.formatDate=p,exports.formatTimestampDate=_,exports.formatTxTimestamp=m,exports.getCurrentDayStart=u,exports.getCurrentTimeInSeconds=n,exports.getCurrentWeekStart=o,exports.getDelayUntilUtc8=l,exports.getEffectiveSevenDaysAgo=a,exports.getEffectiveToday=i,exports.getNextDayDelay=c,exports.getNextDayISO=f,exports.getPreviousWeekStart=s,exports.getUtcDayStart=d,exports.isSameDay=g,exports.isWithinDays=
|
|
1
|
+
var e=1e3*60*60*24,t=(e=1e3)=>new Promise(t=>{setTimeout(()=>{t(void 0)},e)}),n=()=>Math.floor(Date.now()/1e3),r=e=>new Date(e).toISOString(),i=()=>{let e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),6,0,0,0));return e<t?new Date(t.setUTCDate(t.getUTCDate()-1)):t},a=()=>{let e=i(),t=new Date(e);return t.setUTCDate(t.getUTCDate()-6),t},o=()=>{let e=i(),t=(e.getUTCDay()+6)%7,n=new Date(e);return n.setUTCDate(e.getUTCDate()-t),n.setUTCHours(6,0,0,0),n},s=()=>{let e=o();return e.setUTCDate(e.getUTCDate()-7),e},c=()=>{let e=new Date,t=new Date(e);return t.setUTCHours(6,0,0,0),t<=e&&t.setUTCDate(t.getUTCDate()+1),t.getTime()-e.getTime()},l=()=>{let e=new Date,t=new Date(e);return t.setUTCHours(8,0,0,0),t<=e&&t.setUTCDate(t.getUTCDate()+1),t.getTime()-e.getTime()},u=()=>{let e=new Date,t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),6,0,0,0));return e<t&&t.setUTCDate(t.getUTCDate()-1),t},d=(e=new Date)=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())),f=()=>{let e=new Date,t=new Date(e);return t.setUTCHours(6,0,0,0),t<=e&&t.setUTCDate(t.getUTCDate()+1),t.toISOString()},p=e=>{let t=new Date().getFullYear()===e.getFullYear()?{month:`long`,day:`numeric`}:{month:`long`,day:`numeric`,year:`numeric`};return e.toLocaleDateString(void 0,t)},m=e=>{try{let t=new Date(e);if(Number.isNaN(t.getTime()))return``;let n=t.getDate(),r=t.getFullYear();return`${t.toLocaleString(`en-US`,{month:`short`})} ${n}, ${r}, ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}catch{return``}},h=e=>{let t=new Date,n=new Date(e),r=t.getTime()-n.getTime(),i=Math.floor(r/1e3),a=Math.floor(i/60),o=Math.floor(a/60),s=Math.floor(o/24),c=Math.floor(s/7),l=Math.floor(s/30),u=Math.floor(s/365);return i<60?`${Math.max(1,i)} sec${i===1?``:`s`} ago`:a<60?`${a} min${a===1?``:`s`} ago`:o<24?`${o} hour${o===1?``:`s`} ago`:s<7?`${s} day${s===1?``:`s`} ago`:c<4?`${c} week${c===1?``:`s`} ago`:l<12?`${l} month${l===1?``:`s`} ago`:`${u} year${u===1?``:`s`} ago`},g=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),_=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),v=e=>e===void 0?Date.now():e*1e3,y=(t,n)=>(new Date().getTime()-t.getTime())/e<=n;exports.MS_PER_DAY=e,exports.calculateRelativeTime=h,exports.formatDate=p,exports.formatTimestampDate=_,exports.formatTxTimestamp=m,exports.getCurrentDayStart=u,exports.getCurrentTimeInSeconds=n,exports.getCurrentWeekStart=o,exports.getDelayUntilUtc8=l,exports.getEffectiveSevenDaysAgo=a,exports.getEffectiveToday=i,exports.getNextDayDelay=c,exports.getNextDayISO=f,exports.getPreviousWeekStart=s,exports.getUtcDayStart=d,exports.isSameDay=g,exports.isWithinDays=y,exports.msToISOString=r,exports.secondsToMs=v,exports.waitLittle=t;
|
|
@@ -16,4 +16,5 @@ export declare const formatTxTimestamp: (input: string) => string;
|
|
|
16
16
|
export declare const calculateRelativeTime: (targetDate: string) => string;
|
|
17
17
|
export declare const isSameDay: (a: Date, b: Date) => boolean;
|
|
18
18
|
export declare const formatTimestampDate: (date: Date) => string;
|
|
19
|
+
export declare const secondsToMs: (seconds?: number) => number;
|
|
19
20
|
export declare const isWithinDays: (date: Date, days: number) => boolean;
|
|
@@ -53,6 +53,6 @@ var e = 1e3 * 60 * 60 * 24, t = (e = 1e3) => new Promise((t) => {
|
|
|
53
53
|
month: "short",
|
|
54
54
|
day: "numeric",
|
|
55
55
|
year: "numeric"
|
|
56
|
-
}), v = (t, n) => ((/* @__PURE__ */ new Date()).getTime() - t.getTime()) / e <= n;
|
|
56
|
+
}), v = (e) => e === void 0 ? Date.now() : e * 1e3, y = (t, n) => ((/* @__PURE__ */ new Date()).getTime() - t.getTime()) / e <= n;
|
|
57
57
|
//#endregion
|
|
58
|
-
export { e as MS_PER_DAY, h as calculateRelativeTime, p as formatDate, _ as formatTimestampDate, m as formatTxTimestamp, u as getCurrentDayStart, n as getCurrentTimeInSeconds, o as getCurrentWeekStart, l as getDelayUntilUtc8, a as getEffectiveSevenDaysAgo, i as getEffectiveToday, c as getNextDayDelay, f as getNextDayISO, s as getPreviousWeekStart, d as getUtcDayStart, g as isSameDay,
|
|
58
|
+
export { e as MS_PER_DAY, h as calculateRelativeTime, p as formatDate, _ as formatTimestampDate, m as formatTxTimestamp, u as getCurrentDayStart, n as getCurrentTimeInSeconds, o as getCurrentWeekStart, l as getDelayUntilUtc8, a as getEffectiveSevenDaysAgo, i as getEffectiveToday, c as getNextDayDelay, f as getNextDayISO, s as getPreviousWeekStart, d as getUtcDayStart, g as isSameDay, y as isWithinDays, r as msToISOString, v as secondsToMs, t as waitLittle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/protocol.constants.cjs`);require(`../../types/index.cjs`);const n=require(`../../API/callOneInchAPI.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`./etherFunctions.cjs`);require(`../../constants/index.cjs`);const a=require(`../../error-handling/logger.cjs`)
|
|
1
|
+
const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/protocol.constants.cjs`);require(`../../types/index.cjs`);const n=require(`../../API/callOneInchAPI.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`./etherFunctions.cjs`);require(`../../constants/index.cjs`);const a=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const o=require(`./getContractMetadata.cjs`);var s=async(s,c,l,u,d=.7)=>{try{let r=await n.callOneInchAPI(s,{fromTokenAddress:c.erc20TokenAddress===t.zeroAddress?t.oneInchZeroAddress:c.erc20TokenAddress,toTokenAddress:l.erc20TokenAddress===t.zeroAddress?t.oneInchZeroAddress:l.erc20TokenAddress,fromAddress:t.zeroAddress,destReceiver:o.getContractMetadata(e.ContractType.OneInchExternalActionContract,s).address,amount:i.getAmountInWei(c,u),slippage:d,disableEstimate:!0,allowPartialFill:!1});if(!r||!r.tx)throw Error(`OneInch API price fetch error`);return{outSwapAmountValue:BigInt(r.toAmount),oneInchDataValue:r.tx.data}}catch(e){throw a.Logger.log({error:e}),Error(r.transactionErrorCodes.NO_ONEINCH_PRICE)}};exports.getOneInchPrice=s;
|
|
@@ -6,8 +6,8 @@ import { transactionErrorCodes as i } from "../../error-handling/error-codes.con
|
|
|
6
6
|
import { getAmountInWei as a } from "./etherFunctions.mjs";
|
|
7
7
|
import "../../constants/index.mjs";
|
|
8
8
|
import { Logger as o } from "../../error-handling/logger.mjs";
|
|
9
|
-
import { getContractMetadata as s } from "./getContractMetadata.mjs";
|
|
10
9
|
import "../../error-handling/index.mjs";
|
|
10
|
+
import { getContractMetadata as s } from "./getContractMetadata.mjs";
|
|
11
11
|
//#region libs/shared/common/src/functions/web3/oneInchAPI.ts
|
|
12
12
|
var c = async (c, l, u, d, f = .7) => {
|
|
13
13
|
try {
|