@darkfrost-1107/scaff-z-react 0.1.7
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.
- package/LICENSE.md +5 -0
- package/README.md +75 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/action-processor.d.ts +2 -0
- package/dist/app/config/sqlite.registry.cjs +1 -0
- package/dist/app/config/sqlite.registry.esm +37 -0
- package/dist/app.config.d.ts +1 -0
- package/dist/async-combobox.input.d.ts +4 -0
- package/dist/async-multi-select.input.d.ts +4 -0
- package/dist/async-select.input.d.ts +4 -0
- package/dist/audit-view.d.ts +2 -0
- package/dist/back-button.action.d.ts +6 -0
- package/dist/badge.d.ts +2 -0
- package/dist/base.connector.d.ts +4 -0
- package/dist/base.entity.d.ts +2 -0
- package/dist/base.node.d.ts +2 -0
- package/dist/base.service.d.ts +4 -0
- package/dist/breadcrumb.d.ts +2 -0
- package/dist/build.router.d.ts +4 -0
- package/dist/builder-device.guard.d.ts +2 -0
- package/dist/builder.d.ts +2 -0
- package/dist/button.d.ts +2 -0
- package/dist/calendar.d.ts +2 -0
- package/dist/canvas-view.layout.d.ts +2 -0
- package/dist/card.d.ts +2 -0
- package/dist/checkbox-inline.input.d.ts +4 -0
- package/dist/checkbox.d.ts +2 -0
- package/dist/checkbox.input.d.ts +4 -0
- package/dist/code.input.d.ts +4 -0
- package/dist/color.input.d.ts +4 -0
- package/dist/combobox.d.ts +2 -0
- package/dist/combobox.input.d.ts +4 -0
- package/dist/command.d.ts +2 -0
- package/dist/component.factory.d.ts +4 -0
- package/dist/component.guard.d.ts +2 -0
- package/dist/components.registry.d.ts +2 -0
- package/dist/context.guard.d.ts +2 -0
- package/dist/context.verifier.d.ts +2 -0
- package/dist/crypto.service.d.ts +2 -0
- package/dist/dark.style.d.ts +2 -0
- package/dist/data-table.component.d.ts +2 -0
- package/dist/data-table.provider.d.ts +1 -0
- package/dist/date.input.d.ts +2 -0
- package/dist/deckgl-overlay.d.ts +2 -0
- package/dist/detail-tabs.layout.d.ts +6 -0
- package/dist/detail-view.layout.d.ts +6 -0
- package/dist/device-artifact.guard.d.ts +2 -0
- package/dist/device.guard.d.ts +2 -0
- package/dist/device.verifier.registry.d.ts +2 -0
- package/dist/dialog.d.ts +2 -0
- package/dist/dnd.provider.d.ts +2 -0
- package/dist/draggeable.d.ts +2 -0
- package/dist/droppable.d.ts +2 -0
- package/dist/droppeable.d.ts +2 -0
- package/dist/dynamic-device.guard.d.ts +2 -0
- package/dist/dynamic-icon.d.ts +6 -0
- package/dist/email.input.d.ts +4 -0
- package/dist/enum.verifier.d.ts +2 -0
- package/dist/env.manager.d.ts +2 -0
- package/dist/feedback.layout.d.ts +2 -0
- package/dist/field.d.ts +2 -0
- package/dist/file.input.d.ts +4 -0
- package/dist/flow-canvas.d.ts +2 -0
- package/dist/flow.renderer.d.ts +2 -0
- package/dist/flow.types.d.ts +1 -0
- package/dist/form-dialog-layout.d.ts +4 -0
- package/dist/form-tab-layout.d.ts +4 -0
- package/dist/form.component.d.ts +2 -0
- package/dist/grid.layout.d.ts +2 -0
- package/dist/guard.d.ts +2 -0
- package/dist/hover.d.ts +2 -0
- package/dist/icon-box.d.ts +2 -0
- package/dist/icon-button.d.ts +2 -0
- package/dist/image.input.d.ts +4 -0
- package/dist/index.d.ts +2 -0
- package/dist/indexeddb.service.d.ts +6 -0
- package/dist/input-group.d.ts +2 -0
- package/dist/input.d.ts +2 -0
- package/dist/interceptor.builder.d.ts +2 -0
- package/dist/label.d.ts +2 -0
- package/dist/language-toggle.d.ts +2 -0
- package/dist/list-select.input.d.ts +4 -0
- package/dist/logger.d.ts +2 -0
- package/dist/main.connector.d.ts +2 -0
- package/dist/main.service.d.ts +6 -0
- package/dist/maps.renderer.d.ts +4 -0
- package/dist/marker.factory.d.ts +2 -0
- package/dist/marker.guard.d.ts +2 -0
- package/dist/markers.meta.d.ts +1 -0
- package/dist/modules/actions/entities/action.entity.cjs +1 -0
- package/dist/modules/actions/entities/action.entity.esm +139 -0
- package/dist/modules/artifacts/entities/artifact.entity.cjs +1 -0
- package/dist/modules/artifacts/entities/artifact.entity.esm +82 -0
- package/dist/modules/integrations/entities/integration.entity.cjs +1 -0
- package/dist/modules/integrations/entities/integration.entity.esm +75 -0
- package/dist/modules/inventory/entities/category.entity.cjs +1 -0
- package/dist/modules/inventory/entities/category.entity.esm +50 -0
- package/dist/modules/inventory/entities/inventory-item.entity.cjs +1 -0
- package/dist/modules/inventory/entities/inventory-item.entity.esm +68 -0
- package/dist/modules/inventory/entities/product-item.entity.cjs +1 -0
- package/dist/modules/inventory/entities/product-item.entity.esm +69 -0
- package/dist/modules/inventory/entities/zone.entity.cjs +1 -0
- package/dist/modules/inventory/entities/zone.entity.esm +50 -0
- package/dist/modules/memberships/entities/membership.entity.cjs +1 -0
- package/dist/modules/memberships/entities/membership.entity.esm +53 -0
- package/dist/modules/organizations/entities/organization.entity.cjs +1 -0
- package/dist/modules/organizations/entities/organization.entity.esm +75 -0
- package/dist/modules/projects/entities/project.entity.cjs +1 -0
- package/dist/modules/projects/entities/project.entity.esm +100 -0
- package/dist/modules/test/entities/experiment.entity.cjs +1 -0
- package/dist/modules/test/entities/experiment.entity.esm +71 -0
- package/dist/modules/tickets/entities/ticket.entity.cjs +1 -0
- package/dist/modules/tickets/entities/ticket.entity.esm +92 -0
- package/dist/modules/tools/entities/tool.entity.cjs +1 -0
- package/dist/modules/tools/entities/tool.entity.esm +129 -0
- package/dist/modules/users/entities/user-role.enum.cjs +1 -0
- package/dist/modules/users/entities/user-role.enum.esm +6 -0
- package/dist/modules/users/entities/user.entity.cjs +1 -0
- package/dist/modules/users/entities/user.entity.esm +88 -0
- package/dist/nfc.service.d.ts +6 -0
- package/dist/nosql.repo.d.ts +2 -0
- package/dist/nosql.repo.service.d.ts +4 -0
- package/dist/packages/capacitor/app.config.cjs +1 -0
- package/dist/packages/capacitor/app.config.d.ts +1 -0
- package/dist/packages/capacitor/app.config.esm +7 -0
- package/dist/packages/crypto/crypto.service.cjs +1 -0
- package/dist/packages/crypto/crypto.service.d.ts +6 -0
- package/dist/packages/crypto/crypto.service.esm +17 -0
- package/dist/packages/crypto/index.cjs +1 -0
- package/dist/packages/crypto/index.d.ts +1 -0
- package/dist/packages/crypto/index.esm +2 -0
- package/dist/packages/dnd/dnd.provider.cjs +1 -0
- package/dist/packages/dnd/dnd.provider.d.ts +3 -0
- package/dist/packages/dnd/dnd.provider.esm +8 -0
- package/dist/packages/dnd/draggeable.cjs +1 -0
- package/dist/packages/dnd/draggeable.d.ts +4 -0
- package/dist/packages/dnd/draggeable.esm +12 -0
- package/dist/packages/dnd/droppable.cjs +1 -0
- package/dist/packages/dnd/droppable.d.ts +8 -0
- package/dist/packages/dnd/droppable.esm +14 -0
- package/dist/packages/dnd/droppeable.cjs +1 -0
- package/dist/packages/dnd/droppeable.d.ts +5 -0
- package/dist/packages/dnd/droppeable.esm +13 -0
- package/dist/packages/dnd/sortable.cjs +1 -0
- package/dist/packages/dnd/sortable.d.ts +11 -0
- package/dist/packages/dnd/sortable.esm +18 -0
- package/dist/packages/env/env.manager.cjs +1 -0
- package/dist/packages/env/env.manager.d.ts +11 -0
- package/dist/packages/env/env.manager.esm +69 -0
- package/dist/packages/env/index.cjs +1 -0
- package/dist/packages/env/index.d.ts +1 -0
- package/dist/packages/env/index.esm +2 -0
- package/dist/packages/flow/flow.renderer.cjs +1 -0
- package/dist/packages/flow/flow.renderer.d.ts +13 -0
- package/dist/packages/flow/flow.renderer.esm +50 -0
- package/dist/packages/flow/flow.types.cjs +0 -0
- package/dist/packages/flow/flow.types.d.ts +30 -0
- package/dist/packages/flow/flow.types.esm +0 -0
- package/dist/packages/formatters/qr-code/qr.encoder.service.cjs +1 -0
- package/dist/packages/formatters/qr-code/qr.encoder.service.d.ts +5 -0
- package/dist/packages/formatters/qr-code/qr.encoder.service.esm +17 -0
- package/dist/packages/formatters/qr-code/qr.renderer.cjs +1 -0
- package/dist/packages/formatters/qr-code/qr.renderer.d.ts +3 -0
- package/dist/packages/formatters/qr-code/qr.renderer.esm +16 -0
- package/dist/packages/formatters/text-code/text-coder.service.cjs +1 -0
- package/dist/packages/formatters/text-code/text-coder.service.d.ts +9 -0
- package/dist/packages/formatters/text-code/text-coder.service.esm +36 -0
- package/dist/packages/i18n/index.cjs +1 -0
- package/dist/packages/i18n/index.d.ts +10 -0
- package/dist/packages/i18n/index.esm +18 -0
- package/dist/packages/i18n/language-toggle.cjs +1 -0
- package/dist/packages/i18n/language-toggle.d.ts +9 -0
- package/dist/packages/i18n/language-toggle.esm +73 -0
- package/dist/packages/indexeddb/builder.cjs +1 -0
- package/dist/packages/indexeddb/builder.d.ts +13 -0
- package/dist/packages/indexeddb/builder.esm +35 -0
- package/dist/packages/indexeddb/index.cjs +1 -0
- package/dist/packages/indexeddb/index.d.ts +5 -0
- package/dist/packages/indexeddb/index.esm +5 -0
- package/dist/packages/indexeddb/indexeddb.service.cjs +1 -0
- package/dist/packages/indexeddb/indexeddb.service.d.ts +21 -0
- package/dist/packages/indexeddb/indexeddb.service.esm +59 -0
- package/dist/packages/indexeddb/nosql.repo.cjs +1 -0
- package/dist/packages/indexeddb/nosql.repo.d.ts +33 -0
- package/dist/packages/indexeddb/nosql.repo.esm +69 -0
- package/dist/packages/indexeddb/nosql.repo.service.cjs +1 -0
- package/dist/packages/indexeddb/nosql.repo.service.d.ts +46 -0
- package/dist/packages/indexeddb/nosql.repo.service.esm +87 -0
- package/dist/packages/indexeddb/registry.cjs +1 -0
- package/dist/packages/indexeddb/registry.d.ts +21 -0
- package/dist/packages/indexeddb/registry.esm +22 -0
- package/dist/packages/indexeddb/types.cjs +0 -0
- package/dist/packages/indexeddb/types.d.ts +33 -0
- package/dist/packages/indexeddb/types.esm +0 -0
- package/dist/packages/logger/index.cjs +1 -0
- package/dist/packages/logger/index.d.ts +2 -0
- package/dist/packages/logger/index.esm +3 -0
- package/dist/packages/logger/logger.cjs +1 -0
- package/dist/packages/logger/logger.d.ts +137 -0
- package/dist/packages/logger/logger.esm +186 -0
- package/dist/packages/logger/registry.cjs +1 -0
- package/dist/packages/logger/registry.d.ts +9 -0
- package/dist/packages/logger/registry.esm +17 -0
- package/dist/packages/maps/deckgl-overlay.cjs +1 -0
- package/dist/packages/maps/deckgl-overlay.d.ts +9 -0
- package/dist/packages/maps/deckgl-overlay.esm +12 -0
- package/dist/packages/maps/maps.renderer.cjs +1 -0
- package/dist/packages/maps/maps.renderer.d.ts +19 -0
- package/dist/packages/maps/maps.renderer.esm +25 -0
- package/dist/packages/maps/markers/marker.factory.cjs +1 -0
- package/dist/packages/maps/markers/marker.factory.d.ts +8 -0
- package/dist/packages/maps/markers/marker.factory.esm +58 -0
- package/dist/packages/maps/markers/marker.guard.cjs +1 -0
- package/dist/packages/maps/markers/marker.guard.d.ts +22 -0
- package/dist/packages/maps/markers/marker.guard.esm +37 -0
- package/dist/packages/maps/markers/markers.meta.cjs +0 -0
- package/dist/packages/maps/markers/markers.meta.d.ts +12 -0
- package/dist/packages/maps/markers/markers.meta.esm +0 -0
- package/dist/packages/maps/styles/dark.style.cjs +1 -0
- package/dist/packages/maps/styles/dark.style.d.ts +1 -0
- package/dist/packages/maps/styles/dark.style.esm +93 -0
- package/dist/packages/nfc/nfc.service.cjs +1 -0
- package/dist/packages/nfc/nfc.service.d.ts +41 -0
- package/dist/packages/nfc/nfc.service.esm +104 -0
- package/dist/packages/requests/axios/base.connector.cjs +1 -0
- package/dist/packages/requests/axios/base.connector.d.ts +37 -0
- package/dist/packages/requests/axios/base.connector.esm +25 -0
- package/dist/packages/requests/axios/base.service.cjs +1 -0
- package/dist/packages/requests/axios/base.service.d.ts +41 -0
- package/dist/packages/requests/axios/base.service.esm +11 -0
- package/dist/packages/requests/axios/interceptor.builder.cjs +1 -0
- package/dist/packages/requests/axios/interceptor.builder.d.ts +26 -0
- package/dist/packages/requests/axios/interceptor.builder.esm +20 -0
- package/dist/packages/router/build.router.cjs +1 -0
- package/dist/packages/router/build.router.d.ts +6 -0
- package/dist/packages/router/build.router.esm +9 -0
- package/dist/packages/router/route.builder.cjs +1 -0
- package/dist/packages/router/route.builder.d.ts +46 -0
- package/dist/packages/router/route.builder.esm +50 -0
- package/dist/packages/scanner/scanner.formats.cjs +1 -0
- package/dist/packages/scanner/scanner.formats.d.ts +51 -0
- package/dist/packages/scanner/scanner.formats.esm +96 -0
- package/dist/packages/scanner/scanner.service.cjs +1 -0
- package/dist/packages/scanner/scanner.service.d.ts +32 -0
- package/dist/packages/scanner/scanner.service.esm +32 -0
- package/dist/packages/sheets/index.cjs +1 -0
- package/dist/packages/sheets/index.d.ts +2 -0
- package/dist/packages/sheets/index.esm +3 -0
- package/dist/packages/sheets/sheets.connector.cjs +1 -0
- package/dist/packages/sheets/sheets.connector.d.ts +6 -0
- package/dist/packages/sheets/sheets.connector.esm +21 -0
- package/dist/packages/sheets/sheets.service.cjs +1 -0
- package/dist/packages/sheets/sheets.service.d.ts +21 -0
- package/dist/packages/sheets/sheets.service.esm +38 -0
- package/dist/packages/sqlite/base/base.entity.cjs +1 -0
- package/dist/packages/sqlite/base/base.entity.d.ts +5 -0
- package/dist/packages/sqlite/base/base.entity.esm +41 -0
- package/dist/packages/sqlite/repo.service.cjs +1 -0
- package/dist/packages/sqlite/repo.service.d.ts +22 -0
- package/dist/packages/sqlite/repo.service.esm +52 -0
- package/dist/packages/sqlite/sqlite.service.cjs +1 -0
- package/dist/packages/sqlite/sqlite.service.d.ts +40 -0
- package/dist/packages/sqlite/sqlite.service.esm +77 -0
- package/dist/packages/sqlite/templates/test.entity.cjs +1 -0
- package/dist/packages/sqlite/templates/test.entity.d.ts +6 -0
- package/dist/packages/sqlite/templates/test.entity.esm +62 -0
- package/dist/packages/sqlite/templates/test.repo.service.cjs +1 -0
- package/dist/packages/sqlite/templates/test.repo.service.d.ts +8 -0
- package/dist/packages/sqlite/templates/test.repo.service.esm +26 -0
- package/dist/packages/stores/storage.service.cjs +1 -0
- package/dist/packages/stores/storage.service.d.ts +5 -0
- package/dist/packages/stores/storage.service.esm +22 -0
- package/dist/packages/stores/store.hook.cjs +1 -0
- package/dist/packages/stores/store.hook.d.ts +23 -0
- package/dist/packages/stores/store.hook.esm +22 -0
- package/dist/packages/stores/store.service.cjs +1 -0
- package/dist/packages/stores/store.service.d.ts +12 -0
- package/dist/packages/stores/store.service.esm +48 -0
- package/dist/packages/theme/theme-builder.cjs +1 -0
- package/dist/packages/theme/theme-builder.d.ts +19 -0
- package/dist/packages/theme/theme-builder.esm +25 -0
- package/dist/packages/theme/theme-provider.cjs +1 -0
- package/dist/packages/theme/theme-provider.d.ts +7 -0
- package/dist/packages/theme/theme-provider.esm +17 -0
- package/dist/packages/theme/theme-toggle.cjs +1 -0
- package/dist/packages/theme/theme-toggle.d.ts +6 -0
- package/dist/packages/theme/theme-toggle.esm +33 -0
- package/dist/packages/w3/tron/index.cjs +1 -0
- package/dist/packages/w3/tron/index.d.ts +4 -0
- package/dist/packages/w3/tron/index.esm +4 -0
- package/dist/packages/w3/tron/tron-assets.service.cjs +1 -0
- package/dist/packages/w3/tron/tron-assets.service.d.ts +38 -0
- package/dist/packages/w3/tron/tron-assets.service.esm +116 -0
- package/dist/packages/w3/tron/tron-wallet.entity.cjs +1 -0
- package/dist/packages/w3/tron/tron-wallet.entity.d.ts +15 -0
- package/dist/packages/w3/tron/tron-wallet.entity.esm +88 -0
- package/dist/packages/w3/tron/tron-wallet.repo.cjs +1 -0
- package/dist/packages/w3/tron/tron-wallet.repo.d.ts +30 -0
- package/dist/packages/w3/tron/tron-wallet.repo.esm +52 -0
- package/dist/packages/w3/tron/tron.service.cjs +1 -0
- package/dist/packages/w3/tron/tron.service.d.ts +124 -0
- package/dist/packages/w3/tron/tron.service.esm +406 -0
- package/dist/packages/w3/tron/tron.types.cjs +0 -0
- package/dist/packages/w3/tron/tron.types.d.ts +129 -0
- package/dist/packages/w3/tron/tron.types.esm +0 -0
- package/dist/page-container.d.ts +2 -0
- package/dist/popover.d.ts +2 -0
- package/dist/qr.encoder.service.d.ts +4 -0
- package/dist/qr.renderer.d.ts +4 -0
- package/dist/registry.d.ts +2 -0
- package/dist/repo.service.d.ts +4 -0
- package/dist/repository.contract.d.ts +1 -0
- package/dist/route.builder.d.ts +4 -0
- package/dist/scanner.formats.d.ts +2 -0
- package/dist/scanner.service.d.ts +2 -0
- package/dist/scroll-area.d.ts +2 -0
- package/dist/secret.input.d.ts +4 -0
- package/dist/select.d.ts +2 -0
- package/dist/select.input.d.ts +4 -0
- package/dist/separator.d.ts +2 -0
- package/dist/shared/assets/social-icons.cjs +1 -0
- package/dist/shared/assets/social-icons.d.ts +2 -0
- package/dist/shared/assets/social-icons.esm +30 -0
- package/dist/shared/constants/connectors/main.connector.cjs +1 -0
- package/dist/shared/constants/connectors/main.connector.d.ts +8 -0
- package/dist/shared/constants/connectors/main.connector.esm +38 -0
- package/dist/shared/constants/services/main.service.cjs +1 -0
- package/dist/shared/constants/services/main.service.d.ts +7 -0
- package/dist/shared/constants/services/main.service.esm +26 -0
- package/dist/shared/contracts/repository.contract.cjs +0 -0
- package/dist/shared/contracts/repository.contract.d.ts +26 -0
- package/dist/shared/contracts/repository.contract.esm +0 -0
- package/dist/shared/custom/actions/back-button.action.cjs +1 -0
- package/dist/shared/custom/actions/back-button.action.d.ts +13 -0
- package/dist/shared/custom/actions/back-button.action.esm +20 -0
- package/dist/shared/custom/audit/audit-view.cjs +1 -0
- package/dist/shared/custom/audit/audit-view.d.ts +46 -0
- package/dist/shared/custom/audit/audit-view.esm +73 -0
- package/dist/shared/custom/confirm/use-confirm.cjs +1 -0
- package/dist/shared/custom/confirm/use-confirm.d.ts +15 -0
- package/dist/shared/custom/confirm/use-confirm.esm +57 -0
- package/dist/shared/custom/data-table/data-table.component.cjs +1 -0
- package/dist/shared/custom/data-table/data-table.component.d.ts +9 -0
- package/dist/shared/custom/data-table/data-table.component.esm +26 -0
- package/dist/shared/custom/data-table/data-table.provider.cjs +0 -0
- package/dist/shared/custom/data-table/data-table.provider.d.ts +1 -0
- package/dist/shared/custom/data-table/data-table.provider.esm +0 -0
- package/dist/shared/custom/flow/flow-canvas.cjs +1 -0
- package/dist/shared/custom/flow/flow-canvas.d.ts +10 -0
- package/dist/shared/custom/flow/flow-canvas.esm +23 -0
- package/dist/shared/custom/flow/nodes/base.node.cjs +1 -0
- package/dist/shared/custom/flow/nodes/base.node.d.ts +9 -0
- package/dist/shared/custom/flow/nodes/base.node.esm +51 -0
- package/dist/shared/custom/form/form.component.cjs +1 -0
- package/dist/shared/custom/form/form.component.d.ts +13 -0
- package/dist/shared/custom/form/form.component.esm +26 -0
- package/dist/shared/custom/form/index.cjs +1 -0
- package/dist/shared/custom/form/index.d.ts +17 -0
- package/dist/shared/custom/form/index.esm +2 -0
- package/dist/shared/custom/form/inputs/async-combobox.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/async-combobox.input.d.ts +18 -0
- package/dist/shared/custom/form/inputs/async-combobox.input.esm +91 -0
- package/dist/shared/custom/form/inputs/async-multi-select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/async-multi-select.input.d.ts +20 -0
- package/dist/shared/custom/form/inputs/async-multi-select.input.esm +127 -0
- package/dist/shared/custom/form/inputs/async-select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/async-select.input.d.ts +15 -0
- package/dist/shared/custom/form/inputs/async-select.input.esm +71 -0
- package/dist/shared/custom/form/inputs/checkbox-inline.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/checkbox-inline.input.d.ts +15 -0
- package/dist/shared/custom/form/inputs/checkbox-inline.input.esm +41 -0
- package/dist/shared/custom/form/inputs/checkbox.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/checkbox.input.d.ts +21 -0
- package/dist/shared/custom/form/inputs/checkbox.input.esm +50 -0
- package/dist/shared/custom/form/inputs/code.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/code.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/code.input.esm +58 -0
- package/dist/shared/custom/form/inputs/color.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/color.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/color.input.esm +47 -0
- package/dist/shared/custom/form/inputs/combobox.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/combobox.input.d.ts +18 -0
- package/dist/shared/custom/form/inputs/combobox.input.esm +73 -0
- package/dist/shared/custom/form/inputs/date.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/date.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/date.input.esm +52 -0
- package/dist/shared/custom/form/inputs/email.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/email.input.d.ts +12 -0
- package/dist/shared/custom/form/inputs/email.input.esm +47 -0
- package/dist/shared/custom/form/inputs/file.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/file.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/file.input.esm +95 -0
- package/dist/shared/custom/form/inputs/image.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/image.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/image.input.esm +90 -0
- package/dist/shared/custom/form/inputs/list-select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/list-select.input.d.ts +17 -0
- package/dist/shared/custom/form/inputs/list-select.input.esm +53 -0
- package/dist/shared/custom/form/inputs/secret.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/secret.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/secret.input.esm +53 -0
- package/dist/shared/custom/form/inputs/select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/select.input.d.ts +17 -0
- package/dist/shared/custom/form/inputs/select.input.esm +44 -0
- package/dist/shared/custom/form/inputs/tags.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/tags.input.d.ts +16 -0
- package/dist/shared/custom/form/inputs/tags.input.esm +80 -0
- package/dist/shared/custom/form/inputs/text.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/text.input.d.ts +13 -0
- package/dist/shared/custom/form/inputs/text.input.esm +47 -0
- package/dist/shared/custom/form/inputs/textarea.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/textarea.input.d.ts +12 -0
- package/dist/shared/custom/form/inputs/textarea.input.esm +36 -0
- package/dist/shared/custom/form/layout/form-dialog-layout.cjs +1 -0
- package/dist/shared/custom/form/layout/form-dialog-layout.d.ts +25 -0
- package/dist/shared/custom/form/layout/form-dialog-layout.esm +37 -0
- package/dist/shared/custom/form/layout/form-tab-layout.cjs +1 -0
- package/dist/shared/custom/form/layout/form-tab-layout.d.ts +30 -0
- package/dist/shared/custom/form/layout/form-tab-layout.esm +69 -0
- package/dist/shared/custom/hover/hover.cjs +1 -0
- package/dist/shared/custom/hover/hover.d.ts +6 -0
- package/dist/shared/custom/hover/hover.esm +20 -0
- package/dist/shared/custom/layouts/canvas-view.layout.cjs +1 -0
- package/dist/shared/custom/layouts/canvas-view.layout.d.ts +18 -0
- package/dist/shared/custom/layouts/canvas-view.layout.esm +15 -0
- package/dist/shared/custom/layouts/detail-tabs.layout.cjs +1 -0
- package/dist/shared/custom/layouts/detail-tabs.layout.d.ts +27 -0
- package/dist/shared/custom/layouts/detail-tabs.layout.esm +32 -0
- package/dist/shared/custom/layouts/detail-view.layout.cjs +1 -0
- package/dist/shared/custom/layouts/detail-view.layout.d.ts +33 -0
- package/dist/shared/custom/layouts/detail-view.layout.esm +64 -0
- package/dist/shared/custom/layouts/feedback.layout.cjs +1 -0
- package/dist/shared/custom/layouts/feedback.layout.d.ts +14 -0
- package/dist/shared/custom/layouts/feedback.layout.esm +20 -0
- package/dist/shared/custom/layouts/grid.layout.cjs +1 -0
- package/dist/shared/custom/layouts/grid.layout.d.ts +38 -0
- package/dist/shared/custom/layouts/grid.layout.esm +39 -0
- package/dist/shared/custom/layouts/page-container.cjs +1 -0
- package/dist/shared/custom/layouts/page-container.d.ts +6 -0
- package/dist/shared/custom/layouts/page-container.esm +12 -0
- package/dist/shared/custom/ui/icon-box.cjs +1 -0
- package/dist/shared/custom/ui/icon-box.d.ts +12 -0
- package/dist/shared/custom/ui/icon-box.esm +21 -0
- package/dist/shared/custom/ui/typography.cjs +1 -0
- package/dist/shared/custom/ui/typography.d.ts +11 -0
- package/dist/shared/custom/ui/typography.esm +30 -0
- package/dist/shared/hooks/use-device.cjs +1 -0
- package/dist/shared/hooks/use-device.d.ts +10 -0
- package/dist/shared/hooks/use-device.esm +37 -0
- package/dist/shared/hooks/use-i18n.cjs +1 -0
- package/dist/shared/hooks/use-i18n.d.ts +10 -0
- package/dist/shared/hooks/use-i18n.esm +15 -0
- package/dist/shared/hooks/use-mobile.cjs +1 -0
- package/dist/shared/hooks/use-mobile.d.ts +1 -0
- package/dist/shared/hooks/use-mobile.esm +14 -0
- package/dist/shared/lib/utils.cjs +1 -0
- package/dist/shared/lib/utils.d.ts +2 -0
- package/dist/shared/lib/utils.esm +8 -0
- package/dist/shared/logic/action/action-processor.cjs +1 -0
- package/dist/shared/logic/action/action-processor.d.ts +86 -0
- package/dist/shared/logic/action/action-processor.esm +30 -0
- package/dist/shared/logic/components/components.registry.cjs +1 -0
- package/dist/shared/logic/components/components.registry.d.ts +16 -0
- package/dist/shared/logic/components/components.registry.esm +26 -0
- package/dist/shared/logic/events/startable.cjs +1 -0
- package/dist/shared/logic/events/startable.d.ts +7 -0
- package/dist/shared/logic/events/startable.esm +32 -0
- package/dist/shared/logic/events/use-on-start.hook.cjs +1 -0
- package/dist/shared/logic/events/use-on-start.hook.d.ts +12 -0
- package/dist/shared/logic/events/use-on-start.hook.esm +15 -0
- package/dist/shared/logic/factory/component.factory.cjs +1 -0
- package/dist/shared/logic/factory/component.factory.d.ts +9 -0
- package/dist/shared/logic/factory/component.factory.esm +28 -0
- package/dist/shared/logic/guards/builder-device.guard.cjs +1 -0
- package/dist/shared/logic/guards/builder-device.guard.d.ts +5 -0
- package/dist/shared/logic/guards/builder-device.guard.esm +10 -0
- package/dist/shared/logic/guards/component.guard.cjs +1 -0
- package/dist/shared/logic/guards/component.guard.d.ts +5 -0
- package/dist/shared/logic/guards/component.guard.esm +13 -0
- package/dist/shared/logic/guards/context.guard.cjs +1 -0
- package/dist/shared/logic/guards/context.guard.d.ts +13 -0
- package/dist/shared/logic/guards/context.guard.esm +9 -0
- package/dist/shared/logic/guards/device-artifact.guard.cjs +1 -0
- package/dist/shared/logic/guards/device-artifact.guard.d.ts +16 -0
- package/dist/shared/logic/guards/device-artifact.guard.esm +44 -0
- package/dist/shared/logic/guards/device.guard.cjs +1 -0
- package/dist/shared/logic/guards/device.guard.d.ts +17 -0
- package/dist/shared/logic/guards/device.guard.esm +40 -0
- package/dist/shared/logic/guards/dynamic-device.guard.cjs +1 -0
- package/dist/shared/logic/guards/dynamic-device.guard.d.ts +5 -0
- package/dist/shared/logic/guards/dynamic-device.guard.esm +10 -0
- package/dist/shared/logic/guards/guard.cjs +1 -0
- package/dist/shared/logic/guards/guard.d.ts +24 -0
- package/dist/shared/logic/guards/guard.esm +18 -0
- package/dist/shared/logic/service/base.service.cjs +1 -0
- package/dist/shared/logic/service/base.service.d.ts +3 -0
- package/dist/shared/logic/service/base.service.esm +5 -0
- package/dist/shared/logic/verifiers/context.verifier.cjs +1 -0
- package/dist/shared/logic/verifiers/context.verifier.d.ts +7 -0
- package/dist/shared/logic/verifiers/context.verifier.esm +31 -0
- package/dist/shared/logic/verifiers/device.verifier.registry.cjs +1 -0
- package/dist/shared/logic/verifiers/device.verifier.registry.d.ts +13 -0
- package/dist/shared/logic/verifiers/device.verifier.registry.esm +36 -0
- package/dist/shared/logic/verifiers/enum.verifier.cjs +1 -0
- package/dist/shared/logic/verifiers/enum.verifier.d.ts +4 -0
- package/dist/shared/logic/verifiers/enum.verifier.esm +9 -0
- package/dist/shared/logic/verifiers/value.verifier.cjs +1 -0
- package/dist/shared/logic/verifiers/value.verifier.d.ts +5 -0
- package/dist/shared/logic/verifiers/value.verifier.esm +9 -0
- package/dist/shared/ui/badge.cjs +1 -0
- package/dist/shared/ui/badge.d.ts +9 -0
- package/dist/shared/ui/badge.esm +27 -0
- package/dist/shared/ui/breadcrumb.cjs +1 -0
- package/dist/shared/ui/breadcrumb.d.ts +11 -0
- package/dist/shared/ui/breadcrumb.esm +70 -0
- package/dist/shared/ui/button.cjs +1 -0
- package/dist/shared/ui/button.d.ts +11 -0
- package/dist/shared/ui/button.esm +47 -0
- package/dist/shared/ui/calendar.cjs +1 -0
- package/dist/shared/ui/calendar.d.ts +10 -0
- package/dist/shared/ui/calendar.esm +92 -0
- package/dist/shared/ui/card.cjs +1 -0
- package/dist/shared/ui/card.d.ts +11 -0
- package/dist/shared/ui/card.esm +56 -0
- package/dist/shared/ui/checkbox.cjs +1 -0
- package/dist/shared/ui/checkbox.d.ts +4 -0
- package/dist/shared/ui/checkbox.esm +20 -0
- package/dist/shared/ui/combobox.cjs +1 -0
- package/dist/shared/ui/combobox.d.ts +24 -0
- package/dist/shared/ui/combobox.esm +163 -0
- package/dist/shared/ui/command.cjs +1 -0
- package/dist/shared/ui/command.d.ts +18 -0
- package/dist/shared/ui/command.esm +87 -0
- package/dist/shared/ui/custom/dynamic-icon.cjs +1 -0
- package/dist/shared/ui/custom/dynamic-icon.d.ts +13 -0
- package/dist/shared/ui/custom/dynamic-icon.esm +15 -0
- package/dist/shared/ui/dialog.cjs +1 -0
- package/dist/shared/ui/dialog.d.ts +17 -0
- package/dist/shared/ui/dialog.esm +95 -0
- package/dist/shared/ui/field.cjs +1 -0
- package/dist/shared/ui/field.d.ts +24 -0
- package/dist/shared/ui/field.esm +107 -0
- package/dist/shared/ui/icon-button.cjs +1 -0
- package/dist/shared/ui/icon-button.d.ts +6 -0
- package/dist/shared/ui/icon-button.esm +14 -0
- package/dist/shared/ui/index.cjs +1 -0
- package/dist/shared/ui/index.d.ts +23 -0
- package/dist/shared/ui/index.esm +24 -0
- package/dist/shared/ui/input-group.cjs +1 -0
- package/dist/shared/ui/input-group.d.ts +16 -0
- package/dist/shared/ui/input-group.esm +77 -0
- package/dist/shared/ui/input.cjs +1 -0
- package/dist/shared/ui/input.d.ts +3 -0
- package/dist/shared/ui/input.esm +14 -0
- package/dist/shared/ui/label.cjs +1 -0
- package/dist/shared/ui/label.d.ts +4 -0
- package/dist/shared/ui/label.esm +14 -0
- package/dist/shared/ui/popover.cjs +1 -0
- package/dist/shared/ui/popover.d.ts +7 -0
- package/dist/shared/ui/popover.esm +35 -0
- package/dist/shared/ui/scroll-area.cjs +1 -0
- package/dist/shared/ui/scroll-area.d.ts +5 -0
- package/dist/shared/ui/scroll-area.esm +36 -0
- package/dist/shared/ui/select.cjs +1 -0
- package/dist/shared/ui/select.d.ts +15 -0
- package/dist/shared/ui/select.esm +99 -0
- package/dist/shared/ui/separator.cjs +1 -0
- package/dist/shared/ui/separator.d.ts +4 -0
- package/dist/shared/ui/separator.esm +16 -0
- package/dist/shared/ui/sheet.cjs +1 -0
- package/dist/shared/ui/sheet.d.ts +14 -0
- package/dist/shared/ui/sheet.esm +89 -0
- package/dist/shared/ui/sidebar.cjs +1 -0
- package/dist/shared/ui/sidebar.d.ts +69 -0
- package/dist/shared/ui/sidebar.esm +348 -0
- package/dist/shared/ui/skeleton.cjs +1 -0
- package/dist/shared/ui/skeleton.d.ts +2 -0
- package/dist/shared/ui/skeleton.esm +12 -0
- package/dist/shared/ui/sonner.cjs +1 -0
- package/dist/shared/ui/sonner.d.ts +3 -0
- package/dist/shared/ui/sonner.esm +29 -0
- package/dist/shared/ui/table.cjs +1 -0
- package/dist/shared/ui/table.d.ts +10 -0
- package/dist/shared/ui/table.esm +66 -0
- package/dist/shared/ui/tabs.cjs +1 -0
- package/dist/shared/ui/tabs.d.ts +11 -0
- package/dist/shared/ui/tabs.esm +45 -0
- package/dist/shared/ui/textarea.cjs +1 -0
- package/dist/shared/ui/textarea.d.ts +3 -0
- package/dist/shared/ui/textarea.esm +13 -0
- package/dist/shared/ui/tooltip.cjs +1 -0
- package/dist/shared/ui/tooltip.d.ts +7 -0
- package/dist/shared/ui/tooltip.esm +36 -0
- package/dist/sheet.d.ts +2 -0
- package/dist/sheets.connector.d.ts +2 -0
- package/dist/sheets.service.d.ts +2 -0
- package/dist/sidebar.d.ts +2 -0
- package/dist/skeleton.d.ts +2 -0
- package/dist/social-icons.d.ts +2 -0
- package/dist/sonner.d.ts +2 -0
- package/dist/sortable.d.ts +2 -0
- package/dist/sqlite.service.d.ts +6 -0
- package/dist/startable.d.ts +4 -0
- package/dist/storage.service.d.ts +4 -0
- package/dist/store.hook.d.ts +4 -0
- package/dist/store.service.d.ts +4 -0
- package/dist/table.d.ts +2 -0
- package/dist/tabs.d.ts +2 -0
- package/dist/tags.input.d.ts +4 -0
- package/dist/test.entity.d.ts +2 -0
- package/dist/test.repo.service.d.ts +6 -0
- package/dist/text-coder.service.d.ts +2 -0
- package/dist/text.input.d.ts +4 -0
- package/dist/textarea.d.ts +2 -0
- package/dist/textarea.input.d.ts +4 -0
- package/dist/theme-builder.d.ts +2 -0
- package/dist/theme-provider.d.ts +2 -0
- package/dist/theme-toggle.d.ts +2 -0
- package/dist/tooltip.d.ts +2 -0
- package/dist/tron-assets.service.d.ts +2 -0
- package/dist/tron-wallet.entity.d.ts +2 -0
- package/dist/tron-wallet.repo.d.ts +2 -0
- package/dist/tron.service.d.ts +2 -0
- package/dist/tron.types.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/typography.d.ts +2 -0
- package/dist/use-confirm.d.ts +2 -0
- package/dist/use-device.d.ts +2 -0
- package/dist/use-i18n.d.ts +2 -0
- package/dist/use-mobile.d.ts +2 -0
- package/dist/use-on-start.hook.d.ts +2 -0
- package/dist/utils.d.ts +2 -0
- package/dist/value.verifier.d.ts +4 -0
- package/package.json +155 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
//#region src/packages/theme/theme-builder.tsx
|
|
3
|
+
var e = class {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.theme = "", this.icon = void 0, this.label = "";
|
|
6
|
+
}
|
|
7
|
+
withIcon(e) {
|
|
8
|
+
return this.icon = e, this;
|
|
9
|
+
}
|
|
10
|
+
withTheme(e) {
|
|
11
|
+
return this.theme = e, this;
|
|
12
|
+
}
|
|
13
|
+
withLabel(e) {
|
|
14
|
+
return this.label = e, this;
|
|
15
|
+
}
|
|
16
|
+
build() {
|
|
17
|
+
return {
|
|
18
|
+
theme: this.theme,
|
|
19
|
+
icon: this.icon,
|
|
20
|
+
label: this.label
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { e as ThemeBuilder };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../env/env.manager.cjs`);let t=require(`react/jsx-runtime`),n=require(`next-themes`);function r({children:r,themesList:i,...a}){return(0,t.jsx)(n.ThemeProvider,{attribute:`class`,defaultTheme:e.ENV_MANAGER.get(`VITE_THEME`)??`dark`,enableSystem:!0,disableTransitionOnChange:!0,themes:i.map(e=>e.theme),...a,children:r})}exports.ThemeProvider=r;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ThemeProviderProps } from 'next-themes';
|
|
2
|
+
import { BuiltTheme } from './theme-builder';
|
|
3
|
+
interface ExtendedThemeProviderProps extends ThemeProviderProps {
|
|
4
|
+
themesList: BuiltTheme[];
|
|
5
|
+
}
|
|
6
|
+
export declare function ThemeProvider({ children, themesList, ...props }: ExtendedThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ENV_MANAGER as e } from "../env/env.manager.esm";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { ThemeProvider as n } from "next-themes";
|
|
4
|
+
//#region src/packages/theme/theme-provider.tsx
|
|
5
|
+
function r({ children: r, themesList: i, ...a }) {
|
|
6
|
+
return /* @__PURE__ */ t(n, {
|
|
7
|
+
attribute: "class",
|
|
8
|
+
defaultTheme: e.get("VITE_THEME") ?? "dark",
|
|
9
|
+
enableSystem: !0,
|
|
10
|
+
disableTransitionOnChange: !0,
|
|
11
|
+
themes: i.map((e) => e.theme),
|
|
12
|
+
...a,
|
|
13
|
+
children: r
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { r as ThemeProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../shared/ui/select.cjs`);let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`lucide-react`),i=require(`next-themes`);function a({themesList:a}){let{theme:o,setTheme:s}=(0,i.useTheme)(),[c,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{l(!0)},[]);let u=[{theme:`system`,label:`Sistema`,icon:(0,t.jsx)(r.Monitor,{className:`size-4`})},...a];return c?(0,t.jsxs)(e.Select,{value:o,onValueChange:s,children:[(0,t.jsx)(e.SelectTrigger,{className:`w-[140px] bg-accent/5 border-border/50 hover:bg-accent/10 transition-colors`,children:(0,t.jsx)(e.SelectValue,{placeholder:`Seleccionar tema`})}),(0,t.jsx)(e.SelectContent,{children:u.map(({theme:n,label:r,icon:i})=>(0,t.jsx)(e.SelectItem,{value:n,children:(0,t.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,(0,t.jsx)(`span`,{children:r})]})},n))})]}):(0,t.jsx)(`div`,{className:`h-9 w-32 animate-pulse bg-muted rounded-md`})}exports.ThemeToggle=a;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Select as e, SelectContent as t, SelectItem as n, SelectTrigger as r, SelectValue as i } from "../../shared/ui/select.esm";
|
|
2
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect as s, useState as c } from "react";
|
|
4
|
+
import { Monitor as l } from "lucide-react";
|
|
5
|
+
import { useTheme as u } from "next-themes";
|
|
6
|
+
//#region src/packages/theme/theme-toggle.tsx
|
|
7
|
+
function d({ themesList: d }) {
|
|
8
|
+
let { theme: f, setTheme: p } = u(), [m, h] = c(!1);
|
|
9
|
+
s(() => {
|
|
10
|
+
h(!0);
|
|
11
|
+
}, []);
|
|
12
|
+
let g = [{
|
|
13
|
+
theme: "system",
|
|
14
|
+
label: "Sistema",
|
|
15
|
+
icon: /* @__PURE__ */ a(l, { className: "size-4" })
|
|
16
|
+
}, ...d];
|
|
17
|
+
return m ? /* @__PURE__ */ o(e, {
|
|
18
|
+
value: f,
|
|
19
|
+
onValueChange: p,
|
|
20
|
+
children: [/* @__PURE__ */ a(r, {
|
|
21
|
+
className: "w-[140px] bg-accent/5 border-border/50 hover:bg-accent/10 transition-colors",
|
|
22
|
+
children: /* @__PURE__ */ a(i, { placeholder: "Seleccionar tema" })
|
|
23
|
+
}), /* @__PURE__ */ a(t, { children: g.map(({ theme: e, label: t, icon: r }) => /* @__PURE__ */ a(n, {
|
|
24
|
+
value: e,
|
|
25
|
+
children: /* @__PURE__ */ o("div", {
|
|
26
|
+
className: "flex items-center gap-2",
|
|
27
|
+
children: [r, /* @__PURE__ */ a("span", { children: t })]
|
|
28
|
+
})
|
|
29
|
+
}, e)) })]
|
|
30
|
+
}) : /* @__PURE__ */ a("div", { className: "h-9 w-32 animate-pulse bg-muted rounded-md" });
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { d as ThemeToggle };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./tron.service.cjs`),t=require(`./tron-assets.service.cjs`),n=require(`./tron-wallet.repo.cjs`);exports.TRON_ASSETS_SERVICE=t.TRON_ASSETS_SERVICE,exports.TRON_SERVICE=e.TRON_SERVICE,exports.TRON_WALLET_REPO=n.TRON_WALLET_REPO,exports.TronAssetsService=t.TronAssetsService,exports.TronService=e.TronService,exports.TronWalletRepoService=n.TronWalletRepoService;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TRON_SERVICE as e, TronService as t } from "./tron.service.esm";
|
|
2
|
+
import { TRON_ASSETS_SERVICE as n, TronAssetsService as r } from "./tron-assets.service.esm";
|
|
3
|
+
import { TRON_WALLET_REPO as i, TronWalletRepoService as a } from "./tron-wallet.repo.esm";
|
|
4
|
+
export { n as TRON_ASSETS_SERVICE, e as TRON_SERVICE, i as TRON_WALLET_REPO, r as TronAssetsService, t as TronService, a as TronWalletRepoService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../logger/logger.cjs`);let t=require(`tronweb`);function n(e,t){if(!{}.hasOwnProperty.call(e,t))throw TypeError(`attempted to use private field on non-instance`);return e}var r=0;function i(e){return`__private_`+ r+++`_`+e}var a=e.GLOBAL_LOGGER.child(`[TronAssetsService]`),o={"nile-testnet":[`TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf`],mainnet:[`TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t`,`TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8`]},s=i(`instance`),c=class e{constructor(e){this.tronWeb=void 0,this.fullHost=void 0,this.networkHeaders=void 0,this.network=void 0,this.fullHost=e?.fullHost??`https://nile.trongrid.io`,this.networkHeaders=e?.headers,this.network=e?.network??`nile-testnet`,this.tronWeb=new t.TronWeb({fullHost:this.fullHost,headers:this.networkHeaders})}static get instance(){return n(e,s)[s]||(n(e,s)[s]=new e),n(e,s)[s]}async getWalletAssets(e){let t=a.trace(`getWalletAssets`);try{let[t,n,r]=await Promise.all([this.fetchTrxBalance(e),this.fetchTRC10Assets(e),this.fetchTRC20Assets(e)]),i={address:e,trxBalanceSun:t,trxBalance:t/1e6,trc10:n,trc20:r,fetchedAt:new Date};return a.success(`Assets fetched`,{address:e,trxBalance:i.trxBalance,trc10Count:n.length,trc20Count:r.length}),i}catch(e){throw a.error(`Failed to fetch wallet assets`,e),e}finally{t.end()}}async fetchTrxBalance(e){try{let t=await this.tronWeb.trx.getBalance(e);return Number(t)}catch{return 0}}async fetchTRC10Assets(e){try{let t=(await this.tronWeb.trx.getAccount(e)).assetV2??[];return t.length?(await Promise.allSettled(t.map(async({key:e,value:t})=>{try{let n=await this.tronWeb.trx.getTokenByID(e);return{tokenId:e,name:n.name??e,abbreviation:n.abbr??e,balance:Number(t)}}catch{return{tokenId:e,name:e,abbreviation:e,balance:Number(t)}}}))).filter(e=>e.status===`fulfilled`).map(e=>e.value):[]}catch{return[]}}async fetchTRC20Assets(e){let t=o[this.network]??[];return t.length?(await Promise.allSettled(t.map(t=>this.fetchSingleTRC20(e,t)))).filter(e=>e.status===`fulfilled`&&e.value!==null).map(e=>e.value):[]}async fetchSingleTRC20(e,t){try{let n=await this.tronWeb.contract().at(t),[r,i,a,o]=await Promise.all([n.balanceOf(e).call(),n.name().call().catch(()=>t),n.symbol().call().catch(()=>`???`),n.decimals().call().catch(()=>6)]),s=Number(o),c=r.toString(),l=Number(c)/10**s;return{contractAddress:t,name:i?.toString()??t,symbol:a?.toString()??`???`,decimals:s,rawBalance:c,balance:l}}catch{return null}}};Object.defineProperty(c,s,{writable:!0,value:void 0});var l=c.instance;exports.TRON_ASSETS_SERVICE=l,exports.TronAssetsService=c;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { TronWalletAssets } from './tron.types';
|
|
2
|
+
export declare class TronAssetsService {
|
|
3
|
+
#private;
|
|
4
|
+
private tronWeb;
|
|
5
|
+
private readonly fullHost;
|
|
6
|
+
private readonly networkHeaders?;
|
|
7
|
+
private readonly network;
|
|
8
|
+
private constructor();
|
|
9
|
+
static get instance(): TronAssetsService;
|
|
10
|
+
/**
|
|
11
|
+
* Devuelve todos los activos de una dirección:
|
|
12
|
+
* - Balance TRX (en TRX y en SUN)
|
|
13
|
+
* - Tokens TRC10 (nativos de la red)
|
|
14
|
+
* - Tokens TRC20 (contratos ERC20-like) para los contratos conocidos
|
|
15
|
+
*
|
|
16
|
+
* @param address Dirección Base58 de la wallet a consultar
|
|
17
|
+
*/
|
|
18
|
+
getWalletAssets(address: string): Promise<TronWalletAssets>;
|
|
19
|
+
/**
|
|
20
|
+
* Obtiene el balance de TRX en SUN.
|
|
21
|
+
* Las cuentas nuevas (sin activar) devuelven 0.
|
|
22
|
+
*/
|
|
23
|
+
private fetchTrxBalance;
|
|
24
|
+
/**
|
|
25
|
+
* Obtiene los tokens TRC10 asociados a la cuenta.
|
|
26
|
+
* Se extraen de `account.assetV2` en la respuesta de getAccount().
|
|
27
|
+
*/
|
|
28
|
+
private fetchTRC10Assets;
|
|
29
|
+
/**
|
|
30
|
+
* Consulta el balance de contratos TRC20 conocidos para esta red.
|
|
31
|
+
* Llama a balanceOf(address) en cada contrato y obtiene su metadata.
|
|
32
|
+
*
|
|
33
|
+
* @param address Dirección de la wallet a consultar
|
|
34
|
+
*/
|
|
35
|
+
private fetchTRC20Assets;
|
|
36
|
+
private fetchSingleTRC20;
|
|
37
|
+
}
|
|
38
|
+
export declare const TRON_ASSETS_SERVICE: TronAssetsService;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { GLOBAL_LOGGER as e } from "../../logger/logger.esm";
|
|
2
|
+
import { TronWeb as t } from "tronweb";
|
|
3
|
+
//#region src/packages/w3/tron/tron-assets.service.ts
|
|
4
|
+
function n(e, t) {
|
|
5
|
+
if (!{}.hasOwnProperty.call(e, t)) throw TypeError("attempted to use private field on non-instance");
|
|
6
|
+
return e;
|
|
7
|
+
}
|
|
8
|
+
var r = 0;
|
|
9
|
+
function i(e) {
|
|
10
|
+
return "__private_" + r++ + "_" + e;
|
|
11
|
+
}
|
|
12
|
+
var a = e.child("[TronAssetsService]"), o = {
|
|
13
|
+
"nile-testnet": ["TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf"],
|
|
14
|
+
mainnet: ["TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8"]
|
|
15
|
+
}, s = /* @__PURE__ */ i("instance"), c = class e {
|
|
16
|
+
constructor(e) {
|
|
17
|
+
this.tronWeb = void 0, this.fullHost = void 0, this.networkHeaders = void 0, this.network = void 0, this.fullHost = e?.fullHost ?? "https://nile.trongrid.io", this.networkHeaders = e?.headers, this.network = e?.network ?? "nile-testnet", this.tronWeb = new t({
|
|
18
|
+
fullHost: this.fullHost,
|
|
19
|
+
headers: this.networkHeaders
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
static get instance() {
|
|
23
|
+
return n(e, s)[s] || (n(e, s)[s] = new e()), n(e, s)[s];
|
|
24
|
+
}
|
|
25
|
+
async getWalletAssets(e) {
|
|
26
|
+
let t = a.trace("getWalletAssets");
|
|
27
|
+
try {
|
|
28
|
+
let [t, n, r] = await Promise.all([
|
|
29
|
+
this.fetchTrxBalance(e),
|
|
30
|
+
this.fetchTRC10Assets(e),
|
|
31
|
+
this.fetchTRC20Assets(e)
|
|
32
|
+
]), i = {
|
|
33
|
+
address: e,
|
|
34
|
+
trxBalanceSun: t,
|
|
35
|
+
trxBalance: t / 1e6,
|
|
36
|
+
trc10: n,
|
|
37
|
+
trc20: r,
|
|
38
|
+
fetchedAt: /* @__PURE__ */ new Date()
|
|
39
|
+
};
|
|
40
|
+
return a.success("Assets fetched", {
|
|
41
|
+
address: e,
|
|
42
|
+
trxBalance: i.trxBalance,
|
|
43
|
+
trc10Count: n.length,
|
|
44
|
+
trc20Count: r.length
|
|
45
|
+
}), i;
|
|
46
|
+
} catch (e) {
|
|
47
|
+
throw a.error("Failed to fetch wallet assets", e), e;
|
|
48
|
+
} finally {
|
|
49
|
+
t.end();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async fetchTrxBalance(e) {
|
|
53
|
+
try {
|
|
54
|
+
let t = await this.tronWeb.trx.getBalance(e);
|
|
55
|
+
return Number(t);
|
|
56
|
+
} catch {
|
|
57
|
+
return 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async fetchTRC10Assets(e) {
|
|
61
|
+
try {
|
|
62
|
+
let t = (await this.tronWeb.trx.getAccount(e)).assetV2 ?? [];
|
|
63
|
+
return t.length ? (await Promise.allSettled(t.map(async ({ key: e, value: t }) => {
|
|
64
|
+
try {
|
|
65
|
+
let n = await this.tronWeb.trx.getTokenByID(e);
|
|
66
|
+
return {
|
|
67
|
+
tokenId: e,
|
|
68
|
+
name: n.name ?? e,
|
|
69
|
+
abbreviation: n.abbr ?? e,
|
|
70
|
+
balance: Number(t)
|
|
71
|
+
};
|
|
72
|
+
} catch {
|
|
73
|
+
return {
|
|
74
|
+
tokenId: e,
|
|
75
|
+
name: e,
|
|
76
|
+
abbreviation: e,
|
|
77
|
+
balance: Number(t)
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}))).filter((e) => e.status === "fulfilled").map((e) => e.value) : [];
|
|
81
|
+
} catch {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async fetchTRC20Assets(e) {
|
|
86
|
+
let t = o[this.network] ?? [];
|
|
87
|
+
return t.length ? (await Promise.allSettled(t.map((t) => this.fetchSingleTRC20(e, t)))).filter((e) => e.status === "fulfilled" && e.value !== null).map((e) => e.value) : [];
|
|
88
|
+
}
|
|
89
|
+
async fetchSingleTRC20(e, t) {
|
|
90
|
+
try {
|
|
91
|
+
let n = await this.tronWeb.contract().at(t), [r, i, a, o] = await Promise.all([
|
|
92
|
+
n.balanceOf(e).call(),
|
|
93
|
+
n.name().call().catch(() => t),
|
|
94
|
+
n.symbol().call().catch(() => "???"),
|
|
95
|
+
n.decimals().call().catch(() => 6)
|
|
96
|
+
]), s = Number(o), c = r.toString(), l = Number(c) / 10 ** s;
|
|
97
|
+
return {
|
|
98
|
+
contractAddress: t,
|
|
99
|
+
name: i?.toString() ?? t,
|
|
100
|
+
symbol: a?.toString() ?? "???",
|
|
101
|
+
decimals: s,
|
|
102
|
+
rawBalance: c,
|
|
103
|
+
balance: l
|
|
104
|
+
};
|
|
105
|
+
} catch {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
Object.defineProperty(c, s, {
|
|
111
|
+
writable: !0,
|
|
112
|
+
value: void 0
|
|
113
|
+
});
|
|
114
|
+
var l = c.instance;
|
|
115
|
+
//#endregion
|
|
116
|
+
export { l as TRON_ASSETS_SERVICE, c as TronAssetsService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`typeorm/browser`);var t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_;function v(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function y(e,t,n,r,i){var a={};return Object.keys(r).forEach(function(e){a[e]=r[e]}),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,(`value`in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},a),i&&a.initializer!==void 0&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),a.initializer===void 0?(Object.defineProperty(e,t,a),null):a}var b=(t=(0,e.Entity)(`tron_wallet`),n=(0,e.PrimaryGeneratedColumn)(`uuid`),r=(0,e.Column)({name:`label`,type:`varchar`,length:120,nullable:!0}),i=(0,e.Column)({name:`address`,type:`varchar`,length:64,nullable:!1,unique:!0}),a=(0,e.Column)({name:`public_key`,type:`varchar`,length:128,nullable:!1}),o=(0,e.Column)({name:`private_key`,type:`varchar`,length:128,nullable:!1}),s=(0,e.Column)({name:`network`,type:`varchar`,length:64,nullable:!1,default:`nile-testnet`}),c=(0,e.CreateDateColumn)({name:`created_at`}),t(l=(u=class{constructor(){v(this,`id`,d,this),v(this,`label`,f,this),v(this,`address`,p,this),v(this,`publicKey`,m,this),v(this,`privateKey`,h,this),v(this,`network`,g,this),v(this,`createdAt`,_,this)}},d=y(u.prototype,`id`,[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=y(u.prototype,`label`,[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=y(u.prototype,`address`,[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=y(u.prototype,`publicKey`,[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=y(u.prototype,`privateKey`,[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=y(u.prototype,`network`,[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=y(u.prototype,`createdAt`,[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u))||l);exports.TronWalletEntity=b;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entidad que representa una wallet de Tron almacenada localmente.
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ La privateKey se almacena en texto plano en SQLite local (IndexedDB en web).
|
|
5
|
+
* En producción, considera cifrarla antes de persistir.
|
|
6
|
+
*/
|
|
7
|
+
export declare class TronWalletEntity {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string | null;
|
|
10
|
+
address: string;
|
|
11
|
+
publicKey: string;
|
|
12
|
+
privateKey: string;
|
|
13
|
+
network: string;
|
|
14
|
+
createdAt: Date;
|
|
15
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Column as e, CreateDateColumn as t, Entity as n, PrimaryGeneratedColumn as r } from "typeorm/browser";
|
|
2
|
+
//#region src/packages/w3/tron/tron-wallet.entity.ts
|
|
3
|
+
var i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b;
|
|
4
|
+
function x(e, t, n, r) {
|
|
5
|
+
n && Object.defineProperty(e, t, {
|
|
6
|
+
enumerable: n.enumerable,
|
|
7
|
+
configurable: n.configurable,
|
|
8
|
+
writable: n.writable,
|
|
9
|
+
value: n.initializer ? n.initializer.call(r) : void 0
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function S(e, t, n, r, i) {
|
|
13
|
+
var a = {};
|
|
14
|
+
return Object.keys(r).forEach(function(e) {
|
|
15
|
+
a[e] = r[e];
|
|
16
|
+
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
|
|
17
|
+
return r(e, t, n) || n;
|
|
18
|
+
}, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
|
|
19
|
+
}
|
|
20
|
+
var C = (i = n("tron_wallet"), a = r("uuid"), o = e({
|
|
21
|
+
name: "label",
|
|
22
|
+
type: "varchar",
|
|
23
|
+
length: 120,
|
|
24
|
+
nullable: !0
|
|
25
|
+
}), s = e({
|
|
26
|
+
name: "address",
|
|
27
|
+
type: "varchar",
|
|
28
|
+
length: 64,
|
|
29
|
+
nullable: !1,
|
|
30
|
+
unique: !0
|
|
31
|
+
}), c = e({
|
|
32
|
+
name: "public_key",
|
|
33
|
+
type: "varchar",
|
|
34
|
+
length: 128,
|
|
35
|
+
nullable: !1
|
|
36
|
+
}), l = e({
|
|
37
|
+
name: "private_key",
|
|
38
|
+
type: "varchar",
|
|
39
|
+
length: 128,
|
|
40
|
+
nullable: !1
|
|
41
|
+
}), u = e({
|
|
42
|
+
name: "network",
|
|
43
|
+
type: "varchar",
|
|
44
|
+
length: 64,
|
|
45
|
+
nullable: !1,
|
|
46
|
+
default: "nile-testnet"
|
|
47
|
+
}), d = t({ name: "created_at" }), i(f = (p = class {
|
|
48
|
+
constructor() {
|
|
49
|
+
x(this, "id", m, this), x(this, "label", h, this), x(this, "address", g, this), x(this, "publicKey", _, this), x(this, "privateKey", v, this), x(this, "network", y, this), x(this, "createdAt", b, this);
|
|
50
|
+
}
|
|
51
|
+
}, m = S(p.prototype, "id", [a], {
|
|
52
|
+
configurable: !0,
|
|
53
|
+
enumerable: !0,
|
|
54
|
+
writable: !0,
|
|
55
|
+
initializer: null
|
|
56
|
+
}), h = S(p.prototype, "label", [o], {
|
|
57
|
+
configurable: !0,
|
|
58
|
+
enumerable: !0,
|
|
59
|
+
writable: !0,
|
|
60
|
+
initializer: null
|
|
61
|
+
}), g = S(p.prototype, "address", [s], {
|
|
62
|
+
configurable: !0,
|
|
63
|
+
enumerable: !0,
|
|
64
|
+
writable: !0,
|
|
65
|
+
initializer: null
|
|
66
|
+
}), _ = S(p.prototype, "publicKey", [c], {
|
|
67
|
+
configurable: !0,
|
|
68
|
+
enumerable: !0,
|
|
69
|
+
writable: !0,
|
|
70
|
+
initializer: null
|
|
71
|
+
}), v = S(p.prototype, "privateKey", [l], {
|
|
72
|
+
configurable: !0,
|
|
73
|
+
enumerable: !0,
|
|
74
|
+
writable: !0,
|
|
75
|
+
initializer: null
|
|
76
|
+
}), y = S(p.prototype, "network", [u], {
|
|
77
|
+
configurable: !0,
|
|
78
|
+
enumerable: !0,
|
|
79
|
+
writable: !0,
|
|
80
|
+
initializer: null
|
|
81
|
+
}), b = S(p.prototype, "createdAt", [d], {
|
|
82
|
+
configurable: !0,
|
|
83
|
+
enumerable: !0,
|
|
84
|
+
writable: !0,
|
|
85
|
+
initializer: null
|
|
86
|
+
}), p)) || f);
|
|
87
|
+
//#endregion
|
|
88
|
+
export { C as TronWalletEntity };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../logger/logger.cjs`),t=require(`./tron-wallet.entity.cjs`),n=require(`../../sqlite/repo.service.cjs`);var r=e.GLOBAL_LOGGER.child(`[TronWalletRepo]`),i=class e extends n{constructor(){super(t.TronWalletEntity)}static get instance(){return e._instance||=new e,e._instance}async saveWallet(e,n=`nile-testnet`,i=null){let a=r.trace(`saveWallet`);try{let a=new t.TronWalletEntity;a.address=e.address,a.publicKey=e.publicKey,a.privateKey=e.privateKey,a.network=n,a.label=i;let o=await this.persist(a);return r.success(`Wallet saved to SQLite`,{address:o.address,id:o.id}),o}catch(e){throw r.error(`Failed to save wallet`,e),e}finally{a.end()}}async findByAddress(e){let t=r.trace(`findByAddress`);try{return await this.repository.findOneBy({address:e})??null}catch(e){throw r.error(`Failed to find wallet by address`,e),e}finally{t.end()}}async findByNetwork(e){let t=r.trace(`findByNetwork`);try{return await this.repository.findBy({network:e})}catch(e){throw r.error(`Failed to find wallets by network`,e),e}finally{t.end()}}};i._instance=void 0;var a=i.instance;exports.TRON_WALLET_REPO=a,exports.TronWalletRepoService=i;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as BaseSQLiteRepoService } from '../../sqlite/repo.service';
|
|
2
|
+
import { TronWalletEntity } from './tron-wallet.entity';
|
|
3
|
+
import { TronWallet } from './tron.types';
|
|
4
|
+
/**
|
|
5
|
+
* Repositorio para persistir y consultar wallets de Tron en SQLite local.
|
|
6
|
+
* Extiende BaseSQLiteRepoService para heredar persist / remove / findById / findAll.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TronWalletRepoService extends BaseSQLiteRepoService<TronWalletEntity, typeof TronWalletEntity> {
|
|
9
|
+
private static _instance;
|
|
10
|
+
private constructor();
|
|
11
|
+
static get instance(): TronWalletRepoService;
|
|
12
|
+
/**
|
|
13
|
+
* Guarda una wallet recién generada.
|
|
14
|
+
* Mapea el DTO TronWallet → TronWalletEntity antes de persistir.
|
|
15
|
+
*
|
|
16
|
+
* @param wallet Wallet generada por TronService.createWallet()
|
|
17
|
+
* @param network Red a la que pertenece (ej. "nile-testnet", "mainnet")
|
|
18
|
+
* @param label Etiqueta opcional para identificar la wallet
|
|
19
|
+
*/
|
|
20
|
+
saveWallet(wallet: TronWallet, network?: string, label?: string | null): Promise<TronWalletEntity>;
|
|
21
|
+
/**
|
|
22
|
+
* Busca una wallet por su dirección Base58.
|
|
23
|
+
*/
|
|
24
|
+
findByAddress(address: string): Promise<TronWalletEntity | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Filtra wallets por red (ej. todas las de testnet).
|
|
27
|
+
*/
|
|
28
|
+
findByNetwork(network: string): Promise<TronWalletEntity[]>;
|
|
29
|
+
}
|
|
30
|
+
export declare const TRON_WALLET_REPO: TronWalletRepoService;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { GLOBAL_LOGGER as e } from "../../logger/logger.esm";
|
|
2
|
+
import { TronWalletEntity as t } from "./tron-wallet.entity.esm";
|
|
3
|
+
import n from "../../sqlite/repo.service.esm";
|
|
4
|
+
//#region src/packages/w3/tron/tron-wallet.repo.ts
|
|
5
|
+
var r = e.child("[TronWalletRepo]"), i = class e extends n {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(t);
|
|
8
|
+
}
|
|
9
|
+
static get instance() {
|
|
10
|
+
return e._instance ||= new e(), e._instance;
|
|
11
|
+
}
|
|
12
|
+
async saveWallet(e, n = "nile-testnet", i = null) {
|
|
13
|
+
let a = r.trace("saveWallet");
|
|
14
|
+
try {
|
|
15
|
+
let a = new t();
|
|
16
|
+
a.address = e.address, a.publicKey = e.publicKey, a.privateKey = e.privateKey, a.network = n, a.label = i;
|
|
17
|
+
let o = await this.persist(a);
|
|
18
|
+
return r.success("Wallet saved to SQLite", {
|
|
19
|
+
address: o.address,
|
|
20
|
+
id: o.id
|
|
21
|
+
}), o;
|
|
22
|
+
} catch (e) {
|
|
23
|
+
throw r.error("Failed to save wallet", e), e;
|
|
24
|
+
} finally {
|
|
25
|
+
a.end();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async findByAddress(e) {
|
|
29
|
+
let t = r.trace("findByAddress");
|
|
30
|
+
try {
|
|
31
|
+
return await this.repository.findOneBy({ address: e }) ?? null;
|
|
32
|
+
} catch (e) {
|
|
33
|
+
throw r.error("Failed to find wallet by address", e), e;
|
|
34
|
+
} finally {
|
|
35
|
+
t.end();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async findByNetwork(e) {
|
|
39
|
+
let t = r.trace("findByNetwork");
|
|
40
|
+
try {
|
|
41
|
+
return await this.repository.findBy({ network: e });
|
|
42
|
+
} catch (e) {
|
|
43
|
+
throw r.error("Failed to find wallets by network", e), e;
|
|
44
|
+
} finally {
|
|
45
|
+
t.end();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
i._instance = void 0;
|
|
50
|
+
var a = i.instance;
|
|
51
|
+
//#endregion
|
|
52
|
+
export { a as TRON_WALLET_REPO, i as TronWalletRepoService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../logger/logger.cjs`);let t=require(`tronweb`);function n(e,t){if(!{}.hasOwnProperty.call(e,t))throw TypeError(`attempted to use private field on non-instance`);return e}var r=0;function i(e){return`__private_`+ r+++`_`+e}var a=e.GLOBAL_LOGGER.child(`[TronService]`),o=i(`instance`),s=class e{constructor(e){this.tronWeb=void 0,this.fullHost=void 0,this.networkHeaders=void 0,this.fullHost=e?.fullHost??`https://nile.trongrid.io`,this.networkHeaders=e?.headers,this.tronWeb=new t.TronWeb({fullHost:this.fullHost,headers:this.networkHeaders})}static get instance(){return n(e,o)[o]||(n(e,o)[o]=new e),n(e,o)[o]}buildSigner(e){return new t.TronWeb({fullHost:this.fullHost,headers:this.networkHeaders,privateKey:e})}async createWallet(){let e=a.trace(`createWallet`);try{let e=await this.tronWeb.createAccount();return a.success(`Wallet created successfully`,{address:e.address.base58}),{address:e.address.base58,privateKey:e.privateKey,publicKey:e.publicKey}}catch(e){throw a.error(`Failed to create wallet`,e),e}finally{e.end()}}async sendTrx(e,t,n){let r=a.trace(`sendTrx`);try{let r=this.buildSigner(n),i=Number(r.toSun(t)),o=await r.trx.sendTransaction(e,i);return o.result?(a.success(`TRX transaction broadcasted`,{txId:o.txid}),{success:!0,txId:o.txid}):(a.error(`TRX transaction rejected`,o),{success:!1,error:`Transaction rejected by network`})}catch(e){return a.error(`Failed to send TRX`,e),{success:!1,error:e.message??`Unknown error`}}finally{r.end()}}async sendTRC10(e){let t=a.trace(`sendTRC10`),{to:n,tokenId:r,amount:i,privateKey:o}=e;try{let e=await this.buildSigner(o).trx.sendToken(n,i,r);return e.result?(a.success(`TRC10 transfer broadcasted`,{txId:e.txid,tokenId:r,amount:i}),{success:!0,txId:e.txid}):(a.error(`TRC10 transfer rejected`,e),{success:!1,error:`TRC10 transfer rejected by network`})}catch(e){return a.error(`Failed to send TRC10 token`,e),{success:!1,error:e.message??`Unknown error`}}finally{t.end()}}async sendTRC20(e){let t=a.trace(`sendTRC20`),{to:n,contractAddress:r,amount:i,privateKey:o,feeLimit:s=1e5}=e;try{let e=await this.buildSigner(o).contract().at(r),t=Number(await e.decimals().call().catch(()=>6)),c=BigInt(Math.round(i*10**t)),l=await e.transfer(n,c).send({feeLimit:s,shouldPollResponse:!1});return l?(a.success(`TRC20 transfer broadcasted`,{txId:l,contractAddress:r,amount:i}),{success:!0,txId:l}):(a.error(`TRC20 transfer rejected`),{success:!1,error:`TRC20 transfer rejected by network`})}catch(e){return a.error(`Failed to send TRC20 token`,e),{success:!1,error:e.message??`Unknown error`}}finally{t.end()}}splitAmount(e,t,n=!1){let r=e*Math.min(Math.max(t,0),1),i=n?Math.floor(r):parseFloat(r.toFixed(8));return{commission:i,main:n?e-i:parseFloat((e-i).toFixed(8))}}async sendTrxSplit(e,t,n,r){let i=a.trace(`sendTrxSplit`),{commission:o,main:s}=this.splitAmount(t,r.rate);try{a.info(`TRX split transfer`,{total:t,commissionAmount:o,mainAmount:s,rate:r.rate});let i=await this.sendTrx(r.address,o,n),c=await this.sendTrx(e,s,n),l=i.success&&c.success,u=l?void 0:[!i.success&&`Comisión: ${i.error}`,!c.success&&`Principal: ${c.error}`].filter(Boolean).join(` | `);return a.info(`TRX split result`,{success:l,commissionTxId:i.txId,mainTxId:c.txId}),{success:l,mainAmount:s,mainTxId:c.txId,mainTx:c,commissionAmount:o,commissionTxId:i.txId,commissionTx:i,error:u}}catch(e){a.error(`Failed TRX split transfer`,e);let t={success:!1,error:e.message};return{success:!1,mainAmount:s,mainTx:t,commissionAmount:o,commissionTx:t,error:e.message}}finally{i.end()}}async sendTRC10Split(e,t){let n=a.trace(`sendTRC10Split`),{commission:r,main:i}=this.splitAmount(e.amount,t.rate,!0);try{a.info(`TRC10 split transfer`,{total:e.amount,commissionAmount:r,mainAmount:i});let n=await this.sendTRC10({...e,to:t.address,amount:r}),o=await this.sendTRC10({...e,amount:i}),s=n.success&&o.success,c=s?void 0:[!n.success&&`Comisión: ${n.error}`,!o.success&&`Principal: ${o.error}`].filter(Boolean).join(` | `);return{success:s,mainAmount:i,mainTxId:o.txId,mainTx:o,commissionAmount:r,commissionTxId:n.txId,commissionTx:n,error:c}}catch(e){a.error(`Failed TRC10 split transfer`,e);let t={success:!1,error:e.message};return{success:!1,mainAmount:i,mainTx:t,commissionAmount:r,commissionTx:t,error:e.message}}finally{n.end()}}async sendTRC20Split(e,t){let n=a.trace(`sendTRC20Split`),{commission:r,main:i}=this.splitAmount(e.amount,t.rate);try{a.info(`TRC20 split transfer`,{total:e.amount,commissionAmount:r,mainAmount:i});let n=await this.sendTRC20({...e,to:t.address,amount:r}),o=await this.sendTRC20({...e,amount:i}),s=n.success&&o.success,c=s?void 0:[!n.success&&`Comisión: ${n.error}`,!o.success&&`Principal: ${o.error}`].filter(Boolean).join(` | `);return{success:s,mainAmount:i,mainTxId:o.txId,mainTx:o,commissionAmount:r,commissionTxId:n.txId,commissionTx:n,error:c}}catch(e){a.error(`Failed TRC20 split transfer`,e);let t={success:!1,error:e.message};return{success:!1,mainAmount:i,mainTx:t,commissionAmount:r,commissionTx:t,error:e.message}}finally{n.end()}}getSenderAddress(e){return t.TronWeb.address.fromPrivateKey(e)}async sendTrxBatchAtomic(e){let t=a.trace(`sendTrxBatchAtomic`),{recipients:n,privateKey:r,contractAddress:i,feeLimit:o=5e5}=e,s=n.reduce((e,t)=>e+t.amount,0),c=Math.round(s*1e6),l=n.map(e=>e.address),u=n.map(e=>Math.round(e.amount*1e6));try{let e=this.buildSigner(r),t=this.getSenderAddress(r);a.info(`TRX batch atomic`,{recipients:n.length,totalTrx:s,contractAddress:i});let{transaction:d}=await e.transactionBuilder.triggerSmartContract(i,`batchSendTRX(address[],uint256[])`,{callValue:c,feeLimit:o},[{type:`address[]`,value:l},{type:`uint256[]`,value:u}],t),f=await e.trx.sign(d,r),p=await e.trx.sendRawTransaction(f);return p.result?(a.success(`TRX batch atomic success`,{txId:p.txid,recipients:n.length}),{success:!0,txId:p.txid,recipients:n,totalAmount:s}):{success:!1,recipients:n,totalAmount:s,error:`Contract call rejected`}}catch(e){return a.error(`TRX batch atomic failed`,e),{success:!1,recipients:n,totalAmount:s,error:e.message??`Unknown error`}}finally{t.end()}}async approveTRC20Batch(e,t,n,r,i=1e5){let o=a.trace(`approveTRC20Batch`);try{let o=await(await this.buildSigner(e).contract().at(t)).approve(n,r).send({feeLimit:i});return a.success(`TRC20 approve success`,{txId:o}),{success:!0,txId:o}}catch(e){return a.error(`TRC20 approve failed`,e),{success:!1,error:e.message}}finally{o.end()}}async sendTRC20BatchAtomic(e){let t=a.trace(`sendTRC20BatchAtomic`),{recipients:n,privateKey:r,tokenContractAddress:i,batchContractAddress:o,decimals:s,feeLimit:c=1e6}=e;try{let e=this.buildSigner(r),t=this.getSenderAddress(r),l=10**(s??await(async()=>{let t=await e.contract().at(i);return Number(await t.decimals().call().catch(()=>6))})()),u=n.reduce((e,t)=>e+t.amount,0),d=n.map(e=>e.address),f=n.map(e=>BigInt(Math.round(e.amount*l)).toString());a.info(`TRC20 batch atomic`,{recipients:n.length,totalAmount:u,tokenContractAddress:i});let{transaction:p}=await e.transactionBuilder.triggerSmartContract(o,`batchSendTRC20(address,address[],uint256[])`,{feeLimit:c},[{type:`address`,value:i},{type:`address[]`,value:d},{type:`uint256[]`,value:f}],t),m=await e.trx.sign(p,r),h=await e.trx.sendRawTransaction(m);return h.result?(a.success(`TRC20 batch atomic success`,{txId:h.txid}),{success:!0,txId:h.txid,recipients:n,totalAmount:u}):{success:!1,recipients:n,totalAmount:u,error:`Contract call rejected`}}catch(e){return a.error(`TRC20 batch atomic failed`,e),{success:!1,recipients:n,totalAmount:0,error:e.message??`Unknown error`}}finally{t.end()}}async sendTrxSplitAtomic(e,t,n,r,i,a){let{commission:o,main:s}=this.splitAmount(t,r.rate);return this.sendTrxBatchAtomic({recipients:[{address:r.address,amount:o,label:`commission`},{address:e,amount:s,label:`main`}],privateKey:n,contractAddress:i,feeLimit:a})}async sendTRC20SplitAtomic(e,t,n,r){let{commission:i,main:a}=this.splitAmount(e.amount,t.rate);return this.sendTRC20BatchAtomic({recipients:[{address:t.address,amount:i,label:`commission`},{address:e.to,amount:a,label:`main`}],privateKey:e.privateKey,tokenContractAddress:e.contractAddress,batchContractAddress:n,feeLimit:r})}};Object.defineProperty(s,o,{writable:!0,value:void 0});var c=s.instance;exports.TRON_SERVICE=c,exports.TronService=s;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { TronWallet, TronTransactionResult, TronTRC10TransferParams, TronTRC20TransferParams, TronCommissionConfig, TronSplitResult, TronBatchResult, TronApproveResult, TronTRXBatchParams, TronTRC20BatchParams } from './tron.types';
|
|
2
|
+
export declare class TronService {
|
|
3
|
+
#private;
|
|
4
|
+
private tronWeb;
|
|
5
|
+
private readonly fullHost;
|
|
6
|
+
private readonly networkHeaders?;
|
|
7
|
+
private constructor();
|
|
8
|
+
static get instance(): TronService;
|
|
9
|
+
/**
|
|
10
|
+
* Instancia TronWeb temporal con la privateKey del emisor.
|
|
11
|
+
* La clave nunca persiste en el singleton — seguro para multi-wallet.
|
|
12
|
+
*/
|
|
13
|
+
private buildSigner;
|
|
14
|
+
/**
|
|
15
|
+
* Genera una nueva billetera de Tron.
|
|
16
|
+
* No está ligada a ninguna wallet en particular — solo usa la red configurada.
|
|
17
|
+
*/
|
|
18
|
+
createWallet(): Promise<TronWallet>;
|
|
19
|
+
/**
|
|
20
|
+
* Envía TRX de una cuenta a otra.
|
|
21
|
+
* Cada llamada opera con su propia instancia de TronWeb para que
|
|
22
|
+
* la privateKey no persista en el servicio (multi-wallet seguro).
|
|
23
|
+
*
|
|
24
|
+
* @param to Dirección destino en formato Base58
|
|
25
|
+
* @param amount Cantidad de TRX (convertida a SUN automáticamente)
|
|
26
|
+
* @param privateKey Clave privada de la cuenta origen
|
|
27
|
+
*/
|
|
28
|
+
sendTrx(to: string, amount: number, privateKey: string): Promise<TronTransactionResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Transfiere un token TRC10 (token nativo de la red Tron).
|
|
31
|
+
*
|
|
32
|
+
* @param params.to Dirección destino Base58
|
|
33
|
+
* @param params.tokenId ID numérico del token TRC10
|
|
34
|
+
* @param params.amount Cantidad en unidad mínima del token
|
|
35
|
+
* @param params.privateKey Clave privada del emisor
|
|
36
|
+
*/
|
|
37
|
+
sendTRC10(params: TronTRC10TransferParams): Promise<TronTransactionResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Transfiere un token TRC20 (contrato ERC20-like en Tron).
|
|
40
|
+
* Obtiene los decimals del contrato en runtime para convertir el amount correctamente.
|
|
41
|
+
*
|
|
42
|
+
* @param params.to Dirección destino Base58
|
|
43
|
+
* @param params.contractAddress Dirección del contrato TRC20
|
|
44
|
+
* @param params.amount Cantidad legible (se multiplica por 10^decimals)
|
|
45
|
+
* @param params.privateKey Clave privada del emisor
|
|
46
|
+
* @param params.feeLimit Límite de energía en SUN (default: 100_000)
|
|
47
|
+
*/
|
|
48
|
+
sendTRC20(params: TronTRC20TransferParams): Promise<TronTransactionResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Calcula los montos de comisión y principal a partir del total y la tasa.
|
|
51
|
+
* Redondea a enteros cuando el tipo lo requiere (TRC10).
|
|
52
|
+
*/
|
|
53
|
+
private splitAmount;
|
|
54
|
+
/**
|
|
55
|
+
* Envía TRX dividido en dos transacciones:
|
|
56
|
+
* 1. `amount * commission.rate` → wallet de comisión
|
|
57
|
+
* 2. `amount * (1 - commission.rate)` → destino original
|
|
58
|
+
*
|
|
59
|
+
* @param to Dirección destino original
|
|
60
|
+
* @param amount Total de TRX a enviar (legible)
|
|
61
|
+
* @param privateKey Clave privada del emisor
|
|
62
|
+
* @param commission Configuración de wallet base y porcentaje
|
|
63
|
+
*/
|
|
64
|
+
sendTrxSplit(to: string, amount: number, privateKey: string, commission: TronCommissionConfig): Promise<TronSplitResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Transfiere un token TRC10 dividido:
|
|
67
|
+
* 1. `amount * commission.rate` → wallet de comisión (floor al entero)
|
|
68
|
+
* 2. `amount - commissionAmount` → destino original
|
|
69
|
+
*/
|
|
70
|
+
sendTRC10Split(params: TronTRC10TransferParams, commission: TronCommissionConfig): Promise<TronSplitResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Transfiere un token TRC20 dividido:
|
|
73
|
+
* 1. `amount * commission.rate` → wallet de comisión
|
|
74
|
+
* 2. `amount * (1 - commission.rate)` → destino original
|
|
75
|
+
* El contrato se consulta una sola vez para los decimals.
|
|
76
|
+
*/
|
|
77
|
+
sendTRC20Split(params: TronTRC20TransferParams, commission: TronCommissionConfig): Promise<TronSplitResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Obtiene la dirección Base58 del firmante a partir de su privateKey.
|
|
80
|
+
*/
|
|
81
|
+
private getSenderAddress;
|
|
82
|
+
/**
|
|
83
|
+
* Envía TRX a múltiples destinatarios en UNA sola transacción atómica
|
|
84
|
+
* mediante el contrato TronMultisender.batchSendTRX().
|
|
85
|
+
*
|
|
86
|
+
* ✅ Atómico: si cualquier sub-transferencia falla, toda la TX se revierte.
|
|
87
|
+
* ⚠️ Requiere el contrato desplegado en la red (ver TronMultisender.sol).
|
|
88
|
+
*
|
|
89
|
+
* @param params.recipients Array de { address, amount (TRX legible) }
|
|
90
|
+
* @param params.privateKey Clave privada del emisor
|
|
91
|
+
* @param params.contractAddress Dirección Base58 del contrato desplegado
|
|
92
|
+
* @param params.feeLimit Energía máxima. Default: 500_000
|
|
93
|
+
*/
|
|
94
|
+
sendTrxBatchAtomic(params: TronTRXBatchParams): Promise<TronBatchResult>;
|
|
95
|
+
/**
|
|
96
|
+
* Ejecuta el paso previo de approve para batch TRC20.
|
|
97
|
+
* El emisor autoriza al contrato a gastar `totalRawAmount` del token.
|
|
98
|
+
*
|
|
99
|
+
* Llamar antes de sendTRC20BatchAtomic cuando el allowance sea insuficiente.
|
|
100
|
+
*/
|
|
101
|
+
approveTRC20Batch(privateKey: string, tokenContractAddress: string, batchContractAddress: string, totalRawAmount: bigint, feeLimit?: number): Promise<TronApproveResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Envía tokens TRC20 a múltiples destinatarios en UNA sola transacción atómica
|
|
104
|
+
* mediante el contrato TronMultisender.batchSendTRC20().
|
|
105
|
+
*
|
|
106
|
+
* ✅ Atómico: si cualquier sub-transferencia falla, toda la TX se revierte.
|
|
107
|
+
* ⚠️ Requiere approve previo con approveTRC20Batch() o allowance suficiente.
|
|
108
|
+
* ⚠️ Requiere el contrato desplegado en la red.
|
|
109
|
+
*
|
|
110
|
+
* @param params.decimals Si no se provee, se consulta al contrato (1 call extra)
|
|
111
|
+
*/
|
|
112
|
+
sendTRC20BatchAtomic(params: TronTRC20BatchParams): Promise<TronBatchResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Split TRX atómico: comisión + destino en UNA sola TX via contrato.
|
|
115
|
+
* Si cualquiera falla (ej. fondos insuficientes), NINGUNA se procesa.
|
|
116
|
+
*/
|
|
117
|
+
sendTrxSplitAtomic(to: string, amount: number, privateKey: string, commission: TronCommissionConfig, contractAddress: string, feeLimit?: number): Promise<TronBatchResult>;
|
|
118
|
+
/**
|
|
119
|
+
* Split TRC20 atómico: comisión + destino en UNA sola TX via contrato.
|
|
120
|
+
* Requiere approve previo con approveTRC20Batch().
|
|
121
|
+
*/
|
|
122
|
+
sendTRC20SplitAtomic(params: TronTRC20TransferParams, commission: TronCommissionConfig, batchContractAddress: string, feeLimit?: number): Promise<TronBatchResult>;
|
|
123
|
+
}
|
|
124
|
+
export declare const TRON_SERVICE: TronService;
|