@mapprotocol/common-contracts 0.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 (88) hide show
  1. package/README.md +107 -0
  2. package/artifacts/contracts/AuthorityManager.sol/AuthorityManager.json +1237 -0
  3. package/artifacts/contracts/base/BaseImplemention.sol/BaseImplementation.json +298 -0
  4. package/contracts/AuthorityManager.sol +60 -0
  5. package/contracts/base/BaseImplemention.sol +38 -0
  6. package/package.json +73 -0
  7. package/typechain-types/@openzeppelin/contracts/access/index.ts +5 -0
  8. package/typechain-types/@openzeppelin/contracts/access/manager/AccessManager.ts +1109 -0
  9. package/typechain-types/@openzeppelin/contracts/access/manager/IAccessManaged.ts +148 -0
  10. package/typechain-types/@openzeppelin/contracts/access/manager/IAccessManager.ts +1073 -0
  11. package/typechain-types/@openzeppelin/contracts/access/manager/IAuthority.ts +96 -0
  12. package/typechain-types/@openzeppelin/contracts/access/manager/index.ts +7 -0
  13. package/typechain-types/@openzeppelin/contracts/index.ts +11 -0
  14. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +168 -0
  15. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +90 -0
  16. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  17. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
  18. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +69 -0
  19. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +4 -0
  20. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +90 -0
  21. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  22. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +7 -0
  23. package/typechain-types/@openzeppelin/contracts/utils/Address.ts +69 -0
  24. package/typechain-types/@openzeppelin/contracts/utils/Errors.ts +69 -0
  25. package/typechain-types/@openzeppelin/contracts/utils/Multicall.ts +87 -0
  26. package/typechain-types/@openzeppelin/contracts/utils/index.ts +8 -0
  27. package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
  28. package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
  29. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  30. package/typechain-types/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.ts +185 -0
  31. package/typechain-types/@openzeppelin/contracts-upgradeable/access/manager/index.ts +4 -0
  32. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  33. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  34. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +105 -0
  35. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +196 -0
  36. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  37. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +105 -0
  38. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.ts +183 -0
  39. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  40. package/typechain-types/@openzeppelin/index.ts +7 -0
  41. package/typechain-types/common.ts +131 -0
  42. package/typechain-types/contracts/AuthorityManager.ts +1163 -0
  43. package/typechain-types/contracts/base/BaseImplemention.sol/BaseImplementation.ts +363 -0
  44. package/typechain-types/contracts/base/BaseImplemention.sol/index.ts +4 -0
  45. package/typechain-types/contracts/base/index.ts +5 -0
  46. package/typechain-types/contracts/index.ts +6 -0
  47. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  48. package/typechain-types/factories/@openzeppelin/contracts/access/manager/AccessManager__factory.ts +1240 -0
  49. package/typechain-types/factories/@openzeppelin/contracts/access/manager/IAccessManaged__factory.ts +115 -0
  50. package/typechain-types/factories/@openzeppelin/contracts/access/manager/IAccessManager__factory.ts +1085 -0
  51. package/typechain-types/factories/@openzeppelin/contracts/access/manager/IAuthority__factory.ts +51 -0
  52. package/typechain-types/factories/@openzeppelin/contracts/access/manager/index.ts +7 -0
  53. package/typechain-types/factories/@openzeppelin/contracts/index.ts +7 -0
  54. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +67 -0
  55. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +38 -0
  56. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  57. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
  58. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +105 -0
  59. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +4 -0
  60. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +35 -0
  61. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  62. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +5 -0
  63. package/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.ts +75 -0
  64. package/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.ts +101 -0
  65. package/typechain-types/factories/@openzeppelin/contracts/utils/Multicall__factory.ts +57 -0
  66. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
  67. package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
  68. package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
  69. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +4 -0
  70. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable__factory.ts +142 -0
  71. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/manager/index.ts +4 -0
  72. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  73. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  74. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +48 -0
  75. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +153 -0
  76. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  77. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +48 -0
  78. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable__factory.ts +101 -0
  79. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  80. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  81. package/typechain-types/factories/contracts/AuthorityManager__factory.ts +1302 -0
  82. package/typechain-types/factories/contracts/base/BaseImplemention.sol/BaseImplementation__factory.ts +312 -0
  83. package/typechain-types/factories/contracts/base/BaseImplemention.sol/index.ts +4 -0
  84. package/typechain-types/factories/contracts/base/index.ts +4 -0
  85. package/typechain-types/factories/contracts/index.ts +5 -0
  86. package/typechain-types/factories/index.ts +5 -0
  87. package/typechain-types/hardhat.d.ts +387 -0
  88. package/typechain-types/index.ts +46 -0
package/README.md ADDED
@@ -0,0 +1,107 @@
1
+ # @mapprotocol/common-contracts
2
+
3
+ Common smart contracts library for MAP Protocol.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @mapprotocol/common-contracts
9
+ ```
10
+
11
+ or
12
+
13
+ ```bash
14
+ yarn add @mapprotocol/common-contracts
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ### Solidity Contracts
20
+
21
+ Import contracts in your Solidity files:
22
+
23
+ ```solidity
24
+ import "@mapprotocol/common-contracts/contracts/base/BaseImplemention.sol";
25
+ import "@mapprotocol/common-contracts/contracts/AuthorityManager.sol";
26
+ ```
27
+
28
+ ### TypeScript/JavaScript
29
+
30
+ Use TypeChain generated types for type-safe contract interactions:
31
+
32
+ ```typescript
33
+ import { BaseImplement__factory } from "@mapprotocol/common-contracts";
34
+ import { ethers } from "ethers";
35
+
36
+ // Deploy or connect to contract
37
+ const signer = await ethers.getSigner();
38
+ const baseContract = await BaseImplement__factory.deploy(signer);
39
+
40
+ // Or connect to existing contract
41
+ const contractAddress = "0x...";
42
+ const contract = BaseImplement__factory.connect(contractAddress, signer);
43
+ ```
44
+
45
+ ## Contracts Overview
46
+
47
+ ### Base Contracts
48
+ - `BaseImplemention.sol` - Base implementation with common functionality including pausable, reentrancy guard, and UUPS upgradeable patterns
49
+
50
+ ### Authority Management
51
+ - `AuthorityManager.sol` - Authority and access control management
52
+
53
+ ## Features
54
+
55
+ - **Upgradeable**: Contracts use UUPS (Universal Upgradeable Proxy Standard) pattern
56
+ - **Pausable**: Emergency pause functionality for critical operations
57
+ - **Reentrancy Protection**: Built-in reentrancy guards for secure operations
58
+ - **Access Control**: Flexible authority management system
59
+ - **TypeScript Support**: Full TypeChain generated types for type-safe development
60
+
61
+ ## Development
62
+
63
+ This library uses a dual toolchain setup:
64
+
65
+ ### Foundry
66
+ ```bash
67
+ forge build # Build contracts
68
+ forge test # Run tests
69
+ forge fmt # Format code
70
+ ```
71
+
72
+ ### Hardhat
73
+ ```bash
74
+ npm run build:hardhat # Build with Hardhat
75
+ npm run test:hardhat # Run Hardhat tests
76
+ npm run compile # Compile and generate types
77
+ ```
78
+
79
+ ### Other Commands
80
+ ```bash
81
+ npm run clean # Clean all artifacts
82
+ npm run typecheck # Check TypeScript types
83
+ npm run gas-report # Generate gas usage report
84
+ npm run coverage # Generate test coverage
85
+ ```
86
+
87
+ ## Requirements
88
+
89
+ - Node.js >= 18.0.0
90
+ - Solidity 0.8.20
91
+
92
+ ## Dependencies
93
+
94
+ - OpenZeppelin Contracts v5.0.0
95
+ - OpenZeppelin Contracts Upgradeable v5.0.0
96
+
97
+ ## License
98
+
99
+ MIT
100
+
101
+ ## Repository
102
+
103
+ [GitHub](https://github.com/mapprotocol/mapo-contracts-v2/tree/main/common)
104
+
105
+ ## Issues
106
+
107
+ Please report issues at [GitHub Issues](https://github.com/mapprotocol/mapo-contracts-v2/issues)