@ozdao/prometheus-framework 0.2.133 → 0.2.134
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/_virtual/alignment-pattern.cjs +1 -0
- package/dist/_virtual/alignment-pattern.js +4 -0
- package/dist/_virtual/browser.cjs +1 -0
- package/dist/_virtual/browser.js +4 -0
- package/dist/_virtual/canvas.cjs +1 -0
- package/dist/_virtual/canvas.js +4 -0
- package/dist/_virtual/dijkstra.cjs +1 -0
- package/dist/_virtual/dijkstra.js +4 -0
- package/dist/_virtual/error-correction-code.cjs +1 -0
- package/dist/_virtual/error-correction-code.js +4 -0
- package/dist/_virtual/error-correction-level.cjs +1 -0
- package/dist/_virtual/error-correction-level.js +4 -0
- package/dist/_virtual/finder-pattern.cjs +1 -0
- package/dist/_virtual/finder-pattern.js +4 -0
- package/dist/_virtual/format-info.cjs +1 -0
- package/dist/_virtual/format-info.js +4 -0
- package/dist/_virtual/galois-field.cjs +1 -0
- package/dist/_virtual/galois-field.js +4 -0
- package/dist/_virtual/mask-pattern.cjs +1 -0
- package/dist/_virtual/mask-pattern.js +4 -0
- package/dist/_virtual/mode.cjs +1 -0
- package/dist/_virtual/mode.js +4 -0
- package/dist/_virtual/polynomial.cjs +1 -0
- package/dist/_virtual/polynomial.js +4 -0
- package/dist/_virtual/qrcode.cjs +1 -0
- package/dist/_virtual/qrcode.js +4 -0
- package/dist/_virtual/regex.cjs +1 -0
- package/dist/_virtual/regex.js +4 -0
- package/dist/_virtual/segments.cjs +1 -0
- package/dist/_virtual/segments.js +4 -0
- package/dist/_virtual/svg-tag.cjs +1 -0
- package/dist/_virtual/svg-tag.js +4 -0
- package/dist/_virtual/utils.cjs +1 -0
- package/dist/_virtual/utils.js +4 -0
- package/dist/_virtual/utils2.cjs +1 -0
- package/dist/_virtual/utils2.js +4 -0
- package/dist/_virtual/version-check.cjs +1 -0
- package/dist/_virtual/version-check.js +4 -0
- package/dist/_virtual/version.cjs +1 -0
- package/dist/_virtual/version.js +4 -0
- package/dist/auth.server.js +1 -1
- package/dist/auth.server.mjs +1 -1
- package/dist/community.server.js +1 -1
- package/dist/community.server.mjs +1 -1
- package/dist/events.server.js +1 -1
- package/dist/events.server.mjs +1 -1
- package/dist/files.server.js +1 -1
- package/dist/files.server.mjs +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/gallery.server.mjs +1 -1
- package/dist/index-C-8xOJnM.mjs +244 -0
- package/dist/index-CDbtWkBj.js +243 -0
- package/dist/main-5IrI2IOV.js +92 -0
- package/dist/main-BY2OvGB9.mjs +14509 -0
- package/dist/main.css +1 -1
- package/dist/middlewares.server.js +1 -1
- package/dist/middlewares.server.mjs +1 -1
- package/dist/node_modules/dijkstrajs/dijkstra.cjs +1 -0
- package/dist/node_modules/dijkstrajs/dijkstra.js +70 -0
- package/dist/node_modules/encode-utf8/index.cjs +1 -0
- package/dist/node_modules/encode-utf8/index.js +30 -0
- package/dist/node_modules/qrcode/lib/browser.cjs +1 -0
- package/dist/node_modules/qrcode/lib/browser.js +45 -0
- package/dist/node_modules/qrcode/lib/can-promise.cjs +1 -0
- package/dist/node_modules/qrcode/lib/can-promise.js +6 -0
- package/dist/node_modules/qrcode/lib/core/alignment-pattern.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/alignment-pattern.js +21 -0
- package/dist/node_modules/qrcode/lib/core/alphanumeric-data.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/alphanumeric-data.js +73 -0
- package/dist/node_modules/qrcode/lib/core/bit-buffer.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/bit-buffer.js +24 -0
- package/dist/node_modules/qrcode/lib/core/bit-matrix.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/bit-matrix.js +22 -0
- package/dist/node_modules/qrcode/lib/core/byte-data.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/byte-data.js +24 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-code.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-code.js +359 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-level.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/error-correction-level.js +35 -0
- package/dist/node_modules/qrcode/lib/core/finder-pattern.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/finder-pattern.js +18 -0
- package/dist/node_modules/qrcode/lib/core/format-info.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/format-info.js +14 -0
- package/dist/node_modules/qrcode/lib/core/galois-field.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/galois-field.js +22 -0
- package/dist/node_modules/qrcode/lib/core/kanji-data.cjs +2 -0
- package/dist/node_modules/qrcode/lib/core/kanji-data.js +37 -0
- package/dist/node_modules/qrcode/lib/core/mask-pattern.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/mask-pattern.js +96 -0
- package/dist/node_modules/qrcode/lib/core/mode.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/mode.js +64 -0
- package/dist/node_modules/qrcode/lib/core/numeric-data.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/numeric-data.js +26 -0
- package/dist/node_modules/qrcode/lib/core/polynomial.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/polynomial.js +29 -0
- package/dist/node_modules/qrcode/lib/core/qrcode.cjs +4 -0
- package/dist/node_modules/qrcode/lib/core/qrcode.js +159 -0
- package/dist/node_modules/qrcode/lib/core/reed-solomon-encoder.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/reed-solomon-encoder.js +25 -0
- package/dist/node_modules/qrcode/lib/core/regex.cjs +2 -0
- package/dist/node_modules/qrcode/lib/core/regex.js +24 -0
- package/dist/node_modules/qrcode/lib/core/segments.cjs +2 -0
- package/dist/node_modules/qrcode/lib/core/segments.js +143 -0
- package/dist/node_modules/qrcode/lib/core/utils.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/utils.js +74 -0
- package/dist/node_modules/qrcode/lib/core/version-check.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/version-check.js +7 -0
- package/dist/node_modules/qrcode/lib/core/version.cjs +1 -0
- package/dist/node_modules/qrcode/lib/core/version.js +74 -0
- package/dist/node_modules/qrcode/lib/renderer/canvas.cjs +1 -0
- package/dist/node_modules/qrcode/lib/renderer/canvas.js +27 -0
- package/dist/node_modules/qrcode/lib/renderer/svg-tag.cjs +2 -0
- package/dist/node_modules/qrcode/lib/renderer/svg-tag.js +28 -0
- package/dist/node_modules/qrcode/lib/renderer/utils.cjs +1 -0
- package/dist/node_modules/qrcode/lib/renderer/utils.js +52 -0
- package/dist/orders.server.js +1 -1
- package/dist/orders.server.mjs +1 -1
- package/dist/organizations.server.js +1 -1
- package/dist/organizations.server.mjs +1 -1
- package/dist/products.server.js +1 -1
- package/dist/products.server.mjs +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
- package/dist/prometheus-framework/src/components/Field/Field.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Field/Field.vue.js +19 -20
- package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +5 -5
- package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.js +16 -16
- package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +16 -16
- package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.js +13 -13
- package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.js +36 -36
- package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.js +29 -29
- package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Blog.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Blog.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +23 -23
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +14 -14
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +12 -12
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +21 -21
- package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -5
- package/dist/prometheus-framework/src/modules/globals/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/blocks/BlockSearch.vue.js +7 -7
- package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/globals/localization/vue-i18n.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/localization/vue-i18n.js +8 -8
- package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +8 -8
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +8 -8
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +12 -12
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +16 -16
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +6 -6
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +19 -19
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +7 -7
- package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +13 -13
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +18 -18
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +32 -32
- package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +10 -10
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +5 -5
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +9 -9
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +34 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +42 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CashDeposit.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +26 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +76 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +105 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/elements/ConnectMetamask.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +106 -0
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +140 -125
- package/dist/prometheus-framework/src/modules/wallet/views/localization/wallet.json.cjs +1 -0
- package/dist/prometheus-framework/src/modules/wallet/views/localization/wallet.json.js +41 -0
- package/dist/prometheus-framework/src/modules/wallet/views/store/wallet.store.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/store/wallet.store.js +98 -22
- package/dist/prometheus-framework.cjs.js +1 -1
- package/dist/prometheus-framework.es.js +1 -1
- package/dist/reports.server.js +1 -1
- package/dist/reports.server.mjs +1 -1
- package/dist/style.css +1 -1
- package/dist/wallet.server.js +103 -13
- package/dist/wallet.server.mjs +103 -13
- package/dist/web-5eyiz9L7.mjs +54 -0
- package/dist/web-C04IcLk4.js +1 -0
- package/package.json +1 -1
- package/src/components/Field/Field.vue +1 -1
- package/src/modules/community/components/pages/Blog.vue +1 -1
- package/src/modules/globals/components/partials/Header.vue +2 -2
- package/src/modules/globals/localization/vue-i18n.js +5 -5
- package/src/modules/landing/components/sections/HowToBuyWDR.vue +2 -3
- package/src/modules/landing/components/sections/SectionEarn.vue +1 -6
- package/src/modules/middlewares/server/authSecret.js +22 -0
- package/src/modules/middlewares/server/index.js +7 -5
- package/src/modules/wallet/controllers/factories/rewards.factory.js +87 -2
- package/src/modules/wallet/controllers/routes/rewards.routes.js +27 -3
- package/src/modules/wallet/models/wallet.model.js +5 -5
- package/src/modules/wallet/{components → views/components}/blocks/CardBalanceReplenished.vue +17 -7
- package/src/modules/wallet/{components/blocks/CardDeposite.vue → views/components/blocks/CardDeposit.vue} +4 -4
- package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +98 -0
- package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +144 -0
- package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +131 -0
- package/src/modules/wallet/views/components/pages/Wallet.vue +95 -68
- package/src/modules/wallet/views/localization/wallet.json +37 -0
- package/src/modules/wallet/views/store/wallet.store.js +145 -28
- package/src/modules/wallet/wallet.server.js +2 -2
- package/src/modules/wallet/components/blocks/CryptoDeposite.vue +0 -55
- package/src/modules/wallet/controllers/factories/rewards.factory.aggr.js +0 -181
- package/src/modules/wallet/controllers/factories/rewards.factory.population.js +0 -213
- package/src/modules/wallet/localization/Wallet.json +0 -22
- /package/src/modules/wallet/{components/blocks/CashDeposite.vue → views/components/blocks/CashDeposit.vue} +0 -0
@@ -172,7 +172,7 @@
|
|
172
172
|
</Button>
|
173
173
|
|
174
174
|
|
175
|
-
|
175
|
+
<Select
|
176
176
|
v-model:select="$i18n.locale"
|
177
177
|
:options="[{name: '🌎 En', value: 'en'}, {name: '🇷🇺 Ru', value: 'ru'}]"
|
178
178
|
:property="'value'"
|
@@ -181,7 +181,7 @@
|
|
181
181
|
'bg-light t-black': theme === 'light',
|
182
182
|
'bg-dark t-white': theme === 'dark'
|
183
183
|
}"
|
184
|
-
/>
|
184
|
+
/>
|
185
185
|
</header>
|
186
186
|
</template>
|
187
187
|
|
@@ -20,11 +20,11 @@ const i18n = createI18n({
|
|
20
20
|
locale: 'en',
|
21
21
|
fallbackLocale: {
|
22
22
|
'en': ['en-default'],
|
23
|
-
'ru': ['ru-default'],
|
24
|
-
'zh': ['zh-default'],
|
25
|
-
'fr': ['fr-default'],
|
26
|
-
'de': ['de-default'],
|
27
|
-
'it': ['it-default'],
|
23
|
+
'ru': ['ru-default', 'en-default'],
|
24
|
+
'zh': ['zh-default', 'en-default'],
|
25
|
+
'fr': ['fr-default', 'en-default'],
|
26
|
+
'de': ['de-default', 'en-default'],
|
27
|
+
'it': ['it-default', 'en-default'],
|
28
28
|
},
|
29
29
|
legacy: false,
|
30
30
|
globalInjection: true,
|
@@ -41,9 +41,8 @@
|
|
41
41
|
|
42
42
|
<script setup>
|
43
43
|
import { useI18n } from 'vue-i18n';
|
44
|
-
|
45
|
-
import
|
46
|
-
import ButtonSwitchToPolygon from '@/components/elements/ButtonSwitchToPolygon.vue'
|
44
|
+
|
45
|
+
import ConnectMetamask from '@pf/src/modules/wallet/views/components/elements/ConnectMetamask.vue'
|
47
46
|
|
48
47
|
const text = {
|
49
48
|
messages: {
|
@@ -48,14 +48,9 @@ import { useI18n } from 'vue-i18n';
|
|
48
48
|
import Shader from '@pf/src/components/Shader/Shader.vue'
|
49
49
|
|
50
50
|
import IconEarn from '@pf/src/modules/icons/entities/IconEarn.vue'
|
51
|
-
|
52
51
|
import IconInfo from '@pf/src/modules/icons/navigation/IconInfo.vue'
|
53
52
|
|
54
|
-
|
55
|
-
import ConnectMetamask from '@/components/elements/ConnectMetamask.vue'
|
56
|
-
|
57
|
-
import ButtonAddWDT from '@/components/elements/ButtonAddWDT.vue'
|
58
|
-
import ButtonSwitchToPolygon from '@/components/elements/ButtonSwitchToPolygon.vue'
|
53
|
+
import ConnectMetamask from '@pf/src/modules/wallet/views/components/elements/ConnectMetamask.vue'
|
59
54
|
|
60
55
|
const props = defineProps({
|
61
56
|
mockupImage: {
|
@@ -0,0 +1,22 @@
|
|
1
|
+
const crypto = require('crypto');
|
2
|
+
|
3
|
+
const middlewareFactory = () => {
|
4
|
+
const verifySecret = (method, endpoint, secret) => async (req, res, next) => {
|
5
|
+
const requestSignature = req.headers.signature;
|
6
|
+
|
7
|
+
const signature = crypto
|
8
|
+
.createHmac('sha256', secret)
|
9
|
+
.update(method + endpoint)
|
10
|
+
.digest('hex');
|
11
|
+
|
12
|
+
if (signature === requestSignature) {
|
13
|
+
return next();
|
14
|
+
}
|
15
|
+
|
16
|
+
res.status(403).send('Forbidden');
|
17
|
+
};
|
18
|
+
|
19
|
+
return { verifySecret };
|
20
|
+
};
|
21
|
+
|
22
|
+
module.exports = middlewareFactory;
|
@@ -1,14 +1,16 @@
|
|
1
1
|
// middlewareIndexFactory.js
|
2
2
|
|
3
3
|
const middlewareIndexFactory = (db) => {
|
4
|
-
const authJwt = require("./authJwt")(db)
|
5
|
-
const
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
4
|
+
const authJwt = require("./authJwt")(db);
|
5
|
+
const authSecret = require("./authSecret")();
|
6
|
+
const verifySignUp = require("./verifySignUp")(db);
|
7
|
+
const verifyUser = require("./verifyUser")(db);
|
8
|
+
const verifyInvites = require("./verifyInvites")(db);
|
9
|
+
const verifyCategory = require("./verifyCategory")(db);
|
9
10
|
|
10
11
|
return {
|
11
12
|
authJwt,
|
13
|
+
authSecret,
|
12
14
|
verifySignUp,
|
13
15
|
verifyUser,
|
14
16
|
verifyInvites,
|
@@ -3,6 +3,10 @@ const { BigNumber } = require('bignumber.js');
|
|
3
3
|
|
4
4
|
const queryProcessorGlobals = require('@pf/src/modules/globals/controllers/utils/queryProcessor');
|
5
5
|
|
6
|
+
BigNumber.config({
|
7
|
+
EXPONENTIAL_AT: [-1000, 2000],
|
8
|
+
});
|
9
|
+
|
6
10
|
const VIEWS_REWARD_COEFF = '0.1';
|
7
11
|
const WDT_DECIMALS = 8;
|
8
12
|
|
@@ -23,13 +27,24 @@ const calculateRewardForPost = (snapshot, viewsCount, reactionsCount, commentsCo
|
|
23
27
|
.plus(commentsCount);
|
24
28
|
};
|
25
29
|
|
26
|
-
const rewardsControllerFactory = (db, wdmClient) => {
|
30
|
+
const rewardsControllerFactory = (db, wdmClient, wss) => {
|
27
31
|
const Blogpost = db.blogpost;
|
28
32
|
const Reaction = db.reaction;
|
29
33
|
const Comment = db.comment;
|
30
34
|
const Reward = db.reward;
|
35
|
+
const Wallet = db.wallet;
|
36
|
+
|
37
|
+
const lookup = {};
|
31
38
|
|
39
|
+
wss.on('connection', (ws, req) => {
|
40
|
+
if (req.userId) {
|
41
|
+
lookup[req.userId] = ws;
|
32
42
|
|
43
|
+
ws.on('close', () => {
|
44
|
+
delete lookup[req.userId];
|
45
|
+
});
|
46
|
+
}
|
47
|
+
});
|
33
48
|
|
34
49
|
const listRewards = async (req, res) => {
|
35
50
|
|
@@ -176,7 +191,77 @@ const rewardsControllerFactory = (db, wdmClient) => {
|
|
176
191
|
res.status(200).send();
|
177
192
|
};
|
178
193
|
|
179
|
-
|
194
|
+
const requestDeposit = async (req, res) => {
|
195
|
+
const response = await wdmClient.createDepositRequest(
|
196
|
+
req.body.network,
|
197
|
+
req.body.amount,
|
198
|
+
req.body.token,
|
199
|
+
req.userId
|
200
|
+
);
|
201
|
+
|
202
|
+
res.status(200).send(response.data);
|
203
|
+
};
|
204
|
+
|
205
|
+
const cancelDeposit = async (req, res) => {
|
206
|
+
const response = await wdmClient.cancelDeposit(
|
207
|
+
req.body.id,
|
208
|
+
req.userId
|
209
|
+
);
|
210
|
+
|
211
|
+
res.status(200).send(response.data);
|
212
|
+
};
|
213
|
+
|
214
|
+
const getDepositConfig = async (req, res) => {
|
215
|
+
const response = await wdmClient.getDepositConfig();
|
216
|
+
|
217
|
+
res.status(200).send(response.data);
|
218
|
+
};
|
219
|
+
|
220
|
+
const handleDepositUpdate = async (req, res) => {
|
221
|
+
if (req.body.status === "TRANSFER_STATUS_COMPLETED") {
|
222
|
+
const userWallet = await Wallet.findOne({ owner: new ObjectId(req.body.user) });
|
223
|
+
const amount = new BigNumber(req.body.amount)
|
224
|
+
.shiftedBy(-WDT_DECIMALS)
|
225
|
+
.dividedBy(process.env.TOKEN_EXCHANGE_RATE)
|
226
|
+
.toString();
|
227
|
+
|
228
|
+
if (userWallet) {
|
229
|
+
const topupIndex = userWallet.balances.findIndex((b) => b.name === 'WDT');
|
230
|
+
|
231
|
+
if (topupIndex < 0) {
|
232
|
+
userWallet.balances.push({ name: 'WDT', amount: +amount, locked_amount: 0 });
|
233
|
+
} else {
|
234
|
+
userWallet.balances[topupIndex] = {
|
235
|
+
name: 'WDT',
|
236
|
+
amount: userWallet.balances[topupIndex].amount + +amount,
|
237
|
+
locked_amount: userWallet.balances[topupIndex].locked_amount
|
238
|
+
};
|
239
|
+
}
|
240
|
+
|
241
|
+
await userWallet.save();
|
242
|
+
} else {
|
243
|
+
await Wallet.create({
|
244
|
+
owner: new ObjectId(req.body.user),
|
245
|
+
balances: [{ name: 'WDT', amount: +amount, locked_amount: 0 }],
|
246
|
+
});
|
247
|
+
}
|
248
|
+
}
|
249
|
+
|
250
|
+
if (lookup[req.body.user]) {
|
251
|
+
lookup[req.body.user].send(JSON.stringify(req.body));
|
252
|
+
}
|
253
|
+
|
254
|
+
res.status(200).send();
|
255
|
+
}
|
256
|
+
|
257
|
+
return {
|
258
|
+
listRewards,
|
259
|
+
collectTokens,
|
260
|
+
requestDeposit,
|
261
|
+
getDepositConfig,
|
262
|
+
cancelDeposit,
|
263
|
+
handleDepositUpdate
|
264
|
+
};
|
180
265
|
};
|
181
266
|
|
182
267
|
module.exports = rewardsControllerFactory;
|
@@ -5,10 +5,10 @@ const rewardsControllerFactory = require('../factories/rewards.factory');
|
|
5
5
|
const middlewareFactory = require('@pf/src/modules/middlewares/server');
|
6
6
|
|
7
7
|
// Routes
|
8
|
-
module.exports = (app, db, wdmClient, origins) => {
|
9
|
-
const controller = rewardsControllerFactory(db, wdmClient);
|
8
|
+
module.exports = (app, db, wss, wdmClient, origins) => {
|
9
|
+
const controller = rewardsControllerFactory(db, wdmClient, wss);
|
10
10
|
|
11
|
-
const { authJwt } = middlewareFactory(db);
|
11
|
+
const { authJwt, authSecret } = middlewareFactory(db);
|
12
12
|
|
13
13
|
app.use((req, res, next) => {
|
14
14
|
const origin = req.headers.origin;
|
@@ -33,4 +33,28 @@ module.exports = (app, db, wdmClient, origins) => {
|
|
33
33
|
[authJwt.verifyToken],
|
34
34
|
controller.collectTokens
|
35
35
|
);
|
36
|
+
|
37
|
+
app.post(
|
38
|
+
"/api/crypto/deposit",
|
39
|
+
[authJwt.verifyToken],
|
40
|
+
controller.requestDeposit
|
41
|
+
);
|
42
|
+
|
43
|
+
app.post(
|
44
|
+
"/api/crypto/deposit/cancel",
|
45
|
+
[authJwt.verifyToken],
|
46
|
+
controller.cancelDeposit
|
47
|
+
);
|
48
|
+
|
49
|
+
app.post(
|
50
|
+
"/api/crypto/deposit/update",
|
51
|
+
[authSecret.verifySecret('POST', '/api/crypto/deposit/update', process.env.WDM_SECRET)],
|
52
|
+
controller.handleDepositUpdate
|
53
|
+
);
|
54
|
+
|
55
|
+
app.get(
|
56
|
+
"/api/crypto/deposit/config",
|
57
|
+
[],
|
58
|
+
controller.getDepositConfig
|
59
|
+
)
|
36
60
|
};
|
@@ -9,11 +9,11 @@ module.exports = (db) => {
|
|
9
9
|
},
|
10
10
|
required: true,
|
11
11
|
},
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
}
|
12
|
+
balances: [{
|
13
|
+
name: String, // Name of currency
|
14
|
+
amount: Number, // Amount
|
15
|
+
locked_amount: Number,
|
16
|
+
}]
|
17
17
|
},
|
18
18
|
{
|
19
19
|
timestamps: {
|
package/src/modules/wallet/{components → views/components}/blocks/CardBalanceReplenished.vue
RENAMED
@@ -1,27 +1,30 @@
|
|
1
1
|
<template>
|
2
|
-
<h2 class="mn-b-small t-center t-bold">{{ t('balanceReplenished') }}</h2>
|
2
|
+
<h2 class="mn-b-small t-center t-bold">{{ t('wallet.balanceReplenished') }}</h2>
|
3
3
|
|
4
4
|
<div class="radius-medium br-1px br-black br-solid pd-big flex flex-column flex-justify-center flex-items-center">
|
5
5
|
<h3 class="t-semi">
|
6
|
-
{{ t('youReceived') }}
|
6
|
+
{{ t('wallet.youReceived') }}
|
7
7
|
</h3>
|
8
8
|
<h3 class="t-semi">
|
9
|
-
|
9
|
+
{{ receiveAmount }} WDT
|
10
10
|
</h3>
|
11
|
-
|
12
11
|
</div>
|
13
12
|
|
14
13
|
<button
|
15
14
|
class="uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-solid br-2px br-black-transp-10 mn-t-small"
|
16
15
|
@click="close"
|
17
16
|
>
|
18
|
-
{{ t('backToWallet') }}
|
17
|
+
{{ t('wallet.backToWallet') }}
|
19
18
|
</button>
|
20
19
|
</template>
|
21
20
|
|
22
21
|
<script setup>
|
23
|
-
import text from '@pf/src/modules/wallet/localization/Wallet.json'
|
24
22
|
import { useI18n } from 'vue-i18n'
|
23
|
+
import { computed } from 'vue'
|
24
|
+
import { BigNumber } from 'bignumber.js'
|
25
|
+
|
26
|
+
import text from '@pf/src/modules/wallet/views/localization/wallet.json'
|
27
|
+
import { state } from '@pf/src/modules/wallet/views/store/wallet.store';
|
25
28
|
|
26
29
|
const emits = defineEmits(['close'])
|
27
30
|
|
@@ -31,10 +34,17 @@
|
|
31
34
|
...text
|
32
35
|
})
|
33
36
|
|
37
|
+
const receiveAmount = computed(() =>
|
38
|
+
new BigNumber(state.depositInfo.amount)
|
39
|
+
.shiftedBy(-8)
|
40
|
+
.dividedBy(process.env.TOKEN_EXCHANGE_RATE)
|
41
|
+
.toString()
|
42
|
+
)
|
43
|
+
|
34
44
|
function close() {
|
35
45
|
emits("close")
|
36
46
|
}
|
37
47
|
</script>
|
38
48
|
|
39
49
|
<style scoped>
|
40
|
-
</style>
|
50
|
+
</style>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
<div class="bg-grey radius-big mn-t-semi mn-b-semi flex flex-justify-between">
|
5
5
|
<Field
|
6
|
-
:placeholder="t('enterAmount')"
|
6
|
+
:placeholder="t('wallet.enterAmount')"
|
7
7
|
class="pd-medium radius-small"
|
8
8
|
/>
|
9
9
|
|
@@ -18,19 +18,19 @@
|
|
18
18
|
class="uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-solid br-2px br-black-transp-10 mn-t-small"
|
19
19
|
@click="switchMenu(3)"
|
20
20
|
>
|
21
|
-
{{ t('pay') }}
|
21
|
+
{{ t('wallet.pay') }}
|
22
22
|
</button>
|
23
23
|
|
24
24
|
<button
|
25
25
|
class="uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-solid br-2px br-black-transp-10 mn-t-small"
|
26
26
|
@click="backSelection"
|
27
27
|
>
|
28
|
-
{{ t('backToSelection') }}
|
28
|
+
{{ t('wallet.backToSelection') }}
|
29
29
|
</button>
|
30
30
|
</template>
|
31
31
|
|
32
32
|
<script setup>
|
33
|
-
import text from '@pf/src/modules/wallet/localization/
|
33
|
+
import text from '@pf/src/modules/wallet/views/localization/wallet.json'
|
34
34
|
import Field from '@pf/src/components/Field/Field.vue'
|
35
35
|
import { useI18n } from 'vue-i18n'
|
36
36
|
|
@@ -0,0 +1,98 @@
|
|
1
|
+
<template>
|
2
|
+
<h3 class="mn-b-small t-center t-bold">{{ t('wallet.depositWithCrypto') }}</h3>
|
3
|
+
|
4
|
+
<Field
|
5
|
+
v-if="state.config"
|
6
|
+
v-model:field="amount"
|
7
|
+
:placeholder="t('wallet.enterAmount')"
|
8
|
+
class="mn-b-thin bg-white w-100 br-solid br-1px br-black-transp-5 pd-small radius-small"
|
9
|
+
>
|
10
|
+
<Select
|
11
|
+
:options="depositOptions"
|
12
|
+
v-model:select="state.chosenNetwork"
|
13
|
+
class="bg-light t-nowrap pd-r-thin pd-l-thin pd-t-nano pd-b-nano radius-thin"
|
14
|
+
/>
|
15
|
+
</Field>
|
16
|
+
|
17
|
+
<p class="t-semi">You will receive: {{ receiveAmount }} {{t('wallet.token')}}</p>
|
18
|
+
|
19
|
+
<button
|
20
|
+
class="uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-solid br-2px br-black-transp-10 mn-t-small"
|
21
|
+
@click="actions.requestCryptoDeposit(amount).then(() => switchMenu(5))"
|
22
|
+
:disabled="state.depositRequestIsActive || !state.config"
|
23
|
+
>
|
24
|
+
{{ t('wallet.pay') }}
|
25
|
+
</button>
|
26
|
+
|
27
|
+
<button
|
28
|
+
class="uppercase w-100 t-center mn-t-small"
|
29
|
+
@click="backSelection"
|
30
|
+
>
|
31
|
+
{{ t('wallet.backToSelection') }}
|
32
|
+
</button>
|
33
|
+
</template>
|
34
|
+
|
35
|
+
<script setup>
|
36
|
+
import { useI18n } from 'vue-i18n'
|
37
|
+
import { ref, onMounted, computed } from 'vue';
|
38
|
+
import { BigNumber } from 'bignumber.js';
|
39
|
+
|
40
|
+
import { state, actions } from '@pf/src/modules/wallet/views/store/wallet.store';
|
41
|
+
import text from '@pf/src/modules/wallet/views/localization/wallet.json'
|
42
|
+
import Field from '@pf/src/components/Field/Field.vue'
|
43
|
+
import Select from '@pf/src/components/Select/Select.vue'
|
44
|
+
|
45
|
+
BigNumber.config({
|
46
|
+
EXPONENTIAL_AT: [-1000, 20000]
|
47
|
+
});
|
48
|
+
|
49
|
+
const amount = ref(1);
|
50
|
+
const emits = defineEmits(['back-selection', 'switch-menu'])
|
51
|
+
|
52
|
+
// Localization
|
53
|
+
const { t } = useI18n({
|
54
|
+
useScope: 'global',
|
55
|
+
...text
|
56
|
+
})
|
57
|
+
|
58
|
+
const receiveAmount = computed(() =>
|
59
|
+
new BigNumber(amount.value)
|
60
|
+
.dividedBy(process.env.TOKEN_EXCHANGE_RATE)
|
61
|
+
.toString()
|
62
|
+
)
|
63
|
+
|
64
|
+
const depositOptions = computed(() => {
|
65
|
+
const options = [];
|
66
|
+
|
67
|
+
const networks = Object.keys(state.config || {});
|
68
|
+
|
69
|
+
for (const network of networks) {
|
70
|
+
for (const token of Object.keys(state.config[network].tokens)) {
|
71
|
+
options.push({
|
72
|
+
name: `${network}-${token}`,
|
73
|
+
value: {
|
74
|
+
token: state.config[network].tokens[token],
|
75
|
+
network: network
|
76
|
+
}
|
77
|
+
});
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
return options;
|
82
|
+
});
|
83
|
+
|
84
|
+
onMounted(() => {
|
85
|
+
actions.loadConfig();
|
86
|
+
})
|
87
|
+
|
88
|
+
function backSelection() {
|
89
|
+
emits("back-selection")
|
90
|
+
}
|
91
|
+
|
92
|
+
function switchMenu(screen = 0) {
|
93
|
+
emits("switch-menu", screen)
|
94
|
+
}
|
95
|
+
</script>
|
96
|
+
|
97
|
+
<style scoped>
|
98
|
+
</style>
|
@@ -0,0 +1,144 @@
|
|
1
|
+
<template>
|
2
|
+
<h2 class="mn-b-small t-center t-bold">{{ t('wallet.depositWithCrypto') }}</h2>
|
3
|
+
|
4
|
+
<div class="flex flex-justify-between">
|
5
|
+
<h3 class="t-semi">Amount: {{ amount }} {{ state.chosenNetwork.name.toUpperCase() }}</h3>
|
6
|
+
<button
|
7
|
+
class="uppercase t-main cursor-pointer"
|
8
|
+
@click="() => copy(amount)"
|
9
|
+
>
|
10
|
+
copy
|
11
|
+
</button>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div class="flex flex-justify-between">
|
15
|
+
<h3 class="t-semi t-truncate address">Wallet: {{ state.depositInfo.to }}</h3>
|
16
|
+
<button
|
17
|
+
class="uppercase t-main cursor-pointer"
|
18
|
+
@click="() => copy(state.depositInfo.to)"
|
19
|
+
>
|
20
|
+
copy
|
21
|
+
</button>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="flex flex-justify-around radius-big br-solid br-2px br-black-transp-10">
|
25
|
+
<canvas id="qrcode_address_deposit"></canvas>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="flex flex-justify-between">
|
29
|
+
<h3 class="t-semi">You will receive:</h3>
|
30
|
+
<h3 class="t-semi">{{ receive }} WDT</h3>
|
31
|
+
</div>
|
32
|
+
<div v-if="state.depositInfo.status === 'TRANSFER_STATUS_WAITING_FOR_TX'" class="flex flex-justify-between">
|
33
|
+
<h3 class="t-semi">Times left:</h3>
|
34
|
+
<h3 class="t-semi">{{ remainingTime }}</h3>
|
35
|
+
</div>
|
36
|
+
<div class="flex flex-justify-between">
|
37
|
+
<h3 class="t-semi">Status:</h3>
|
38
|
+
<h3 class="t-semi">{{ status }}</h3>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<button
|
42
|
+
v-if="state.depositInfo.status === 'TRANSFER_STATUS_WAITING_FOR_TX'"
|
43
|
+
class="uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-solid br-2px br-black-transp-10 mn-t-small"
|
44
|
+
@click="actions.cancelDeposit().then(() => backSelection())"
|
45
|
+
>
|
46
|
+
{{ t('wallet.cancel') }}
|
47
|
+
</button>
|
48
|
+
</template>
|
49
|
+
|
50
|
+
<script setup>
|
51
|
+
import QRCode from 'qrcode';
|
52
|
+
import { useI18n } from 'vue-i18n';
|
53
|
+
import { watch, computed, onMounted } from 'vue';
|
54
|
+
import { BigNumber } from 'bignumber.js';
|
55
|
+
|
56
|
+
import text from '@pf/src/modules/wallet/views/localization/wallet.json';
|
57
|
+
import { state, actions, timer } from '@pf/src/modules/wallet/views/store/wallet.store';
|
58
|
+
|
59
|
+
BigNumber.config({
|
60
|
+
EXPONENTIAL_AT: [-1000, 20000]
|
61
|
+
});
|
62
|
+
|
63
|
+
const emits = defineEmits(['back-selection', 'switch-menu']);
|
64
|
+
|
65
|
+
// Localization
|
66
|
+
const { t } = useI18n({
|
67
|
+
useScope: 'global',
|
68
|
+
...text
|
69
|
+
});
|
70
|
+
|
71
|
+
const remainingTime = computed(() => {
|
72
|
+
const mins = Math.floor(timer.remaining / 60);
|
73
|
+
const secs = Math.floor(timer.remaining % 60);
|
74
|
+
|
75
|
+
return `${mins}:${secs < 10 ? `0${secs}` : secs}`;
|
76
|
+
});
|
77
|
+
|
78
|
+
const amount = computed(() =>
|
79
|
+
new BigNumber(state.depositInfo.amount)
|
80
|
+
.shiftedBy(-8)
|
81
|
+
.toString()
|
82
|
+
);
|
83
|
+
|
84
|
+
const receive = computed(() =>
|
85
|
+
new BigNumber(amount.value)
|
86
|
+
.dividedBy(process.env.TOKEN_EXCHANGE_RATE)
|
87
|
+
.toString()
|
88
|
+
)
|
89
|
+
|
90
|
+
const status = computed(() => {
|
91
|
+
switch (state.depositInfo.status) {
|
92
|
+
case 'TRANSFER_STATUS_WAITING_FOR_TX':
|
93
|
+
return 'Waiting for payment';
|
94
|
+
case 'TRANSFER_STATUS_SENT':
|
95
|
+
const confirmations = `${state.depositInfo.confirmations || 0} / ${state.config[state.chosenNetwork.value.network].confirmations}`;
|
96
|
+
return `Confirming (${confirmations})`;
|
97
|
+
default:
|
98
|
+
return 'Superposition.';
|
99
|
+
}
|
100
|
+
});
|
101
|
+
|
102
|
+
function backSelection() {
|
103
|
+
emits("back-selection");
|
104
|
+
}
|
105
|
+
|
106
|
+
function switchMenu(screen = 0) {
|
107
|
+
emits("switch-menu", screen);
|
108
|
+
}
|
109
|
+
|
110
|
+
function copy(text) {
|
111
|
+
navigator.clipboard.writeText(text);
|
112
|
+
}
|
113
|
+
|
114
|
+
onMounted(() => {
|
115
|
+
QRCode.toCanvas(
|
116
|
+
document.getElementById('qrcode_address_deposit'),
|
117
|
+
state.depositInfo.to,
|
118
|
+
{ width: 300 },
|
119
|
+
(error) => { if (error) { console.error(error); } }
|
120
|
+
)
|
121
|
+
})
|
122
|
+
|
123
|
+
watch(
|
124
|
+
state,
|
125
|
+
async () => {
|
126
|
+
if (state.depositInfo.status === 'TRANSFER_STATUS_SENT') {
|
127
|
+
actions.stopTimer();
|
128
|
+
}
|
129
|
+
|
130
|
+
if (state.depositInfo.status === 'TRANSFER_STATUS_COMPLETED') {
|
131
|
+
actions.disconnectWebSocket();
|
132
|
+
switchMenu(3);
|
133
|
+
}
|
134
|
+
},
|
135
|
+
{ deep: true },
|
136
|
+
)
|
137
|
+
</script>
|
138
|
+
|
139
|
+
<style scoped>
|
140
|
+
.address {
|
141
|
+
text-wrap: nowrap;
|
142
|
+
display: block;
|
143
|
+
}
|
144
|
+
</style>
|