@dzapio/sdk 2.0.16 → 2.0.18
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/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -3
- package/dist/index.mjs +16 -4
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -135,6 +135,7 @@ var PermitToDZapPermitMode = {
|
|
|
135
135
|
[PermitTypes.PermitWitnessTransferFrom]: 2 /* PERMIT2_WITNESS_TRANSFER */,
|
|
136
136
|
[PermitTypes.PermitBatchWitnessTransferFrom]: 3 /* BATCH_PERMIT2_WITNESS_TRANSFER */
|
|
137
137
|
};
|
|
138
|
+
var EIP2612_PERMIT_TYPEHASH = viem.keccak256(viem.stringToHex("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"));
|
|
138
139
|
|
|
139
140
|
// src/constants/approval.ts
|
|
140
141
|
var { EIP2612Permit, ...permitModeWithoutKey } = PermitTypes;
|
|
@@ -145,6 +146,7 @@ var ApprovalModes = {
|
|
|
145
146
|
|
|
146
147
|
// src/constants/erc20.ts
|
|
147
148
|
var erc20PermitFunctions = {
|
|
149
|
+
PERMIT_TYPEHASH: "PERMIT_TYPEHASH",
|
|
148
150
|
allowance: "allowance"
|
|
149
151
|
};
|
|
150
152
|
var erc20Functions = {
|
|
@@ -12679,6 +12681,11 @@ var checkEIP2612PermitSupport = async ({
|
|
|
12679
12681
|
address,
|
|
12680
12682
|
abi: erc20PermitAbi,
|
|
12681
12683
|
functionName: erc20Functions.name
|
|
12684
|
+
},
|
|
12685
|
+
{
|
|
12686
|
+
address,
|
|
12687
|
+
abi: erc20PermitAbi,
|
|
12688
|
+
functionName: erc20PermitFunctions.PERMIT_TYPEHASH
|
|
12682
12689
|
}
|
|
12683
12690
|
];
|
|
12684
12691
|
const multicallResult = await multicall({
|
|
@@ -12691,13 +12698,17 @@ var checkEIP2612PermitSupport = async ({
|
|
|
12691
12698
|
return { supportsPermit: false };
|
|
12692
12699
|
}
|
|
12693
12700
|
const results = multicallResult.data;
|
|
12694
|
-
const [domainSeparatorResult, nonceResult, versionResult, nameResult] = results;
|
|
12695
|
-
if (domainSeparatorResult.status !== "success" /* success */ || nonceResult.status !== "success" /* success */ || nameResult.status !== "success" /* success */) {
|
|
12701
|
+
const [domainSeparatorResult, nonceResult, versionResult, nameResult, permitTypeHashResult] = results;
|
|
12702
|
+
if (domainSeparatorResult.status !== "success" /* success */ || nonceResult.status !== "success" /* success */ || nameResult.status !== "success" /* success */ || permitTypeHashResult.status !== "success" /* success */) {
|
|
12696
12703
|
return { supportsPermit: false };
|
|
12697
12704
|
}
|
|
12698
12705
|
const name = nameResult.result;
|
|
12699
12706
|
const nonce = nonceResult.result;
|
|
12700
12707
|
const version = versionResult.status === "success" /* success */ ? versionResult.result : DEFAULT_PERMIT_VERSION;
|
|
12708
|
+
const permitTypeHash = permitTypeHashResult.result;
|
|
12709
|
+
if (permitTypeHash.toLowerCase() !== EIP2612_PERMIT_TYPEHASH.toLowerCase()) {
|
|
12710
|
+
return { supportsPermit: false };
|
|
12711
|
+
}
|
|
12701
12712
|
return {
|
|
12702
12713
|
supportsPermit: true,
|
|
12703
12714
|
data: {
|
|
@@ -14496,11 +14507,12 @@ var getAllowance = async ({ chainId, sender, tokens, rpcUrls, multicallAddress,
|
|
|
14496
14507
|
token: address,
|
|
14497
14508
|
spender,
|
|
14498
14509
|
amount,
|
|
14510
|
+
isEIP2612PermitSupported: false,
|
|
14499
14511
|
isDefaultApprovalMode: true
|
|
14500
14512
|
};
|
|
14501
14513
|
} else {
|
|
14502
14514
|
const permit2Address = getPermit2Address(chainId);
|
|
14503
|
-
return { token: address, spender: permit2Address, amount, isDefaultApprovalMode: false };
|
|
14515
|
+
return { token: address, spender: permit2Address, amount, isEIP2612PermitSupported: false, isDefaultApprovalMode: false };
|
|
14504
14516
|
}
|
|
14505
14517
|
})
|
|
14506
14518
|
);
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { encodeAbiParameters, parseAbiParameters, keccak256, encodePacked, defineChain, zeroAddress as zeroAddress$1, isAddress, getAddress, formatUnits, http, createPublicClient, fallback, parseEventLogs, maxUint256, encodeFunctionData, maxUint48, getContract, decodeAbiParameters } from 'viem';
|
|
1
|
+
import { encodeAbiParameters, parseAbiParameters, keccak256, encodePacked, stringToHex, defineChain, zeroAddress as zeroAddress$1, isAddress, getAddress, formatUnits, http, createPublicClient, fallback, parseEventLogs, maxUint256, encodeFunctionData, maxUint48, getContract, decodeAbiParameters } from 'viem';
|
|
2
2
|
import Axios from 'axios';
|
|
3
3
|
import { Signer, ethers } from 'ethers';
|
|
4
4
|
import * as viemChains from 'viem/chains';
|
|
@@ -109,6 +109,7 @@ var PermitToDZapPermitMode = {
|
|
|
109
109
|
[PermitTypes.PermitWitnessTransferFrom]: 2 /* PERMIT2_WITNESS_TRANSFER */,
|
|
110
110
|
[PermitTypes.PermitBatchWitnessTransferFrom]: 3 /* BATCH_PERMIT2_WITNESS_TRANSFER */
|
|
111
111
|
};
|
|
112
|
+
var EIP2612_PERMIT_TYPEHASH = keccak256(stringToHex("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"));
|
|
112
113
|
|
|
113
114
|
// src/constants/approval.ts
|
|
114
115
|
var { EIP2612Permit, ...permitModeWithoutKey } = PermitTypes;
|
|
@@ -119,6 +120,7 @@ var ApprovalModes = {
|
|
|
119
120
|
|
|
120
121
|
// src/constants/erc20.ts
|
|
121
122
|
var erc20PermitFunctions = {
|
|
123
|
+
PERMIT_TYPEHASH: "PERMIT_TYPEHASH",
|
|
122
124
|
allowance: "allowance"
|
|
123
125
|
};
|
|
124
126
|
var erc20Functions = {
|
|
@@ -12653,6 +12655,11 @@ var checkEIP2612PermitSupport = async ({
|
|
|
12653
12655
|
address,
|
|
12654
12656
|
abi: erc20PermitAbi,
|
|
12655
12657
|
functionName: erc20Functions.name
|
|
12658
|
+
},
|
|
12659
|
+
{
|
|
12660
|
+
address,
|
|
12661
|
+
abi: erc20PermitAbi,
|
|
12662
|
+
functionName: erc20PermitFunctions.PERMIT_TYPEHASH
|
|
12656
12663
|
}
|
|
12657
12664
|
];
|
|
12658
12665
|
const multicallResult = await multicall({
|
|
@@ -12665,13 +12672,17 @@ var checkEIP2612PermitSupport = async ({
|
|
|
12665
12672
|
return { supportsPermit: false };
|
|
12666
12673
|
}
|
|
12667
12674
|
const results = multicallResult.data;
|
|
12668
|
-
const [domainSeparatorResult, nonceResult, versionResult, nameResult] = results;
|
|
12669
|
-
if (domainSeparatorResult.status !== "success" /* success */ || nonceResult.status !== "success" /* success */ || nameResult.status !== "success" /* success */) {
|
|
12675
|
+
const [domainSeparatorResult, nonceResult, versionResult, nameResult, permitTypeHashResult] = results;
|
|
12676
|
+
if (domainSeparatorResult.status !== "success" /* success */ || nonceResult.status !== "success" /* success */ || nameResult.status !== "success" /* success */ || permitTypeHashResult.status !== "success" /* success */) {
|
|
12670
12677
|
return { supportsPermit: false };
|
|
12671
12678
|
}
|
|
12672
12679
|
const name = nameResult.result;
|
|
12673
12680
|
const nonce = nonceResult.result;
|
|
12674
12681
|
const version = versionResult.status === "success" /* success */ ? versionResult.result : DEFAULT_PERMIT_VERSION;
|
|
12682
|
+
const permitTypeHash = permitTypeHashResult.result;
|
|
12683
|
+
if (permitTypeHash.toLowerCase() !== EIP2612_PERMIT_TYPEHASH.toLowerCase()) {
|
|
12684
|
+
return { supportsPermit: false };
|
|
12685
|
+
}
|
|
12675
12686
|
return {
|
|
12676
12687
|
supportsPermit: true,
|
|
12677
12688
|
data: {
|
|
@@ -14470,11 +14481,12 @@ var getAllowance = async ({ chainId, sender, tokens, rpcUrls, multicallAddress,
|
|
|
14470
14481
|
token: address,
|
|
14471
14482
|
spender,
|
|
14472
14483
|
amount,
|
|
14484
|
+
isEIP2612PermitSupported: false,
|
|
14473
14485
|
isDefaultApprovalMode: true
|
|
14474
14486
|
};
|
|
14475
14487
|
} else {
|
|
14476
14488
|
const permit2Address = getPermit2Address(chainId);
|
|
14477
|
-
return { token: address, spender: permit2Address, amount, isDefaultApprovalMode: false };
|
|
14489
|
+
return { token: address, spender: permit2Address, amount, isEIP2612PermitSupported: false, isDefaultApprovalMode: false };
|
|
14478
14490
|
}
|
|
14479
14491
|
})
|
|
14480
14492
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzapio/sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.18",
|
|
4
4
|
"description": "A TypeScript/JavaScript SDK for interacting with the DZap protocol, providing utilities for DeFi operations including Swaps, Bridges, and Zaps.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"source": "src/index.ts",
|