@tradetrust-yl/token-registry 5.1.2 → 5.2.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 (255) hide show
  1. package/dist/app.js +566 -0
  2. package/dist/artifacts/TitleEscrow.sol/TitleEscrow.json +83 -9
  3. package/dist/artifacts/TitleEscrowFactory.sol/TitleEscrowFactory.json +22 -3
  4. package/dist/artifacts/TradeTrustToken.sol/TradeTrustToken.json +125 -2
  5. package/dist/artifacts/base/RegistryAccess.sol/RegistryAccess.dbg.json +1 -1
  6. package/dist/artifacts/base/SBTUpgradeable.sol/SBTUpgradeable.dbg.json +1 -1
  7. package/dist/artifacts/base/SBTUpgradeable.sol/SBTUpgradeable.json +2 -2
  8. package/dist/artifacts/base/TradeTrustSBT.sol/TradeTrustSBT.dbg.json +1 -1
  9. package/dist/artifacts/base/TradeTrustSBT.sol/TradeTrustSBT.json +43 -0
  10. package/dist/artifacts/base/TradeTrustTokenBase.sol/TradeTrustTokenBase.dbg.json +1 -1
  11. package/dist/artifacts/base/TradeTrustTokenBase.sol/TradeTrustTokenBase.json +86 -0
  12. package/dist/artifacts/base/TradeTrustTokenBaseURI.sol/TradeTrustTokenBaseURI.dbg.json +1 -1
  13. package/dist/artifacts/base/TradeTrustTokenBaseURI.sol/TradeTrustTokenBaseURI.json +43 -0
  14. package/dist/artifacts/base/TradeTrustTokenBurnable.sol/TradeTrustTokenBurnable.dbg.json +1 -1
  15. package/dist/artifacts/base/TradeTrustTokenBurnable.sol/TradeTrustTokenBurnable.json +43 -0
  16. package/dist/artifacts/base/TradeTrustTokenMintable.sol/TradeTrustTokenMintable.dbg.json +1 -1
  17. package/dist/artifacts/base/TradeTrustTokenMintable.sol/TradeTrustTokenMintable.json +86 -0
  18. package/dist/artifacts/base/TradeTrustTokenRestorable.sol/TradeTrustTokenRestorable.dbg.json +1 -1
  19. package/dist/artifacts/base/TradeTrustTokenRestorable.sol/TradeTrustTokenRestorable.json +43 -0
  20. package/dist/artifacts/interfaces/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +1 -1
  21. package/dist/artifacts/interfaces/ISBTUpgradeable.sol/ISBTUpgradeable.dbg.json +1 -1
  22. package/dist/artifacts/interfaces/ITitleEscrow.sol/ITitleEscrow.dbg.json +1 -1
  23. package/dist/artifacts/interfaces/ITitleEscrow.sol/ITitleEscrow.json +42 -6
  24. package/dist/artifacts/interfaces/ITitleEscrowFactory.sol/ITitleEscrowFactory.dbg.json +1 -1
  25. package/dist/artifacts/interfaces/ITitleEscrowSignable.sol/ITitleEscrowSignable.dbg.json +1 -1
  26. package/dist/artifacts/interfaces/ITitleEscrowSignable.sol/ITitleEscrowSignable.json +42 -6
  27. package/dist/artifacts/interfaces/ITradeTrustSBT.sol/ITradeTrustSBT.dbg.json +1 -1
  28. package/dist/artifacts/interfaces/ITradeTrustToken.sol/ITradeTrustToken.dbg.json +1 -1
  29. package/dist/artifacts/interfaces/ITradeTrustToken.sol/ITradeTrustToken.json +18 -0
  30. package/dist/artifacts/interfaces/ITradeTrustTokenBurnable.sol/ITradeTrustTokenBurnable.dbg.json +1 -1
  31. package/dist/artifacts/interfaces/ITradeTrustTokenMintable.sol/ITradeTrustTokenMintable.dbg.json +1 -1
  32. package/dist/artifacts/interfaces/ITradeTrustTokenMintable.sol/ITradeTrustTokenMintable.json +18 -0
  33. package/dist/artifacts/interfaces/ITradeTrustTokenRestorable.sol/ITradeTrustTokenRestorable.dbg.json +1 -1
  34. package/dist/artifacts/interfaces/RegistryAccessErrors.sol/RegistryAccessErrors.dbg.json +1 -1
  35. package/dist/artifacts/interfaces/SigHelperErrors.sol/SigHelperErrors.dbg.json +1 -1
  36. package/dist/artifacts/interfaces/TDocDeployerErrors.sol/TDocDeployerErrors.dbg.json +1 -1
  37. package/dist/artifacts/interfaces/TitleEscrowErrors.sol/TitleEscrowErrors.dbg.json +1 -1
  38. package/dist/artifacts/interfaces/TitleEscrowFactoryErrors.sol/TitleEscrowFactoryErrors.dbg.json +1 -1
  39. package/dist/artifacts/interfaces/TitleEscrowSignableErrors.sol/TitleEscrowSignableErrors.dbg.json +1 -1
  40. package/dist/artifacts/interfaces/TradeTrustTokenErrors.sol/TradeTrustTokenErrors.dbg.json +1 -1
  41. package/dist/artifacts/interfaces/TradeTrustTokenErrors.sol/TradeTrustTokenErrors.json +5 -0
  42. package/dist/artifacts/mocks/ERC721ReceiverMock.sol/ERC721ReceiverMock.dbg.json +1 -1
  43. package/dist/artifacts/mocks/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +2 -2
  44. package/dist/artifacts/mocks/SBTUpgradeableMock.sol/SBTUpgradeableMock.dbg.json +1 -1
  45. package/dist/artifacts/mocks/SBTUpgradeableMock.sol/SBTUpgradeableMock.json +2 -2
  46. package/dist/artifacts/mocks/SigHelperMock.sol/SigHelperMock.dbg.json +1 -1
  47. package/dist/artifacts/mocks/SimpleCaller.sol/SimpleCaller.dbg.json +1 -1
  48. package/dist/artifacts/mocks/TitleEscrowFactoryCallerMock.sol/TitleEscrowFactoryCallerMock.dbg.json +1 -1
  49. package/dist/artifacts/mocks/TitleEscrowFactoryGetterMock.sol/TitleEscrowFactoryGetterMock.dbg.json +1 -1
  50. package/dist/artifacts/mocks/TitleEscrowMock.sol/TitleEscrowMock.dbg.json +1 -1
  51. package/dist/artifacts/mocks/TitleEscrowMock.sol/TitleEscrowMock.json +83 -9
  52. package/dist/artifacts/mocks/TradeTrustTokenMock.sol/TradeTrustTokenMock.dbg.json +1 -1
  53. package/dist/artifacts/mocks/TradeTrustTokenMock.sol/TradeTrustTokenMock.json +125 -2
  54. package/dist/artifacts/presets/TitleEscrowSignable.sol/TitleEscrowSignable.dbg.json +1 -1
  55. package/dist/artifacts/presets/TitleEscrowSignable.sol/TitleEscrowSignable.json +87 -8
  56. package/dist/artifacts/presets/TradeTrustTokenStandard.sol/TradeTrustTokenStandard.dbg.json +1 -1
  57. package/dist/artifacts/presets/TradeTrustTokenStandard.sol/TradeTrustTokenStandard.json +88 -2
  58. package/dist/artifacts/utils/SigHelper.sol/SigHelper.dbg.json +1 -1
  59. package/dist/artifacts/utils/TDocDeployer.sol/TDocDeployer.dbg.json +1 -1
  60. package/dist/artifacts/utils/TDocDeployer.sol/TDocDeployer.json +2 -2
  61. package/dist/constants/default-address.js +5 -3
  62. package/dist/constants/role-hash.js +5 -3
  63. package/dist/contracts/@openzeppelin/contracts/index.ts +2 -0
  64. package/dist/contracts/@openzeppelin/contracts/metatx/ERC2771Context.js +5 -0
  65. package/dist/contracts/@openzeppelin/contracts/metatx/ERC2771Context.ts +111 -0
  66. package/dist/contracts/@openzeppelin/contracts/metatx/index.js +5 -0
  67. package/dist/contracts/@openzeppelin/contracts/{proxy/utils → metatx}/index.ts +1 -1
  68. package/dist/contracts/@openzeppelin/contracts/proxy/Clones.js +5 -0
  69. package/dist/contracts/@openzeppelin/contracts/proxy/Clones.ts +70 -0
  70. package/dist/contracts/@openzeppelin/contracts/proxy/index.ts +1 -2
  71. package/dist/contracts/@openzeppelin/contracts/utils/Create2.js +5 -0
  72. package/dist/contracts/@openzeppelin/contracts/utils/Create2.ts +70 -0
  73. package/dist/contracts/@openzeppelin/contracts/utils/index.ts +1 -0
  74. package/dist/contracts/@openzeppelin/contracts-upgradeable/index.ts +2 -0
  75. package/dist/contracts/@openzeppelin/{contracts/proxy/utils/Initializable.ts → contracts-upgradeable/metatx/ERC2771ContextUpgradeable.ts} +46 -5
  76. package/dist/contracts/@openzeppelin/contracts-upgradeable/metatx/index.ts +5 -0
  77. package/dist/contracts/contracts/TitleEscrow.ts +62 -12
  78. package/dist/contracts/contracts/TitleEscrowFactory.ts +18 -1
  79. package/dist/contracts/contracts/TradeTrustToken.js +2 -1
  80. package/dist/contracts/contracts/TradeTrustToken.ts +120 -0
  81. package/dist/contracts/contracts/base/TradeTrustSBT.ts +29 -0
  82. package/dist/contracts/contracts/base/TradeTrustTokenBase.js +2 -1
  83. package/dist/contracts/contracts/base/TradeTrustTokenBase.ts +88 -0
  84. package/dist/contracts/contracts/base/TradeTrustTokenBaseURI.ts +29 -0
  85. package/dist/contracts/contracts/base/TradeTrustTokenBurnable.ts +29 -0
  86. package/dist/contracts/contracts/base/TradeTrustTokenMintable.js +2 -1
  87. package/dist/contracts/contracts/base/TradeTrustTokenMintable.ts +88 -0
  88. package/dist/contracts/contracts/base/TradeTrustTokenRestorable.ts +29 -0
  89. package/dist/contracts/contracts/interfaces/ITitleEscrow.ts +30 -12
  90. package/dist/contracts/contracts/interfaces/ITitleEscrowSignable.ts +30 -12
  91. package/dist/contracts/contracts/interfaces/ITradeTrustToken.ts +22 -0
  92. package/dist/contracts/contracts/interfaces/ITradeTrustTokenMintable.ts +22 -1
  93. package/dist/contracts/contracts/mocks/TitleEscrowMock.ts +62 -12
  94. package/dist/contracts/contracts/mocks/TradeTrustTokenMock.js +2 -1
  95. package/dist/contracts/contracts/mocks/TradeTrustTokenMock.ts +120 -0
  96. package/dist/contracts/contracts/presets/TitleEscrowSignable.ts +62 -12
  97. package/dist/contracts/contracts/presets/TradeTrustTokenStandard.js +2 -1
  98. package/dist/contracts/contracts/presets/TradeTrustTokenStandard.ts +88 -0
  99. package/dist/contracts/factories/@openzeppelin/contracts/access/IAccessControl__factory.js +3 -1
  100. package/dist/contracts/factories/@openzeppelin/contracts/index.js +4 -3
  101. package/dist/contracts/factories/@openzeppelin/contracts/index.ts +1 -0
  102. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js +3 -1
  103. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js +3 -1
  104. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/index.js +1 -2
  105. package/dist/contracts/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.js +45 -0
  106. package/dist/contracts/factories/@openzeppelin/contracts/metatx/ERC2771Context__factory.ts +58 -0
  107. package/dist/contracts/factories/@openzeppelin/contracts/metatx/index.js +12 -0
  108. package/dist/contracts/factories/@openzeppelin/contracts/{proxy/utils → metatx}/index.ts +1 -1
  109. package/dist/contracts/factories/@openzeppelin/contracts/proxy/Clones__factory.js +44 -0
  110. package/dist/contracts/factories/@openzeppelin/contracts/proxy/Clones__factory.ts +70 -0
  111. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js +4 -2
  112. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +1 -1
  113. package/dist/contracts/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js +3 -1
  114. package/dist/contracts/factories/@openzeppelin/contracts/proxy/index.js +9 -5
  115. package/dist/contracts/factories/@openzeppelin/contracts/proxy/index.ts +1 -1
  116. package/dist/contracts/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.js +3 -1
  117. package/dist/contracts/factories/@openzeppelin/contracts/token/index.js +1 -2
  118. package/dist/contracts/factories/@openzeppelin/contracts/utils/Address__factory.js +4 -2
  119. package/dist/contracts/factories/@openzeppelin/contracts/utils/Address__factory.ts +1 -1
  120. package/dist/contracts/factories/@openzeppelin/contracts/utils/Create2__factory.js +44 -0
  121. package/dist/contracts/factories/@openzeppelin/contracts/utils/Create2__factory.ts +70 -0
  122. package/dist/contracts/factories/@openzeppelin/contracts/utils/Errors__factory.js +3 -1
  123. package/dist/contracts/factories/@openzeppelin/contracts/utils/Pausable__factory.js +3 -1
  124. package/dist/contracts/factories/@openzeppelin/contracts/utils/Strings__factory.js +12 -2
  125. package/dist/contracts/factories/@openzeppelin/contracts/utils/Strings__factory.ts +11 -1
  126. package/dist/contracts/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +3 -1
  127. package/dist/contracts/factories/@openzeppelin/contracts/utils/index.js +8 -2
  128. package/dist/contracts/factories/@openzeppelin/contracts/utils/index.ts +1 -0
  129. package/dist/contracts/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.js +3 -1
  130. package/dist/contracts/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.js +3 -1
  131. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.js +3 -1
  132. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js +3 -1
  133. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/index.js +4 -3
  134. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/index.ts +1 -0
  135. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable__factory.js +63 -0
  136. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable__factory.ts +85 -0
  137. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/index.js +12 -0
  138. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/metatx/index.ts +5 -0
  139. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/index.js +1 -2
  140. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js +3 -1
  141. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js +3 -1
  142. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js +3 -1
  143. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable__factory.js +3 -1
  144. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/index.js +1 -2
  145. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.js +3 -1
  146. package/dist/contracts/factories/@openzeppelin/index.js +1 -2
  147. package/dist/contracts/factories/contracts/TitleEscrowFactory__factory.js +23 -7
  148. package/dist/contracts/factories/contracts/TitleEscrowFactory__factory.ts +34 -6
  149. package/dist/contracts/factories/contracts/TitleEscrow__factory.js +72 -12
  150. package/dist/contracts/factories/contracts/TitleEscrow__factory.ts +95 -12
  151. package/dist/contracts/factories/contracts/TradeTrustToken__factory.js +102 -6
  152. package/dist/contracts/factories/contracts/TradeTrustToken__factory.ts +128 -1
  153. package/dist/contracts/factories/contracts/base/RegistryAccess__factory.js +3 -1
  154. package/dist/contracts/factories/contracts/base/SBTUpgradeable__factory.js +4 -2
  155. package/dist/contracts/factories/contracts/base/SBTUpgradeable__factory.ts +1 -1
  156. package/dist/contracts/factories/contracts/base/TradeTrustSBT__factory.js +35 -1
  157. package/dist/contracts/factories/contracts/base/TradeTrustSBT__factory.ts +43 -0
  158. package/dist/contracts/factories/contracts/base/TradeTrustTokenBaseURI__factory.js +35 -1
  159. package/dist/contracts/factories/contracts/base/TradeTrustTokenBaseURI__factory.ts +43 -0
  160. package/dist/contracts/factories/contracts/base/TradeTrustTokenBase__factory.js +69 -1
  161. package/dist/contracts/factories/contracts/base/TradeTrustTokenBase__factory.ts +86 -0
  162. package/dist/contracts/factories/contracts/base/TradeTrustTokenBurnable__factory.js +35 -1
  163. package/dist/contracts/factories/contracts/base/TradeTrustTokenBurnable__factory.ts +43 -0
  164. package/dist/contracts/factories/contracts/base/TradeTrustTokenMintable__factory.js +69 -1
  165. package/dist/contracts/factories/contracts/base/TradeTrustTokenMintable__factory.ts +86 -0
  166. package/dist/contracts/factories/contracts/base/TradeTrustTokenRestorable__factory.js +35 -1
  167. package/dist/contracts/factories/contracts/base/TradeTrustTokenRestorable__factory.ts +43 -0
  168. package/dist/contracts/factories/contracts/index.js +1 -2
  169. package/dist/contracts/factories/contracts/interfaces/IERC721MetadataUpgradeable__factory.js +3 -1
  170. package/dist/contracts/factories/contracts/interfaces/ISBTUpgradeable__factory.js +3 -1
  171. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowFactory__factory.js +3 -1
  172. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowSignable__factory.js +38 -6
  173. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowSignable__factory.ts +42 -6
  174. package/dist/contracts/factories/contracts/interfaces/ITitleEscrow__factory.js +38 -6
  175. package/dist/contracts/factories/contracts/interfaces/ITitleEscrow__factory.ts +42 -6
  176. package/dist/contracts/factories/contracts/interfaces/ITradeTrustSBT__factory.js +3 -1
  177. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenBurnable__factory.js +3 -1
  178. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenMintable__factory.js +17 -1
  179. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenMintable__factory.ts +18 -0
  180. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenRestorable__factory.js +3 -1
  181. package/dist/contracts/factories/contracts/interfaces/ITradeTrustToken__factory.js +17 -1
  182. package/dist/contracts/factories/contracts/interfaces/ITradeTrustToken__factory.ts +18 -0
  183. package/dist/contracts/factories/contracts/interfaces/RegistryAccessErrors__factory.js +3 -1
  184. package/dist/contracts/factories/contracts/interfaces/SigHelperErrors__factory.js +3 -1
  185. package/dist/contracts/factories/contracts/interfaces/TDocDeployerErrors__factory.js +3 -1
  186. package/dist/contracts/factories/contracts/interfaces/TitleEscrowErrors__factory.js +3 -1
  187. package/dist/contracts/factories/contracts/interfaces/TitleEscrowFactoryErrors__factory.js +3 -1
  188. package/dist/contracts/factories/contracts/interfaces/TitleEscrowSignableErrors__factory.js +3 -1
  189. package/dist/contracts/factories/contracts/interfaces/TradeTrustTokenErrors__factory.js +7 -1
  190. package/dist/contracts/factories/contracts/interfaces/TradeTrustTokenErrors__factory.ts +5 -0
  191. package/dist/contracts/factories/contracts/mocks/ERC721ReceiverMock__factory.js +4 -2
  192. package/dist/contracts/factories/contracts/mocks/ERC721ReceiverMock__factory.ts +1 -1
  193. package/dist/contracts/factories/contracts/mocks/SBTUpgradeableMock__factory.js +4 -2
  194. package/dist/contracts/factories/contracts/mocks/SBTUpgradeableMock__factory.ts +1 -1
  195. package/dist/contracts/factories/contracts/mocks/SigHelperMock__factory.js +3 -1
  196. package/dist/contracts/factories/contracts/mocks/SimpleCaller__factory.js +3 -1
  197. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryCallerMock__factory.js +3 -1
  198. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryGetterMock__factory.js +3 -1
  199. package/dist/contracts/factories/contracts/mocks/TitleEscrowMock__factory.js +72 -12
  200. package/dist/contracts/factories/contracts/mocks/TitleEscrowMock__factory.ts +95 -12
  201. package/dist/contracts/factories/contracts/mocks/TradeTrustTokenMock__factory.js +102 -6
  202. package/dist/contracts/factories/contracts/mocks/TradeTrustTokenMock__factory.ts +128 -1
  203. package/dist/contracts/factories/contracts/presets/TitleEscrowSignable__factory.js +75 -11
  204. package/dist/contracts/factories/contracts/presets/TitleEscrowSignable__factory.ts +99 -11
  205. package/dist/contracts/factories/contracts/presets/TradeTrustTokenStandard__factory.js +70 -2
  206. package/dist/contracts/factories/contracts/presets/TradeTrustTokenStandard__factory.ts +87 -1
  207. package/dist/contracts/factories/contracts/utils/SigHelper__factory.js +3 -1
  208. package/dist/contracts/factories/contracts/utils/TDocDeployer__factory.js +4 -2
  209. package/dist/contracts/factories/contracts/utils/TDocDeployer__factory.ts +1 -1
  210. package/dist/contracts/factories/index.js +1 -2
  211. package/dist/contracts/hardhat.d.ts +70 -16
  212. package/dist/contracts/index.js +29 -2
  213. package/dist/contracts/index.ts +8 -0
  214. package/dist/index.js +1 -2
  215. package/dist/models/common.js +5 -0
  216. package/dist/models/freightForwarder.js +5 -0
  217. package/dist/models/shipOwner.js +5 -0
  218. package/dist/services/admin/adminRepository.js +77 -0
  219. package/dist/services/crypto.js +215 -0
  220. package/dist/services/database.js +36 -0
  221. package/dist/services/freightForwarder/freightForwarderRepository.js +94 -0
  222. package/dist/services/shipOwner/shipOwnerController.js +77 -0
  223. package/dist/services/shipOwner/shipOwnerRepository.js +94 -0
  224. package/dist/services/shipOwner/shipOwnerRoutes.js +18 -0
  225. package/dist/types/app.d.ts +1 -0
  226. package/dist/types/constants/contract-address.d.ts +43 -3
  227. package/dist/types/models/common.d.ts +23 -0
  228. package/dist/types/models/freightForwarder.d.ts +15 -0
  229. package/dist/types/models/shipOwner.d.ts +25 -0
  230. package/dist/types/services/admin/adminRepository.d.ts +9 -0
  231. package/dist/types/services/crypto.d.ts +27 -0
  232. package/dist/types/services/database.d.ts +3 -0
  233. package/dist/types/services/freightForwarder/freightForwarderRepository.d.ts +10 -0
  234. package/dist/types/services/shipOwner/shipOwnerController.d.ts +6 -0
  235. package/dist/types/services/shipOwner/shipOwnerRepository.d.ts +10 -0
  236. package/dist/types/services/shipOwner/shipOwnerRoutes.d.ts +2 -0
  237. package/dist/types/utils/extractFactoryAddress.d.ts +10 -0
  238. package/dist/types/utils/extractTokenAddress.d.ts +10 -0
  239. package/dist/types/utils/get-event-from-receipt.d.ts +1 -1
  240. package/dist/types/utils/index.d.ts +1 -0
  241. package/dist/types/utils/run.d.ts +9 -0
  242. package/dist/utils/compute-interface-id.js +5 -3
  243. package/dist/utils/compute-title-escrow-address.js +5 -3
  244. package/dist/utils/encode-init-params.js +5 -3
  245. package/dist/utils/extractFactoryAddress.js +58 -0
  246. package/dist/utils/extractTokenAddress.js +58 -0
  247. package/dist/utils/get-event-from-receipt.js +5 -3
  248. package/dist/utils/index.js +11 -0
  249. package/dist/utils/run.js +36 -0
  250. package/package.json +16 -3
  251. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.js +0 -37
  252. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.ts +0 -49
  253. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/index.js +0 -12
  254. /package/dist/contracts/@openzeppelin/{contracts/proxy/utils/Initializable.js → contracts-upgradeable/metatx/ERC2771ContextUpgradeable.js} +0 -0
  255. /package/dist/contracts/@openzeppelin/{contracts/proxy/utils → contracts-upgradeable/metatx}/index.js +0 -0
package/dist/app.js ADDED
@@ -0,0 +1,566 @@
1
+ "use strict";
2
+
3
+ var _dotenv = _interopRequireDefault(require("dotenv"));
4
+ var _express = _interopRequireDefault(require("express"));
5
+ var _path = _interopRequireDefault(require("path"));
6
+ var _utils = require("./utils");
7
+ var _shipOwnerRepository = require("./services/shipOwner/shipOwnerRepository");
8
+ var _extractFactoryAddress = require("./utils/extractFactoryAddress");
9
+ var _crypto = require("./services/crypto");
10
+ var _extractTokenAddress = require("./utils/extractTokenAddress");
11
+ var _adminRepository = require("./services/admin/adminRepository");
12
+ var _freightForwarderRepository = require("./services/freightForwarder/freightForwarderRepository");
13
+ var _database = require("./services/database");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
21
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } // src/app.ts
22
+ // 加载 .env
23
+ _dotenv.default.config();
24
+ // 构建express实例
25
+ const app = (0, _express.default)();
26
+ const port = Number(process.env.PORT || 8083);
27
+ //主网或测试网
28
+ const network = process.env.NERWORK || "confluxnet";
29
+ console.log('network: ', network);
30
+
31
+ // 解析 JSON
32
+ app.use(_express.default.json({
33
+ limit: "100mb"
34
+ }));
35
+
36
+ // CORS allow all
37
+ app.use((_req, res, next) => {
38
+ res.header('Access-Control-Allow-Origin', '*');
39
+ res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
40
+ res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
41
+ //console.log('app.use body ', _req.body)
42
+ next();
43
+ });
44
+
45
+ // 健康检查
46
+ app.get("/", (_req, res) => {
47
+ res.send("eB/L Server is running. Use POST /deploy/factory to deploy.");
48
+ });
49
+
50
+ // 健康检查
51
+ app.get("/testConnection", (_req, res) => {
52
+ (0, _database.testConnection)();
53
+ res.send("eB/L Server is running. testConnection.");
54
+ });
55
+
56
+ /** 只需要系统管理员用户部署一次工厂合约,记录下工厂合约地址
57
+ * POST /deploy/factory
58
+ * Body:
59
+ * {
60
+ * "network": "confluxTestnet", // 可选,默认 confluxTestnet
61
+ * "verify": true, // 可选,默认 true
62
+ * "extraArgs": ["--tags", "Factory"] // 可选,透传给 hardhat
63
+ * }
64
+ *
65
+ * 认证(可选):请求头需要携带 X-Deploy-Token 与 .env 中 DEPLOY_TOKEN 匹配
66
+ */
67
+ app.post("/deploy/factory", /*#__PURE__*/function () {
68
+ var _ref = _asyncToGenerator(function* (req, res) {
69
+ try {
70
+ var _req$body2, _req$body3;
71
+ //需要根据传入的email 和 密码哈希获取钱包私钥加密json对象; 然后在内存中解密钱包私钥后部署智能合约工厂
72
+ let _req$body = req.body,
73
+ email = _req$body.email,
74
+ hashPassword = _req$body.hashPassword;
75
+ //const network = (process.env.NETWORK as string) || "confluxnet";
76
+ //根据email从users数据表去取数据
77
+ const adminRepository = new _adminRepository.AdminRepository();
78
+ //1 获取管理员用户的钱包账户密钥的加密json对象 解析出来的密钥
79
+ let walletPrivateKey = yield adminRepository.getAdminWalletPrivateKeyByEmail(email, hashPassword);
80
+ //废弃,读取管理员信息,再得到钱包密钥
81
+ // const adminResult = await adminRepository.getAdminInfoByEmail(email)
82
+ // const accountAddress = adminResult?.rows[0].account_address
83
+ // const raw = adminResult?.rows[0].wallet_private_key;
84
+ // const walletPrivateKeyRec: WalletCipherRecord =
85
+ // typeof raw === 'string' ? JSON.parse(raw) : raw;
86
+ // //console.log('walletPrivateKeyRec: ',walletPrivateKeyRec)
87
+ // const cryptoService = new CryptoService()
88
+ // const walletPrivateKey = await cryptoService.decryptPrivateKey(walletPrivateKeyRec, hashPassword)
89
+
90
+ //2. 获取 minimalForwarder 地址 meta_transaction_address (需要提前部署) 作为部署token合约的参数传入
91
+ const minimalForwarderRecords = yield adminRepository.getTransactionAddress(network, 'minimalForwarder');
92
+ let FORWARDER_ADDRESS = '';
93
+ if (minimalForwarderRecords != null) {
94
+ FORWARDER_ADDRESS = minimalForwarderRecords.meta_transaction_address;
95
+ }
96
+ console.log('FORWARDER_ADDRESS: ', FORWARDER_ADDRESS);
97
+
98
+ //console.log('walletPrivateKey: ', walletPrivateKey)
99
+ const verify = ((_req$body2 = req.body) === null || _req$body2 === void 0 ? void 0 : _req$body2.verify) !== false; // 默认 true
100
+ const extraArgs = Array.isArray((_req$body3 = req.body) === null || _req$body3 === void 0 ? void 0 : _req$body3.extraArgs) ? req.body.extraArgs.map(String) : [];
101
+ const args = ["hardhat", "deploy:factory", "--network", network, "--forwarderaddress", FORWARDER_ADDRESS, ...(verify ? ["--verify"] : []), ...extraArgs];
102
+
103
+ // 确保在项目根目录执行(不是 dist)
104
+ const projectRoot = _path.default.resolve(__dirname, "..");
105
+
106
+ // 传入需要的环境变量(按你的硬件钱包/私钥配置), 合并现有.env 的配置
107
+ const env = _objectSpread({
108
+ TS_NODE_TRANSPILE_ONLY: "1",
109
+ CONFLUX_TESTNET_API_KEY: walletPrivateKey,
110
+ CONFLUX_API_KEY: walletPrivateKey,
111
+ DEPLOYER_PK: walletPrivateKey
112
+ }, process.env);
113
+ const _yield$runCommand = yield (0, _utils.runCommand)("npx", args, {
114
+ cwd: projectRoot,
115
+ env
116
+ }),
117
+ code = _yield$runCommand.code,
118
+ stdout = _yield$runCommand.stdout,
119
+ stderr = _yield$runCommand.stderr;
120
+ console.log('runCommnad code:', code, 'stdout: ', stdout);
121
+ //从stdout中取出部署合约工厂的地址
122
+ const hit = (0, _extractFactoryAddress.extractFactoryAddress)(stdout);
123
+ if (hit.address) {
124
+ console.log("Factory address:", hit.address);
125
+ //先查询是否已经部署工厂合约,如已经存在则更新,如不存在就新增
126
+ const transactionRecords = yield adminRepository.getTransactionAddress(network, 'factory_contract');
127
+ if (transactionRecords == null) {
128
+ const updateResult = yield adminRepository.createTransactionAddress(network, 'factory_contract', hit.address);
129
+ console.log('updateResult: ', updateResult);
130
+ } else {
131
+ //将获取到的factory address 写入数据表中
132
+ const updateResult = yield adminRepository.updateTransactionAddress(network, 'factory_contract', hit.address);
133
+ console.log('updateResult: ', updateResult);
134
+ }
135
+ } else {
136
+ console.warn("No factory address found in stdout");
137
+ }
138
+ // 统一返回
139
+ return res.status(code === 0 ? 200 : 500).json({
140
+ ok: code === 0,
141
+ msg: "Factory deployment finished",
142
+ code,
143
+ command: `npx ${args.join(" ")}`,
144
+ stdout,
145
+ stderr
146
+ });
147
+ } catch (err) {
148
+ console.error("deploy/factory error:", err);
149
+ return res.status(500).json({
150
+ ok: false,
151
+ error: (err === null || err === void 0 ? void 0 : err.message) || "Internal Server Error"
152
+ });
153
+ }
154
+ });
155
+ return function (_x, _x2) {
156
+ return _ref.apply(this, arguments);
157
+ };
158
+ }());
159
+
160
+ //验证合约工厂
161
+ app.post("/deploy/verify/factory", /*#__PURE__*/function () {
162
+ var _ref2 = _asyncToGenerator(function* (req, res) {
163
+ try {
164
+ var _req$body5;
165
+ //需要根据传入的email 和 密码哈希获取钱包私钥加密json对象; 然后在内存中解密钱包私钥后部署智能合约工厂
166
+ let _req$body4 = req.body,
167
+ email = _req$body4.email,
168
+ hashPassword = _req$body4.hashPassword;
169
+ //根据email从users数据表去取数据
170
+ const adminRepository = new _adminRepository.AdminRepository();
171
+ //1 获取管理员用户的钱包账户密钥的加密json对象 解析出来的密钥
172
+ let walletPrivateKey = yield adminRepository.getAdminWalletPrivateKeyByEmail(email, hashPassword);
173
+
174
+ //2. 获取 minimalForwarder 地址 meta_transaction_address (需要提前部署) 作为部署token合约的参数传入
175
+ const minimalForwarderRecords = yield adminRepository.getTransactionAddress(network, 'minimalForwarder');
176
+ let FORWARDER_ADDRESS = '';
177
+ if (minimalForwarderRecords != null) {
178
+ FORWARDER_ADDRESS = minimalForwarderRecords.meta_transaction_address;
179
+ }
180
+ console.log('FORWARDER_ADDRESS: ', FORWARDER_ADDRESS);
181
+
182
+ //3. 获取 FACTORY_ADDRESS 地址 meta_transaction_address (需要提前部署) 作为部署token合约的参数传入
183
+ const factoryRecords = yield adminRepository.getTransactionAddress(network, 'factory_contract');
184
+ let FACTORY_ADDRESS = '';
185
+ if (factoryRecords != null) {
186
+ FACTORY_ADDRESS = factoryRecords.meta_transaction_address;
187
+ }
188
+ console.log('FACTORY_ADDRESS: ', FACTORY_ADDRESS);
189
+ const extraArgs = Array.isArray((_req$body5 = req.body) === null || _req$body5 === void 0 ? void 0 : _req$body5.extraArgs) ? req.body.extraArgs.map(String) : [];
190
+ const args = ["hardhat", "verify:factory", "--network", network, "--factoryaddress", FACTORY_ADDRESS, "--forwarderaddress", FORWARDER_ADDRESS, ...extraArgs];
191
+ console.log("[DEBUG] command = ", `npx ${args.join(" ")}`);
192
+ // 确保在项目根目录执行(不是 dist)
193
+ const projectRoot = _path.default.resolve(__dirname, "..");
194
+ console.log("[DEBUG] projectRoot = ", projectRoot);
195
+
196
+ // 传入需要的环境变量(按你的硬件钱包/私钥配置), 合并现有.env 的配置
197
+ const env = _objectSpread({
198
+ TS_NODE_TRANSPILE_ONLY: "1",
199
+ CONFLUX_TESTNET_API_KEY: walletPrivateKey,
200
+ CONFLUX_API_KEY: walletPrivateKey,
201
+ DEPLOYER_PK: walletPrivateKey
202
+ }, process.env);
203
+ const _yield$runCommand2 = yield (0, _utils.runCommand)("npx", args, {
204
+ cwd: projectRoot,
205
+ env
206
+ }),
207
+ code = _yield$runCommand2.code,
208
+ stdout = _yield$runCommand2.stdout,
209
+ stderr = _yield$runCommand2.stderr;
210
+ console.log('runCommnad code:', code, 'stdout: ', stdout);
211
+ console.log("[DEBUG] stderr =", stderr);
212
+
213
+ // 统一返回
214
+ return res.status(code === 0 ? 200 : 500).json({
215
+ ok: code === 0,
216
+ msg: "Factory verify finished",
217
+ code,
218
+ command: `npx ${args.join(" ")}`,
219
+ stdout,
220
+ stderr
221
+ });
222
+ } catch (err) {
223
+ console.error("verify/factory error:", err);
224
+ return res.status(500).json({
225
+ ok: false,
226
+ error: (err === null || err === void 0 ? void 0 : err.message) || "Internal Server Error"
227
+ });
228
+ }
229
+ });
230
+ return function (_x3, _x4) {
231
+ return _ref2.apply(this, arguments);
232
+ };
233
+ }());
234
+
235
+ /** 只需要系统管理员用户部署一次token合约,记录下token合约地址
236
+ * POST /deploy/token
237
+ * Body:
238
+ * {
239
+ * "network": "confluxTestnet", // 可选,默认 confluxTestnet
240
+ * "verify": true, // 可选,默认 true
241
+ * "extraArgs": ["--tags", "Factory"] // 可选,透传给 hardhat
242
+ * }
243
+ *
244
+ * 认证(可选):请求头需要携带 X-Deploy-Token 与 .env 中 DEPLOY_TOKEN 匹配
245
+ */
246
+ app.post("/deploy/commonToken", /*#__PURE__*/function () {
247
+ var _ref3 = _asyncToGenerator(function* (req, res) {
248
+ try {
249
+ var _req$body7, _req$body8;
250
+ //console.log('body: ', req.body)
251
+ //需要根据传入的email 和 密码哈希获取钱包私钥加密json对象; 然后在内存中解密钱包私钥后部署智能合约工厂
252
+ let _req$body6 = req.body,
253
+ email = _req$body6.email,
254
+ hashPassword = _req$body6.hashPassword;
255
+ //const network = (req.body?.network as string) || "confluxTestnet";
256
+ //根据email从users数据表去取数据
257
+ const adminRepository = new _adminRepository.AdminRepository();
258
+ //获取管理员的钱包账户私钥
259
+ let walletPrivateKey = yield adminRepository.getAdminWalletPrivateKeyByEmail(email, hashPassword);
260
+ // const adminResult = await adminRepository.getAdminInfoByEmail(email)
261
+ // const raw = adminResult?.rows[0].wallet_private_key;
262
+ // const walletPrivateKeyRec: WalletCipherRecord =
263
+ // typeof raw === 'string' ? JSON.parse(raw) : raw;
264
+ // const cryptoService = new CryptoService()
265
+ // const walletPrivateKey = await cryptoService.decryptPrivateKey(walletPrivateKeyRec, hashPassword)
266
+
267
+ //获取factoryContract地址
268
+ const transactionRecords = yield adminRepository.getTransactionAddress(network, 'factory_contract');
269
+ let factoryAddress;
270
+ if (transactionRecords != null) {
271
+ factoryAddress = transactionRecords.meta_transaction_address;
272
+ }
273
+ //获取 minimalForwarder 地址 meta_transaction_address (需要提前部署) 作为部署token合约的参数传入
274
+ const minimalForwarderRecords = yield adminRepository.getTransactionAddress(network, 'minimalForwarder');
275
+ let FORWARDER_ADDRESS = '';
276
+ if (minimalForwarderRecords != null) {
277
+ FORWARDER_ADDRESS = minimalForwarderRecords.meta_transaction_address;
278
+ }
279
+ console.log('FORWARDER_ADDRESS: ', FORWARDER_ADDRESS);
280
+ let companyName = 'ZhJK'; //默认公司名称
281
+
282
+ const verify = ((_req$body7 = req.body) === null || _req$body7 === void 0 ? void 0 : _req$body7.verify) !== false; // 默认 true
283
+ const extraArgs = Array.isArray((_req$body8 = req.body) === null || _req$body8 === void 0 ? void 0 : _req$body8.extraArgs) ? req.body.extraArgs.map(String) : [];
284
+ const args = ["hardhat", "deploy:token", "--standalone", "--network", network, "--factory", factoryAddress, "--name", companyName, "--symbol YLBC", "--forwarderaddress", FORWARDER_ADDRESS, ...(verify ? ["--verify"] : []), ...extraArgs];
285
+
286
+ // 确保在项目根目录执行(不是 dist)
287
+ const projectRoot = _path.default.resolve(__dirname, "..");
288
+
289
+ // 传入需要的环境变量(按你的硬件钱包/私钥配置)
290
+ // 确保 .env 里放了:PRIVATE_KEY / ETHERSCAN_API_KEY / CONFLUXSCAN_API_KEY 等
291
+ const env = _objectSpread({
292
+ TS_NODE_TRANSPILE_ONLY: "1",
293
+ CONFLUX_TESTNET_API_KEY: walletPrivateKey,
294
+ CONFLUX_API_KEY: walletPrivateKey,
295
+ DEPLOYER_PK: walletPrivateKey
296
+ }, process.env);
297
+ const _yield$runCommand3 = yield (0, _utils.runCommand)("npx", args, {
298
+ cwd: projectRoot,
299
+ env
300
+ }),
301
+ code = _yield$runCommand3.code,
302
+ stdout = _yield$runCommand3.stdout,
303
+ stderr = _yield$runCommand3.stderr;
304
+ console.log('runCommnad code:', code, 'stdout: ', stdout);
305
+ //从stdout中取出部署合约工厂的地址
306
+ const hit = (0, _extractTokenAddress.extractTokenAddress)(stdout);
307
+ if (hit.address) {
308
+ console.log("token address:", hit.address);
309
+ //先查询是否已经部署token合约,如已经存在则更新,如不存在就新增
310
+ const transactionRecords = yield adminRepository.getTransactionAddress(network, 'token_contract');
311
+ if (transactionRecords == null) {
312
+ const updateResult = yield adminRepository.createTransactionAddress(network, 'token_contract', hit.address);
313
+ console.log('updateResult: ', updateResult);
314
+ } else {
315
+ //将获取到的factory address 写入数据表中
316
+ const updateResult = yield adminRepository.updateTransactionAddress(network, 'token_contract', hit.address);
317
+ console.log('updateResult: ', updateResult);
318
+ }
319
+ } else {
320
+ console.warn("No token registry address found in stdout");
321
+ }
322
+
323
+ // 统一返回
324
+ return res.status(code === 0 ? 200 : 500).json({
325
+ msg: "Token deployment finished",
326
+ ok: code === 0,
327
+ code,
328
+ command: `npx ${args.join(" ")}`,
329
+ stdout,
330
+ stderr
331
+ });
332
+ } catch (err) {
333
+ console.error("deploy/factory error:", err);
334
+ return res.status(500).json({
335
+ ok: false,
336
+ msg: (err === null || err === void 0 ? void 0 : err.message) || "Internal Server Error"
337
+ });
338
+ }
339
+ });
340
+ return function (_x5, _x6) {
341
+ return _ref3.apply(this, arguments);
342
+ };
343
+ }());
344
+
345
+ //验证token合约
346
+ app.post("/deploy/verify/commonToken", /*#__PURE__*/function () {
347
+ var _ref4 = _asyncToGenerator(function* (req, res) {
348
+ try {
349
+ var _req$body0;
350
+ //需要根据传入的email 和 密码哈希获取钱包私钥加密json对象; 然后在内存中解密钱包私钥后部署智能合约工厂
351
+ let _req$body9 = req.body,
352
+ email = _req$body9.email,
353
+ hashPassword = _req$body9.hashPassword;
354
+ //根据email从users数据表去取数据
355
+ const adminRepository = new _adminRepository.AdminRepository();
356
+ //获取管理员的钱包账户私钥
357
+ let walletPrivateKey = yield adminRepository.getAdminWalletPrivateKeyByEmail(email, hashPassword);
358
+
359
+ //获取 minimalForwarder 地址 meta_transaction_address (需要提前部署) 作为部署token合约的参数传入
360
+ const minimalForwarderRecords = yield adminRepository.getTransactionAddress(network, 'minimalForwarder');
361
+ let FORWARDER_ADDRESS = '';
362
+ if (minimalForwarderRecords != null) {
363
+ FORWARDER_ADDRESS = minimalForwarderRecords.meta_transaction_address;
364
+ }
365
+ console.log('FORWARDER_ADDRESS: ', FORWARDER_ADDRESS);
366
+
367
+ //获取factoryContract地址
368
+ const transactionRecords = yield adminRepository.getTransactionAddress(network, 'factory_contract');
369
+ let factoryAddress;
370
+ if (transactionRecords != null) {
371
+ factoryAddress = transactionRecords.meta_transaction_address;
372
+ }
373
+ console.log('factoryAddress: ', factoryAddress);
374
+
375
+ //3. 获取 FACTORY_ADDRESS 地址 meta_transaction_address (需要提前部署) 作为部署token合约的参数传入
376
+ const tokenRecords = yield adminRepository.getTransactionAddress(network, 'token_contract');
377
+ let tokenADDRESS = '';
378
+ if (tokenRecords != null) {
379
+ tokenADDRESS = tokenRecords.meta_transaction_address;
380
+ }
381
+ console.log('tokenADDRESS: ', tokenADDRESS);
382
+ let companyName = 'ZhJK'; //默认公司名称
383
+
384
+ const extraArgs = Array.isArray((_req$body0 = req.body) === null || _req$body0 === void 0 ? void 0 : _req$body0.extraArgs) ? req.body.extraArgs.map(String) : [];
385
+ const args = ["hardhat", "verify:token", "--standalone", "--network", network, "--name", companyName, "--symbol YLBC", "--forwarderaddress", FORWARDER_ADDRESS, "--factory", factoryAddress, "--tokenaddress", tokenADDRESS, ...extraArgs];
386
+ console.log("[DEBUG] command = ", `npx ${args.join(" ")}`);
387
+ // 确保在项目根目录执行(不是 dist)
388
+ const projectRoot = _path.default.resolve(__dirname, "..");
389
+ console.log("[DEBUG] projectRoot = ", projectRoot);
390
+ // 传入需要的环境变量(按你的硬件钱包/私钥配置)
391
+ // 确保 .env 里放了:PRIVATE_KEY / ETHERSCAN_API_KEY / CONFLUXSCAN_API_KEY 等
392
+ const env = _objectSpread({
393
+ TS_NODE_TRANSPILE_ONLY: "1",
394
+ CONFLUX_TESTNET_API_KEY: walletPrivateKey,
395
+ CONFLUX_API_KEY: walletPrivateKey,
396
+ DEPLOYER_PK: walletPrivateKey
397
+ }, process.env);
398
+ const _yield$runCommand4 = yield (0, _utils.runCommand)("npx", args, {
399
+ cwd: projectRoot,
400
+ env
401
+ }),
402
+ code = _yield$runCommand4.code,
403
+ stdout = _yield$runCommand4.stdout,
404
+ stderr = _yield$runCommand4.stderr;
405
+ console.log('runCommnad code:', code, 'stdout: ', stdout);
406
+ console.log("[DEBUG] stderr =", stderr);
407
+
408
+ // 统一返回
409
+ return res.status(code === 0 ? 200 : 500).json({
410
+ msg: "Token verification finished",
411
+ ok: code === 0,
412
+ code,
413
+ command: `npx ${args.join(" ")}`,
414
+ stdout,
415
+ stderr
416
+ });
417
+ } catch (err) {
418
+ console.error("deploy/factory error:", err);
419
+ return res.status(500).json({
420
+ ok: false,
421
+ msg: (err === null || err === void 0 ? void 0 : err.message) || "Internal Server Error"
422
+ });
423
+ }
424
+ });
425
+ return function (_x7, _x8) {
426
+ return _ref4.apply(this, arguments);
427
+ };
428
+ }());
429
+
430
+ /** 废弃 每一个船公司或货代公司用户部署自己的token合约,记录下token合约地址
431
+ * POST /deploy/token
432
+ * Body:
433
+ * {
434
+ * "network": "confluxTestnet", // 可选,默认 confluxTestnet
435
+ * "verify": true, // 可选,默认 true
436
+ * "extraArgs": ["--tags", "Factory"] // 可选,透传给 hardhat
437
+ * }
438
+ *
439
+ * 认证(可选):请求头需要携带 X-Deploy-Token 与 .env 中 DEPLOY_TOKEN 匹配
440
+ */
441
+ app.post("/deploy/token", /*#__PURE__*/function () {
442
+ var _ref5 = _asyncToGenerator(function* (req, res) {
443
+ try {
444
+ var _req$body10, _req$body11;
445
+ console.log('body: ', req.body);
446
+ //需要根据传入的email 和 密码哈希获取钱包私钥加密json对象; 然后在内存中解密钱包私钥后部署智能合约工厂
447
+ let _req$body1 = req.body,
448
+ userType = _req$body1.userType,
449
+ email = _req$body1.email,
450
+ hashPassword = _req$body1.hashPassword;
451
+ console.log(userType, email, hashPassword);
452
+ //const network = (req.body?.network as string) || "confluxTestnet";
453
+
454
+ //根据用户类型是shipOwner 或 freightForwarder 来判断从什么数据表去取数据
455
+ let walletPrivateKey;
456
+ let factoryAddress;
457
+ let companyName;
458
+ const adminRepository = new _adminRepository.AdminRepository();
459
+ const adminResult = yield adminRepository.getAdminInfoByEmail(email);
460
+ const accountAddress = adminResult === null || adminResult === void 0 ? void 0 : adminResult.rows[0].account_address;
461
+ const transactionRecords = yield adminRepository.getTransactionAddress(network, 'factory_contract');
462
+ if (transactionRecords != null) {
463
+ factoryAddress = transactionRecords.meta_transaction_address;
464
+ }
465
+ const shipOwnerRepository = new _shipOwnerRepository.ShipOwnerRepository();
466
+ const freightForwarderRepository = new _freightForwarderRepository.FreightForwarderRepository();
467
+ const cryptoService = new _crypto.CryptoService();
468
+ if (userType == 'shipOwner') {
469
+ const shipOwner = yield shipOwnerRepository.getShipOwnerByEmail(email, hashPassword);
470
+ if (shipOwner != null) {
471
+ //获取私钥加密json
472
+ const raw = shipOwner.wallet_private_key;
473
+ const walletPrivateKeyRec = typeof raw === 'string' ? JSON.parse(raw) : raw;
474
+ walletPrivateKey = yield cryptoService.decryptPrivateKey(walletPrivateKeyRec, hashPassword);
475
+ companyName = shipOwner.ship_owner_name_en;
476
+ console.log('walletPrivateKey: ', walletPrivateKey);
477
+ }
478
+ } else if (userType == 'freightForwarder') {
479
+ const freightForwarder = yield freightForwarderRepository.getFreightForwarderByEmail(email, hashPassword);
480
+ if (freightForwarder != null) {
481
+ //获取私钥加密json
482
+ const raw = freightForwarder.wallet_private_key;
483
+ const walletPrivateKeyRec = typeof raw === 'string' ? JSON.parse(raw) : raw;
484
+ walletPrivateKey = yield cryptoService.decryptPrivateKey(walletPrivateKeyRec, hashPassword);
485
+ companyName = freightForwarder.freight_forwarder_name_en;
486
+ console.log('walletPrivateKey: ', walletPrivateKey);
487
+ }
488
+ }
489
+ const verify = ((_req$body10 = req.body) === null || _req$body10 === void 0 ? void 0 : _req$body10.verify) !== false; // 默认 true
490
+ const extraArgs = Array.isArray((_req$body11 = req.body) === null || _req$body11 === void 0 ? void 0 : _req$body11.extraArgs) ? req.body.extraArgs.map(String) : [];
491
+ const args = ["hardhat", "deploy:token", "--standalone", "--network", network, "--factory", factoryAddress, "--name", companyName, "--symbol YLBC", "--forwarderaddress", accountAddress, ...(verify ? ["--verify"] : []), ...extraArgs];
492
+
493
+ // 确保在项目根目录执行(不是 dist)
494
+ const projectRoot = _path.default.resolve(__dirname, "..");
495
+
496
+ // 传入需要的环境变量(按你的硬件钱包/私钥配置)
497
+ // 确保 .env 里放了:PRIVATE_KEY / ETHERSCAN_API_KEY / CONFLUXSCAN_API_KEY 等
498
+ const env = _objectSpread({
499
+ TS_NODE_TRANSPILE_ONLY: "1",
500
+ CONFLUX_TESTNET_API_KEY: walletPrivateKey,
501
+ DEPLOYER_PK: walletPrivateKey
502
+ }, process.env);
503
+ const _yield$runCommand5 = yield (0, _utils.runCommand)("npx", args, {
504
+ cwd: projectRoot,
505
+ env
506
+ }),
507
+ code = _yield$runCommand5.code,
508
+ stdout = _yield$runCommand5.stdout,
509
+ stderr = _yield$runCommand5.stderr;
510
+ console.log('runCommnad code:', code, 'stdout: ', stdout);
511
+ //从stdout中取出部署合约工厂的地址
512
+ const hit = (0, _extractTokenAddress.extractTokenAddress)(stdout);
513
+ if (hit.address) {
514
+ console.log("token address:", hit.address);
515
+ //将获取到的factory address 写入数据表中
516
+ if (userType == 'shipOwner') {
517
+ const updateResult = yield shipOwnerRepository.updateShipOwnerTokenAddress(email, hit.address);
518
+ console.log('updateResult: ', updateResult);
519
+ } else if (userType == 'freightForwarder') {
520
+ const updateResult = yield freightForwarderRepository.updateFreightForwarderTokenAddress(email, hit.address);
521
+ console.log('updateResult: ', updateResult);
522
+ }
523
+ } else {
524
+ console.warn("No token registry address found in stdout");
525
+ }
526
+
527
+ // 统一返回
528
+ return res.status(code === 0 ? 200 : 500).json({
529
+ msg: "Token deployment finished",
530
+ ok: code === 0,
531
+ code,
532
+ command: `npx ${args.join(" ")}`,
533
+ stdout,
534
+ stderr
535
+ });
536
+ } catch (err) {
537
+ console.error("deploy/factory error:", err);
538
+ return res.status(500).json({
539
+ ok: false,
540
+ msg: (err === null || err === void 0 ? void 0 : err.message) || "Internal Server Error"
541
+ });
542
+ }
543
+ });
544
+ return function (_x9, _x0) {
545
+ return _ref5.apply(this, arguments);
546
+ };
547
+ }());
548
+
549
+ // 全局错误处理
550
+ app.use((err, req, res, _next) => {
551
+ console.error({
552
+ "error:": err,
553
+ "req.url": req.url
554
+ });
555
+ res.status(500).json({
556
+ msg: "Internal server error",
557
+ error: _objectSpread({
558
+ message: "Internal server error"
559
+ }, process.env.NODE_ENV === "development" ? {
560
+ stack: err.stack
561
+ } : {})
562
+ });
563
+ });
564
+ app.listen(port, "0.0.0.0", () => {
565
+ console.log(`[server]: Server is running at http://localhost:${port}`);
566
+ });