@peeramid-labs/sdk 2.1.2 → 3.0.1

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 (390) hide show
  1. package/README.md +34 -0
  2. package/cli/abis/AccessControl.js +232 -0
  3. package/cli/abis/AccessControl.js.map +1 -0
  4. package/cli/abis/AccessControlDefaultAdminRules.js +460 -0
  5. package/cli/abis/AccessControlDefaultAdminRules.js.map +1 -0
  6. package/cli/abis/ArguableVotingTournament.js +187 -0
  7. package/cli/abis/ArguableVotingTournament.js.map +1 -0
  8. package/cli/abis/Checkpoints.js +12 -0
  9. package/cli/abis/Checkpoints.js.map +1 -0
  10. package/cli/abis/CloneDistribution.js +102 -0
  11. package/cli/abis/CloneDistribution.js.map +1 -0
  12. package/cli/abis/Clones.js +12 -0
  13. package/cli/abis/Clones.js.map +1 -0
  14. package/cli/abis/CodeHashDistribution.js +159 -0
  15. package/cli/abis/CodeHashDistribution.js.map +1 -0
  16. package/cli/abis/CodeIndex.js +74 -0
  17. package/cli/abis/CodeIndex.js.map +1 -0
  18. package/cli/abis/ContextUpgradeable.js +30 -0
  19. package/cli/abis/ContextUpgradeable.js.map +1 -0
  20. package/cli/abis/DAODistributor.js +1351 -0
  21. package/cli/abis/DAODistributor.js.map +1 -0
  22. package/cli/abis/Diamond.js +92 -0
  23. package/cli/abis/Diamond.js.map +1 -0
  24. package/cli/abis/DiamondClonable.js +103 -0
  25. package/cli/abis/DiamondClonable.js.map +1 -0
  26. package/cli/abis/DiamondCutFacet.js +89 -0
  27. package/cli/abis/DiamondCutFacet.js.map +1 -0
  28. package/cli/abis/DiamondDistribution.js +118 -0
  29. package/cli/abis/DiamondDistribution.js.map +1 -0
  30. package/cli/abis/DiamondInit.js +14 -0
  31. package/cli/abis/DiamondInit.js.map +1 -0
  32. package/cli/abis/DiamondLoupeFacet.js +102 -0
  33. package/cli/abis/DiamondLoupeFacet.js.map +1 -0
  34. package/cli/abis/DistributableGovernanceERC20.js +917 -0
  35. package/cli/abis/DistributableGovernanceERC20.js.map +1 -0
  36. package/cli/abis/Distributor.js +801 -0
  37. package/cli/abis/Distributor.js.map +1 -0
  38. package/cli/abis/ECDSA.js +34 -0
  39. package/cli/abis/ECDSA.js.map +1 -0
  40. package/cli/abis/EIP712InspectorFacet.js +58 -0
  41. package/cli/abis/EIP712InspectorFacet.js.map +1 -0
  42. package/cli/abis/EIP712Upgradeable.js +79 -0
  43. package/cli/abis/EIP712Upgradeable.js.map +1 -0
  44. package/cli/abis/ERC1155.js +421 -0
  45. package/cli/abis/ERC1155.js.map +1 -0
  46. package/cli/abis/ERC1155Burnable.js +467 -0
  47. package/cli/abis/ERC1155Burnable.js.map +1 -0
  48. package/cli/abis/ERC1155BurnableUpgradeable.js +490 -0
  49. package/cli/abis/ERC1155BurnableUpgradeable.js.map +1 -0
  50. package/cli/abis/ERC1155Upgradeable.js +444 -0
  51. package/cli/abis/ERC1155Upgradeable.js.map +1 -0
  52. package/cli/abis/ERC165.js +26 -0
  53. package/cli/abis/ERC165.js.map +1 -0
  54. package/cli/abis/ERC165Upgradeable.js +49 -0
  55. package/cli/abis/ERC165Upgradeable.js.map +1 -0
  56. package/cli/abis/ERC20.js +315 -0
  57. package/cli/abis/ERC20.js.map +1 -0
  58. package/cli/abis/ERC20Burnable.js +346 -0
  59. package/cli/abis/ERC20Burnable.js.map +1 -0
  60. package/cli/abis/ERC20Upgradeable.js +338 -0
  61. package/cli/abis/ERC20Upgradeable.js.map +1 -0
  62. package/cli/abis/ERC20VotesUpgradeable.js +781 -0
  63. package/cli/abis/ERC20VotesUpgradeable.js.map +1 -0
  64. package/cli/abis/ERC721.js +440 -0
  65. package/cli/abis/ERC721.js.map +1 -0
  66. package/cli/abis/ERC721Burnable.js +453 -0
  67. package/cli/abis/ERC721Burnable.js.map +1 -0
  68. package/cli/abis/IAccessControl.js +200 -0
  69. package/cli/abis/IAccessControl.js.map +1 -0
  70. package/cli/abis/IAccessControlDefaultAdminRules.js +399 -0
  71. package/cli/abis/IAccessControlDefaultAdminRules.js.map +1 -0
  72. package/cli/abis/ICodeIndex.js +74 -0
  73. package/cli/abis/ICodeIndex.js.map +1 -0
  74. package/cli/abis/IContractURI.js +20 -0
  75. package/cli/abis/IContractURI.js.map +1 -0
  76. package/cli/abis/IDAOFactory.js +89 -0
  77. package/cli/abis/IDAOFactory.js.map +1 -0
  78. package/cli/abis/IDiamondCut.js +47 -0
  79. package/cli/abis/IDiamondCut.js.map +1 -0
  80. package/cli/abis/IDiamondLoupe.js +83 -0
  81. package/cli/abis/IDiamondLoupe.js.map +1 -0
  82. package/cli/abis/IDistribution.js +91 -0
  83. package/cli/abis/IDistribution.js.map +1 -0
  84. package/cli/abis/IDistributor.js +627 -0
  85. package/cli/abis/IDistributor.js.map +1 -0
  86. package/cli/abis/IERC1155.js +300 -0
  87. package/cli/abis/IERC1155.js.map +1 -0
  88. package/cli/abis/IERC1155Errors.js +109 -0
  89. package/cli/abis/IERC1155Errors.js.map +1 -0
  90. package/cli/abis/IERC1155MetadataURI.js +319 -0
  91. package/cli/abis/IERC1155MetadataURI.js.map +1 -0
  92. package/cli/abis/IERC1155Receiver.js +85 -0
  93. package/cli/abis/IERC1155Receiver.js.map +1 -0
  94. package/cli/abis/IERC1271.js +31 -0
  95. package/cli/abis/IERC1271.js.map +1 -0
  96. package/cli/abis/IERC165.js +26 -0
  97. package/cli/abis/IERC165.js.map +1 -0
  98. package/cli/abis/IERC173.js +33 -0
  99. package/cli/abis/IERC173.js.map +1 -0
  100. package/cli/abis/IERC20.js +190 -0
  101. package/cli/abis/IERC20.js.map +1 -0
  102. package/cli/abis/IERC20Errors.js +93 -0
  103. package/cli/abis/IERC20Errors.js.map +1 -0
  104. package/cli/abis/IERC20Metadata.js +229 -0
  105. package/cli/abis/IERC20Metadata.js.map +1 -0
  106. package/cli/abis/IERC20MintableUpgradeable.js +25 -0
  107. package/cli/abis/IERC20MintableUpgradeable.js.map +1 -0
  108. package/cli/abis/IERC5267.js +56 -0
  109. package/cli/abis/IERC5267.js.map +1 -0
  110. package/cli/abis/IERC5313.js +20 -0
  111. package/cli/abis/IERC5313.js.map +1 -0
  112. package/cli/abis/IERC5805.js +226 -0
  113. package/cli/abis/IERC5805.js.map +1 -0
  114. package/cli/abis/IERC6372.js +33 -0
  115. package/cli/abis/IERC6372.js.map +1 -0
  116. package/cli/abis/IERC721.js +292 -0
  117. package/cli/abis/IERC721.js.map +1 -0
  118. package/cli/abis/IERC721Errors.js +110 -0
  119. package/cli/abis/IERC721Errors.js.map +1 -0
  120. package/cli/abis/IERC721Metadata.js +337 -0
  121. package/cli/abis/IERC721Metadata.js.map +1 -0
  122. package/cli/abis/IERC721Receiver.js +41 -0
  123. package/cli/abis/IERC721Receiver.js.map +1 -0
  124. package/cli/abis/IERC7746.js +84 -0
  125. package/cli/abis/IERC7746.js.map +1 -0
  126. package/cli/abis/IErrors.js +23 -0
  127. package/cli/abis/IErrors.js.map +1 -0
  128. package/cli/abis/IInitializer.js +75 -0
  129. package/cli/abis/IInitializer.js.map +1 -0
  130. package/cli/abis/IInstaller.js +506 -0
  131. package/cli/abis/IInstaller.js.map +1 -0
  132. package/cli/abis/ILockableERC1155.js +464 -0
  133. package/cli/abis/ILockableERC1155.js.map +1 -0
  134. package/cli/abis/IMultipass.js +1263 -0
  135. package/cli/abis/IMultipass.js.map +1 -0
  136. package/cli/abis/IPluginRepo.js +114 -0
  137. package/cli/abis/IPluginRepo.js.map +1 -0
  138. package/cli/abis/IRankToken.js +533 -0
  139. package/cli/abis/IRankToken.js.map +1 -0
  140. package/cli/abis/IRankifyInstance.js +147 -0
  141. package/cli/abis/IRankifyInstance.js.map +1 -0
  142. package/cli/abis/IRepository.js +343 -0
  143. package/cli/abis/IRepository.js.map +1 -0
  144. package/cli/abis/IVotes.js +200 -0
  145. package/cli/abis/IVotes.js.map +1 -0
  146. package/cli/abis/Initializable.js +30 -0
  147. package/cli/abis/Initializable.js.map +1 -0
  148. package/cli/abis/InitializedDiamondDistribution.js +107 -0
  149. package/cli/abis/InitializedDiamondDistribution.js.map +1 -0
  150. package/cli/abis/Installer.js +506 -0
  151. package/cli/abis/Installer.js.map +1 -0
  152. package/cli/abis/InstallerClonable.js +542 -0
  153. package/cli/abis/InstallerClonable.js.map +1 -0
  154. package/cli/abis/LatestVersionDistribution.js +136 -0
  155. package/cli/abis/LatestVersionDistribution.js.map +1 -0
  156. package/cli/abis/LibDiamond.js +79 -0
  157. package/cli/abis/LibDiamond.js.map +1 -0
  158. package/cli/abis/LibSemver.js +18 -0
  159. package/cli/abis/LibSemver.js.map +1 -0
  160. package/cli/abis/LockableERC1155.js +631 -0
  161. package/cli/abis/LockableERC1155.js.map +1 -0
  162. package/cli/abis/MAODistribution.js +285 -0
  163. package/cli/abis/MAODistribution.js.map +1 -0
  164. package/cli/abis/Math.js +12 -0
  165. package/cli/abis/Math.js.map +1 -0
  166. package/cli/abis/MiddlewareProxy.js +39 -0
  167. package/cli/abis/MiddlewareProxy.js.map +1 -0
  168. package/cli/abis/MockCloneDistribution.js +107 -0
  169. package/cli/abis/MockCloneDistribution.js.map +1 -0
  170. package/cli/abis/MockDiamondInitialize.js +33 -0
  171. package/cli/abis/MockDiamondInitialize.js.map +1 -0
  172. package/cli/abis/MockERC1155.js +636 -0
  173. package/cli/abis/MockERC1155.js.map +1 -0
  174. package/cli/abis/MockERC20.js +336 -0
  175. package/cli/abis/MockERC20.js.map +1 -0
  176. package/cli/abis/MockERC721.js +620 -0
  177. package/cli/abis/MockERC721.js.map +1 -0
  178. package/cli/abis/MockInstaller.js +596 -0
  179. package/cli/abis/MockInstaller.js.map +1 -0
  180. package/cli/abis/MockTokenizedDistributor.js +1351 -0
  181. package/cli/abis/MockTokenizedDistributor.js.map +1 -0
  182. package/cli/abis/MockVendingMachine.js +404 -0
  183. package/cli/abis/MockVendingMachine.js.map +1 -0
  184. package/cli/abis/Multipass.js +1461 -0
  185. package/cli/abis/Multipass.js.map +1 -0
  186. package/cli/abis/NoncesUpgradeable.js +65 -0
  187. package/cli/abis/NoncesUpgradeable.js.map +1 -0
  188. package/cli/abis/Ownable.js +81 -0
  189. package/cli/abis/Ownable.js.map +1 -0
  190. package/cli/abis/OwnableDistributor.js +886 -0
  191. package/cli/abis/OwnableDistributor.js.map +1 -0
  192. package/cli/abis/OwnableRepository.js +566 -0
  193. package/cli/abis/OwnableRepository.js.map +1 -0
  194. package/cli/abis/OwnableUpgradeable.js +104 -0
  195. package/cli/abis/OwnableUpgradeable.js.map +1 -0
  196. package/cli/abis/OwnershipFacet.js +52 -0
  197. package/cli/abis/OwnershipFacet.js.map +1 -0
  198. package/cli/abis/RankToken.js +783 -0
  199. package/cli/abis/RankToken.js.map +1 -0
  200. package/cli/abis/Rankify.js +449 -0
  201. package/cli/abis/Rankify.js.map +1 -0
  202. package/cli/abis/RankifyDiamondInstance.js +2032 -0
  203. package/cli/abis/RankifyDiamondInstance.js.map +1 -0
  204. package/cli/abis/RankifyInstanceEventMock.js +332 -0
  205. package/cli/abis/RankifyInstanceEventMock.js.map +1 -0
  206. package/cli/abis/RankifyInstanceGameMastersFacet.js +319 -0
  207. package/cli/abis/RankifyInstanceGameMastersFacet.js.map +1 -0
  208. package/cli/abis/RankifyInstanceInit.js +80 -0
  209. package/cli/abis/RankifyInstanceInit.js.map +1 -0
  210. package/cli/abis/RankifyInstanceMainFacet.js +987 -0
  211. package/cli/abis/RankifyInstanceMainFacet.js.map +1 -0
  212. package/cli/abis/RankifyInstanceRequirementsFacet.js +549 -0
  213. package/cli/abis/RankifyInstanceRequirementsFacet.js.map +1 -0
  214. package/cli/abis/ReentrancyGuard.js +12 -0
  215. package/cli/abis/ReentrancyGuard.js.map +1 -0
  216. package/cli/abis/ReentrancyGuardUpgradeable.js +35 -0
  217. package/cli/abis/ReentrancyGuardUpgradeable.js.map +1 -0
  218. package/cli/abis/Repo.js +566 -0
  219. package/cli/abis/Repo.js.map +1 -0
  220. package/cli/abis/Repository.js +471 -0
  221. package/cli/abis/Repository.js.map +1 -0
  222. package/cli/abis/SafeCast.js +61 -0
  223. package/cli/abis/SafeCast.js.map +1 -0
  224. package/cli/abis/SimpleAccessManager.js +224 -0
  225. package/cli/abis/SimpleAccessManager.js.map +1 -0
  226. package/cli/abis/Strings.js +23 -0
  227. package/cli/abis/Strings.js.map +1 -0
  228. package/cli/abis/Test1Facet.js +179 -0
  229. package/cli/abis/Test1Facet.js.map +1 -0
  230. package/cli/abis/Test2Facet.js +147 -0
  231. package/cli/abis/Test2Facet.js.map +1 -0
  232. package/cli/abis/TestFacet.js +33 -0
  233. package/cli/abis/TestFacet.js.map +1 -0
  234. package/cli/abis/TokenizedDistributor.js +878 -0
  235. package/cli/abis/TokenizedDistributor.js.map +1 -0
  236. package/cli/abis/VotesUpgradeable.js +402 -0
  237. package/cli/abis/VotesUpgradeable.js.map +1 -0
  238. package/cli/abis/index.js +484 -0
  239. package/cli/abis/index.js.map +1 -0
  240. package/cli/cli/client.js +57 -0
  241. package/cli/cli/client.js.map +1 -0
  242. package/cli/cli/commands/distributions/add.js +96 -0
  243. package/cli/cli/commands/distributions/add.js.map +1 -0
  244. package/cli/cli/commands/distributions/index.js +11 -0
  245. package/cli/cli/commands/distributions/index.js.map +1 -0
  246. package/cli/cli/commands/distributions/list.js +42 -0
  247. package/cli/cli/commands/distributions/list.js.map +1 -0
  248. package/cli/cli/commands/fellowship/create.js +130 -0
  249. package/cli/cli/commands/fellowship/create.js.map +1 -0
  250. package/cli/cli/commands/fellowship/index.js +11 -0
  251. package/cli/cli/commands/fellowship/index.js.map +1 -0
  252. package/cli/cli/commands/fellowship/metadata.js +42 -0
  253. package/cli/cli/commands/fellowship/metadata.js.map +1 -0
  254. package/cli/cli/commands/instances/index.js +7 -0
  255. package/cli/cli/commands/instances/index.js.map +1 -0
  256. package/cli/cli/commands/instances/list.js +50 -0
  257. package/cli/cli/commands/instances/list.js.map +1 -0
  258. package/cli/cli/commands/multipass/contract.js +178 -0
  259. package/cli/cli/commands/multipass/contract.js.map +1 -0
  260. package/cli/cli/commands/multipass/domain.js +512 -0
  261. package/cli/cli/commands/multipass/domain.js.map +1 -0
  262. package/cli/cli/commands/multipass/domains.js +141 -0
  263. package/cli/cli/commands/multipass/domains.js.map +1 -0
  264. package/cli/cli/commands/multipass/index.js +20 -0
  265. package/cli/cli/commands/multipass/index.js.map +1 -0
  266. package/cli/cli/commands/multipass/owner.js +320 -0
  267. package/cli/cli/commands/multipass/owner.js.map +1 -0
  268. package/cli/cli/index.js +20 -0
  269. package/cli/cli/index.js.map +1 -0
  270. package/cli/eds/Distributor.js +74 -0
  271. package/cli/eds/Distributor.js.map +1 -0
  272. package/cli/multipass/MultipassBase.js +303 -0
  273. package/cli/multipass/MultipassBase.js.map +1 -0
  274. package/cli/multipass/Owner.js +213 -0
  275. package/cli/multipass/Owner.js.map +1 -0
  276. package/cli/rankify/MAODistributor.js +277 -0
  277. package/cli/rankify/MAODistributor.js.map +1 -0
  278. package/cli/rankify/RankToken.js +106 -0
  279. package/cli/rankify/RankToken.js.map +1 -0
  280. package/cli/types/contracts.js +3 -0
  281. package/cli/types/contracts.js.map +1 -0
  282. package/cli/types.js +30 -0
  283. package/cli/types.js.map +1 -0
  284. package/cli/utils/ApiError.js +20 -0
  285. package/cli/utils/ApiError.js.map +1 -0
  286. package/cli/utils/artifacts.js +51 -0
  287. package/cli/utils/artifacts.js.map +1 -0
  288. package/cli/utils/chainMapping.js +16 -0
  289. package/cli/utils/chainMapping.js.map +1 -0
  290. package/cli/utils/index.js +35 -0
  291. package/cli/utils/index.js.map +1 -0
  292. package/docs/classes/MAODistributorClient.md +89 -43
  293. package/docs/classes/Multipass.md +148 -0
  294. package/docs/classes/MultipassBase.md +120 -0
  295. package/docs/classes/RankTokenClient.md +34 -0
  296. package/docs/docs/classes/MAODistributorClient.md +89 -43
  297. package/docs/docs/classes/Multipass.md +148 -0
  298. package/docs/docs/classes/MultipassBase.md +120 -0
  299. package/docs/docs/classes/RankTokenClient.md +34 -0
  300. package/docs/docs/enums/CONTENT_STORAGE.md +27 -0
  301. package/docs/docs/enums/SUBMISSION_TYPES.md +41 -0
  302. package/docs/docs/index.md +135 -2
  303. package/docs/enums/CONTENT_STORAGE.md +27 -0
  304. package/docs/enums/SUBMISSION_TYPES.md +41 -0
  305. package/docs/index.md +135 -2
  306. package/lib.commonjs/eds/Distributor.d.ts +5 -1
  307. package/lib.commonjs/eds/Distributor.d.ts.map +1 -1
  308. package/lib.commonjs/eds/Distributor.js +14 -2
  309. package/lib.commonjs/eds/Distributor.js.map +1 -1
  310. package/lib.commonjs/multipass/MultipassBase.d.ts +1185 -2
  311. package/lib.commonjs/multipass/MultipassBase.d.ts.map +1 -1
  312. package/lib.commonjs/multipass/MultipassBase.js +168 -1
  313. package/lib.commonjs/multipass/MultipassBase.js.map +1 -1
  314. package/lib.commonjs/multipass/Owner.d.ts +137 -0
  315. package/lib.commonjs/multipass/Owner.d.ts.map +1 -0
  316. package/lib.commonjs/multipass/Owner.js +214 -0
  317. package/lib.commonjs/multipass/Owner.js.map +1 -0
  318. package/lib.commonjs/multipass/Registrar.d.ts +3 -2
  319. package/lib.commonjs/multipass/Registrar.d.ts.map +1 -1
  320. package/lib.commonjs/multipass/Registrar.js +3 -3
  321. package/lib.commonjs/multipass/Registrar.js.map +1 -1
  322. package/lib.commonjs/rankify/MAODistributor.d.ts +1042 -2
  323. package/lib.commonjs/rankify/MAODistributor.d.ts.map +1 -1
  324. package/lib.commonjs/rankify/MAODistributor.js +146 -33
  325. package/lib.commonjs/rankify/MAODistributor.js.map +1 -1
  326. package/lib.commonjs/rankify/Player.js +7 -7
  327. package/lib.commonjs/rankify/Player.js.map +1 -1
  328. package/lib.commonjs/rankify/RankToken.d.ts +3 -0
  329. package/lib.commonjs/rankify/RankToken.d.ts.map +1 -1
  330. package/lib.commonjs/rankify/RankToken.js +74 -0
  331. package/lib.commonjs/rankify/RankToken.js.map +1 -1
  332. package/lib.commonjs/types/contracts.d.ts +0 -6
  333. package/lib.commonjs/types/contracts.d.ts.map +1 -1
  334. package/lib.commonjs/types/contracts.js +0 -16
  335. package/lib.commonjs/types/contracts.js.map +1 -1
  336. package/lib.commonjs/types.d.ts +113 -2
  337. package/lib.commonjs/types.d.ts.map +1 -1
  338. package/lib.commonjs/types.js +15 -1
  339. package/lib.commonjs/types.js.map +1 -1
  340. package/lib.commonjs/utils/artifacts.d.ts +3 -1
  341. package/lib.commonjs/utils/artifacts.d.ts.map +1 -1
  342. package/lib.commonjs/utils/artifacts.js +3 -1
  343. package/lib.commonjs/utils/artifacts.js.map +1 -1
  344. package/lib.commonjs/utils/index.d.ts +7 -0
  345. package/lib.commonjs/utils/index.d.ts.map +1 -1
  346. package/lib.commonjs/utils/index.js +16 -0
  347. package/lib.commonjs/utils/index.js.map +1 -1
  348. package/lib.esm/eds/Distributor.d.ts +5 -1
  349. package/lib.esm/eds/Distributor.d.ts.map +1 -1
  350. package/lib.esm/eds/Distributor.js +14 -2
  351. package/lib.esm/eds/Distributor.js.map +1 -1
  352. package/lib.esm/multipass/MultipassBase.d.ts +1185 -2
  353. package/lib.esm/multipass/MultipassBase.d.ts.map +1 -1
  354. package/lib.esm/multipass/MultipassBase.js +168 -1
  355. package/lib.esm/multipass/MultipassBase.js.map +1 -1
  356. package/lib.esm/multipass/Owner.d.ts +137 -0
  357. package/lib.esm/multipass/Owner.d.ts.map +1 -0
  358. package/lib.esm/multipass/Owner.js +208 -0
  359. package/lib.esm/multipass/Owner.js.map +1 -0
  360. package/lib.esm/multipass/Registrar.d.ts +3 -2
  361. package/lib.esm/multipass/Registrar.d.ts.map +1 -1
  362. package/lib.esm/multipass/Registrar.js +3 -3
  363. package/lib.esm/multipass/Registrar.js.map +1 -1
  364. package/lib.esm/rankify/MAODistributor.d.ts +1042 -2
  365. package/lib.esm/rankify/MAODistributor.d.ts.map +1 -1
  366. package/lib.esm/rankify/MAODistributor.js +144 -31
  367. package/lib.esm/rankify/MAODistributor.js.map +1 -1
  368. package/lib.esm/rankify/Player.js +7 -7
  369. package/lib.esm/rankify/Player.js.map +1 -1
  370. package/lib.esm/rankify/RankToken.d.ts +3 -0
  371. package/lib.esm/rankify/RankToken.d.ts.map +1 -1
  372. package/lib.esm/rankify/RankToken.js +74 -0
  373. package/lib.esm/rankify/RankToken.js.map +1 -1
  374. package/lib.esm/types/contracts.d.ts +0 -6
  375. package/lib.esm/types/contracts.d.ts.map +1 -1
  376. package/lib.esm/types/contracts.js +1 -14
  377. package/lib.esm/types/contracts.js.map +1 -1
  378. package/lib.esm/types.d.ts +113 -2
  379. package/lib.esm/types.d.ts.map +1 -1
  380. package/lib.esm/types.js +14 -0
  381. package/lib.esm/types.js.map +1 -1
  382. package/lib.esm/utils/artifacts.d.ts +3 -1
  383. package/lib.esm/utils/artifacts.d.ts.map +1 -1
  384. package/lib.esm/utils/artifacts.js +3 -1
  385. package/lib.esm/utils/artifacts.js.map +1 -1
  386. package/lib.esm/utils/index.d.ts +7 -0
  387. package/lib.esm/utils/index.d.ts.map +1 -1
  388. package/lib.esm/utils/index.js +14 -0
  389. package/lib.esm/utils/index.js.map +1 -1
  390. package/package.json +16 -6
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ /**
3
+ * @file MAO (Meritocratic Autonomous Organization) Distribution implementation
4
+ * Provides functionality for managing and distributing MAO tokens and instances
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MAODistributorClient = void 0;
11
+ const Distributor_1 = require("../eds/Distributor");
12
+ const utils_1 = require("../utils");
13
+ const RankifyDiamondInstance_1 = __importDefault(require("../abis/RankifyDiamondInstance"));
14
+ const RankToken_1 = __importDefault(require("../abis/RankToken"));
15
+ const DistributableGovernanceERC20_1 = __importDefault(require("../abis/DistributableGovernanceERC20"));
16
+ const SimpleAccessManager_1 = __importDefault(require("../abis/SimpleAccessManager"));
17
+ const viem_1 = require("viem");
18
+ const MAODistribution_1 = __importDefault(require("../abis/MAODistribution"));
19
+ const DAODistributor_1 = __importDefault(require("../abis/DAODistributor"));
20
+ const abis_1 = require("../abis");
21
+ /**
22
+ * Client for managing MAO Distribution operations
23
+ * Handles creation, management and interaction with MAO instances
24
+ */
25
+ class MAODistributorClient extends Distributor_1.DistributorClient {
26
+ /**
27
+ * Creates a new MAODistributorClient instance
28
+ * @param chainId - ID of the blockchain network
29
+ * @param client - Object containing public and wallet clients
30
+ */
31
+ constructor(chainId, client) {
32
+ const { address } = (0, utils_1.getArtifact)(chainId, "DAODistributor");
33
+ super({ address: (0, viem_1.getAddress)(address), publicClient: client.publicClient });
34
+ this.walletClient = client.walletClient;
35
+ }
36
+ /**
37
+ * Converts MAOInstances addresses to their respective contract instances
38
+ * @param addresses Object containing contract addresses for MAO distribution components
39
+ * @returns Object containing initialized contract instances
40
+ * @throws Error if any of the addresses are invalid
41
+ */
42
+ addressesToContracts(addresses) {
43
+ const instance = (0, viem_1.getContract)({
44
+ address: (0, viem_1.getAddress)(addresses.ACIDInstance),
45
+ abi: RankifyDiamondInstance_1.default,
46
+ client: this.walletClient ?? this.publicClient,
47
+ });
48
+ const rankToken = (0, viem_1.getContract)({
49
+ address: (0, viem_1.getAddress)(addresses.rankToken),
50
+ abi: RankToken_1.default,
51
+ client: this.walletClient ?? this.publicClient,
52
+ });
53
+ const govtToken = (0, viem_1.getContract)({
54
+ address: (0, viem_1.getAddress)(addresses.govToken),
55
+ abi: DistributableGovernanceERC20_1.default,
56
+ client: this.walletClient ?? this.publicClient,
57
+ });
58
+ const govTokenAccessManager = (0, viem_1.getContract)({
59
+ address: (0, viem_1.getAddress)(addresses.govTokenAccessManager),
60
+ abi: SimpleAccessManager_1.default,
61
+ client: this.walletClient ?? this.publicClient,
62
+ });
63
+ const ACIDAccessManager = (0, viem_1.getContract)({
64
+ address: (0, viem_1.getAddress)(addresses.ACIDAccessManager),
65
+ abi: SimpleAccessManager_1.default,
66
+ client: this.walletClient ?? this.publicClient,
67
+ });
68
+ return { rankToken, instance, govtToken, govTokenAccessManager, ACIDAccessManager };
69
+ }
70
+ /**
71
+ * Get MAOInstances instances by distribution name
72
+ * @param namedDistribution Distribution name (defaults to "MAO Distribution")
73
+ * @returns Array of MAOInstances contract instances
74
+ */
75
+ async getMAOInstances(namedDistribution = MAODistributorClient.DEFAULT_NAME, fromBlock = 1n) {
76
+ const logs = await this.publicClient.getContractEvents({
77
+ address: this.address,
78
+ abi: DAODistributor_1.default,
79
+ eventName: "Instantiated",
80
+ args: {
81
+ distributionId: (0, viem_1.stringToHex)(namedDistribution, { size: 32 }),
82
+ },
83
+ fromBlock,
84
+ toBlock: "latest",
85
+ });
86
+ const instances = logs
87
+ .map((l) => (0, utils_1.parseInstantiated)(l.args.instances))
88
+ .map((ip) => this.addressesToContracts(ip));
89
+ return instances;
90
+ }
91
+ parseToContracts(instances) {
92
+ return this.addressesToContracts((0, utils_1.parseInstantiated)(instances));
93
+ }
94
+ async getDistributions() {
95
+ return this.publicClient.readContract({
96
+ abi: DAODistributor_1.default,
97
+ functionName: "getDistributions",
98
+ address: this.address,
99
+ });
100
+ }
101
+ async addNamedDistribution(chain, name, address, initializer = "0x0000000000000000000000000000000000000000") {
102
+ if (!this.walletClient) {
103
+ throw new Error("Wallet client is required for this operation");
104
+ }
105
+ const code = await this.publicClient.getCode({ address });
106
+ if (!code)
107
+ throw new Error(`Code not found on ${address} address`);
108
+ const hashCode = (0, viem_1.keccak256)(code);
109
+ const distrAddress = await this.publicClient.readContract({
110
+ abi: abis_1.CodeIndexAbi,
111
+ address: (0, utils_1.getArtifact)(chain.id, "CodeIndex").address,
112
+ functionName: "get",
113
+ args: [hashCode],
114
+ });
115
+ const [account] = await this.walletClient.getAddresses();
116
+ if (distrAddress == "0x0000000000000000000000000000000000000000") {
117
+ const { request } = await this.publicClient.simulateContract({
118
+ abi: abis_1.CodeIndexAbi,
119
+ address: (0, utils_1.getArtifact)(chain.id, "CodeIndex").address,
120
+ functionName: "register",
121
+ args: [address],
122
+ account,
123
+ });
124
+ await this.walletClient
125
+ .writeContract(request)
126
+ .then((h) => this.publicClient.waitForTransactionReceipt({ hash: h }));
127
+ }
128
+ const { request } = await this.publicClient.simulateContract({
129
+ abi: DAODistributor_1.default,
130
+ address: this.address,
131
+ functionName: "addNamedDistribution",
132
+ args: [name, hashCode, initializer],
133
+ account,
134
+ chain,
135
+ });
136
+ const receipt = await this.walletClient
137
+ .writeContract(request)
138
+ .then((h) => this.publicClient.waitForTransactionReceipt({ hash: h }));
139
+ const distributionAddedEvent = (0, viem_1.parseEventLogs)({
140
+ abi: DAODistributor_1.default,
141
+ logs: receipt.logs,
142
+ eventName: "DistributionAdded",
143
+ // strict: false,
144
+ });
145
+ return { receipt, distributionAddedEvent: distributionAddedEvent[0] };
146
+ }
147
+ async getMAOInstance(name = MAODistributorClient.DEFAULT_NAME, instanceId) {
148
+ const logs = await this.publicClient.getContractEvents({
149
+ address: this.address,
150
+ abi: DAODistributor_1.default,
151
+ eventName: "Instantiated",
152
+ args: {
153
+ distributionId: (0, viem_1.stringToHex)(name, { size: 32 }),
154
+ newInstanceId: instanceId,
155
+ },
156
+ });
157
+ if (logs.length === 0) {
158
+ console.error("No instance found");
159
+ throw new Error(`No instance found for distribution ${name} and id ${instanceId}`);
160
+ }
161
+ if (logs.length > 1) {
162
+ console.error("Multiple instances found");
163
+ throw new Error(`Multiple instances found for distribution ${name} and id ${instanceId}`);
164
+ }
165
+ const { instances } = logs[0].args;
166
+ if (!instances)
167
+ throw new Error(`No instances found for distribution ${name} and id ${instanceId}`);
168
+ return this.addressesToContracts((0, utils_1.parseInstantiated)(instances));
169
+ }
170
+ async getInstantiatePrice(distributorsId) {
171
+ return this.publicClient.readContract({
172
+ abi: DAODistributor_1.default,
173
+ functionName: "instantiationCosts",
174
+ address: this.address,
175
+ args: [distributorsId],
176
+ });
177
+ }
178
+ async setInstantiationAllowance(amount) {
179
+ if (!this.walletClient)
180
+ throw new Error("walletClient is required, use constructor with walletClient");
181
+ if (!this.walletClient.account?.address)
182
+ throw new Error("No account address found");
183
+ const paymentToken = await this.publicClient.readContract({
184
+ abi: DAODistributor_1.default,
185
+ functionName: "paymentToken",
186
+ address: this.address,
187
+ });
188
+ await this.walletClient.writeContract({
189
+ chain: this.walletClient.chain,
190
+ account: this.walletClient.account,
191
+ abi: viem_1.erc20Abi,
192
+ functionName: "approve",
193
+ address: paymentToken,
194
+ args: [this.address, amount ? amount : viem_1.maxUint256],
195
+ });
196
+ }
197
+ async needsAllowance(distributorsId) {
198
+ if (!this.walletClient)
199
+ throw new Error("walletClient is required, use constructor with walletClient");
200
+ if (!this.walletClient.account?.address)
201
+ throw new Error("No account address found");
202
+ const paymentToken = await this.publicClient.readContract({
203
+ abi: DAODistributor_1.default,
204
+ functionName: "paymentToken",
205
+ address: this.address,
206
+ });
207
+ const allowance = await this.publicClient.readContract({
208
+ abi: viem_1.erc20Abi,
209
+ functionName: "allowance",
210
+ address: paymentToken,
211
+ args: [this.walletClient.account?.address, this.address],
212
+ });
213
+ return allowance < (await this.getInstantiatePrice(distributorsId));
214
+ }
215
+ /**
216
+ * Create a new MAODistribution instance
217
+ * @param args Distribution arguments (encoded as bytes)
218
+ * @param name Distributor name (defaults to "MAO Distribution")
219
+ * @returns Array of created contract addresses
220
+ */
221
+ async instantiate(args, name = MAODistributorClient.DEFAULT_NAME, chain) {
222
+ if (!args)
223
+ throw new Error("args is required");
224
+ if (!this.walletClient)
225
+ throw new Error("walletClient is required, use constructor with walletClient");
226
+ const abiItem = (0, viem_1.getAbiItem)({ abi: MAODistribution_1.default, name: "distributionSchema" });
227
+ const encodedParams = (0, viem_1.encodeAbiParameters)(abiItem.inputs, args);
228
+ const encodedName = (0, viem_1.stringToHex)(name, { size: 32 });
229
+ if (!this.walletClient.account?.address)
230
+ throw new Error("No account address found");
231
+ try {
232
+ if (await this.needsAllowance(encodedName))
233
+ await this.setInstantiationAllowance();
234
+ const { request } = await this.publicClient.simulateContract({
235
+ abi: DAODistributor_1.default,
236
+ address: this.address,
237
+ functionName: "instantiate",
238
+ args: [encodedName, encodedParams],
239
+ account: this.walletClient.account,
240
+ chain: chain,
241
+ });
242
+ const receipt = await this.walletClient
243
+ .writeContract(request)
244
+ .then((h) => this.publicClient.waitForTransactionReceipt({ hash: h }));
245
+ const instantiatedEvent = (0, viem_1.parseEventLogs)({
246
+ abi: DAODistributor_1.default,
247
+ logs: receipt.logs,
248
+ eventName: "Instantiated",
249
+ // strict: false,
250
+ });
251
+ if (instantiatedEvent.length == 0) {
252
+ console.error("Transaction receipt:", receipt);
253
+ throw new Error("Instantiated event not found in transaction receipt");
254
+ }
255
+ if (instantiatedEvent.length > 1) {
256
+ console.error("Transaction receipt:", receipt);
257
+ throw new Error("Multiple Instantiated events found in transaction receipt");
258
+ }
259
+ const addresses = (0, utils_1.parseInstantiated)(instantiatedEvent[0].args.instances);
260
+ return this.addressesToContracts(addresses);
261
+ // eslint-disable-next-line
262
+ }
263
+ catch (e) {
264
+ if (e?.cause?.signature) {
265
+ const remoteAttempt = fetch(`https://www.4byte.directory/api/v1/signatures/?hex_signature=${e?.cause?.signature}`);
266
+ const response = await remoteAttempt;
267
+ const data = await response.json();
268
+ throw new Error(`error: ${e?.message} | 4byte: ${JSON.stringify(data.results, null, 2)}`);
269
+ }
270
+ else
271
+ throw e;
272
+ }
273
+ }
274
+ }
275
+ exports.MAODistributorClient = MAODistributorClient;
276
+ MAODistributorClient.DEFAULT_NAME = "MAO Distribution";
277
+ //# sourceMappingURL=MAODistributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MAODistributor.js","sourceRoot":"","sources":["../../../src/rankify/MAODistributor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const viem_1 = require("viem");
7
+ const RankToken_1 = __importDefault(require("../abis/RankToken"));
8
+ const types_1 = require("../types");
9
+ class RankTokenClient {
10
+ constructor({ address, chainId, publicClient }) {
11
+ this.getRankTokenURI = () => {
12
+ const rankToken = (0, viem_1.getContract)({
13
+ address: this.rankTokenAddress,
14
+ abi: RankToken_1.default,
15
+ client: this.publicClient,
16
+ });
17
+ return rankToken.read.contractURI();
18
+ };
19
+ this.getMetadata = async (ipfsGateway) => {
20
+ try {
21
+ const uri = await this.getRankTokenURI();
22
+ // Handle different URI formats
23
+ const processedUri = uri.startsWith("ipfs://")
24
+ ? uri.replace("ipfs://", `${ipfsGateway}`)
25
+ : uri.startsWith("ar://")
26
+ ? `https://arweave.net/${uri.slice(5)}`
27
+ : uri;
28
+ console.log("fetching from", processedUri);
29
+ const response = await fetch(processedUri);
30
+ if (!response.ok) {
31
+ throw new Error(`HTTP error! status: ${response.status}`);
32
+ }
33
+ const rawData = await response.json();
34
+ if (typeof rawData !== "object" || rawData === null) {
35
+ throw new Error("Invalid response: expected JSON object");
36
+ }
37
+ if (!this.isFellowshipMetadata(rawData)) {
38
+ throw new Error("Invalid metadata format");
39
+ }
40
+ return rawData;
41
+ }
42
+ catch (error) {
43
+ console.error("Error fetching metadata:", error);
44
+ throw error;
45
+ }
46
+ };
47
+ this.getRankTokenBalance = async (tokenId, account) => {
48
+ const rankToken = (0, viem_1.getContract)({
49
+ address: this.rankTokenAddress,
50
+ abi: RankToken_1.default,
51
+ client: this.publicClient,
52
+ });
53
+ return rankToken.read.balanceOf([account, tokenId]);
54
+ };
55
+ this.chainId = chainId;
56
+ this.publicClient = publicClient;
57
+ this.rankTokenAddress = address;
58
+ }
59
+ // Type guard for FellowshipMetadata
60
+ isFellowshipMetadata(data) {
61
+ if (!data || typeof data !== "object")
62
+ return false;
63
+ const metadata = data;
64
+ // Check required fields
65
+ if (typeof metadata.name !== "string")
66
+ return false;
67
+ if (typeof metadata.description !== "string")
68
+ return false;
69
+ if (typeof metadata.image !== "string")
70
+ return false;
71
+ // Check optional fields if present
72
+ if (metadata.banner_image !== undefined && typeof metadata.banner_image !== "string")
73
+ return false;
74
+ if (metadata.featured_image !== undefined && typeof metadata.featured_image !== "string")
75
+ return false;
76
+ if (metadata.external_link !== undefined && typeof metadata.external_link !== "string")
77
+ return false;
78
+ // Check collaborators if present
79
+ if (metadata.collaborators !== undefined) {
80
+ if (!Array.isArray(metadata.collaborators))
81
+ return false;
82
+ if (!metadata.collaborators.every((addr) => typeof addr === "string"))
83
+ return false;
84
+ }
85
+ // Check submissions
86
+ if (!Array.isArray(metadata.submissions))
87
+ return false;
88
+ return metadata.submissions.every((submission) => {
89
+ if (!submission || typeof submission !== "object")
90
+ return false;
91
+ const r = submission;
92
+ // Check submission fields
93
+ const submissionType = r.type;
94
+ const storageType = r.store_at;
95
+ if (!Object.values(types_1.SUBMISSION_TYPES).includes(submissionType))
96
+ return false;
97
+ if (typeof r.rules !== "object" || r.rules === null)
98
+ return false;
99
+ if (storageType !== undefined && !Object.values(types_1.CONTENT_STORAGE).includes(storageType))
100
+ return false;
101
+ return true;
102
+ });
103
+ }
104
+ }
105
+ exports.default = RankTokenClient;
106
+ //# sourceMappingURL=RankToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RankToken.js","sourceRoot":"","sources":["../../../src/rankify/RankToken.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/types/contracts.ts"],"names":[],"mappings":""}
package/cli/types.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * @file Core type definitions for the Peeramid SDK
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CONTENT_STORAGE = exports.SUBMISSION_TYPES = exports.SearchCriteria = void 0;
7
+ /**
8
+ * Criteria used for searching entities in the system
9
+ */
10
+ var SearchCriteria;
11
+ (function (SearchCriteria) {
12
+ SearchCriteria[SearchCriteria["id"] = 0] = "id";
13
+ SearchCriteria[SearchCriteria["username"] = 1] = "username";
14
+ SearchCriteria[SearchCriteria["address"] = 2] = "address";
15
+ })(SearchCriteria || (exports.SearchCriteria = SearchCriteria = {}));
16
+ var SUBMISSION_TYPES;
17
+ (function (SUBMISSION_TYPES) {
18
+ SUBMISSION_TYPES["MARKDOWN"] = "MARKDOWN";
19
+ SUBMISSION_TYPES["IMAGE"] = "IMAGE";
20
+ SUBMISSION_TYPES["VIDEO"] = "VIDEO";
21
+ SUBMISSION_TYPES["AUDIO"] = "AUDIO";
22
+ SUBMISSION_TYPES["BYTES"] = "BYTES";
23
+ })(SUBMISSION_TYPES || (exports.SUBMISSION_TYPES = SUBMISSION_TYPES = {}));
24
+ var CONTENT_STORAGE;
25
+ (function (CONTENT_STORAGE) {
26
+ CONTENT_STORAGE["IPFS"] = "IPFS";
27
+ CONTENT_STORAGE["ARWEAVE"] = "ARWEAVE";
28
+ CONTENT_STORAGE["USER_URL"] = "USER_URL";
29
+ })(CONTENT_STORAGE || (exports.CONTENT_STORAGE = CONTENT_STORAGE = {}));
30
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH;;GAEG;AACH,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+CAAE,CAAA;IACF,2DAAQ,CAAA;IACR,yDAAO,CAAA;AACT,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AA8BD,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,mCAAe,CAAA;AACjB,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACvB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiError = void 0;
4
+ exports.getApiError = getApiError;
5
+ class ApiError extends Error {
6
+ constructor(message, options) {
7
+ super(message);
8
+ this.status = options?.status;
9
+ }
10
+ }
11
+ exports.ApiError = ApiError;
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ async function getApiError(response) {
14
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
15
+ const body = (await response.json());
16
+ return new ApiError(body.msg || "server_error", {
17
+ status: body?.status,
18
+ });
19
+ }
20
+ //# sourceMappingURL=ApiError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../../src/utils/ApiError.ts"],"names":[],"mappings":";;;AAsBA,kCAMC;AAfD,MAAa,QAAS,SAAQ,KAAK;IAEjC,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAChC,CAAC;CACF;AAND,4BAMC;AAED,8DAA8D;AACvD,KAAK,UAAU,WAAW,CAAC,QAAa;IAC7C,yGAAyG;IACzG,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACzD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE;QAC9C,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContract = exports.getArtifact = exports.chainIdMapping = void 0;
4
+ const viem_1 = require("viem");
5
+ const chainMapping_1 = require("./chainMapping");
6
+ exports.chainIdMapping = {
7
+ anvil: "97113",
8
+ localhost: "42161",
9
+ };
10
+ /**
11
+ * Retrieves the contract artifact for the specified chain.
12
+ * @param chain The viem Chain object
13
+ * @param artifactName The name of the artifact to retrieve
14
+ * @returns The artifact containing the address and execution args
15
+ * @throws Error if the contract deployment is not found or chain is not supported.
16
+ */
17
+ const getArtifact = (chainId, artifactName, overrideChainName) => {
18
+ const chainPath = overrideChainName ?? (0, chainMapping_1.getChainPath)(chainId);
19
+ const artifact = (artifactName === "Multipass"
20
+ ? require(`@peeramid-labs/multipass/deployments/${chainPath}/${artifactName}.json`)
21
+ : artifactName === "CodeIndex"
22
+ ? require(`@peeramid-labs/eds/deployments/${chainPath}/${artifactName}.json`)
23
+ : require(`rankify-contracts/deployments/${chainPath}/${artifactName}.json`));
24
+ if (!artifact) {
25
+ throw new Error("Contract deployment not found");
26
+ }
27
+ return {
28
+ address: artifact.address,
29
+ execute: artifact.execute,
30
+ abi: artifact.abi,
31
+ receipt: { ...artifact.receipt, logs: (0, viem_1.parseEventLogs)({ abi: artifact.abi, logs: artifact.receipt.logs }) },
32
+ };
33
+ };
34
+ exports.getArtifact = getArtifact;
35
+ /**
36
+ * Gets a contract instance with the appropriate ABI and address for the given chain
37
+ * @param chain The chain to get the contract for
38
+ * @param artifactName The name of the contract to get
39
+ * @param client The viem client to use (public or wallet)
40
+ * @returns A viem contract instance
41
+ */
42
+ const getContract = (chainId, artifactName, client) => {
43
+ const artifact = (0, exports.getArtifact)(chainId, artifactName);
44
+ return (0, viem_1.getContract)({
45
+ address: artifact.address,
46
+ abi: artifact.abi,
47
+ client,
48
+ });
49
+ };
50
+ exports.getContract = getContract;
51
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/utils/artifacts.ts"],"names":[],"mappings":";;;AAAA,+BAUc;AAOd,iDAA8C;AAKjC,QAAA,cAAc,GAAyC;IAClE,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;CACnB,CAAC;AAYF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,YAA2B,EAC3B,iBAA0B,EAY1B,EAAE;IACF,MAAM,SAAS,GAAG,iBAAiB,IAAI,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,CACf,YAAY,KAAK,WAAW;QAC1B,CAAC,CAAC,OAAO,CAAC,wCAAwC,SAAS,IAAI,YAAY,OAAO,CAAC;QACnF,CAAC,CAAC,YAAY,KAAK,WAAW;YAC5B,CAAC,CAAC,OAAO,CAAC,kCAAkC,SAAS,IAAI,YAAY,OAAO,CAAC;YAC7E,CAAC,CAAC,OAAO,CAAC,iCAAiC,SAAS,IAAI,YAAY,OAAO,CAAC,CAYjF,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;KAC3G,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,WAAW,eA8CtB;AAEF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,YAA2B,EAC3B,MAAe,EAC6C,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,OAAO,IAAA,kBAAe,EAAC;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,MAAM;KACP,CAA+D,CAAC;AACnE,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chainToPath = void 0;
4
+ exports.getChainPath = getChainPath;
5
+ exports.chainToPath = {
6
+ "31337": "localhost",
7
+ "97113": "anvil",
8
+ };
9
+ function getChainPath(chainId) {
10
+ const path = exports.chainToPath[chainId.toString()];
11
+ if (!path) {
12
+ throw new Error(`Chain ID ${chainId} is not supported`);
13
+ }
14
+ return path;
15
+ }
16
+ //# sourceMappingURL=chainMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chainMapping.js","sourceRoot":"","sources":["../../../src/utils/chainMapping.ts"],"names":[],"mappings":";;;AAQA,oCAMC;AAXY,QAAA,WAAW,GAAiB;IACvC,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,OAAO;CACR,CAAC;AAEX,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,mBAAW,CAAC,OAAO,CAAC,QAAQ,EAA8B,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,mBAAmB,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.parseInstantiated = void 0;
18
+ __exportStar(require("./ApiError"), exports);
19
+ __exportStar(require("./artifacts"), exports);
20
+ /**
21
+ * Parse an array of contract addresses into a MAOInstances object
22
+ * @param instances - Array of contract addresses in the order they were deployed
23
+ * @returns MAOInstances object with named contract addresses
24
+ */
25
+ const parseInstantiated = (instances) => {
26
+ return {
27
+ govToken: instances[0],
28
+ govTokenAccessManager: instances[1],
29
+ ACIDInstance: instances[2],
30
+ ACIDAccessManager: instances[10],
31
+ rankToken: instances[11],
32
+ };
33
+ };
34
+ exports.parseInstantiated = parseInstantiated;
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,6CAA2B;AAC3B,8CAA4B;AAE5B;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAC,SAAmB,EAAgB,EAAE;IACrE,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACtB,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC;QACnC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1B,iBAAiB,EAAE,SAAS,CAAC,EAAE,CAAC;QAChC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}