@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.
Files changed (198) hide show
  1. package/README.md +9 -208
  2. package/contracts/interfaces/ICreate3Deployer.sol +16 -0
  3. package/contracts/interfaces/IDaiLikePermit.sol +13 -0
  4. package/contracts/interfaces/IERC20MetadataUppercase.sol +12 -0
  5. package/contracts/interfaces/IPermit2.sol +45 -12
  6. package/contracts/interfaces/IWETH.sol +17 -0
  7. package/contracts/libraries/AddressArray.sol +73 -25
  8. package/contracts/libraries/AddressLib.sol +2 -1
  9. package/contracts/libraries/AddressSet.sol +52 -14
  10. package/contracts/libraries/BytesMemory.sol +2 -1
  11. package/contracts/libraries/BytesStorage.sol +2 -1
  12. package/contracts/libraries/ECDSA.sol +111 -0
  13. package/contracts/libraries/RevertReasonForwarder.sol +13 -3
  14. package/contracts/libraries/RevertReasonParser.sol +11 -2
  15. package/contracts/libraries/StringUtil.sol +21 -3
  16. package/contracts/libraries/UniERC20.sol +57 -12
  17. package/contracts/mocks/ERC20PermitMock.sol +12 -0
  18. package/contracts/mocks/SelfdestructEthSenderMock.sol +17 -0
  19. package/contracts/mocks/TokenCustomDecimalsMock.sol +25 -4
  20. package/contracts/mocks/TokenMock.sol +19 -0
  21. package/dist/hardhat-setup/networks.d.ts +23 -0
  22. package/dist/hardhat-setup/networks.js +22 -0
  23. package/dist/hardhat-setup/networks.js.map +1 -1
  24. package/dist/src/expect.d.ts +12 -0
  25. package/dist/src/expect.js +12 -0
  26. package/dist/src/expect.js.map +1 -1
  27. package/dist/src/permit.d.ts +117 -0
  28. package/dist/src/permit.js +112 -7
  29. package/dist/src/permit.js.map +1 -1
  30. package/dist/src/prelude.d.ts +6 -0
  31. package/dist/src/prelude.js +6 -0
  32. package/dist/src/prelude.js.map +1 -1
  33. package/dist/src/profileEVM.d.ts +26 -0
  34. package/dist/src/profileEVM.js +30 -3
  35. package/dist/src/profileEVM.js.map +1 -1
  36. package/dist/src/utils.d.ts +79 -0
  37. package/dist/src/utils.js +92 -1
  38. package/dist/src/utils.js.map +1 -1
  39. package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.d.ts +29 -0
  40. package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.js +3 -0
  41. package/dist/typechain-types/contracts/mixins/SelfdestructEthSender.js.map +1 -0
  42. package/dist/typechain-types/contracts/mixins/index.d.ts +1 -0
  43. package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.d.ts +37 -0
  44. package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.js +3 -0
  45. package/dist/typechain-types/contracts/mocks/SelfdestructEthSenderMock.js.map +1 -0
  46. package/dist/typechain-types/contracts/mocks/TokenCustomDecimalsMock.d.ts +1 -5
  47. package/dist/typechain-types/contracts/mocks/index.d.ts +1 -0
  48. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  49. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.js +1 -1
  50. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  51. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.js +1 -1
  52. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  53. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.js +1 -1
  54. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  55. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  56. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +1 -1
  57. package/dist/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.js +1 -1
  58. package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.d.ts +1 -1
  59. package/dist/typechain-types/factories/contracts/libraries/AddressArray__factory.js +1 -1
  60. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +1 -1
  61. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +1 -1
  62. package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.d.ts +1 -1
  63. package/dist/typechain-types/factories/contracts/libraries/BytesMemory__factory.js +1 -1
  64. package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.d.ts +1 -1
  65. package/dist/typechain-types/factories/contracts/libraries/BytesStorage__factory.js +1 -1
  66. package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.d.ts +1 -1
  67. package/dist/typechain-types/factories/contracts/libraries/RevertReasonParser__factory.js +1 -1
  68. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
  69. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
  70. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
  71. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
  72. package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.d.ts +17 -0
  73. package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.js +33 -0
  74. package/dist/typechain-types/factories/contracts/mixins/SelfdestructEthSender__factory.js.map +1 -0
  75. package/dist/typechain-types/factories/contracts/mixins/index.d.ts +1 -0
  76. package/dist/typechain-types/factories/contracts/mixins/index.js +3 -1
  77. package/dist/typechain-types/factories/contracts/mixins/index.js.map +1 -1
  78. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.d.ts +1 -1
  79. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js +1 -1
  80. package/dist/typechain-types/factories/contracts/mocks/ERC20PermitMock__factory.js.map +1 -1
  81. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +49 -0
  82. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +75 -0
  83. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js.map +1 -0
  84. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.d.ts +1 -11
  85. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js +1 -14
  86. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js.map +1 -1
  87. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.d.ts +1 -1
  88. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js +1 -1
  89. package/dist/typechain-types/factories/contracts/mocks/TokenMock__factory.js.map +1 -1
  90. package/dist/typechain-types/factories/contracts/mocks/index.d.ts +1 -0
  91. package/dist/typechain-types/factories/contracts/mocks/index.js +3 -1
  92. package/dist/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  93. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.d.ts +1 -1
  94. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js +1 -1
  95. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js.map +1 -1
  96. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.d.ts +1 -1
  97. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js +1 -1
  98. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js.map +1 -1
  99. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.d.ts +1 -1
  100. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js +1 -1
  101. package/dist/typechain-types/factories/contracts/tests/StringUtilTest__factory.js.map +1 -1
  102. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.d.ts +1 -1
  103. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js +1 -1
  104. package/dist/typechain-types/factories/contracts/tests/mocks/AddressArrayMock__factory.js.map +1 -1
  105. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.d.ts +1 -1
  106. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js +1 -1
  107. package/dist/typechain-types/factories/contracts/tests/mocks/AddressLibMock__factory.js.map +1 -1
  108. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.d.ts +1 -1
  109. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js +1 -1
  110. package/dist/typechain-types/factories/contracts/tests/mocks/AddressSetMock__factory.js.map +1 -1
  111. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +1 -1
  112. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +1 -1
  113. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js.map +1 -1
  114. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.d.ts +1 -1
  115. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js +1 -1
  116. package/dist/typechain-types/factories/contracts/tests/mocks/BytesMemoryMock__factory.js.map +1 -1
  117. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.d.ts +1 -1
  118. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js +1 -1
  119. package/dist/typechain-types/factories/contracts/tests/mocks/BytesStorageMock__factory.js.map +1 -1
  120. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.d.ts +1 -1
  121. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js +1 -1
  122. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js.map +1 -1
  123. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.d.ts +1 -1
  124. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js +1 -1
  125. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js.map +1 -1
  126. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.d.ts +1 -1
  127. package/dist/typechain-types/factories/contracts/tests/mocks/EthReceiverMock__factory.js +1 -1
  128. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.d.ts +1 -1
  129. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js +1 -1
  130. package/dist/typechain-types/factories/contracts/tests/mocks/EthSenderMock__factory.js.map +1 -1
  131. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
  132. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
  133. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js.map +1 -1
  134. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
  135. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
  136. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js.map +1 -1
  137. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
  138. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
  139. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js.map +1 -1
  140. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
  141. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
  142. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js.map +1 -1
  143. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
  144. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
  145. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js.map +1 -1
  146. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
  147. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
  148. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js.map +1 -1
  149. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
  150. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
  151. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js.map +1 -1
  152. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
  153. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
  154. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js.map +1 -1
  155. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
  156. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
  157. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js.map +1 -1
  158. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
  159. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
  160. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js.map +1 -1
  161. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
  162. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
  163. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js.map +1 -1
  164. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
  165. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
  166. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js.map +1 -1
  167. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.d.ts +1 -1
  168. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js +1 -1
  169. package/dist/typechain-types/factories/contracts/tests/mocks/USDCLikePermitMock__factory.js.map +1 -1
  170. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
  171. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
  172. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js.map +1 -1
  173. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
  174. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
  175. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js.map +1 -1
  176. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
  177. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
  178. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js.map +1 -1
  179. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
  180. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
  181. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js.map +1 -1
  182. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
  183. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
  184. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js.map +1 -1
  185. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.d.ts +1 -1
  186. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js +1 -1
  187. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js.map +1 -1
  188. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.d.ts +1 -1
  189. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js +1 -1
  190. package/dist/typechain-types/factories/contracts/tests/mocks/WethReceiverMock__factory.js.map +1 -1
  191. package/dist/typechain-types/index.d.ts +4 -0
  192. package/dist/typechain-types/index.js +6 -2
  193. package/dist/typechain-types/index.js.map +1 -1
  194. package/package.json +23 -18
  195. package/utils/README.md +180 -0
  196. package/utils/docify.utils.js +3 -3
  197. package/utils/file-dependencies.js +0 -0
  198. 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":"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"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../hardhat-setup/networks.ts"],"names":[],"mappings":"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"}
@@ -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 };
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/expect.ts"],"names":[],"mappings":";;;AAAA,+BAAiF;AA4BxE,0FA5BA,gBAAS,OA4BA;AAAE,+FA5BA,qBAAc,OA4BA;AAAE,uFA5BA,aAAM,OA4BA;AAAE,uFA5BA,aAAM,OA4BA;AAAE,uFA5BA,aAAM,OA4BA;AAAE,uFA5BA,aAAM,OA4BA;AA1BlE,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"}
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"}
@@ -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;
@@ -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
- * @param permit2Contract The contract object for Permit2 Uniswap contract.
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
- // Type | EIP-2612 | DAI | Permit2
140
- // Uncompressed | 224 | 256 | 352
141
- // Compressed | 100 | 72 | 96
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) {
@@ -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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"}
@@ -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;
@@ -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
  }
@@ -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"}