@hinkal/common 0.1.53 → 0.1.56
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/crypto/babyJub.cjs +1 -1
- package/crypto/babyJub.mjs +4 -4
- package/crypto/poseidon.cjs +1 -1
- package/crypto/poseidon.mjs +12 -12
- package/crypto/preProcessing.cjs +1 -1
- package/crypto/preProcessing.mjs +7 -5
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.mjs +6 -3
- package/data-structures/Hinkal/hinkalActionStake.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionStake.mjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +11 -8
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +8 -9
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.mjs +6 -7
- package/data-structures/event-service/AbstractAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/AbstractAccessTokenSnapshotService.mjs +9 -6
- package/data-structures/event-service/AbstractCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/AbstractCommitmentsSnapshotService.mjs +11 -8
- package/data-structures/event-service/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/AbstractEventService.mjs +24 -21
- package/data-structures/snapshot/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/ClientAccessTokenSnapshotService.mjs +6 -3
- package/data-structures/snapshot/ClientCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/ClientCommitmentsSnapshotService.mjs +6 -3
- package/data-structures/snapshot/ClientNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/ClientNullifierSnapshotService.mjs +7 -4
- package/data-structures/transactions-manager/TransactionsManager.cjs +1 -1
- package/data-structures/transactions-manager/TransactionsManager.mjs +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/functions/pre-transaction/outputUtxoProcessing.mjs +8 -5
- package/functions/pre-transaction/processAmountChanges.cjs +1 -1
- package/functions/pre-transaction/processAmountChanges.mjs +13 -10
- package/functions/protocols/pendle.helpers.cjs +1 -1
- package/functions/protocols/pendle.helpers.mjs +18 -16
- package/functions/staking/index.cjs +1 -1
- package/functions/staking/index.mjs +24 -22
- package/functions/utils/resolve-sync.utils.cjs +1 -1
- package/functions/utils/resolve-sync.utils.d.ts +1 -0
- package/functions/utils/resolve-sync.utils.mjs +12 -3
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.mjs +2 -2
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.mjs +14 -11
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +10 -7
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.mjs +23 -20
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.mjs +6 -3
- package/index.cjs +1 -1
- package/index.mjs +210 -209
- package/package.json +4 -2
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +4 -5
- package/providers/prepareWagmiv1Hinkal.cjs +1 -1
- package/providers/prepareWagmiv1Hinkal.mjs +4 -5
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AbstractAccessTokenSnapshotService as t } from "../event-service/AbstractAccessTokenSnapshotService.mjs";
|
|
2
|
-
import "circomlibjs";
|
|
3
2
|
import "ethers";
|
|
3
|
+
import "circomlibjs-hinkal-fork";
|
|
4
|
+
import "libsodium-wrappers";
|
|
5
|
+
import "process";
|
|
6
|
+
import "buffer";
|
|
4
7
|
import "../../constants/vite.constants.mjs";
|
|
5
8
|
import "../../constants/reorg-depths.constants.mjs";
|
|
6
9
|
import "axios";
|
|
@@ -9,7 +12,7 @@ import "../../types/circom-data.types.mjs";
|
|
|
9
12
|
import "../../types/transactions.types.mjs";
|
|
10
13
|
import "../../types/curve.types.mjs";
|
|
11
14
|
import { fetchAccessTokenSnapshot as s } from "../../API/fetchCommitmentsCache.mjs";
|
|
12
|
-
class
|
|
15
|
+
class u extends t {
|
|
13
16
|
constructor(r, e) {
|
|
14
17
|
super(r, 0, !1, e);
|
|
15
18
|
}
|
|
@@ -29,5 +32,5 @@ class A extends t {
|
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
export {
|
|
32
|
-
|
|
35
|
+
u as ClientAccessTokenSnapshotService
|
|
33
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("circomlibjs");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("ethers");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/vite.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("axios");require("../../constants/chains.constants.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/curve.types.cjs");const r=require("../../API/fetchCommitmentsCache.cjs"),i=require("../event-service/AbstractCommitmentsSnapshotService.cjs");class s extends i.AbstractCommitmentsSnapshotService{constructor(t,e){super(t,0,!1,e)}async fetchSnapshot(){const{chainId:t}=await this.contract.provider.getNetwork(),e=await r.fetchCommitmentsSnapshot(t);if(e.hinkalAddress!==this.contract.address||e.chainId!==t)throw Error("Commitment Snapshot: incorrect contract or chain id");return{latestBlockNumber:e.latestBlockNumber,merkleTree:e.merkleTree,encryptedOutputs:e.encryptedOutputs}}persistSnapshot(t){return Promise.resolve()}}exports.ClientCommitmentsSnapshotService=s;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import "circomlibjs";
|
|
2
1
|
import "ethers";
|
|
2
|
+
import "circomlibjs-hinkal-fork";
|
|
3
|
+
import "libsodium-wrappers";
|
|
4
|
+
import "process";
|
|
5
|
+
import "buffer";
|
|
3
6
|
import "../../constants/vite.constants.mjs";
|
|
4
7
|
import "../../constants/reorg-depths.constants.mjs";
|
|
5
8
|
import "axios";
|
|
@@ -9,7 +12,7 @@ import "../../types/transactions.types.mjs";
|
|
|
9
12
|
import "../../types/curve.types.mjs";
|
|
10
13
|
import { fetchCommitmentsSnapshot as e } from "../../API/fetchCommitmentsCache.mjs";
|
|
11
14
|
import { AbstractCommitmentsSnapshotService as o } from "../event-service/AbstractCommitmentsSnapshotService.mjs";
|
|
12
|
-
class
|
|
15
|
+
class v extends o {
|
|
13
16
|
constructor(r, t) {
|
|
14
17
|
super(r, 0, !1, t);
|
|
15
18
|
}
|
|
@@ -28,5 +31,5 @@ class f extends o {
|
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
export {
|
|
31
|
-
|
|
34
|
+
v as ClientCommitmentsSnapshotService
|
|
32
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("circomlibjs");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("ethers");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/vite.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("axios");require("../../constants/chains.constants.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/curve.types.cjs");const i=require("../../API/fetchNullifiers.cjs"),t=require("../event-service/AbstractNullifierSnapshotService.cjs");class s extends t.AbstractNullifierSnapshotService{constructor(e,r){super(e,0,!1,r)}async fetchSnapshot(){const{chainId:e}=await this.contract.provider.getNetwork(),r=await i.fetchNullifiers(e);return{latestBlockNumber:r.latestBlockNumber,nullifiers:r.nullifiers}}persistSnapshot(e){return Promise.resolve()}}exports.ClientNullifierSnapshotService=s;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import "circomlibjs";
|
|
2
1
|
import "ethers";
|
|
2
|
+
import "circomlibjs-hinkal-fork";
|
|
3
|
+
import "libsodium-wrappers";
|
|
4
|
+
import "process";
|
|
5
|
+
import "buffer";
|
|
3
6
|
import "../../constants/vite.constants.mjs";
|
|
4
7
|
import "../../constants/reorg-depths.constants.mjs";
|
|
5
8
|
import "axios";
|
|
@@ -8,8 +11,8 @@ import "../../types/circom-data.types.mjs";
|
|
|
8
11
|
import "../../types/transactions.types.mjs";
|
|
9
12
|
import "../../types/curve.types.mjs";
|
|
10
13
|
import { fetchNullifiers as i } from "../../API/fetchNullifiers.mjs";
|
|
11
|
-
import { AbstractNullifierSnapshotService as
|
|
12
|
-
class
|
|
14
|
+
import { AbstractNullifierSnapshotService as o } from "../event-service/AbstractNullifierSnapshotService.mjs";
|
|
15
|
+
class b extends o {
|
|
13
16
|
constructor(t, r) {
|
|
14
17
|
super(t, 0, !1, r);
|
|
15
18
|
}
|
|
@@ -25,5 +28,5 @@ class N extends e {
|
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
export {
|
|
28
|
-
|
|
31
|
+
b as ClientNullifierSnapshotService
|
|
29
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("axios");require("../../constants/coingecko.constants.cjs");const y=require("../../API/API.cjs");require("ethers");require("../../types/curve.types.cjs");const A=require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const k=require("../../functions/snarkjs/generateZkProof.cjs");require("../../types/circom-data.types.cjs");const q=require("../../types/transactions.types.cjs"),I=require("../../types/time.types.cjs"),x=require("./history/getTxDetails.cjs");require("circomlibjs");const P=require("../../error-handling/error-codes.constants.cjs"),w=require("../crypto-keys/keys.cjs"),C=require("../crypto-keys/encryptDecryptUtxo.cjs"),p=require("../../functions/utils/getDataFromTransaction.cjs"),S=require("../../functions/utils/cacheFunctions.cjs");class v{circuitSize=50;hinkalContract;init(e){this.hinkalContract=e}requireInit(){if(!this.hinkalContract)throw Error("TransactionsManager not initialized")}filterOwnTransactions=async(e,t,r,n)=>{const{transactMethodId:s,transactWithExternalActionMethodId:a,hinkalInterface:i}=A.getHinkalParameters(T.getNonLocalhostChainId(e)),c=o=>"decodedInput"in o,d=t.filter(o=>o.methodId===s||o.methodId===a).map(o=>c(o)?o:{...o,decodedInput:p.decodeTxInput(i,o.input),status:o.isError==="0"?"SUCCESS":"FAILURE"}),h=r.getShieldedPrivateKey();return d.filter(o=>{try{if(c(o)){if(C.decryptUtxo(Buffer.from(o.decodedInput.encryptedOutputs[0].slice(2),"hex"),r),!n&&o.methodId===s){const{extraRandomization:f,H0:g,H1:m}=o.decodedInput.stealthAddressStructure;return w.UserKeys.checkSignature(f,g,m,h)}return!0}return!1}catch{return!1}})};saveTxsInStorage=(e,t,r,n)=>{const s=r.getShieldedPublicKey();return S.saveTxsCache(e,t,s,this.hinkalContract.address,n)};loadTxsFromStorage=async(e,t)=>{const r=t.getShieldedPublicKey();return await S.loadTxsCache(e,r,this.hinkalContract.address)};getAllTransactions=async(e,t,r)=>{if(r){const{transactions:i}=await y.API.userGetTransactions(e,r);return i}const{decodedTxs:n,lastHash:s}=await this.loadTxsFromStorage(e,t),{transactions:a}=await y.API.userGetTransactions(e,r,s);return[...a,...n]};getHinkalHistoryBase=async(e,t,r,n=!1)=>{this.requireInit();const s=await this.getAllTransactions(e,t,r)??[];s.sort((i,c)=>c.timeStamp-i.timeStamp);const a=await this.filterOwnTransactions(e,s,t,n);return!r&&s.length>0&&await this.saveTxsInStorage(a,e,t,s[0].hash),a};getHinkalHistory=async(e,t)=>{const r=await this.getHinkalHistoryBase(e,t,void 0,!0),n=p.decodeTxLogs(e,r);return await Promise.all(n.map(async a=>({...a,status:a.status,details:await x.getTxDetails(e,a.decodedInput,a.utxosArray)})))};sortInBatches=e=>{const t=[];let r=0,n=0;e.forEach(i=>{r===0&&t.push([]),t[n].push(i),r+=1,r===this.circuitSize&&(r=0,n+=1)});const s=t[t.length-1],a=s.length;if(a<this.circuitSize){const i=this.circuitSize-a,c=new Array(i).fill(q.emptyDecodedTx);t[t.length-1]=s.concat(c)}return t};generateTransactionsProof=async(e,t,r)=>{const n=this.sortInBatches(t),s=new Array(n.length).fill([]);for(let a=0;a<n.length;a+=1){const i=n[a].map(u=>u.decodedInput.stealthAddressStructure),c=i.map(u=>u.extraRandomization),l=i.map(u=>u.stealthAddress),d={shieldedPrivateKey:r,extraRandomizations:c,stealthAddresses:l},{zkCallData:h}=await k.generateZkProof(e,"transactionsProver",d);s[a]=h}return{zkCallDataArray:s}};userVerifyTransactions=async(e,t,r,n,s,a)=>await y.API.userVerifyTransactions(e,t,r,n,s,a);processAndSendTransactionsForVerification=async(e,t,r,n)=>{this.requireInit();const s=I.getCurrentWeek(),a=n?s-1:s,i=await this.getHinkalHistoryBase(e,t,a);let c=[],l=[];i.length>0&&({zkCallDataArray:l}=await this.generateTransactionsProof(e,i,t.getShieldedPrivateKey()),c=i.map(g=>g.hash));const d=t.getBackendToken(),{trade:h,transactions:u,lockedDeposit:o,verification:f}=await this.userVerifyTransactions(e,c,l,d,r,a);return{trade:h,transactions:u,lockedDeposit:o,verification:f}};multiProcessAndSendTransactionsForVerification=async(e,t)=>{const r=T.chainIdsByType[T.EthereumNetworkType.Mainnet];let n=!0;for(let s=0;s<r.length;s+=1)try{const{hasCertified:a}=await y.API.verificationStartDate(r[s],t);if(a)continue;const{verification:i}=await this.processAndSendTransactionsForVerification(r[s],e,t,!0);if(n=n&&i,!n)break}catch(a){console.log(`current chain ${r[s]} certification error`,{err:a}),n=!1;break}if(!n)throw Error(P.transactionErrorCodes.MULTI_VERIFICATION_FAILED);return!0}}exports.TransactionsManager=v;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("axios");require("../../constants/coingecko.constants.cjs");const y=require("../../API/API.cjs");require("ethers");require("../../types/curve.types.cjs");const A=require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const k=require("../../functions/snarkjs/generateZkProof.cjs");require("../../types/circom-data.types.cjs");const q=require("../../types/transactions.types.cjs"),I=require("../../types/time.types.cjs"),x=require("./history/getTxDetails.cjs");require("circomlibjs-hinkal-fork");const P=require("../../error-handling/error-codes.constants.cjs"),w=require("../crypto-keys/keys.cjs"),C=require("../crypto-keys/encryptDecryptUtxo.cjs"),p=require("../../functions/utils/getDataFromTransaction.cjs"),S=require("../../functions/utils/cacheFunctions.cjs");class v{circuitSize=50;hinkalContract;init(e){this.hinkalContract=e}requireInit(){if(!this.hinkalContract)throw Error("TransactionsManager not initialized")}filterOwnTransactions=async(e,t,r,n)=>{const{transactMethodId:s,transactWithExternalActionMethodId:a,hinkalInterface:i}=A.getHinkalParameters(T.getNonLocalhostChainId(e)),c=o=>"decodedInput"in o,d=t.filter(o=>o.methodId===s||o.methodId===a).map(o=>c(o)?o:{...o,decodedInput:p.decodeTxInput(i,o.input),status:o.isError==="0"?"SUCCESS":"FAILURE"}),h=r.getShieldedPrivateKey();return d.filter(o=>{try{if(c(o)){if(C.decryptUtxo(Buffer.from(o.decodedInput.encryptedOutputs[0].slice(2),"hex"),r),!n&&o.methodId===s){const{extraRandomization:f,H0:g,H1:m}=o.decodedInput.stealthAddressStructure;return w.UserKeys.checkSignature(f,g,m,h)}return!0}return!1}catch{return!1}})};saveTxsInStorage=(e,t,r,n)=>{const s=r.getShieldedPublicKey();return S.saveTxsCache(e,t,s,this.hinkalContract.address,n)};loadTxsFromStorage=async(e,t)=>{const r=t.getShieldedPublicKey();return await S.loadTxsCache(e,r,this.hinkalContract.address)};getAllTransactions=async(e,t,r)=>{if(r){const{transactions:i}=await y.API.userGetTransactions(e,r);return i}const{decodedTxs:n,lastHash:s}=await this.loadTxsFromStorage(e,t),{transactions:a}=await y.API.userGetTransactions(e,r,s);return[...a,...n]};getHinkalHistoryBase=async(e,t,r,n=!1)=>{this.requireInit();const s=await this.getAllTransactions(e,t,r)??[];s.sort((i,c)=>c.timeStamp-i.timeStamp);const a=await this.filterOwnTransactions(e,s,t,n);return!r&&s.length>0&&await this.saveTxsInStorage(a,e,t,s[0].hash),a};getHinkalHistory=async(e,t)=>{const r=await this.getHinkalHistoryBase(e,t,void 0,!0),n=p.decodeTxLogs(e,r);return await Promise.all(n.map(async a=>({...a,status:a.status,details:await x.getTxDetails(e,a.decodedInput,a.utxosArray)})))};sortInBatches=e=>{const t=[];let r=0,n=0;e.forEach(i=>{r===0&&t.push([]),t[n].push(i),r+=1,r===this.circuitSize&&(r=0,n+=1)});const s=t[t.length-1],a=s.length;if(a<this.circuitSize){const i=this.circuitSize-a,c=new Array(i).fill(q.emptyDecodedTx);t[t.length-1]=s.concat(c)}return t};generateTransactionsProof=async(e,t,r)=>{const n=this.sortInBatches(t),s=new Array(n.length).fill([]);for(let a=0;a<n.length;a+=1){const i=n[a].map(u=>u.decodedInput.stealthAddressStructure),c=i.map(u=>u.extraRandomization),l=i.map(u=>u.stealthAddress),d={shieldedPrivateKey:r,extraRandomizations:c,stealthAddresses:l},{zkCallData:h}=await k.generateZkProof(e,"transactionsProver",d);s[a]=h}return{zkCallDataArray:s}};userVerifyTransactions=async(e,t,r,n,s,a)=>await y.API.userVerifyTransactions(e,t,r,n,s,a);processAndSendTransactionsForVerification=async(e,t,r,n)=>{this.requireInit();const s=I.getCurrentWeek(),a=n?s-1:s,i=await this.getHinkalHistoryBase(e,t,a);let c=[],l=[];i.length>0&&({zkCallDataArray:l}=await this.generateTransactionsProof(e,i,t.getShieldedPrivateKey()),c=i.map(g=>g.hash));const d=t.getBackendToken(),{trade:h,transactions:u,lockedDeposit:o,verification:f}=await this.userVerifyTransactions(e,c,l,d,r,a);return{trade:h,transactions:u,lockedDeposit:o,verification:f}};multiProcessAndSendTransactionsForVerification=async(e,t)=>{const r=T.chainIdsByType[T.EthereumNetworkType.Mainnet];let n=!0;for(let s=0;s<r.length;s+=1)try{const{hasCertified:a}=await y.API.verificationStartDate(r[s],t);if(a)continue;const{verification:i}=await this.processAndSendTransactionsForVerification(r[s],e,t,!0);if(n=n&&i,!n)break}catch(a){console.log(`current chain ${r[s]} certification error`,{err:a}),n=!1;break}if(!n)throw Error(P.transactionErrorCodes.MULTI_VERIFICATION_FAILED);return!0}}exports.TransactionsManager=v;
|
|
@@ -15,7 +15,7 @@ import "../../types/circom-data.types.mjs";
|
|
|
15
15
|
import { emptyDecodedTx as I } from "../../types/transactions.types.mjs";
|
|
16
16
|
import { getCurrentWeek as x } from "../../types/time.types.mjs";
|
|
17
17
|
import { getTxDetails as w } from "./history/getTxDetails.mjs";
|
|
18
|
-
import "circomlibjs";
|
|
18
|
+
import "circomlibjs-hinkal-fork";
|
|
19
19
|
import { transactionErrorCodes as C } from "../../error-handling/error-codes.constants.mjs";
|
|
20
20
|
import { UserKeys as P } from "../crypto-keys/keys.mjs";
|
|
21
21
|
import { decryptUtxo as H } from "../crypto-keys/encryptDecryptUtxo.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../data-structures/utxo/Utxo.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../data-structures/utxo/Utxo.cjs"),q=require("../../error-handling/error-codes.constants.cjs");require("ethers");require("axios");require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/curve.types.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/reorg-depths.constants.cjs");const c=(o,t,e,u,i)=>{let r=0n;if(t.forEach(s=>{r+=s.amount}),e<0n&&r+e<0n)throw Error(q.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);return{outputUtxos:[new n.Utxo({amount:r+e,erc20TokenAddress:t[0].erc20TokenAddress,shieldedPrivateKey:o.getShieldedPrivateKey(),timeStamp:u,tokenId:i})]}};exports.outputUtxoProcessing=c;
|
|
@@ -7,9 +7,12 @@ import "../../constants/vite.constants.mjs";
|
|
|
7
7
|
import "../../types/circom-data.types.mjs";
|
|
8
8
|
import "../../types/transactions.types.mjs";
|
|
9
9
|
import "../../types/curve.types.mjs";
|
|
10
|
-
import "circomlibjs";
|
|
10
|
+
import "circomlibjs-hinkal-fork";
|
|
11
|
+
import "libsodium-wrappers";
|
|
12
|
+
import "process";
|
|
13
|
+
import "buffer";
|
|
11
14
|
import "../../constants/reorg-depths.constants.mjs";
|
|
12
|
-
const
|
|
15
|
+
const P = (i, r, o, e, m) => {
|
|
13
16
|
let t = 0n;
|
|
14
17
|
if (r.forEach((p) => {
|
|
15
18
|
t += p.amount;
|
|
@@ -19,12 +22,12 @@ const S = (e, r, o, i, m) => {
|
|
|
19
22
|
new s({
|
|
20
23
|
amount: t + o,
|
|
21
24
|
erc20TokenAddress: r[0].erc20TokenAddress,
|
|
22
|
-
shieldedPrivateKey:
|
|
23
|
-
timeStamp:
|
|
25
|
+
shieldedPrivateKey: i.getShieldedPrivateKey(),
|
|
26
|
+
timeStamp: e,
|
|
24
27
|
tokenId: m
|
|
25
28
|
})
|
|
26
29
|
] };
|
|
27
30
|
};
|
|
28
31
|
export {
|
|
29
|
-
|
|
32
|
+
P as outputUtxoProcessing
|
|
30
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../constants/fees.constants.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../constants/fees.constants.cjs"),d=require("../../error-handling/customErrors/FeeOverTransactionValueError.cjs"),y=require("../utils/amounts.utils.cjs");require("ethers");require("axios");require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");const O=require("../../types/beefy.types.cjs");require("../../types/circom-data.types.cjs");const e=require("../../types/hinkal.types.cjs"),c=require("../../types/slippage.types.cjs");require("../../types/transactions.types.cjs");require("../../types/curve.types.cjs");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/reorg-depths.constants.cjs");const _=require("./interaction-to-action.cjs"),N=(t,A,r)=>{const l=y.absBigInt(t)-A;if(A<0n)throw new d.FeeOverTransactionValueError({totalFeeWEI:l,feeUnit:r});return A},F=({erc20Addresses:t=[],amountChanges:A,flatFees:r,feeUnit:I,externalActionId:l,action:p,gasTokenAddress:b})=>{const i=_.getInteractionFromAction(l,p);if(i===e.INTERACTION.NONE)throw Error("No interaction was choosen");switch(i){case e.INTERACTION.WITHDRAW:{N(A[0],T.getAmountAfterRelayAndFlatFees(A[0],r[0],!0),I);break}case e.INTERACTION.SWAP:{A[1]=N(A[1],T.getAmountAfterRelayAndFlatFeesAndSlippage(A[1],r[1],c.SlippageType.Swap),I);break}case e.INTERACTION.CURVE_DEPOSIT:{const E=A.length-1;A[E]=N(A[E],T.getAmountAfterRelayAndFlatFeesAndSlippage(A[E],r[E],c.SlippageType.CurveDeposit),I);break}case e.INTERACTION.CURVE_WITHDRAW:r.forEach((E,R)=>{E>0n?A[R]=N(A[R],T.getAmountAfterRelayAndFlatFeesAndSlippage(A[R],E,c.SlippageType.CurveWithdraw),I):E===0n&&A[R]>0n&&R!==r.length-1&&(A[R]=T.getAmountAfterSlippage(A[R],c.SlippageType.CurveWithdraw))});break;case e.INTERACTION.CURVE_WITHDRAW_INBALANCED:break;case e.INTERACTION.STAKING:A[0]=N(A[0],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.UNSTAKING:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[0],r[0]),I);break;case e.INTERACTION.CLAIMING:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.BEEFY:{const E=O.isBeefyDeposit(p)?1:0;A[E]=N(A[E],T.getAmountAfterRelayAndFlatFeesAndSlippage(A[E],r[E],c.SlippageType.Beefy),I);break}case e.INTERACTION.BEEFY_STAKE:A[0]=N(A[0],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.BEEFY_UNSTAKE:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[0],r[0]),I);break;case e.INTERACTION.BEEFY_GET_REWARDS:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.LIDO_STAKE:A[0]=N(A[0],T.getAmountAfterRelayAndFlatFees(A[0],r[0]),I);break;case e.INTERACTION.LIDO_REQUEST:N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.LIDO_CLAIM:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.PENDLE_TRANSACT:A[0]<0n&&N(A[0],T.getAmountAfterRelayAndFlatFees(A[0],r[0],!0),I);break;case e.INTERACTION.PENDLE_YT_IN_SWAP:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.PENDLE_YT_OUT_SWAP:break;case e.INTERACTION.PENDLE_PT_SWAP:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.PENDLE_MINT:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.PENDLE_REDEEM:A[2]=N(A[2],T.getAmountAfterRelayAndFlatFees(A[2],r[2]),I);break;case e.INTERACTION.PENDLE_CLAIM:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break;case e.INTERACTION.PENDLE_LP:{const E=A.findIndex(R=>R>0n);A[E]=N(A[E],T.getAmountAfterRelayAndFlatFeesAndSlippage(A[E],r[E],c.SlippageType.Pendle));break}case e.INTERACTION.PENDLE_LP_CLAIM:A[1]=N(A[1],T.getAmountAfterRelayAndFlatFees(A[1],r[1]),I);break}return A};exports.processAmountChanges=F;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getAmountAfterRelayAndFlatFees as I, getAmountAfterRelayAndFlatFeesAndSlippage as N, getAmountAfterSlippage as
|
|
1
|
+
import { getAmountAfterRelayAndFlatFees as I, getAmountAfterRelayAndFlatFeesAndSlippage as N, getAmountAfterSlippage as L } from "../../constants/fees.constants.mjs";
|
|
2
2
|
import { FeeOverTransactionValueError as S } from "../../error-handling/customErrors/FeeOverTransactionValueError.mjs";
|
|
3
3
|
import { absBigInt as W } from "../utils/amounts.utils.mjs";
|
|
4
4
|
import "ethers";
|
|
@@ -11,7 +11,10 @@ import { INTERACTION as c } from "../../types/hinkal.types.mjs";
|
|
|
11
11
|
import { SlippageType as b } from "../../types/slippage.types.mjs";
|
|
12
12
|
import "../../types/transactions.types.mjs";
|
|
13
13
|
import "../../types/curve.types.mjs";
|
|
14
|
-
import "circomlibjs";
|
|
14
|
+
import "circomlibjs-hinkal-fork";
|
|
15
|
+
import "libsodium-wrappers";
|
|
16
|
+
import "process";
|
|
17
|
+
import "buffer";
|
|
15
18
|
import "../../constants/reorg-depths.constants.mjs";
|
|
16
19
|
import { getInteractionFromAction as d } from "./interaction-to-action.mjs";
|
|
17
20
|
const p = (D, r, E) => {
|
|
@@ -22,19 +25,19 @@ const p = (D, r, E) => {
|
|
|
22
25
|
feeUnit: E
|
|
23
26
|
});
|
|
24
27
|
return r;
|
|
25
|
-
},
|
|
28
|
+
}, l = ({
|
|
26
29
|
erc20Addresses: D = [],
|
|
27
30
|
amountChanges: r,
|
|
28
31
|
flatFees: E,
|
|
29
32
|
feeUnit: A,
|
|
30
33
|
externalActionId: T,
|
|
31
|
-
action:
|
|
34
|
+
action: i,
|
|
32
35
|
gasTokenAddress: w
|
|
33
36
|
}) => {
|
|
34
|
-
const
|
|
35
|
-
if (
|
|
37
|
+
const P = d(T, i);
|
|
38
|
+
if (P === c.NONE)
|
|
36
39
|
throw Error("No interaction was choosen");
|
|
37
|
-
switch (
|
|
40
|
+
switch (P) {
|
|
38
41
|
case c.WITHDRAW: {
|
|
39
42
|
p(
|
|
40
43
|
r[0],
|
|
@@ -66,7 +69,7 @@ const p = (D, r, E) => {
|
|
|
66
69
|
r[_],
|
|
67
70
|
N(r[_], k, b.CurveWithdraw),
|
|
68
71
|
A
|
|
69
|
-
) : k === 0n && r[_] > 0n && _ !== E.length - 1 && (r[_] =
|
|
72
|
+
) : k === 0n && r[_] > 0n && _ !== E.length - 1 && (r[_] = L(r[_], b.CurveWithdraw));
|
|
70
73
|
});
|
|
71
74
|
break;
|
|
72
75
|
case c.CURVE_WITHDRAW_INBALANCED:
|
|
@@ -93,7 +96,7 @@ const p = (D, r, E) => {
|
|
|
93
96
|
);
|
|
94
97
|
break;
|
|
95
98
|
case c.BEEFY: {
|
|
96
|
-
const k = R(
|
|
99
|
+
const k = R(i) ? 1 : 0;
|
|
97
100
|
r[k] = p(
|
|
98
101
|
r[k],
|
|
99
102
|
N(
|
|
@@ -210,5 +213,5 @@ const p = (D, r, E) => {
|
|
|
210
213
|
return r;
|
|
211
214
|
};
|
|
212
215
|
export {
|
|
213
|
-
|
|
216
|
+
l as processAmountChanges
|
|
214
217
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");const o=require("../../constants/server.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const i=require("../utils/caseInsensitive.utils.cjs");require("../../types/circom-data.types.cjs");const s=require("../../types/hinkal.types.cjs");require("../../types/transactions.types.cjs");const n=require("../../types/pendle.types.cjs");require("../../types/curve.types.cjs");require("ethers");require("circomlibjs");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");const o=require("../../constants/server.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const i=require("../utils/caseInsensitive.utils.cjs");require("../../types/circom-data.types.cjs");const s=require("../../types/hinkal.types.cjs");require("../../types/transactions.types.cjs");const n=require("../../types/pendle.types.cjs");require("../../types/curve.types.cjs");require("ethers");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("idb-keyval");require("../utils/external-action.utils.cjs");const c=require("../utils/erc20tokenFunctions.cjs");require("../utils/convertIntegrationProviderToExternalActionId.cjs");require("axios");require("process");require("buffer");require("../utils/userAgent.cjs");require("../../data-structures/custom-token-registry/CustomTokenRegistry.cjs");require("../../data-structures/volatile-helper/VolatileHelper.cjs");const T=require("../utils/enum.utils.cjs");function P(e){if(!e)return;const r=c.getERC20Token(e.address,e.chainId);if(!r?.isVolatile)return r}function w(e,r){if(!e||!r)return;let t;switch(r){case n.PendleAssetType.YT:t=e?.yt;break;case n.PendleAssetType.PT:t=e?.pt;break;case n.PendleAssetType.PENDLE_LP:t=e?.lp;break;case n.PendleAssetType.SY:t=e?.sy;break;default:t=void 0;break}return t}const q=(e,r,t)=>{if(i.caseInsensitiveEqual(e.yt.address,t.erc20TokenAddress))return n.PendleSwapType.SwapExactTokenForYt;if(i.caseInsensitiveEqual(e.pt.address,t.erc20TokenAddress))return n.PendleSwapType.SwapExactTokenForPt;if(i.caseInsensitiveEqual(e.yt.address,r.erc20TokenAddress))return n.PendleSwapType.SwapExactYtForToken;if(i.caseInsensitiveEqual(e.pt.address,r.erc20TokenAddress))return n.PendleSwapType.SwapExactPtForToken},F=e=>{let r;switch(e){case n.PendleSwapType.SwapExactTokenForYt:r=o.API_CONFIG.ROUTES.pendleSwapExactTokenForYT;break;case n.PendleSwapType.SwapExactTokenForPt:r=o.API_CONFIG.ROUTES.pendleSwapExactTokenForPt;break;case n.PendleSwapType.SwapExactYtForToken:r=o.API_CONFIG.ROUTES.pendleSwapExactYtForToken;break;case n.PendleSwapType.SwapExactPtForToken:r=o.API_CONFIG.ROUTES.pendleSwapExactPtForToken;break;default:throw new Error("Cant determine Pendle Swap Type Api Route")}return r},k=(e,r,t,a)=>{if(!T.isInEnum(s.PendleAction,e))throw new Error("getTokenIndexForPendleFlatFee: Invalid Pendle Action");if(a)return t.findIndex(d=>d.toLowerCase()===a?.toLowerCase());const l=r.findIndex(d=>d>0n),p=r.length-1;if(r[p]<=0n)throw new Error("getTokenIndexForPendleFlatFee: Last token in amountChange is not > 0");let u=l;return(e===s.PendleAction.Mint||e===s.PendleAction.Redeem||e===s.PendleAction.PoolRemove)&&(u=l),u};exports.determinePendleSwapType=q;exports.determinePendleSwapTypeApiRoute=F;exports.erc20TokenFromPendleAsset=P;exports.getAssetTypeFromPendleMarket=w;exports.getTokenIndexForPendleFlatFee=k;
|
|
@@ -14,25 +14,27 @@ import "../../types/transactions.types.mjs";
|
|
|
14
14
|
import { PendleAssetType as d, PendleSwapType as o } from "../../types/pendle.types.mjs";
|
|
15
15
|
import "../../types/curve.types.mjs";
|
|
16
16
|
import "ethers";
|
|
17
|
-
import "circomlibjs";
|
|
18
|
-
import "
|
|
17
|
+
import "circomlibjs-hinkal-fork";
|
|
18
|
+
import "libsodium-wrappers";
|
|
19
19
|
import "idb-keyval";
|
|
20
20
|
import "../utils/external-action.utils.mjs";
|
|
21
21
|
import { getERC20Token as T } from "../utils/erc20tokenFunctions.mjs";
|
|
22
22
|
import "../utils/convertIntegrationProviderToExternalActionId.mjs";
|
|
23
23
|
import "axios";
|
|
24
|
+
import "process";
|
|
25
|
+
import "buffer";
|
|
24
26
|
import "../utils/userAgent.mjs";
|
|
25
27
|
import "../../data-structures/custom-token-registry/CustomTokenRegistry.mjs";
|
|
26
28
|
import "../../data-structures/volatile-helper/VolatileHelper.mjs";
|
|
27
29
|
import { isInEnum as k } from "../utils/enum.utils.mjs";
|
|
28
|
-
function
|
|
30
|
+
function z(e) {
|
|
29
31
|
if (!e)
|
|
30
32
|
return;
|
|
31
33
|
const r = T(e.address, e.chainId);
|
|
32
34
|
if (!r?.isVolatile)
|
|
33
35
|
return r;
|
|
34
36
|
}
|
|
35
|
-
function
|
|
37
|
+
function H(e, r) {
|
|
36
38
|
if (!e || !r)
|
|
37
39
|
return;
|
|
38
40
|
let t;
|
|
@@ -55,7 +57,7 @@ function j(e, r) {
|
|
|
55
57
|
}
|
|
56
58
|
return t;
|
|
57
59
|
}
|
|
58
|
-
const
|
|
60
|
+
const J = (e, r, t) => {
|
|
59
61
|
if (i(e.yt.address, t.erc20TokenAddress))
|
|
60
62
|
return o.SwapExactTokenForYt;
|
|
61
63
|
if (i(e.pt.address, t.erc20TokenAddress))
|
|
@@ -64,7 +66,7 @@ const z = (e, r, t) => {
|
|
|
64
66
|
return o.SwapExactYtForToken;
|
|
65
67
|
if (i(e.pt.address, r.erc20TokenAddress))
|
|
66
68
|
return o.SwapExactPtForToken;
|
|
67
|
-
},
|
|
69
|
+
}, K = (e) => {
|
|
68
70
|
let r;
|
|
69
71
|
switch (e) {
|
|
70
72
|
case o.SwapExactTokenForYt:
|
|
@@ -83,23 +85,23 @@ const z = (e, r, t) => {
|
|
|
83
85
|
throw new Error("Cant determine Pendle Swap Type Api Route");
|
|
84
86
|
}
|
|
85
87
|
return r;
|
|
86
|
-
},
|
|
88
|
+
}, Q = (e, r, t, s) => {
|
|
87
89
|
if (!k(p, e))
|
|
88
90
|
throw new Error("getTokenIndexForPendleFlatFee: Invalid Pendle Action");
|
|
89
91
|
if (s)
|
|
90
92
|
return t.findIndex(
|
|
91
93
|
(a) => a.toLowerCase() === s?.toLowerCase()
|
|
92
94
|
);
|
|
93
|
-
const c = r.findIndex((a) => a > 0n),
|
|
94
|
-
if (r[
|
|
95
|
+
const c = r.findIndex((a) => a > 0n), l = r.length - 1;
|
|
96
|
+
if (r[l] <= 0n)
|
|
95
97
|
throw new Error("getTokenIndexForPendleFlatFee: Last token in amountChange is not > 0");
|
|
96
|
-
let
|
|
97
|
-
return (e === p.Mint || e === p.Redeem || e === p.PoolRemove) && (
|
|
98
|
+
let m = c;
|
|
99
|
+
return (e === p.Mint || e === p.Redeem || e === p.PoolRemove) && (m = c), m;
|
|
98
100
|
};
|
|
99
101
|
export {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
J as determinePendleSwapType,
|
|
103
|
+
K as determinePendleSwapTypeApiRoute,
|
|
104
|
+
z as erc20TokenFromPendleAsset,
|
|
105
|
+
H as getAssetTypeFromPendleMarket,
|
|
106
|
+
Q as getTokenIndexForPendleFlatFee
|
|
105
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("ethers"),y=require("../../data-structures/crypto-keys/keys.cjs"),s=require("libsodium-wrappers"),c=require("../../crypto/poseidon.cjs");require("circomlibjs-hinkal-fork");require("process");require("buffer");const f=(e,t,r)=>{const n=i.ethers.utils.defaultAbiCoder.encode(["uint256","address"],[e,t]),a=s.crypto_box_seal(n,i.ethers.utils.arrayify(r));return`0x${Buffer.from(a).toString("hex")}`},p=(e,t)=>{const r=Buffer.from(e.slice(2),"hex"),{publicKey:n,privateKey:a}=y.UserKeys.getEncryptionKeyPair(t.getShieldedPrivateKey());try{const o=s.crypto_box_seal_open(r,i.ethers.utils.arrayify(n),i.ethers.utils.arrayify(a)),d=Buffer.from(o).toString("utf-8"),[u,l]=i.ethers.utils.defaultAbiCoder.decode(["uint256","address"],d);return{stakeBlinding:u.toBigInt(),stakedTokenRecipient:l}}catch{console.log("failed to decrypt");return}},S=(e,t,r,n,a,o)=>BigInt(c.poseidonHash(...[e,t,r,n,a,o].map(BigInt))),k=(e,t)=>c.poseidonHash(e,t),g=(e,t,r,n,a)=>i.ethers.utils.defaultAbiCoder.encode(["uint8","uint256","address","bytes","bytes"],[e,t,r,n,a]);exports.calculateStakeNullifier=k;exports.createStakeCommitment=S;exports.decryptStake=p;exports.encodeHStakeMetadata=g;exports.encryptStake=f;
|
|
@@ -1,40 +1,42 @@
|
|
|
1
|
-
import { ethers as
|
|
2
|
-
import { UserKeys as
|
|
1
|
+
import { ethers as n } from "ethers";
|
|
2
|
+
import { UserKeys as y } from "../../data-structures/crypto-keys/keys.mjs";
|
|
3
3
|
import s from "libsodium-wrappers";
|
|
4
4
|
import { poseidonHash as c } from "../../crypto/poseidon.mjs";
|
|
5
|
-
import "circomlibjs";
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import "circomlibjs-hinkal-fork";
|
|
6
|
+
import "process";
|
|
7
|
+
import "buffer";
|
|
8
|
+
const B = (t, e, r) => {
|
|
9
|
+
const o = n.utils.defaultAbiCoder.encode(
|
|
8
10
|
["uint256", "address"],
|
|
9
11
|
[t, e]
|
|
10
|
-
),
|
|
11
|
-
return `0x${Buffer.from(
|
|
12
|
-
},
|
|
13
|
-
const r = Buffer.from(t.slice(2), "hex"), { publicKey: o, privateKey:
|
|
12
|
+
), i = s.crypto_box_seal(o, n.utils.arrayify(r));
|
|
13
|
+
return `0x${Buffer.from(i).toString("hex")}`;
|
|
14
|
+
}, h = (t, e) => {
|
|
15
|
+
const r = Buffer.from(t.slice(2), "hex"), { publicKey: o, privateKey: i } = y.getEncryptionKeyPair(e.getShieldedPrivateKey());
|
|
14
16
|
try {
|
|
15
17
|
const a = s.crypto_box_seal_open(
|
|
16
18
|
r,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
), d = Buffer.from(a).toString("utf-8"), [u,
|
|
19
|
+
n.utils.arrayify(o),
|
|
20
|
+
n.utils.arrayify(i)
|
|
21
|
+
), d = Buffer.from(a).toString("utf-8"), [u, p] = n.utils.defaultAbiCoder.decode(
|
|
20
22
|
["uint256", "address"],
|
|
21
23
|
d
|
|
22
24
|
);
|
|
23
|
-
return { stakeBlinding: u.toBigInt(), stakedTokenRecipient:
|
|
25
|
+
return { stakeBlinding: u.toBigInt(), stakedTokenRecipient: p };
|
|
24
26
|
} catch {
|
|
25
27
|
console.log("failed to decrypt");
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
28
|
-
},
|
|
29
|
-
c(...[t, e, r, o,
|
|
30
|
-
),
|
|
30
|
+
}, x = (t, e, r, o, i, a) => BigInt(
|
|
31
|
+
c(...[t, e, r, o, i, a].map(BigInt))
|
|
32
|
+
), K = (t, e) => c(t, e), _ = (t, e, r, o, i) => n.utils.defaultAbiCoder.encode(
|
|
31
33
|
["uint8", "uint256", "address", "bytes", "bytes"],
|
|
32
|
-
[t, e, r, o,
|
|
34
|
+
[t, e, r, o, i]
|
|
33
35
|
);
|
|
34
36
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
K as calculateStakeNullifier,
|
|
38
|
+
x as createStakeCommitment,
|
|
39
|
+
h as decryptStake,
|
|
40
|
+
_ as encodeHStakeMetadata,
|
|
41
|
+
B as encryptStake
|
|
40
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=t=>t.reduce((e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=t=>t.reduce((e,o)=>e.then(()=>o()),Promise.resolve()),i=(t,e,o)=>{const r=[];if(o){let n=t;for(;n<=e;){const s=Math.min(n+o-1,e);r.push({from:n,to:s}),n=s+1}}else r.push({from:t,to:e});return r},u=(t,e=100)=>new Promise((o,r)=>{setTimeout(async()=>{try{await t(),o(0)}catch(n){r(n)}},e)});exports.getSequence=i;exports.promisify=u;exports.resolveSync=c;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const c = (t) => t.reduce((e, n) => e.then(() => n()), Promise.resolve()),
|
|
1
|
+
const c = (t) => t.reduce((e, n) => e.then(() => n()), Promise.resolve()), i = (t, e, n) => {
|
|
2
2
|
const s = [];
|
|
3
3
|
if (n) {
|
|
4
4
|
let o = t;
|
|
@@ -15,8 +15,17 @@ const c = (t) => t.reduce((e, n) => e.then(() => n()), Promise.resolve()), h = (
|
|
|
15
15
|
to: e
|
|
16
16
|
});
|
|
17
17
|
return s;
|
|
18
|
-
}
|
|
18
|
+
}, h = (t, e = 100) => new Promise((n, s) => {
|
|
19
|
+
setTimeout(async () => {
|
|
20
|
+
try {
|
|
21
|
+
await t(), n(0);
|
|
22
|
+
} catch (o) {
|
|
23
|
+
s(o);
|
|
24
|
+
}
|
|
25
|
+
}, e);
|
|
26
|
+
});
|
|
19
27
|
export {
|
|
20
|
-
|
|
28
|
+
i as getSequence,
|
|
29
|
+
h as promisify,
|
|
21
30
|
c as resolveSync
|
|
22
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../API/callRelayer.cjs");require("../../../constants/chains.constants.cjs");require("ethers");require("circomlibjs");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../API/callRelayer.cjs");require("../../../constants/chains.constants.cjs");require("ethers");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("../../../constants/vite.constants.cjs");const n=require("../../snarkjs/common.snarkjs.cjs");require("../../../types/circom-data.types.cjs");require("../../utils/external-action.utils.cjs");const u=async(a,r,s,c,t)=>{const i=n.serializeCircomData(c),e=await o.callRelayerTransactAPI(a,{a:r[0],b:r[1],c:r[2],dimData:s,circomData:i,withPrivateMempool:t});if(e.status==="success")return e.message;throw new Error(e.error)};exports.transactCallRelayer=u;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { callRelayerTransactAPI as e } from "../../../API/callRelayer.mjs";
|
|
2
2
|
import "../../../constants/chains.constants.mjs";
|
|
3
3
|
import "ethers";
|
|
4
|
-
import "circomlibjs";
|
|
5
|
-
import "
|
|
4
|
+
import "circomlibjs-hinkal-fork";
|
|
5
|
+
import "libsodium-wrappers";
|
|
6
6
|
import "../../../constants/vite.constants.mjs";
|
|
7
7
|
import { serializeCircomData as m } from "../../snarkjs/common.snarkjs.mjs";
|
|
8
8
|
import "../../../types/circom-data.types.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../API/callOdosAPI.cjs"),n=require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");const d=require("../../constants/protocol.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const a=require("../../error-handling/error-codes.constants.cjs"),q=require("./etherFunctions.cjs");require("axios");require("../../types/circom-data.types.cjs");require("../../types/transactions.types.cjs");require("../../types/curve.types.cjs");require("ethers");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const A=async(r,e,o,u)=>{try{const t={chainId:r.getCurrentChainId()!==31337?r.getCurrentChainId():n.localhostNetwork,inputTokens:[{tokenAddress:e?.wrappedErc20TokenAddress??e.erc20TokenAddress,amount:q.getAmountInWei(e,u).toString()}],outputTokens:[{tokenAddress:o?.wrappedErc20TokenAddress??o.erc20TokenAddress,proportion:1}],userAddr:n.networkRegistry[r.getCurrentChainId()].contractData.odosExternalActionInstanceAddress||d.zeroAddress,slippageLimitPercent:10,disableRFQs:!0},{odosResponse:s,status:i}=await c.callOdosAPI(r.getCurrentChainId(),t);if(i!=="success")throw Error("Odos API Fetch Error");return{outSwapAmountValue:BigInt(s.outputTokens[0].amount),odosDataValue:s.transaction.data}}catch(t){throw console.log({error:t}),Error(a.transactionErrorCodes.NO_ODOS_PRICE)}};exports.getOdosPrice=A;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { callOdosAPI as
|
|
2
|
-
import { localhostNetwork as
|
|
1
|
+
import { callOdosAPI as d } from "../../API/callOdosAPI.mjs";
|
|
2
|
+
import { localhostNetwork as p, networkRegistry as m } from "../../constants/chains.constants.mjs";
|
|
3
3
|
import "../../constants/vite.constants.mjs";
|
|
4
4
|
import "../../constants/contracts.constants.mjs";
|
|
5
5
|
import "../../constants/kyc.constants.mjs";
|
|
6
|
-
import { zeroAddress as
|
|
6
|
+
import { zeroAddress as a } from "../../constants/protocol.constants.mjs";
|
|
7
7
|
import "../../constants/coingecko.constants.mjs";
|
|
8
8
|
import "../../constants/axelar.constants.mjs";
|
|
9
9
|
import "../../constants/rewards.constants.mjs";
|
|
@@ -14,16 +14,19 @@ import "axios";
|
|
|
14
14
|
import "../../types/circom-data.types.mjs";
|
|
15
15
|
import "../../types/transactions.types.mjs";
|
|
16
16
|
import "../../types/curve.types.mjs";
|
|
17
|
-
import "circomlibjs";
|
|
18
17
|
import "ethers";
|
|
19
|
-
|
|
18
|
+
import "circomlibjs-hinkal-fork";
|
|
19
|
+
import "libsodium-wrappers";
|
|
20
|
+
import "process";
|
|
21
|
+
import "buffer";
|
|
22
|
+
const b = async (r, t, e, i) => {
|
|
20
23
|
try {
|
|
21
24
|
const o = {
|
|
22
|
-
chainId: r.getCurrentChainId() !== 31337 ? r.getCurrentChainId() :
|
|
25
|
+
chainId: r.getCurrentChainId() !== 31337 ? r.getCurrentChainId() : p,
|
|
23
26
|
inputTokens: [
|
|
24
27
|
{
|
|
25
28
|
tokenAddress: t?.wrappedErc20TokenAddress ?? t.erc20TokenAddress,
|
|
26
|
-
amount: u(t,
|
|
29
|
+
amount: u(t, i).toString()
|
|
27
30
|
}
|
|
28
31
|
],
|
|
29
32
|
outputTokens: [
|
|
@@ -32,15 +35,15 @@ const N = async (r, t, e, n) => {
|
|
|
32
35
|
proportion: 1
|
|
33
36
|
}
|
|
34
37
|
],
|
|
35
|
-
userAddr:
|
|
38
|
+
userAddr: m[r.getCurrentChainId()].contractData.odosExternalActionInstanceAddress || a,
|
|
36
39
|
slippageLimitPercent: 10,
|
|
37
40
|
disableRFQs: !0
|
|
38
41
|
// sometimes swap fails because of RFQs
|
|
39
|
-
}, { odosResponse: s, status:
|
|
42
|
+
}, { odosResponse: s, status: n } = await d(
|
|
40
43
|
r.getCurrentChainId(),
|
|
41
44
|
o
|
|
42
45
|
);
|
|
43
|
-
if (
|
|
46
|
+
if (n !== "success")
|
|
44
47
|
throw Error("Odos API Fetch Error");
|
|
45
48
|
return {
|
|
46
49
|
outSwapAmountValue: BigInt(s.outputTokens[0].amount),
|
|
@@ -51,5 +54,5 @@ const N = async (r, t, e, n) => {
|
|
|
51
54
|
}
|
|
52
55
|
};
|
|
53
56
|
export {
|
|
54
|
-
|
|
57
|
+
b as getOdosPrice
|
|
55
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../API/callOneInchAPI.cjs");require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");const e=require("../../constants/protocol.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../API/callOneInchAPI.cjs");require("../../constants/chains.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");const e=require("../../constants/protocol.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/axelar.constants.cjs");require("../../constants/rewards.constants.cjs");require("../../constants/reorg-depths.constants.cjs");const u=require("../../error-handling/error-codes.constants.cjs"),d=require("./etherFunctions.cjs");require("axios");require("../../types/circom-data.types.cjs");const a=require("../../types/ethereum-network.types.cjs");require("../../types/transactions.types.cjs");require("../../types/curve.types.cjs");require("ethers");require("circomlibjs-hinkal-fork");require("libsodium-wrappers");require("process");require("buffer");const q=async(s,t,n,c)=>{try{const o={fromTokenAddress:t.erc20TokenAddress!==e.zeroAddress?t.erc20TokenAddress:e.oneInchZeroAddress,toTokenAddress:n.erc20TokenAddress!==e.zeroAddress?n.erc20TokenAddress:e.oneInchZeroAddress,fromAddress:e.zeroAddress,destReceiver:s.getContractMetadata(a.ContractType.OneInchExternalActionContract).address,amount:d.getAmountInWei(t,c),slippage:10,disableEstimate:!0,allowPartialFill:!1},r=await i.callOneInchAPI(s.getCurrentChainId(),o);if(!r||!r.tx)throw Error("OneInch API price fetch error");return{outSwapAmountValue:BigInt(r.toAmount),oneInchDataValue:r.tx.data}}catch(o){throw console.log({error:o}),Error(u.transactionErrorCodes.NO_ONEINCH_PRICE)}};exports.getOneInchPrice=q;
|