@1inch/solidity-utils 4.0.0 → 4.1.0
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/README.md +9 -208
- package/contracts/interfaces/ICreate3Deployer.sol +16 -0
- package/contracts/interfaces/IDaiLikePermit.sol +13 -0
- package/contracts/interfaces/IERC20MetadataUppercase.sol +12 -0
- package/contracts/interfaces/IPermit2.sol +45 -12
- package/contracts/interfaces/IWETH.sol +17 -0
- package/contracts/libraries/AddressArray.sol +73 -25
- package/contracts/libraries/AddressLib.sol +2 -1
- package/contracts/libraries/AddressSet.sol +52 -14
- package/contracts/libraries/BytesMemory.sol +2 -1
- package/contracts/libraries/BytesStorage.sol +2 -1
- package/contracts/libraries/ECDSA.sol +111 -0
- package/contracts/libraries/RevertReasonForwarder.sol +13 -3
- package/contracts/libraries/RevertReasonParser.sol +11 -2
- package/contracts/libraries/StringUtil.sol +21 -3
- package/contracts/libraries/UniERC20.sol +57 -12
- package/contracts/mocks/ERC20PermitMock.sol +12 -0
- package/contracts/mocks/SelfdestructEthSenderMock.sol +17 -0
- package/contracts/mocks/TokenCustomDecimalsMock.sol +25 -4
- package/contracts/mocks/TokenMock.sol +19 -0
- package/dist/hardhat-setup/networks.d.ts +23 -0
- package/dist/hardhat-setup/networks.js +22 -0
- package/dist/hardhat-setup/networks.js.map +1 -1
- package/dist/src/expect.d.ts +12 -0
- package/dist/src/expect.js +12 -0
- package/dist/src/expect.js.map +1 -1
- package/dist/src/permit.d.ts +117 -0
- package/dist/src/permit.js +112 -7
- package/dist/src/permit.js.map +1 -1
- package/dist/src/prelude.d.ts +6 -0
- package/dist/src/prelude.js +6 -0
- package/dist/src/prelude.js.map +1 -1
- package/dist/src/profileEVM.d.ts +26 -0
- package/dist/src/profileEVM.js +30 -3
- package/dist/src/profileEVM.js.map +1 -1
- package/dist/src/utils.d.ts +79 -0
- package/dist/src/utils.js +92 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.d.ts +29 -0
- package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.js +3 -0
- package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.js.map +1 -0
- package/dist/typechain-types/contracts/mixins/index.d.ts +1 -0
- package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.d.ts +37 -0
- package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.js +3 -0
- package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.js.map +1 -0
- package/dist/typechain-types/contracts/mocks/TokenCustomDecimalsMock.d.ts +1 -5
- package/dist/typechain-types/contracts/mocks/index.d.ts +1 -0
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.js +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.js +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +1 -1
- package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.d.ts +17 -0
- package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.js +33 -0
- package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.js.map +1 -0
- package/dist/typechain-types/factories/contracts/mixins/index.d.ts +1 -0
- package/dist/typechain-types/factories/contracts/mixins/index.js +3 -1
- package/dist/typechain-types/factories/contracts/mixins/index.js.map +1 -1
- package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +49 -0
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +75 -0
- package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js.map +1 -0
- package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.d.ts +1 -11
- package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js +1 -14
- package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/mocks/index.d.ts +1 -0
- package/dist/typechain-types/factories/contracts/mocks/index.js +3 -1
- package/dist/typechain-types/factories/contracts/mocks/index.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js.map +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js +1 -1
- package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js.map +1 -1
- package/dist/typechain-types/index.d.ts +4 -0
- package/dist/typechain-types/index.js +6 -2
- package/dist/typechain-types/index.js.map +1 -1
- package/package.json +23 -18
- package/utils/README.md +180 -0
- package/utils/docify.utils.js +3 -3
- package/utils/file-dependencies.js +0 -0
- package/utils/test-docgen.js +0 -0
|
@@ -5,14 +5,33 @@ pragma solidity ^0.8.0;
|
|
|
5
5
|
import "@openzeppelin/contracts/access/Ownable.sol";
|
|
6
6
|
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @title TokenMock
|
|
10
|
+
* @dev Simple ERC20 token mock for testing purposes, with minting and burning capabilities restricted to the owner.
|
|
11
|
+
*/
|
|
8
12
|
contract TokenMock is ERC20, Ownable {
|
|
13
|
+
/**
|
|
14
|
+
* @dev Initializes the contract with token name and symbol, setting the deployer as the owner.
|
|
15
|
+
* @param name Name of the ERC20 token.
|
|
16
|
+
* @param symbol Symbol of the ERC20 token.
|
|
17
|
+
*/
|
|
9
18
|
// solhint-disable-next-line no-empty-blocks
|
|
10
19
|
constructor(string memory name, string memory symbol) ERC20(name, symbol) Ownable(msg.sender) {}
|
|
11
20
|
|
|
21
|
+
/**
|
|
22
|
+
* @notice Mints tokens to a specified account, callable only by the owner.
|
|
23
|
+
* @param account The address to mint tokens to.
|
|
24
|
+
* @param amount The amount of tokens to mint.
|
|
25
|
+
*/
|
|
12
26
|
function mint(address account, uint256 amount) external onlyOwner {
|
|
13
27
|
_mint(account, amount);
|
|
14
28
|
}
|
|
15
29
|
|
|
30
|
+
/**
|
|
31
|
+
* @notice Burns tokens from a specified account, callable only by the owner.
|
|
32
|
+
* @param account The address to burn tokens from.
|
|
33
|
+
* @param amount The amount of tokens to burn.
|
|
34
|
+
*/
|
|
16
35
|
function burn(address account, uint256 amount) external onlyOwner {
|
|
17
36
|
_burn(account, amount);
|
|
18
37
|
}
|
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
import { ChainConfig } from '@nomicfoundation/hardhat-verify/src/types';
|
|
2
2
|
import { Network, NetworksUserConfig } from 'hardhat/types';
|
|
3
|
+
/** @internal */
|
|
3
4
|
export type Etherscan = {
|
|
4
5
|
apiKey: {
|
|
5
6
|
[key: string]: string;
|
|
6
7
|
};
|
|
7
8
|
customChains: ChainConfig[];
|
|
8
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* @category Hardhat-Setup
|
|
12
|
+
* @notice A helper method to get the network name from the command line arguments.
|
|
13
|
+
* @returns The network name.
|
|
14
|
+
*/
|
|
9
15
|
export declare function getNetwork(): string;
|
|
16
|
+
/**
|
|
17
|
+
* @category Hardhat-Setup
|
|
18
|
+
* @notice A helper method to parse RPC configuration strings. Checks that the string is in the expected format.
|
|
19
|
+
* @param envRpc The RPC configuration string to parse.
|
|
20
|
+
* @returns An object containing the RPC URL and optional auth key HTTP header.
|
|
21
|
+
*/
|
|
10
22
|
export declare function parseRpcEnv(envRpc: string): {
|
|
11
23
|
url: string;
|
|
12
24
|
authKeyHttpHeader?: string;
|
|
13
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* @category Hardhat-Setup
|
|
28
|
+
* @notice A helper method to reset the Hardhat network to the local network or to a fork.
|
|
29
|
+
* @param network The Hardhat network object.
|
|
30
|
+
* @param networkName The name of the network to reset to.
|
|
31
|
+
*/
|
|
14
32
|
export declare function resetHardhatNetworkFork(network: Network, networkName: string): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* @category Hardhat-Setup
|
|
35
|
+
* @notice The Network class is a helper class to register networks and Etherscan API keys.
|
|
36
|
+
* See the [README](https://github.com/1inch/solidity-utils/tree/master/hardhat-setup/README.md) for usage.
|
|
37
|
+
*/
|
|
15
38
|
export declare class Networks {
|
|
16
39
|
networks: NetworksUserConfig;
|
|
17
40
|
etherscan: Etherscan;
|
|
@@ -3,11 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Networks = exports.resetHardhatNetworkFork = exports.parseRpcEnv = exports.getNetwork = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
|
|
6
|
+
/**
|
|
7
|
+
* @category Hardhat-Setup
|
|
8
|
+
* @notice A helper method to get the network name from the command line arguments.
|
|
9
|
+
* @returns The network name.
|
|
10
|
+
*/
|
|
6
11
|
function getNetwork() {
|
|
7
12
|
const index = process.argv.findIndex((arg) => arg === '--network') + 1;
|
|
8
13
|
return index !== 0 ? process.argv[index] : 'unknown';
|
|
9
14
|
}
|
|
10
15
|
exports.getNetwork = getNetwork;
|
|
16
|
+
/**
|
|
17
|
+
* @category Hardhat-Setup
|
|
18
|
+
* @notice A helper method to parse RPC configuration strings. Checks that the string is in the expected format.
|
|
19
|
+
* @param envRpc The RPC configuration string to parse.
|
|
20
|
+
* @returns An object containing the RPC URL and optional auth key HTTP header.
|
|
21
|
+
*/
|
|
11
22
|
function parseRpcEnv(envRpc) {
|
|
12
23
|
const [url, authKeyHttpHeader, overflow] = envRpc.split('|');
|
|
13
24
|
if (overflow || url === '') {
|
|
@@ -16,6 +27,12 @@ function parseRpcEnv(envRpc) {
|
|
|
16
27
|
return { url, authKeyHttpHeader };
|
|
17
28
|
}
|
|
18
29
|
exports.parseRpcEnv = parseRpcEnv;
|
|
30
|
+
/**
|
|
31
|
+
* @category Hardhat-Setup
|
|
32
|
+
* @notice A helper method to reset the Hardhat network to the local network or to a fork.
|
|
33
|
+
* @param network The Hardhat network object.
|
|
34
|
+
* @param networkName The name of the network to reset to.
|
|
35
|
+
*/
|
|
19
36
|
async function resetHardhatNetworkFork(network, networkName) {
|
|
20
37
|
if (networkName.toLowerCase() === 'hardhat') {
|
|
21
38
|
await network.provider.request({
|
|
@@ -37,6 +54,11 @@ async function resetHardhatNetworkFork(network, networkName) {
|
|
|
37
54
|
}
|
|
38
55
|
}
|
|
39
56
|
exports.resetHardhatNetworkFork = resetHardhatNetworkFork;
|
|
57
|
+
/**
|
|
58
|
+
* @category Hardhat-Setup
|
|
59
|
+
* @notice The Network class is a helper class to register networks and Etherscan API keys.
|
|
60
|
+
* See the [README](https://github.com/1inch/solidity-utils/tree/master/hardhat-setup/README.md) for usage.
|
|
61
|
+
*/
|
|
40
62
|
class Networks {
|
|
41
63
|
constructor(useHardhat = true, forkingNetworkName, saveHardhatDeployments = false) {
|
|
42
64
|
this.networks = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../../hardhat-setup/networks.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;
|
|
1
|
+
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../../hardhat-setup/networks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/expect.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
import { Assertion, AssertionError, assert, expect, config, should } from 'chai';
|
|
2
|
+
/**
|
|
3
|
+
* @category expect
|
|
4
|
+
* @dev Asserts that two values are roughly equal within a specified relative difference.
|
|
5
|
+
* This function is useful for cases where precision issues might cause direct comparisons to fail.
|
|
6
|
+
* @param expected The expected value as a string, number, or bigint.
|
|
7
|
+
* @param actual The actual value obtained, to compare against the expected value.
|
|
8
|
+
* @param relativeDiff The maximum allowed relative difference between the expected and actual values.
|
|
9
|
+
* The relative difference is calculated as the absolute difference divided by the expected value,
|
|
10
|
+
* ensuring that the actual value is within this relative difference from the expected value.
|
|
11
|
+
* @notice This function will revert with a message if the values are of different signs
|
|
12
|
+
* or if the actual value deviates from the expected by more than the specified relative difference.
|
|
13
|
+
*/
|
|
2
14
|
export declare function assertRoughlyEqualValues(expected: string | number | bigint, actual: string | number | bigint, relativeDiff: number): void;
|
|
3
15
|
export { Assertion, AssertionError, assert, expect, config, should };
|
package/dist/src/expect.js
CHANGED
|
@@ -8,6 +8,18 @@ Object.defineProperty(exports, "assert", { enumerable: true, get: function () {
|
|
|
8
8
|
Object.defineProperty(exports, "expect", { enumerable: true, get: function () { return chai_1.expect; } });
|
|
9
9
|
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return chai_1.config; } });
|
|
10
10
|
Object.defineProperty(exports, "should", { enumerable: true, get: function () { return chai_1.should; } });
|
|
11
|
+
/**
|
|
12
|
+
* @category expect
|
|
13
|
+
* @dev Asserts that two values are roughly equal within a specified relative difference.
|
|
14
|
+
* This function is useful for cases where precision issues might cause direct comparisons to fail.
|
|
15
|
+
* @param expected The expected value as a string, number, or bigint.
|
|
16
|
+
* @param actual The actual value obtained, to compare against the expected value.
|
|
17
|
+
* @param relativeDiff The maximum allowed relative difference between the expected and actual values.
|
|
18
|
+
* The relative difference is calculated as the absolute difference divided by the expected value,
|
|
19
|
+
* ensuring that the actual value is within this relative difference from the expected value.
|
|
20
|
+
* @notice This function will revert with a message if the values are of different signs
|
|
21
|
+
* or if the actual value deviates from the expected by more than the specified relative difference.
|
|
22
|
+
*/
|
|
11
23
|
function assertRoughlyEqualValues(expected, actual, relativeDiff) {
|
|
12
24
|
let expectedBN = BigInt(expected);
|
|
13
25
|
let actualBN = BigInt(actual);
|
package/dist/src/expect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/expect.ts"],"names":[],"mappings":";;;AAAA,+BAAiF;
|
|
1
|
+
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/expect.ts"],"names":[],"mappings":";;;AAAA,+BAAiF;AAwCxE,0FAxCA,gBAAS,OAwCA;AAAE,+FAxCA,qBAAc,OAwCA;AAAE,uFAxCA,aAAM,OAwCA;AAAE,uFAxCA,aAAM,OAwCA;AAAE,uFAxCA,aAAM,OAwCA;AAAE,uFAxCA,aAAM,OAwCA;AAtClE;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CACpC,QAAkC,EAClC,MAAgC,EAChC,YAAoB;IAEpB,IAAI,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAA,aAAM,EAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAE3E,IAAI,UAAU,GAAG,CAAC;QAAE,UAAU,GAAG,CAAC,UAAU,CAAC;IAC7C,IAAI,QAAQ,GAAG,CAAC;QAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC;IAEvC,IAAI,kBAAkB,GAAG,YAAY,CAAC;IACtC,IAAI,oBAAoB,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC3C,oBAAoB,GAAG,oBAAoB,GAAG,GAAG,CAAC;QAClD,kBAAkB,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC;IACnF,MAAM,QAAQ,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,oBAAoB,CAAC;IAClF,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;QAClB,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,MAAM,OAAO,QAAQ,SAAS,YAAY,YAAY,CAAC,CAAC;IACxG,CAAC;AACL,CAAC;AAvBD,4DAuBC"}
|
package/dist/src/permit.d.ts
CHANGED
|
@@ -18,9 +18,43 @@ export declare const DaiLikePermit: {
|
|
|
18
18
|
name: string;
|
|
19
19
|
type: string;
|
|
20
20
|
}[];
|
|
21
|
+
/**
|
|
22
|
+
* @category permit
|
|
23
|
+
* @dev Removes the '0x' prefix from a string. If no '0x' prefix is found, returns the original string.
|
|
24
|
+
* @param bigNumber The number (as a bigint or string) from which to remove the '0x' prefix.
|
|
25
|
+
* @return The string without the '0x' prefix.
|
|
26
|
+
*/
|
|
21
27
|
export declare function trim0x(bigNumber: bigint | string): string;
|
|
28
|
+
/**
|
|
29
|
+
* @category permit
|
|
30
|
+
* @dev Trims the method selector from transaction data, removing the first 8 characters (4 bytes of hexable string) after '0x' prefix.
|
|
31
|
+
* @param data The transaction data string from which to trim the selector.
|
|
32
|
+
* @return The trimmed selector string.
|
|
33
|
+
*/
|
|
22
34
|
export declare function cutSelector(data: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* @category permit
|
|
37
|
+
* @dev Generates a domain separator for EIP-712 structured data using the provided parameters.
|
|
38
|
+
* @param name The user readable name of EIP-712 domain.
|
|
39
|
+
* @param version The version of the EIP-712 domain.
|
|
40
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
41
|
+
* @param verifyingContract The Ethereum address of the contract that will verify the signature. This ties the signature to a specific contract.
|
|
42
|
+
* @return The domain separator as a hex string.
|
|
43
|
+
*/
|
|
23
44
|
export declare function domainSeparator(name: string, version: string, chainId: string, verifyingContract: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* @category permit
|
|
47
|
+
* @dev Constructs structured data for EIP-2612 permit function, including types, domain, and message with details about the permit.
|
|
48
|
+
* @param name The user readable name of signing EIP-712 domain
|
|
49
|
+
* @param version The version of the signing EIP-712 domain.
|
|
50
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
51
|
+
* @param verifyingContract The Ethereum address of the contract that will verify the signature. This ties the signature to a specific contract.
|
|
52
|
+
* @param owner The Ethereum address of the token owner granting permission to spend tokens on their behalf.
|
|
53
|
+
* @param spender The Ethereum address of the party being granted permission to spend tokens on behalf of the owner.
|
|
54
|
+
* @param value The amount of tokens the spender is permitted to spend.
|
|
55
|
+
* @param nonce An arbitrary number used once to prevent replay attacks. Typically, this is the number of transactions sent by the owner.
|
|
56
|
+
* @param deadline The timestamp until which the permit is valid. This provides a window of time in which the permit can be used.
|
|
57
|
+
*/
|
|
24
58
|
export declare function buildData(name: string, version: string, chainId: number, verifyingContract: string, owner: string, spender: string, value: string, nonce: string, deadline?: string): {
|
|
25
59
|
readonly types: {
|
|
26
60
|
readonly Permit: {
|
|
@@ -42,6 +76,20 @@ export declare function buildData(name: string, version: string, chainId: number
|
|
|
42
76
|
readonly deadline: string;
|
|
43
77
|
};
|
|
44
78
|
};
|
|
79
|
+
/**
|
|
80
|
+
* @category permit
|
|
81
|
+
* @dev Prepares structured data similar to the Dai permit function, including types, domain, and message with permit details.
|
|
82
|
+
* @param name The user readable name of signing EIP-712 domain
|
|
83
|
+
* @param version The version of the signing EIP-712 domain.
|
|
84
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
85
|
+
* @param verifyingContract The Ethereum address of the contract that will verify the signature. This ties the signature to a specific contract.
|
|
86
|
+
* @param holder The address of the token holder who is giving permission, establishing the source of the funds.
|
|
87
|
+
* @param spender The address allowed to spend tokens on behalf of the holder, essentially the recipient of the permit.
|
|
88
|
+
* @param nonce An arbitrary number used once to prevent replay attacks. Typically, this is the number of transactions sent by the owner.
|
|
89
|
+
* @param allowed A boolean indicating whether the spender is allowed to spend the tokens, providing a clear permit status.
|
|
90
|
+
* @param expiry The time until which the permit is valid, offering a window during which the spender can use the permit.
|
|
91
|
+
* @return Structured data prepared for a Dai-like permit function.
|
|
92
|
+
*/
|
|
45
93
|
export declare function buildDataLikeDai(name: string, version: string, chainId: number, verifyingContract: string, holder: string, spender: string, nonce: string, allowed: boolean, expiry?: string): {
|
|
46
94
|
readonly types: {
|
|
47
95
|
readonly Permit: {
|
|
@@ -63,12 +111,81 @@ export declare function buildDataLikeDai(name: string, version: string, chainId:
|
|
|
63
111
|
readonly allowed: boolean;
|
|
64
112
|
};
|
|
65
113
|
};
|
|
114
|
+
/**
|
|
115
|
+
* @category permit
|
|
116
|
+
* @dev Ensures contract code is set for a given address and returns a contract instance.
|
|
117
|
+
* @return The contract instance of IPermit2.
|
|
118
|
+
*/
|
|
66
119
|
export declare function permit2Contract(): Promise<import("ethers").Contract>;
|
|
120
|
+
/**
|
|
121
|
+
* @category permit
|
|
122
|
+
* @notice Generates a permit signature for ERC20 tokens with EIP-2612 standard.
|
|
123
|
+
* @param owner The wallet or signer issuing the permit.
|
|
124
|
+
* @param permitContract The contract object with ERC20Permit type and token address for which the permit creating.
|
|
125
|
+
* @param tokenVersion The version of the token's EIP-712 domain.
|
|
126
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
127
|
+
* @param spender The address allowed to spend the tokens.
|
|
128
|
+
* @param value The amount of tokens the spender is allowed to use.
|
|
129
|
+
* @param deadline Time until when the permit is valid.
|
|
130
|
+
* @param compact Indicates if the permit should be compressed.
|
|
131
|
+
* @return A signed permit string.
|
|
132
|
+
*/
|
|
67
133
|
export declare function getPermit(owner: Wallet | SignerWithAddress, permitContract: ERC20Permit, tokenVersion: string, chainId: number, spender: string, value: string, deadline?: string, compact?: boolean): Promise<string>;
|
|
134
|
+
/**
|
|
135
|
+
* @category permit
|
|
136
|
+
* @notice Creates a permit for spending tokens on Permit2 standard contracts.
|
|
137
|
+
* @param owner The wallet or signer issuing the permit.
|
|
138
|
+
* @param token The address of the token for which the permit is creates.
|
|
139
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
140
|
+
* @param spender The address allowed to spend the tokens.
|
|
141
|
+
* @param amount The amount of tokens the spender is allowed to use.
|
|
142
|
+
* @param compact Indicates if the permit should be compressed.
|
|
143
|
+
* @param expiration The time until when the permit is valid for Permit2.
|
|
144
|
+
* @param sigDeadline Deadline for the signature to be considered valid.
|
|
145
|
+
* @return A signed permit string specific to Permit2 contracts.
|
|
146
|
+
*/
|
|
68
147
|
export declare function getPermit2(owner: Wallet | SignerWithAddress, token: string, chainId: number, spender: string, amount: bigint, compact?: boolean, expiration?: bigint, sigDeadline?: bigint): Promise<string>;
|
|
148
|
+
/**
|
|
149
|
+
* @category permit
|
|
150
|
+
* @notice Generates a Dai-like permit signature for tokens.
|
|
151
|
+
* @param holder The wallet or signer issuing the permit.
|
|
152
|
+
* @param permitContract The contract object with ERC20PermitLikeDai type and token address for which the permit creating.
|
|
153
|
+
* @param tokenVersion The version of the token's EIP-712 domain.
|
|
154
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
155
|
+
* @param spender The address allowed to spend the tokens.
|
|
156
|
+
* @param allowed Boolean indicating whether the spender is allowed to spend.
|
|
157
|
+
* @param expiry Time until when the permit is valid.
|
|
158
|
+
* @param compact Indicates if the permit should be compressed.
|
|
159
|
+
* @return A signed permit string in Dai-like format.
|
|
160
|
+
*/
|
|
69
161
|
export declare function getPermitLikeDai(holder: Wallet | SignerWithAddress, permitContract: DaiLikePermitMock, tokenVersion: string, chainId: number, spender: string, allowed: boolean, expiry?: string, compact?: boolean): Promise<string>;
|
|
70
162
|
export declare function getPermitLikeUSDC(owner: string, // contract with isValidSignature function
|
|
71
163
|
signer: Wallet | SignerWithAddress, permitContract: USDCLikePermitMock, tokenVersion: string, chainId: number, spender: string, value: string, deadline?: string): Promise<string>;
|
|
164
|
+
/**
|
|
165
|
+
* @category permit
|
|
166
|
+
* @notice Concatenates a target address with data, trimming the '0x' prefix from the data.
|
|
167
|
+
* @param target The target address or value to prepend.
|
|
168
|
+
* @param data The data string to be concatenated after trimming.
|
|
169
|
+
* @return A concatenated string of target and data.
|
|
170
|
+
*/
|
|
72
171
|
export declare function withTarget(target: bigint | string, data: bigint | string): string;
|
|
172
|
+
/**
|
|
173
|
+
* @category permit
|
|
174
|
+
* @notice Compresses a permit function call to a shorter format based on its type.
|
|
175
|
+
* Type | EIP-2612 | DAI | Permit2
|
|
176
|
+
* Uncompressed | 224 | 256 | 352
|
|
177
|
+
* Compressed | 100 | 72 | 96
|
|
178
|
+
* @param permit The full permit function call string.
|
|
179
|
+
* @return A compressed permit string.
|
|
180
|
+
*/
|
|
73
181
|
export declare function compressPermit(permit: string): string;
|
|
182
|
+
/**
|
|
183
|
+
* @category permit
|
|
184
|
+
* @notice Decompresses a compressed permit function call back to its original full format.
|
|
185
|
+
* @param permit The compressed permit function call string.
|
|
186
|
+
* @param token The token address involved in the permit (for Permit2 type).
|
|
187
|
+
* @param owner The owner address involved in the permit.
|
|
188
|
+
* @param spender The spender address involved in the permit.
|
|
189
|
+
* @return The decompressed permit function call string.
|
|
190
|
+
*/
|
|
74
191
|
export declare function decompressPermit(permit: string, token: string, owner: string, spender: string): string;
|
package/dist/src/permit.js
CHANGED
|
@@ -31,6 +31,12 @@ exports.DaiLikePermit = [
|
|
|
31
31
|
{ name: 'expiry', type: 'uint256' },
|
|
32
32
|
{ name: 'allowed', type: 'bool' },
|
|
33
33
|
];
|
|
34
|
+
/**
|
|
35
|
+
* @category permit
|
|
36
|
+
* @dev Removes the '0x' prefix from a string. If no '0x' prefix is found, returns the original string.
|
|
37
|
+
* @param bigNumber The number (as a bigint or string) from which to remove the '0x' prefix.
|
|
38
|
+
* @return The string without the '0x' prefix.
|
|
39
|
+
*/
|
|
34
40
|
function trim0x(bigNumber) {
|
|
35
41
|
const s = bigNumber.toString();
|
|
36
42
|
if (s.startsWith('0x')) {
|
|
@@ -39,16 +45,44 @@ function trim0x(bigNumber) {
|
|
|
39
45
|
return s;
|
|
40
46
|
}
|
|
41
47
|
exports.trim0x = trim0x;
|
|
48
|
+
/**
|
|
49
|
+
* @category permit
|
|
50
|
+
* @dev Trims the method selector from transaction data, removing the first 8 characters (4 bytes of hexable string) after '0x' prefix.
|
|
51
|
+
* @param data The transaction data string from which to trim the selector.
|
|
52
|
+
* @return The trimmed selector string.
|
|
53
|
+
*/
|
|
42
54
|
function cutSelector(data) {
|
|
43
55
|
const hexPrefix = '0x';
|
|
44
56
|
return hexPrefix + data.substring(hexPrefix.length + 8);
|
|
45
57
|
}
|
|
46
58
|
exports.cutSelector = cutSelector;
|
|
59
|
+
/**
|
|
60
|
+
* @category permit
|
|
61
|
+
* @dev Generates a domain separator for EIP-712 structured data using the provided parameters.
|
|
62
|
+
* @param name The user readable name of EIP-712 domain.
|
|
63
|
+
* @param version The version of the EIP-712 domain.
|
|
64
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
65
|
+
* @param verifyingContract The Ethereum address of the contract that will verify the signature. This ties the signature to a specific contract.
|
|
66
|
+
* @return The domain separator as a hex string.
|
|
67
|
+
*/
|
|
47
68
|
function domainSeparator(name, version, chainId, verifyingContract) {
|
|
48
69
|
return ('0x' +
|
|
49
70
|
eth_sig_util_1.TypedDataUtils.hashStruct('EIP712Domain', { name, version, chainId, verifyingContract }, { EIP712Domain: exports.EIP712Domain }, exports.TypedDataVersion).toString('hex'));
|
|
50
71
|
}
|
|
51
72
|
exports.domainSeparator = domainSeparator;
|
|
73
|
+
/**
|
|
74
|
+
* @category permit
|
|
75
|
+
* @dev Constructs structured data for EIP-2612 permit function, including types, domain, and message with details about the permit.
|
|
76
|
+
* @param name The user readable name of signing EIP-712 domain
|
|
77
|
+
* @param version The version of the signing EIP-712 domain.
|
|
78
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
79
|
+
* @param verifyingContract The Ethereum address of the contract that will verify the signature. This ties the signature to a specific contract.
|
|
80
|
+
* @param owner The Ethereum address of the token owner granting permission to spend tokens on their behalf.
|
|
81
|
+
* @param spender The Ethereum address of the party being granted permission to spend tokens on behalf of the owner.
|
|
82
|
+
* @param value The amount of tokens the spender is permitted to spend.
|
|
83
|
+
* @param nonce An arbitrary number used once to prevent replay attacks. Typically, this is the number of transactions sent by the owner.
|
|
84
|
+
* @param deadline The timestamp until which the permit is valid. This provides a window of time in which the permit can be used.
|
|
85
|
+
*/
|
|
52
86
|
function buildData(name, version, chainId, verifyingContract, owner, spender, value, nonce, deadline = exports.defaultDeadline.toString()) {
|
|
53
87
|
return {
|
|
54
88
|
types: { Permit: exports.Permit },
|
|
@@ -57,6 +91,20 @@ function buildData(name, version, chainId, verifyingContract, owner, spender, va
|
|
|
57
91
|
};
|
|
58
92
|
}
|
|
59
93
|
exports.buildData = buildData;
|
|
94
|
+
/**
|
|
95
|
+
* @category permit
|
|
96
|
+
* @dev Prepares structured data similar to the Dai permit function, including types, domain, and message with permit details.
|
|
97
|
+
* @param name The user readable name of signing EIP-712 domain
|
|
98
|
+
* @param version The version of the signing EIP-712 domain.
|
|
99
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
100
|
+
* @param verifyingContract The Ethereum address of the contract that will verify the signature. This ties the signature to a specific contract.
|
|
101
|
+
* @param holder The address of the token holder who is giving permission, establishing the source of the funds.
|
|
102
|
+
* @param spender The address allowed to spend tokens on behalf of the holder, essentially the recipient of the permit.
|
|
103
|
+
* @param nonce An arbitrary number used once to prevent replay attacks. Typically, this is the number of transactions sent by the owner.
|
|
104
|
+
* @param allowed A boolean indicating whether the spender is allowed to spend the tokens, providing a clear permit status.
|
|
105
|
+
* @param expiry The time until which the permit is valid, offering a window during which the spender can use the permit.
|
|
106
|
+
* @return Structured data prepared for a Dai-like permit function.
|
|
107
|
+
*/
|
|
60
108
|
function buildDataLikeDai(name, version, chainId, verifyingContract, holder, spender, nonce, allowed, expiry = exports.defaultDeadline.toString()) {
|
|
61
109
|
return {
|
|
62
110
|
types: { Permit: exports.DaiLikePermit },
|
|
@@ -65,6 +113,11 @@ function buildDataLikeDai(name, version, chainId, verifyingContract, holder, spe
|
|
|
65
113
|
};
|
|
66
114
|
}
|
|
67
115
|
exports.buildDataLikeDai = buildDataLikeDai;
|
|
116
|
+
/**
|
|
117
|
+
* @category permit
|
|
118
|
+
* @dev Ensures contract code is set for a given address and returns a contract instance.
|
|
119
|
+
* @return The contract instance of IPermit2.
|
|
120
|
+
*/
|
|
68
121
|
async function permit2Contract() {
|
|
69
122
|
if ((await hardhat_1.ethers.provider.getCode(permit2_sdk_1.PERMIT2_ADDRESS)) === '0x') {
|
|
70
123
|
await hardhat_1.ethers.provider.send('hardhat_setCode', [permit2_sdk_1.PERMIT2_ADDRESS, permit2_json_1.bytecode]);
|
|
@@ -72,8 +125,18 @@ async function permit2Contract() {
|
|
|
72
125
|
return hardhat_1.ethers.getContractAt('IPermit2', permit2_sdk_1.PERMIT2_ADDRESS);
|
|
73
126
|
}
|
|
74
127
|
exports.permit2Contract = permit2Contract;
|
|
75
|
-
|
|
128
|
+
/**
|
|
129
|
+
* @category permit
|
|
130
|
+
* @notice Generates a permit signature for ERC20 tokens with EIP-2612 standard.
|
|
131
|
+
* @param owner The wallet or signer issuing the permit.
|
|
76
132
|
* @param permitContract The contract object with ERC20Permit type and token address for which the permit creating.
|
|
133
|
+
* @param tokenVersion The version of the token's EIP-712 domain.
|
|
134
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
135
|
+
* @param spender The address allowed to spend the tokens.
|
|
136
|
+
* @param value The amount of tokens the spender is allowed to use.
|
|
137
|
+
* @param deadline Time until when the permit is valid.
|
|
138
|
+
* @param compact Indicates if the permit should be compressed.
|
|
139
|
+
* @return A signed permit string.
|
|
77
140
|
*/
|
|
78
141
|
async function getPermit(owner, permitContract, tokenVersion, chainId, spender, value, deadline = exports.defaultDeadline.toString(), compact = false) {
|
|
79
142
|
const nonce = await permitContract.nonces(owner);
|
|
@@ -85,8 +148,18 @@ async function getPermit(owner, permitContract, tokenVersion, chainId, spender,
|
|
|
85
148
|
return compact ? compressPermit(permitCall) : decompressPermit(compressPermit(permitCall), prelude_1.constants.ZERO_ADDRESS, owner.address, spender);
|
|
86
149
|
}
|
|
87
150
|
exports.getPermit = getPermit;
|
|
88
|
-
|
|
89
|
-
* @
|
|
151
|
+
/**
|
|
152
|
+
* @category permit
|
|
153
|
+
* @notice Creates a permit for spending tokens on Permit2 standard contracts.
|
|
154
|
+
* @param owner The wallet or signer issuing the permit.
|
|
155
|
+
* @param token The address of the token for which the permit is creates.
|
|
156
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
157
|
+
* @param spender The address allowed to spend the tokens.
|
|
158
|
+
* @param amount The amount of tokens the spender is allowed to use.
|
|
159
|
+
* @param compact Indicates if the permit should be compressed.
|
|
160
|
+
* @param expiration The time until when the permit is valid for Permit2.
|
|
161
|
+
* @param sigDeadline Deadline for the signature to be considered valid.
|
|
162
|
+
* @return A signed permit string specific to Permit2 contracts.
|
|
90
163
|
*/
|
|
91
164
|
async function getPermit2(owner, token, chainId, spender, amount, compact = false, expiration = exports.defaultDeadlinePermit2, sigDeadline = exports.defaultDeadlinePermit2) {
|
|
92
165
|
const permitContract = await permit2Contract();
|
|
@@ -108,8 +181,18 @@ async function getPermit2(owner, token, chainId, spender, amount, compact = fals
|
|
|
108
181
|
return compact ? compressPermit(permitCall) : decompressPermit(compressPermit(permitCall), token, owner.address, spender);
|
|
109
182
|
}
|
|
110
183
|
exports.getPermit2 = getPermit2;
|
|
111
|
-
|
|
184
|
+
/**
|
|
185
|
+
* @category permit
|
|
186
|
+
* @notice Generates a Dai-like permit signature for tokens.
|
|
187
|
+
* @param holder The wallet or signer issuing the permit.
|
|
112
188
|
* @param permitContract The contract object with ERC20PermitLikeDai type and token address for which the permit creating.
|
|
189
|
+
* @param tokenVersion The version of the token's EIP-712 domain.
|
|
190
|
+
* @param chainId The unique identifier for the blockchain network.
|
|
191
|
+
* @param spender The address allowed to spend the tokens.
|
|
192
|
+
* @param allowed Boolean indicating whether the spender is allowed to spend.
|
|
193
|
+
* @param expiry Time until when the permit is valid.
|
|
194
|
+
* @param compact Indicates if the permit should be compressed.
|
|
195
|
+
* @return A signed permit string in Dai-like format.
|
|
113
196
|
*/
|
|
114
197
|
async function getPermitLikeDai(holder, permitContract, tokenVersion, chainId, spender, allowed, expiry = exports.defaultDeadline.toString(), compact = false) {
|
|
115
198
|
const nonce = await permitContract.nonces(holder);
|
|
@@ -132,13 +215,26 @@ signer, permitContract, tokenVersion, chainId, spender, value, deadline = export
|
|
|
132
215
|
return cutSelector(permitContract.interface.encodeFunctionData('permit(address,address,uint256,uint256,bytes)', [owner, spender, value, deadline, signatureBytes]));
|
|
133
216
|
}
|
|
134
217
|
exports.getPermitLikeUSDC = getPermitLikeUSDC;
|
|
218
|
+
/**
|
|
219
|
+
* @category permit
|
|
220
|
+
* @notice Concatenates a target address with data, trimming the '0x' prefix from the data.
|
|
221
|
+
* @param target The target address or value to prepend.
|
|
222
|
+
* @param data The data string to be concatenated after trimming.
|
|
223
|
+
* @return A concatenated string of target and data.
|
|
224
|
+
*/
|
|
135
225
|
function withTarget(target, data) {
|
|
136
226
|
return target.toString() + trim0x(data);
|
|
137
227
|
}
|
|
138
228
|
exports.withTarget = withTarget;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
229
|
+
/**
|
|
230
|
+
* @category permit
|
|
231
|
+
* @notice Compresses a permit function call to a shorter format based on its type.
|
|
232
|
+
* Type | EIP-2612 | DAI | Permit2
|
|
233
|
+
* Uncompressed | 224 | 256 | 352
|
|
234
|
+
* Compressed | 100 | 72 | 96
|
|
235
|
+
* @param permit The full permit function call string.
|
|
236
|
+
* @return A compressed permit string.
|
|
237
|
+
*/
|
|
142
238
|
function compressPermit(permit) {
|
|
143
239
|
const abiCoder = hardhat_1.ethers.AbiCoder.defaultAbiCoder();
|
|
144
240
|
switch (permit.length) {
|
|
@@ -179,6 +275,15 @@ function compressPermit(permit) {
|
|
|
179
275
|
}
|
|
180
276
|
}
|
|
181
277
|
exports.compressPermit = compressPermit;
|
|
278
|
+
/**
|
|
279
|
+
* @category permit
|
|
280
|
+
* @notice Decompresses a compressed permit function call back to its original full format.
|
|
281
|
+
* @param permit The compressed permit function call string.
|
|
282
|
+
* @param token The token address involved in the permit (for Permit2 type).
|
|
283
|
+
* @param owner The owner address involved in the permit.
|
|
284
|
+
* @param spender The spender address involved in the permit.
|
|
285
|
+
* @return The decompressed permit function call string.
|
|
286
|
+
*/
|
|
182
287
|
function decompressPermit(permit, token, owner, spender) {
|
|
183
288
|
const abiCoder = hardhat_1.ethers.AbiCoder.defaultAbiCoder();
|
|
184
289
|
switch (permit.length) {
|
package/dist/src/permit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permit.js","sourceRoot":"","sources":["../../src/permit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permit.js","sourceRoot":"","sources":["../../src/permit.ts"],"names":[],"mappings":"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"}
|
package/dist/src/prelude.d.ts
CHANGED
|
@@ -12,4 +12,10 @@ export declare const constants: {
|
|
|
12
12
|
readonly DEV_CHAINS: string[];
|
|
13
13
|
};
|
|
14
14
|
export { time };
|
|
15
|
+
/**
|
|
16
|
+
* @category prelude
|
|
17
|
+
* @notice Converts an Ether amount represented as a string into its Wei equivalent as a bigint.
|
|
18
|
+
* @param n The amount of Ether to convert, specified as a string.
|
|
19
|
+
* @return The equivalent amount in Wei as a bigint.
|
|
20
|
+
*/
|
|
15
21
|
export declare function ether(n: string): bigint;
|
package/dist/src/prelude.js
CHANGED
|
@@ -16,6 +16,12 @@ exports.constants = {
|
|
|
16
16
|
MAX_UINT32: 2n ** 32n - 1n,
|
|
17
17
|
DEV_CHAINS: ['hardhat', 'localhost'],
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* @category prelude
|
|
21
|
+
* @notice Converts an Ether amount represented as a string into its Wei equivalent as a bigint.
|
|
22
|
+
* @param n The amount of Ether to convert, specified as a string.
|
|
23
|
+
* @return The equivalent amount in Wei as a bigint.
|
|
24
|
+
*/
|
|
19
25
|
function ether(n) {
|
|
20
26
|
return (0, ethers_1.parseUnits)(n);
|
|
21
27
|
}
|
package/dist/src/prelude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,sFAAgE;AAgBvD,qFAhBA,8BAAI,OAgBA;AAdA,QAAA,SAAS,GAAG;IACrB,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC3B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;IACzB,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;IAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAa;CAC1C,CAAC;AAKX,SAAgB,KAAK,CAAC,CAAS;IAC3B,OAAO,IAAA,mBAAU,EAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAFD,sBAEC"}
|
|
1
|
+
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,sFAAgE;AAgBvD,qFAhBA,8BAAI,OAgBA;AAdA,QAAA,SAAS,GAAG;IACrB,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC3B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;IACzB,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;IAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAa;CAC1C,CAAC;AAKX;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,CAAS;IAC3B,OAAO,IAAA,mBAAU,EAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAFD,sBAEC"}
|