@tradetrust-yl/token-registry 5.1.1 → 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
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CryptoService = void 0;
7
+ var _nodeCrypto = require("node:crypto");
8
+ 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); }
9
+ 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); }); }; }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ 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); } //版本1 和 BL-TT项目相同
13
+ // export class CryptoService {
14
+ // private enc = new TextEncoder();
15
+ // private dec = new TextDecoder();
16
+ // // ---- 基础工具 ----
17
+ // public genSalt(len = 16): Uint8Array {
18
+ // const b = new Uint8Array(len);
19
+ // crypto.getRandomValues(b);
20
+ // return b;
21
+ // }
22
+ // public arrayBufferToBase64(buffer: ArrayBuffer): string {
23
+ // const bytes = new Uint8Array(buffer);
24
+ // let binary = '';
25
+ // for (let i = 0; i < bytes.byteLength; i++) binary += String.fromCharCode(bytes[i]);
26
+ // return btoa(binary);
27
+ // }
28
+ // public base64ToArrayBuffer(base64: string): ArrayBuffer {
29
+ // const binary = atob(base64);
30
+ // const len = binary.length;
31
+ // const bytes = new Uint8Array(len);
32
+ // for (let i = 0; i < len; i++) bytes[i] = binary.charCodeAt(i);
33
+ // return bytes.buffer;
34
+ // }
35
+ // public bufferToHex(b: Uint8Array): string {
36
+ // return Array.from(b).map(x => x.toString(16).padStart(2, '0')).join('');
37
+ // }
38
+ // public hexToUint8(hex: string): Uint8Array {
39
+ // const out = new Uint8Array(hex.length / 2);
40
+ // for (let i = 0; i < hex.length; i += 2) out[i / 2] = parseInt(hex.slice(i, i + 2), 16);
41
+ // return out;
42
+ // }
43
+ // private zeroize(arr?: Uint8Array) {
44
+ // if (arr) arr.fill(0);
45
+ // }
46
+ // // ---- KDF: PBKDF2 -> AES-GCM 256 ----
47
+ // public async deriveKeyFromPassword(password: string, salt: Uint8Array, iterations = 200_000): Promise<CryptoKey> {
48
+ // const passKey = await crypto.subtle.importKey(
49
+ // 'raw',
50
+ // this.enc.encode(password),
51
+ // { name: 'PBKDF2' },
52
+ // false,
53
+ // ['deriveKey']
54
+ // );
55
+ // const key = await crypto.subtle.deriveKey(
56
+ // { name: 'PBKDF2', salt, iterations, hash: 'SHA-256' } as Pbkdf2Params,
57
+ // passKey,
58
+ // { name: 'AES-GCM', length: 256 },
59
+ // false,// 不可导出,提升安全性
60
+ // ['encrypt', 'decrypt']
61
+ // );
62
+ // return key;
63
+ // }
64
+ // // ---- (核心) 加密钱包私钥:使用用户口令派生的 AES-GCM ----
65
+ // public async encryptPrivateKey(privateKeyHex: string, password: string) {
66
+ // const salt = this.genSalt(16);
67
+ // const iv = this.genSalt(12);
68
+ // const iterations = 200_000;
69
+ // //使用用户口令派生 AES-GCM 密钥
70
+ // const aesKey = await this.deriveKeyFromPassword(password, salt, iterations);
71
+ // //加密钱包私钥
72
+ // const cipher = await crypto.subtle.encrypt(
73
+ // { name: 'AES-GCM', iv } as AesGcmParams,
74
+ // aesKey,
75
+ // this.enc.encode(privateKeyHex)
76
+ // );
77
+ // // 返回加密结果
78
+ // return {
79
+ // kdf: 'PBKDF2-SHA256',
80
+ // iterations,
81
+ // cipher: this.arrayBufferToBase64(cipher),
82
+ // iv: this.bufferToHex(iv),
83
+ // salt: this.bufferToHex(salt),
84
+ // version: 1
85
+ // };
86
+ // }
87
+ // public async decryptPrivateKey(
88
+ // record: { cipher: string; iv: string; salt: string; iterations?: number; kdf?: string; version?: number },
89
+ // password: string
90
+ // ) {
91
+ // const salt = this.hexToUint8(record.salt);
92
+ // const iv = this.hexToUint8(record.iv);
93
+ // const iterations = record.iterations ?? 200_000;
94
+ // const aesKey = await this.deriveKeyFromPassword(password, salt, iterations);
95
+ // // 修复:添加类型断言
96
+ // const plainBuf = await crypto.subtle.decrypt(
97
+ // {
98
+ // name: 'AES-GCM',
99
+ // iv: iv as any // 类型断言绕过检查
100
+ // } as AesGcmParams,
101
+ // aesKey,
102
+ // this.base64ToArrayBuffer(record.cipher)
103
+ // );
104
+ // const privateKeyHex = this.dec.decode(new Uint8Array(plainBuf));
105
+ // return privateKeyHex;
106
+ // }
107
+ // // ---- (可选) 前端对用户口令做 PBKDF2 哈希,用于传给服务器 ----
108
+ // // 说明:这不是用来加密“钱包私钥”的密钥;仅在你的合规/设计需要“客户端先拉长口令再上送”时使用。
109
+ // public async hashPasswordForServer(password: string, salt: Uint8Array) {
110
+ // const iterations = 200_000;
111
+ // const passKey = await crypto.subtle.importKey(
112
+ // 'raw',
113
+ // this.enc.encode(password),
114
+ // 'PBKDF2',
115
+ // false,
116
+ // ['deriveBits']
117
+ // );
118
+ // const bits = await crypto.subtle.deriveBits(
119
+ // { name: 'PBKDF2', salt, iterations, hash: 'SHA-256' } as Pbkdf2Params,
120
+ // passKey,
121
+ // 256
122
+ // );
123
+ // const hashB64 = this.arrayBufferToBase64(bits);
124
+ // return {
125
+ // kdf: 'PBKDF2-SHA256',
126
+ // iterations,
127
+ // salt: this.bufferToHex(salt),
128
+ // hashB64,
129
+ // version: 1
130
+ // };
131
+ // }
132
+ // }
133
+ //版本2
134
+ class CryptoService {
135
+ constructor() {
136
+ _defineProperty(this, "enc", new TextEncoder());
137
+ _defineProperty(this, "dec", new TextDecoder());
138
+ }
139
+ genSalt(len = 16) {
140
+ const b = new Uint8Array(len);
141
+ _nodeCrypto.webcrypto.getRandomValues(b);
142
+ return b;
143
+ }
144
+ abToBase64(ab) {
145
+ const u8 = ab instanceof Uint8Array ? ab : new Uint8Array(ab);
146
+ return Buffer.from(u8).toString('base64');
147
+ }
148
+ base64ToU8(b64) {
149
+ return new Uint8Array(Buffer.from(b64, 'base64')); // ★ 不要 .buffer
150
+ }
151
+ bufferToHex(b) {
152
+ return Array.from(b).map(x => x.toString(16).padStart(2, '0')).join('');
153
+ }
154
+ hexToUint8(hex) {
155
+ if (hex.length % 2 !== 0) throw new Error('hex length must be even');
156
+ const out = new Uint8Array(hex.length / 2);
157
+ for (let i = 0; i < hex.length; i += 2) out[i / 2] = parseInt(hex.slice(i, i + 2), 16);
158
+ return out;
159
+ }
160
+ deriveKeyFromPassword(_x, _x2) {
161
+ var _this = this;
162
+ return _asyncToGenerator(function* (password, salt, iterations = 200000) {
163
+ const passKey = yield _nodeCrypto.webcrypto.subtle.importKey('raw', _this.enc.encode(password), {
164
+ name: 'PBKDF2'
165
+ }, false, ['deriveKey']);
166
+ return _nodeCrypto.webcrypto.subtle.deriveKey({
167
+ name: 'PBKDF2',
168
+ salt,
169
+ iterations,
170
+ hash: 'SHA-256'
171
+ }, passKey, {
172
+ name: 'AES-GCM',
173
+ length: 256
174
+ }, false, ['encrypt', 'decrypt']);
175
+ }).apply(this, arguments);
176
+ }
177
+ encryptPrivateKey(privateKeyHex, password) {
178
+ var _this2 = this;
179
+ return _asyncToGenerator(function* () {
180
+ const salt = _this2.genSalt(16);
181
+ const iv = _this2.genSalt(12);
182
+ const iters = 200000;
183
+ const key = yield _this2.deriveKeyFromPassword(password, salt, iters);
184
+ const cipher = yield _nodeCrypto.webcrypto.subtle.encrypt({
185
+ name: 'AES-GCM',
186
+ iv
187
+ }, key, _this2.enc.encode(privateKeyHex));
188
+ return {
189
+ kdf: 'PBKDF2-SHA256',
190
+ iterations: iters,
191
+ cipher: _this2.abToBase64(cipher),
192
+ iv: _this2.bufferToHex(iv),
193
+ salt: _this2.bufferToHex(salt),
194
+ version: 1
195
+ };
196
+ })();
197
+ }
198
+ decryptPrivateKey(record, password) {
199
+ var _this3 = this;
200
+ return _asyncToGenerator(function* () {
201
+ var _record$iterations;
202
+ const salt = _this3.hexToUint8(record.salt);
203
+ const iv = _this3.hexToUint8(record.iv);
204
+ const iters = (_record$iterations = record.iterations) !== null && _record$iterations !== void 0 ? _record$iterations : 200000;
205
+ const key = yield _this3.deriveKeyFromPassword(password, salt, iters);
206
+ const cipherU8 = _this3.base64ToU8(record.cipher); // ★ 关键:Uint8Array
207
+ const plainBuf = yield _nodeCrypto.webcrypto.subtle.decrypt({
208
+ name: 'AES-GCM',
209
+ iv
210
+ }, key, cipherU8);
211
+ return _this3.dec.decode(new Uint8Array(plainBuf));
212
+ })();
213
+ }
214
+ }
215
+ exports.CryptoService = CryptoService;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.testConnection = exports.pool = void 0;
7
+ var _pg = require("pg");
8
+ var _dotenv = _interopRequireDefault(require("dotenv"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ 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); }
11
+ 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); }); }; }
12
+ _dotenv.default.config();
13
+ const pool = exports.pool = new _pg.Pool({
14
+ host: process.env.DB_HOST,
15
+ port: parseInt(process.env.DB_PORT || '5432'),
16
+ database: process.env.DB_NAME,
17
+ user: process.env.DB_USER,
18
+ password: process.env.DB_PASSWORD
19
+ });
20
+
21
+ // 测试数据库连接
22
+ const testConnection = exports.testConnection = /*#__PURE__*/function () {
23
+ var _ref = _asyncToGenerator(function* () {
24
+ try {
25
+ const client = yield pool.connect();
26
+ console.log('✅ 数据库连接成功');
27
+ client.release();
28
+ } catch (error) {
29
+ console.error('❌ 数据库连接失败:', error);
30
+ process.exit(1);
31
+ }
32
+ });
33
+ return function testConnection() {
34
+ return _ref.apply(this, arguments);
35
+ };
36
+ }();
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FreightForwarderRepository = void 0;
7
+ var _crypto = require("../crypto");
8
+ var _database = require("../database");
9
+ 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); }
10
+ 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); }); }; }
11
+ class FreightForwarderRepository {
12
+ // 获取所有货代公司
13
+ getAllFreightForwarders() {
14
+ return _asyncToGenerator(function* () {
15
+ const query = 'SELECT * FROM freight_forwarder ORDER BY id DESC';
16
+ const result = yield _database.pool.query(query);
17
+ return result.rows;
18
+ })();
19
+ }
20
+
21
+ // 根据ID获取货代公司
22
+ getFreightForwarderById(id) {
23
+ return _asyncToGenerator(function* () {
24
+ const query = 'SELECT * FROM freight_forwarder WHERE id = $1';
25
+ const result = yield _database.pool.query(query, [id]);
26
+ const raw = result.rows[0].wallet_private_key;
27
+ const walletPrivateKey = typeof raw === 'string' ? JSON.parse(raw) : raw;
28
+ console.log('walletPrivateKey: ', walletPrivateKey);
29
+ const cryptoService = new _crypto.CryptoService();
30
+ const privateKeyHex = yield cryptoService.decryptPrivateKey(walletPrivateKey, '234567');
31
+ console.log('privateKeyHex', privateKeyHex);
32
+ return result.rows[0] || null;
33
+ })();
34
+ }
35
+
36
+ // 根据email 获取货代公司的wallet_private_key; 再根据密码哈西获取钱包私钥
37
+ getFreightForwarderByEmail(email, _hashPassword) {
38
+ return _asyncToGenerator(function* () {
39
+ const query = 'SELECT * FROM freight_forwarder WHERE email = $1';
40
+ //执行sql查询得到数据
41
+ const result = yield _database.pool.query(query, [email]);
42
+ return result.rows[0] || null;
43
+ })();
44
+ }
45
+
46
+ // 根据email 获取货代公司的wallet_private_key; 再根据密码哈西获取钱包私钥
47
+ getFreightForwarderWalletPrivateKeyByEmail(email, hashPassword) {
48
+ return _asyncToGenerator(function* () {
49
+ const query = 'SELECT * FROM freight_forwarder WHERE email = $1';
50
+ //执行sql查询得到数据
51
+ const result = yield _database.pool.query(query, [email]);
52
+ if (result) {
53
+ const raw = result.rows[0].wallet_private_key;
54
+ const walletPrivateKey = typeof raw === 'string' ? JSON.parse(raw) : raw;
55
+
56
+ //console.log('walletPrivateKeyRec: ',walletPrivateKey)
57
+ const cryptoService = new _crypto.CryptoService();
58
+ const privateKeyHex = yield cryptoService.decryptPrivateKey(walletPrivateKey, hashPassword);
59
+ //console.log('privateKeyHex',privateKeyHex)
60
+ return privateKeyHex || undefined;
61
+ } else {
62
+ return undefined;
63
+ }
64
+ })();
65
+ }
66
+
67
+ // 根据Address获取货代公司
68
+ getFreightForwarderByAddress(address) {
69
+ return _asyncToGenerator(function* () {
70
+ const query = 'SELECT * FROM freight_forwarder WHERE account_address = $1';
71
+ const result = yield _database.pool.query(query, [address]);
72
+ return result.rows[0] || null;
73
+ })();
74
+ }
75
+
76
+ // 更新货代公司合约工厂地址
77
+ updateFreightForwarderFactoryAddress(email, factoryAddress) {
78
+ return _asyncToGenerator(function* () {
79
+ const updateQuery = 'UPDATE freight_forwarder set factory_address = $1 where email = $2';
80
+ const result = yield _database.pool.query(updateQuery, [factoryAddress, email]);
81
+ return result || null;
82
+ })();
83
+ }
84
+
85
+ // 更新货代公司合约工厂地址
86
+ updateFreightForwarderTokenAddress(email, tokenRegistryAddress) {
87
+ return _asyncToGenerator(function* () {
88
+ const updateQuery = 'UPDATE freight_forwarder set token_registry_address = $1 where email = $2';
89
+ const result = yield _database.pool.query(updateQuery, [tokenRegistryAddress, email]);
90
+ return result || null;
91
+ })();
92
+ }
93
+ }
94
+ exports.FreightForwarderRepository = FreightForwarderRepository;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShipOwnerController = void 0;
7
+ var _shipOwnerRepository = require("./shipOwnerRepository");
8
+ 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); }
9
+ 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); }); }; }
10
+ const shipOwnerRepository = new _shipOwnerRepository.ShipOwnerRepository();
11
+ class ShipOwnerController {
12
+ // 获取所有用户
13
+ getAllShipOwners(req, res) {
14
+ return _asyncToGenerator(function* () {
15
+ try {
16
+ console.log(req.body);
17
+ const shipOwners = yield shipOwnerRepository.getAllShipOwners();
18
+ res.status(200).json({
19
+ success: true,
20
+ data: shipOwners,
21
+ count: shipOwners.length
22
+ });
23
+ } catch (error) {
24
+ console.error('获取用户列表错误:', error);
25
+ res.status(500).json({
26
+ success: false,
27
+ message: '服务器内部错误'
28
+ });
29
+ }
30
+ })();
31
+ }
32
+
33
+ // 获取所有用户
34
+ getShipOwnerById(req, res) {
35
+ return _asyncToGenerator(function* () {
36
+ try {
37
+ let id = req.params.id;
38
+ const shipOwner = yield shipOwnerRepository.getShipOwnerById(Number(id));
39
+ res.status(200).json({
40
+ success: true,
41
+ data: shipOwner,
42
+ count: 1
43
+ });
44
+ } catch (error) {
45
+ console.error('获取用户列表错误:', error);
46
+ res.status(500).json({
47
+ success: false,
48
+ message: '服务器内部错误'
49
+ });
50
+ }
51
+ })();
52
+ }
53
+
54
+ // 根据email和密码哈希获取用户
55
+ getShipOwnerByEmail(req, res) {
56
+ return _asyncToGenerator(function* () {
57
+ try {
58
+ let _req$body = req.body,
59
+ email = _req$body.email,
60
+ hashPassword = _req$body.hashPassword;
61
+ const shipOwner = yield shipOwnerRepository.getShipOwnerByEmail(email, hashPassword);
62
+ res.status(200).json({
63
+ success: true,
64
+ data: shipOwner,
65
+ count: 1
66
+ });
67
+ } catch (error) {
68
+ console.error('获取用户列表错误:', error);
69
+ res.status(500).json({
70
+ success: false,
71
+ message: '服务器内部错误'
72
+ });
73
+ }
74
+ })();
75
+ }
76
+ }
77
+ exports.ShipOwnerController = ShipOwnerController;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShipOwnerRepository = void 0;
7
+ var _crypto = require("../crypto");
8
+ var _database = require("../database");
9
+ 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); }
10
+ 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); }); }; }
11
+ class ShipOwnerRepository {
12
+ // 获取所有船公司
13
+ getAllShipOwners() {
14
+ return _asyncToGenerator(function* () {
15
+ const query = 'SELECT * FROM ship_owner ORDER BY id DESC';
16
+ const result = yield _database.pool.query(query);
17
+ return result.rows;
18
+ })();
19
+ }
20
+
21
+ // 根据ID获取船公司
22
+ getShipOwnerById(id) {
23
+ return _asyncToGenerator(function* () {
24
+ const query = 'SELECT * FROM ship_owner WHERE id = $1';
25
+ const result = yield _database.pool.query(query, [id]);
26
+ const raw = result.rows[0].wallet_private_key;
27
+ const walletPrivateKey = typeof raw === 'string' ? JSON.parse(raw) : raw;
28
+ console.log('walletPrivateKey: ', walletPrivateKey);
29
+ const cryptoService = new _crypto.CryptoService();
30
+ const privateKeyHex = yield cryptoService.decryptPrivateKey(walletPrivateKey, '234567');
31
+ console.log('privateKeyHex', privateKeyHex);
32
+ return result.rows[0] || null;
33
+ })();
34
+ }
35
+
36
+ // 根据email 获取船公司的wallet_private_key; 再根据密码哈西获取钱包私钥
37
+ getShipOwnerByEmail(email, _hashPassword) {
38
+ return _asyncToGenerator(function* () {
39
+ const query = 'SELECT * FROM ship_owner WHERE email = $1';
40
+ //执行sql查询得到数据
41
+ const result = yield _database.pool.query(query, [email]);
42
+ return result.rows[0] || null;
43
+ })();
44
+ }
45
+
46
+ // 根据email 获取船公司的wallet_private_key; 再根据密码哈西获取钱包私钥
47
+ getShipOwnerWalletPrivateKeyByEmail(email, hashPassword) {
48
+ return _asyncToGenerator(function* () {
49
+ const query = 'SELECT * FROM ship_owner WHERE email = $1';
50
+ //执行sql查询得到数据
51
+ const result = yield _database.pool.query(query, [email]);
52
+ if (result) {
53
+ const raw = result.rows[0].wallet_private_key;
54
+ const walletPrivateKey = typeof raw === 'string' ? JSON.parse(raw) : raw;
55
+
56
+ //console.log('walletPrivateKeyRec: ',walletPrivateKey)
57
+ const cryptoService = new _crypto.CryptoService();
58
+ const privateKeyHex = yield cryptoService.decryptPrivateKey(walletPrivateKey, hashPassword);
59
+ //console.log('privateKeyHex',privateKeyHex)
60
+ return privateKeyHex || undefined;
61
+ } else {
62
+ return undefined;
63
+ }
64
+ })();
65
+ }
66
+
67
+ // 根据Address获取船公司
68
+ getShipOwnerByAddress(address) {
69
+ return _asyncToGenerator(function* () {
70
+ const query = 'SELECT * FROM ship_owner WHERE account_address = $1';
71
+ const result = yield _database.pool.query(query, [address]);
72
+ return result.rows[0] || null;
73
+ })();
74
+ }
75
+
76
+ // 更新船公司合约工厂地址
77
+ updateShipOwnerFactoryAddress(email, factoryAddress) {
78
+ return _asyncToGenerator(function* () {
79
+ const updateQuery = 'UPDATE ship_owner set factory_address = $1 where email = $2';
80
+ const result = yield _database.pool.query(updateQuery, [factoryAddress, email]);
81
+ return result || null;
82
+ })();
83
+ }
84
+
85
+ // 更新船公司合约工厂地址
86
+ updateShipOwnerTokenAddress(email, tokenRegistryAddress) {
87
+ return _asyncToGenerator(function* () {
88
+ const updateQuery = 'UPDATE ship_owner set token_registry_address = $1 where email = $2';
89
+ const result = yield _database.pool.query(updateQuery, [tokenRegistryAddress, email]);
90
+ return result || null;
91
+ })();
92
+ }
93
+ }
94
+ exports.ShipOwnerRepository = ShipOwnerRepository;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _express = require("express");
8
+ var _shipOwnerController = require("./shipOwnerController");
9
+ const router = (0, _express.Router)();
10
+ const shipOwnerController = new _shipOwnerController.ShipOwnerController();
11
+
12
+ // 用户路由
13
+ router.get('/shipOwners', shipOwnerController.getAllShipOwners);
14
+ router.get('/getShipOwnerById/:id', shipOwnerController.getShipOwnerById);
15
+ router.post('/getShipOwnerByEmail', shipOwnerController.getShipOwnerByEmail);
16
+ // router.put('/shipOwners/:id', shipOwnerController.updateShipOwner);
17
+ // router.delete('/shipOwners/:id', shipOwnerController.deleteShipOwner);
18
+ var _default = exports.default = router;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,51 @@
1
+ declare const ChainId: {
2
+ Ethereum: number;
3
+ Sepolia: number;
4
+ Polygon: number;
5
+ PolygonAmoy: number;
6
+ XDC: number;
7
+ XDCApothem: number;
8
+ Stability: number;
9
+ StabilityTestnet: number;
10
+ Astron: number;
11
+ AstronTestnet: number;
12
+ };
1
13
  export declare const contractAddress: {
2
14
  TitleEscrowFactory: {
3
- [x: number]: string;
15
+ [ChainId.Ethereum]: string;
16
+ [ChainId.Sepolia]: string;
17
+ [ChainId.Polygon]: string;
18
+ [ChainId.PolygonAmoy]: string;
19
+ [ChainId.XDC]: string;
20
+ [ChainId.XDCApothem]: string;
21
+ [ChainId.Stability]: string;
22
+ [ChainId.StabilityTestnet]: string;
23
+ [ChainId.Astron]: string;
24
+ [ChainId.AstronTestnet]: string;
4
25
  };
5
26
  Deployer: {
6
- [x: number]: string;
27
+ [ChainId.Ethereum]: string;
28
+ [ChainId.Sepolia]: string;
29
+ [ChainId.Polygon]: string;
30
+ [ChainId.StabilityTestnet]: string;
31
+ [ChainId.Stability]: string;
32
+ [ChainId.XDC]: string;
33
+ [ChainId.XDCApothem]: string;
34
+ [ChainId.PolygonAmoy]: string;
35
+ [ChainId.Astron]: string;
36
+ [ChainId.AstronTestnet]: string;
7
37
  };
8
38
  TokenImplementation: {
9
- [x: number]: string;
39
+ [ChainId.Ethereum]: string;
40
+ [ChainId.Sepolia]: string;
41
+ [ChainId.Polygon]: string;
42
+ [ChainId.PolygonAmoy]: string;
43
+ [ChainId.StabilityTestnet]: string;
44
+ [ChainId.Stability]: string;
45
+ [ChainId.XDC]: string;
46
+ [ChainId.XDCApothem]: string;
47
+ [ChainId.Astron]: string;
48
+ [ChainId.AstronTestnet]: string;
10
49
  };
11
50
  };
51
+ export {};
@@ -0,0 +1,23 @@
1
+ export interface TransactionRecords {
2
+ id?: number;
3
+ transaction_name: string;
4
+ transaction_hash: string;
5
+ transaction_address?: string;
6
+ meta_transaction_address?: string;
7
+ transaction_note: string;
8
+ created_time?: Date;
9
+ updated_time?: Date;
10
+ }
11
+ export interface WalletCipherRecord {
12
+ kdf: string;
13
+ iterations: number;
14
+ cipher: string;
15
+ iv: string;
16
+ salt: string;
17
+ version: number;
18
+ }
19
+ export interface UserRecord {
20
+ email: string;
21
+ account_address: string;
22
+ wallet_private_key: string;
23
+ }
@@ -0,0 +1,15 @@
1
+ export interface FreightForwarder {
2
+ id?: number;
3
+ email: string;
4
+ freight_forwarder_name: string;
5
+ freight_forwarder_name_en?: string;
6
+ account_address: string;
7
+ wallet_private_key: string;
8
+ factory_address: string;
9
+ token_registry_address: string;
10
+ domain: string;
11
+ did_key_pairs: string;
12
+ chain_id?: string;
13
+ created_time?: Date;
14
+ updated_time?: Date;
15
+ }
@@ -0,0 +1,25 @@
1
+ export interface ShipOwner {
2
+ id?: number;
3
+ email: string;
4
+ ship_owner_name: string;
5
+ ship_owner_name_en?: string;
6
+ account_address: string;
7
+ wallet_private_key: string;
8
+ factory_address: string;
9
+ token_registry_address: string;
10
+ domain: string;
11
+ did_key_pairs: string;
12
+ chain_id?: string;
13
+ created_time?: Date;
14
+ updated_time?: Date;
15
+ }
16
+ export interface CreateShipOwnerRequest {
17
+ name: string;
18
+ email: string;
19
+ age?: number;
20
+ }
21
+ export interface UpdateShipOwnerRequest {
22
+ name?: string;
23
+ email?: string;
24
+ age?: number;
25
+ }
@@ -0,0 +1,9 @@
1
+ import { TransactionRecords } from "../../models/common";
2
+ import { QueryResult } from "pg";
3
+ export declare class AdminRepository {
4
+ getAdminInfoByEmail(email: string): Promise<QueryResult<any> | undefined>;
5
+ getAdminWalletPrivateKeyByEmail(email: string, hashPassword: string): Promise<string | undefined>;
6
+ getTransactionAddress(netWork: string, transactionName: string): Promise<TransactionRecords | null>;
7
+ updateTransactionAddress(netWork: string, transactionName: string, transactionAddress: string): Promise<object | null>;
8
+ createTransactionAddress(netWork: string, transactionName: string, transactionAddress: string): Promise<TransactionRecords>;
9
+ }