@toon-protocol/connector 3.3.1 → 3.3.3
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/dist/btp/btp-claim-types.d.ts +52 -0
- package/dist/btp/btp-claim-types.d.ts.map +1 -0
- package/dist/btp/btp-claim-types.js +209 -0
- package/dist/btp/btp-claim-types.js.map +1 -0
- package/dist/btp/btp-client-manager.d.ts +30 -0
- package/dist/btp/btp-client-manager.d.ts.map +1 -0
- package/dist/btp/btp-client-manager.js +153 -0
- package/dist/btp/btp-client-manager.js.map +1 -0
- package/dist/btp/btp-client.d.ts +58 -0
- package/dist/btp/btp-client.d.ts.map +1 -0
- package/dist/btp/btp-client.js +485 -0
- package/dist/btp/btp-client.js.map +1 -0
- package/dist/btp/btp-message-parser.d.ts +4 -0
- package/dist/btp/btp-message-parser.d.ts.map +1 -0
- package/dist/btp/btp-message-parser.js +211 -0
- package/dist/btp/btp-message-parser.js.map +1 -0
- package/dist/btp/btp-server.d.ts +33 -0
- package/dist/btp/btp-server.d.ts.map +1 -0
- package/dist/btp/btp-server.js +485 -0
- package/dist/btp/btp-server.js.map +1 -0
- package/dist/btp/btp-types.d.ts +43 -0
- package/dist/btp/btp-types.d.ts.map +1 -0
- package/dist/btp/btp-types.js +44 -0
- package/dist/btp/btp-types.js.map +1 -0
- package/dist/btp/inbound-claim-validator.d.ts +20 -0
- package/dist/btp/inbound-claim-validator.d.ts.map +1 -0
- package/dist/btp/inbound-claim-validator.js +150 -0
- package/dist/btp/inbound-claim-validator.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +175 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/onboarding-wizard.d.ts +7 -0
- package/dist/cli/onboarding-wizard.d.ts.map +1 -0
- package/dist/cli/onboarding-wizard.js +257 -0
- package/dist/cli/onboarding-wizard.js.map +1 -0
- package/dist/cli/types.d.ts +38 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +3 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/config/config-loader.d.ts +24 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +436 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/environment-validator.d.ts +4 -0
- package/dist/config/environment-validator.d.ts.map +1 -0
- package/dist/config/environment-validator.js +239 -0
- package/dist/config/environment-validator.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/key-manager-config.d.ts +7 -0
- package/dist/config/key-manager-config.d.ts.map +1 -0
- package/dist/config/key-manager-config.js +209 -0
- package/dist/config/key-manager-config.js.map +1 -0
- package/dist/config/topology-validator.d.ts +14 -0
- package/dist/config/topology-validator.d.ts.map +1 -0
- package/dist/config/topology-validator.js +142 -0
- package/dist/config/topology-validator.js.map +1 -0
- package/dist/config/types.d.ts +226 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +52 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/connector-node.d.ts +91 -0
- package/dist/core/connector-node.d.ts.map +1 -0
- package/dist/core/connector-node.js +1322 -0
- package/dist/core/connector-node.js.map +1 -0
- package/dist/core/local-delivery-client.d.ts +16 -0
- package/dist/core/local-delivery-client.d.ts.map +1 -0
- package/dist/core/local-delivery-client.js +160 -0
- package/dist/core/local-delivery-client.js.map +1 -0
- package/dist/core/packet-handler.d.ts +57 -0
- package/dist/core/packet-handler.d.ts.map +1 -0
- package/dist/core/packet-handler.js +655 -0
- package/dist/core/packet-handler.js.map +1 -0
- package/dist/core/payment-handler.d.ts +26 -0
- package/dist/core/payment-handler.d.ts.map +1 -0
- package/dist/core/payment-handler.js +106 -0
- package/dist/core/payment-handler.js.map +1 -0
- package/dist/discovery/index.d.ts +3 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +6 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/peer-discovery-service.d.ts +29 -0
- package/dist/discovery/peer-discovery-service.d.ts.map +1 -0
- package/dist/discovery/peer-discovery-service.js +230 -0
- package/dist/discovery/peer-discovery-service.js.map +1 -0
- package/dist/discovery/types.d.ts +38 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +3 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/encoding/oer-parser.d.ts +39 -0
- package/dist/encoding/oer-parser.d.ts.map +1 -0
- package/dist/encoding/oer-parser.js +154 -0
- package/dist/encoding/oer-parser.js.map +1 -0
- package/dist/facilitator/index.d.ts +2 -0
- package/dist/facilitator/index.d.ts.map +1 -0
- package/dist/facilitator/index.js +7 -0
- package/dist/facilitator/index.js.map +1 -0
- package/dist/facilitator/spsp-client.d.ts +18 -0
- package/dist/facilitator/spsp-client.d.ts.map +1 -0
- package/dist/facilitator/spsp-client.js +95 -0
- package/dist/facilitator/spsp-client.js.map +1 -0
- package/dist/http/admin-api-inventory.d.ts +29 -0
- package/dist/http/admin-api-inventory.d.ts.map +1 -0
- package/dist/http/admin-api-inventory.js +480 -0
- package/dist/http/admin-api-inventory.js.map +1 -0
- package/dist/http/admin-api.d.ts +182 -0
- package/dist/http/admin-api.d.ts.map +1 -0
- package/dist/http/admin-api.js +1324 -0
- package/dist/http/admin-api.js.map +1 -0
- package/dist/http/admin-server.d.ts +49 -0
- package/dist/http/admin-server.d.ts.map +1 -0
- package/dist/http/admin-server.js +160 -0
- package/dist/http/admin-server.js.map +1 -0
- package/dist/http/health-server.d.ts +22 -0
- package/dist/http/health-server.d.ts.map +1 -0
- package/dist/http/health-server.js +192 -0
- package/dist/http/health-server.js.map +1 -0
- package/dist/http/ilp-send-handler.d.ts +15 -0
- package/dist/http/ilp-send-handler.d.ts.map +1 -0
- package/dist/http/ilp-send-handler.js +167 -0
- package/dist/http/ilp-send-handler.js.map +1 -0
- package/dist/http/types.d.ts +43 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/http/types.js +3 -0
- package/dist/http/types.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/lib.d.ts +22 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +39 -0
- package/dist/lib.js.map +1 -0
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +79 -0
- package/dist/main.js.map +1 -0
- package/dist/observability/metrics-registry.d.ts +39 -0
- package/dist/observability/metrics-registry.d.ts.map +1 -0
- package/dist/observability/metrics-registry.js +151 -0
- package/dist/observability/metrics-registry.js.map +1 -0
- package/dist/routing/packet-processor.d.ts +36 -0
- package/dist/routing/packet-processor.d.ts.map +1 -0
- package/dist/routing/packet-processor.js +112 -0
- package/dist/routing/packet-processor.js.map +1 -0
- package/dist/routing/packet-worker.d.ts +10 -0
- package/dist/routing/packet-worker.d.ts.map +1 -0
- package/dist/routing/packet-worker.js +34 -0
- package/dist/routing/packet-worker.js.map +1 -0
- package/dist/routing/routing-table.d.ts +15 -0
- package/dist/routing/routing-table.d.ts.map +1 -0
- package/dist/routing/routing-table.js +63 -0
- package/dist/routing/routing-table.js.map +1 -0
- package/dist/routing/worker-pool.d.ts +43 -0
- package/dist/routing/worker-pool.d.ts.map +1 -0
- package/dist/routing/worker-pool.js +228 -0
- package/dist/routing/worker-pool.js.map +1 -0
- package/dist/security/alert-notifier.d.ts +34 -0
- package/dist/security/alert-notifier.d.ts.map +1 -0
- package/dist/security/alert-notifier.js +136 -0
- package/dist/security/alert-notifier.js.map +1 -0
- package/dist/security/audit-logger.d.ts +34 -0
- package/dist/security/audit-logger.d.ts.map +1 -0
- package/dist/security/audit-logger.js +132 -0
- package/dist/security/audit-logger.js.map +1 -0
- package/dist/security/backends/environment-backend.d.ts +15 -0
- package/dist/security/backends/environment-backend.d.ts.map +1 -0
- package/dist/security/backends/environment-backend.js +56 -0
- package/dist/security/backends/environment-backend.js.map +1 -0
- package/dist/security/fraud-detector.d.ts +79 -0
- package/dist/security/fraud-detector.d.ts.map +1 -0
- package/dist/security/fraud-detector.js +147 -0
- package/dist/security/fraud-detector.js.map +1 -0
- package/dist/security/key-manager-signer.d.ts +15 -0
- package/dist/security/key-manager-signer.d.ts.map +1 -0
- package/dist/security/key-manager-signer.js +91 -0
- package/dist/security/key-manager-signer.js.map +1 -0
- package/dist/security/key-manager.d.ts +69 -0
- package/dist/security/key-manager.d.ts.map +1 -0
- package/dist/security/key-manager.js +79 -0
- package/dist/security/key-manager.js.map +1 -0
- package/dist/security/key-rotation-manager.d.ts +27 -0
- package/dist/security/key-rotation-manager.d.ts.map +1 -0
- package/dist/security/key-rotation-manager.js +142 -0
- package/dist/security/key-rotation-manager.js.map +1 -0
- package/dist/security/rate-limit-config.d.ts +7 -0
- package/dist/security/rate-limit-config.d.ts.map +1 -0
- package/dist/security/rate-limit-config.js +57 -0
- package/dist/security/rate-limit-config.js.map +1 -0
- package/dist/security/rate-limiter.d.ts +46 -0
- package/dist/security/rate-limiter.d.ts.map +1 -0
- package/dist/security/rate-limiter.js +170 -0
- package/dist/security/rate-limiter.js.map +1 -0
- package/dist/security/reputation-tracker.d.ts +30 -0
- package/dist/security/reputation-tracker.d.ts.map +1 -0
- package/dist/security/reputation-tracker.js +111 -0
- package/dist/security/reputation-tracker.js.map +1 -0
- package/dist/security/rules/balance-manipulation-rule.d.ts +23 -0
- package/dist/security/rules/balance-manipulation-rule.d.ts.map +1 -0
- package/dist/security/rules/balance-manipulation-rule.js +70 -0
- package/dist/security/rules/balance-manipulation-rule.js.map +1 -0
- package/dist/security/rules/double-spend-detection-rule.d.ts +23 -0
- package/dist/security/rules/double-spend-detection-rule.d.ts.map +1 -0
- package/dist/security/rules/double-spend-detection-rule.js +61 -0
- package/dist/security/rules/double-spend-detection-rule.js.map +1 -0
- package/dist/security/rules/rapid-channel-closure-rule.d.ts +16 -0
- package/dist/security/rules/rapid-channel-closure-rule.d.ts.map +1 -0
- package/dist/security/rules/rapid-channel-closure-rule.js +57 -0
- package/dist/security/rules/rapid-channel-closure-rule.js.map +1 -0
- package/dist/security/rules/sudden-traffic-spike-rule.d.ts +18 -0
- package/dist/security/rules/sudden-traffic-spike-rule.d.ts.map +1 -0
- package/dist/security/rules/sudden-traffic-spike-rule.js +92 -0
- package/dist/security/rules/sudden-traffic-spike-rule.js.map +1 -0
- package/dist/security/rules/unusual-settlement-amount-rule.d.ts +12 -0
- package/dist/security/rules/unusual-settlement-amount-rule.d.ts.map +1 -0
- package/dist/security/rules/unusual-settlement-amount-rule.js +33 -0
- package/dist/security/rules/unusual-settlement-amount-rule.js.map +1 -0
- package/dist/security/token-bucket.d.ts +16 -0
- package/dist/security/token-bucket.d.ts.map +1 -0
- package/dist/security/token-bucket.js +49 -0
- package/dist/security/token-bucket.js.map +1 -0
- package/dist/security/violation-counter.d.ts +11 -0
- package/dist/security/violation-counter.d.ts.map +1 -0
- package/dist/security/violation-counter.js +61 -0
- package/dist/security/violation-counter.js.map +1 -0
- package/dist/settlement/account-id-generator.d.ts +4 -0
- package/dist/settlement/account-id-generator.d.ts.map +1 -0
- package/dist/settlement/account-id-generator.js +38 -0
- package/dist/settlement/account-id-generator.js.map +1 -0
- package/dist/settlement/account-manager.d.ts +51 -0
- package/dist/settlement/account-manager.d.ts.map +1 -0
- package/dist/settlement/account-manager.js +459 -0
- package/dist/settlement/account-manager.js.map +1 -0
- package/dist/settlement/account-metadata.d.ts +11 -0
- package/dist/settlement/account-metadata.d.ts.map +1 -0
- package/dist/settlement/account-metadata.js +40 -0
- package/dist/settlement/account-metadata.js.map +1 -0
- package/dist/settlement/channel-manager.d.ts +67 -0
- package/dist/settlement/channel-manager.d.ts.map +1 -0
- package/dist/settlement/channel-manager.js +226 -0
- package/dist/settlement/channel-manager.js.map +1 -0
- package/dist/settlement/claim-receiver-db-schema.d.ts +4 -0
- package/dist/settlement/claim-receiver-db-schema.d.ts.map +1 -0
- package/dist/settlement/claim-receiver-db-schema.js +25 -0
- package/dist/settlement/claim-receiver-db-schema.js.map +1 -0
- package/dist/settlement/claim-receiver.d.ts +67 -0
- package/dist/settlement/claim-receiver.d.ts.map +1 -0
- package/dist/settlement/claim-receiver.js +707 -0
- package/dist/settlement/claim-receiver.js.map +1 -0
- package/dist/settlement/claim-redemption-service.d.ts +39 -0
- package/dist/settlement/claim-redemption-service.d.ts.map +1 -0
- package/dist/settlement/claim-redemption-service.js +189 -0
- package/dist/settlement/claim-redemption-service.js.map +1 -0
- package/dist/settlement/claim-sender-db-schema.d.ts +3 -0
- package/dist/settlement/claim-sender-db-schema.d.ts.map +1 -0
- package/dist/settlement/claim-sender-db-schema.js +18 -0
- package/dist/settlement/claim-sender-db-schema.js.map +1 -0
- package/dist/settlement/claim-sender.d.ts +24 -0
- package/dist/settlement/claim-sender.d.ts.map +1 -0
- package/dist/settlement/claim-sender.js +146 -0
- package/dist/settlement/claim-sender.js.map +1 -0
- package/dist/settlement/eip712-helper.d.ts +13 -0
- package/dist/settlement/eip712-helper.d.ts.map +1 -0
- package/dist/settlement/eip712-helper.js +24 -0
- package/dist/settlement/eip712-helper.js.map +1 -0
- package/dist/settlement/in-memory-ledger-client.d.ts +40 -0
- package/dist/settlement/in-memory-ledger-client.d.ts.map +1 -0
- package/dist/settlement/in-memory-ledger-client.js +177 -0
- package/dist/settlement/in-memory-ledger-client.js.map +1 -0
- package/dist/settlement/ledger-client.d.ts +22 -0
- package/dist/settlement/ledger-client.d.ts.map +1 -0
- package/dist/settlement/ledger-client.js +3 -0
- package/dist/settlement/ledger-client.js.map +1 -0
- package/dist/settlement/metrics-collector.d.ts +29 -0
- package/dist/settlement/metrics-collector.d.ts.map +1 -0
- package/dist/settlement/metrics-collector.js +81 -0
- package/dist/settlement/metrics-collector.js.map +1 -0
- package/dist/settlement/mina-payment-channel-sdk.d.ts +73 -0
- package/dist/settlement/mina-payment-channel-sdk.d.ts.map +1 -0
- package/dist/settlement/mina-payment-channel-sdk.js +538 -0
- package/dist/settlement/mina-payment-channel-sdk.js.map +1 -0
- package/dist/settlement/payment-channel-sdk.d.ts +59 -0
- package/dist/settlement/payment-channel-sdk.d.ts.map +1 -0
- package/dist/settlement/payment-channel-sdk.js +677 -0
- package/dist/settlement/payment-channel-sdk.js.map +1 -0
- package/dist/settlement/per-packet-claim-service.d.ts +39 -0
- package/dist/settlement/per-packet-claim-service.d.ts.map +1 -0
- package/dist/settlement/per-packet-claim-service.js +342 -0
- package/dist/settlement/per-packet-claim-service.js.map +1 -0
- package/dist/settlement/privacy/index.d.ts +3 -0
- package/dist/settlement/privacy/index.d.ts.map +1 -0
- package/dist/settlement/privacy/index.js +11 -0
- package/dist/settlement/privacy/index.js.map +1 -0
- package/dist/settlement/privacy/nip59-claim-wrapper.d.ts +60 -0
- package/dist/settlement/privacy/nip59-claim-wrapper.d.ts.map +1 -0
- package/dist/settlement/privacy/nip59-claim-wrapper.js +361 -0
- package/dist/settlement/privacy/nip59-claim-wrapper.js.map +1 -0
- package/dist/settlement/provider/chain-provider-registry.d.ts +20 -0
- package/dist/settlement/provider/chain-provider-registry.d.ts.map +1 -0
- package/dist/settlement/provider/chain-provider-registry.js +53 -0
- package/dist/settlement/provider/chain-provider-registry.js.map +1 -0
- package/dist/settlement/provider/evm-payment-channel-provider.d.ts +31 -0
- package/dist/settlement/provider/evm-payment-channel-provider.d.ts.map +1 -0
- package/dist/settlement/provider/evm-payment-channel-provider.js +207 -0
- package/dist/settlement/provider/evm-payment-channel-provider.js.map +1 -0
- package/dist/settlement/provider/index.d.ts +6 -0
- package/dist/settlement/provider/index.d.ts.map +1 -0
- package/dist/settlement/provider/index.js +16 -0
- package/dist/settlement/provider/index.js.map +1 -0
- package/dist/settlement/provider/mina-payment-channel-provider.d.ts +43 -0
- package/dist/settlement/provider/mina-payment-channel-provider.d.ts.map +1 -0
- package/dist/settlement/provider/mina-payment-channel-provider.js +330 -0
- package/dist/settlement/provider/mina-payment-channel-provider.js.map +1 -0
- package/dist/settlement/provider/payment-channel-provider.d.ts +88 -0
- package/dist/settlement/provider/payment-channel-provider.d.ts.map +1 -0
- package/dist/settlement/provider/payment-channel-provider.js +3 -0
- package/dist/settlement/provider/payment-channel-provider.js.map +1 -0
- package/dist/settlement/provider/solana-payment-channel-provider.d.ts +38 -0
- package/dist/settlement/provider/solana-payment-channel-provider.d.ts.map +1 -0
- package/dist/settlement/provider/solana-payment-channel-provider.js +262 -0
- package/dist/settlement/provider/solana-payment-channel-provider.js.map +1 -0
- package/dist/settlement/sent-claims-queries.d.ts +23 -0
- package/dist/settlement/sent-claims-queries.d.ts.map +1 -0
- package/dist/settlement/sent-claims-queries.js +134 -0
- package/dist/settlement/sent-claims-queries.js.map +1 -0
- package/dist/settlement/settlement-api.d.ts +37 -0
- package/dist/settlement/settlement-api.d.ts.map +1 -0
- package/dist/settlement/settlement-api.js +172 -0
- package/dist/settlement/settlement-api.js.map +1 -0
- package/dist/settlement/settlement-coordinator.d.ts +47 -0
- package/dist/settlement/settlement-coordinator.d.ts.map +1 -0
- package/dist/settlement/settlement-coordinator.js +166 -0
- package/dist/settlement/settlement-coordinator.js.map +1 -0
- package/dist/settlement/settlement-executor.d.ts +51 -0
- package/dist/settlement/settlement-executor.d.ts.map +1 -0
- package/dist/settlement/settlement-executor.js +265 -0
- package/dist/settlement/settlement-executor.js.map +1 -0
- package/dist/settlement/settlement-monitor.d.ts +30 -0
- package/dist/settlement/settlement-monitor.d.ts.map +1 -0
- package/dist/settlement/settlement-monitor.js +141 -0
- package/dist/settlement/settlement-monitor.js.map +1 -0
- package/dist/settlement/solana-payment-channel-sdk.d.ts +79 -0
- package/dist/settlement/solana-payment-channel-sdk.d.ts.map +1 -0
- package/dist/settlement/solana-payment-channel-sdk.js +636 -0
- package/dist/settlement/solana-payment-channel-sdk.js.map +1 -0
- package/dist/settlement/tigerbeetle-batch-writer.d.ts +58 -0
- package/dist/settlement/tigerbeetle-batch-writer.d.ts.map +1 -0
- package/dist/settlement/tigerbeetle-batch-writer.js +162 -0
- package/dist/settlement/tigerbeetle-batch-writer.js.map +1 -0
- package/dist/settlement/tigerbeetle-client.d.ts +40 -0
- package/dist/settlement/tigerbeetle-client.d.ts.map +1 -0
- package/dist/settlement/tigerbeetle-client.js +279 -0
- package/dist/settlement/tigerbeetle-client.js.map +1 -0
- package/dist/settlement/tigerbeetle-errors.d.ts +23 -0
- package/dist/settlement/tigerbeetle-errors.d.ts.map +1 -0
- package/dist/settlement/tigerbeetle-errors.js +58 -0
- package/dist/settlement/tigerbeetle-errors.js.map +1 -0
- package/dist/settlement/types.d.ts +64 -0
- package/dist/settlement/types.d.ts.map +1 -0
- package/dist/settlement/types.js +42 -0
- package/dist/settlement/types.js.map +1 -0
- package/dist/settlement/unified-settlement-executor.d.ts +34 -0
- package/dist/settlement/unified-settlement-executor.d.ts.map +1 -0
- package/dist/settlement/unified-settlement-executor.js +145 -0
- package/dist/settlement/unified-settlement-executor.js.map +1 -0
- package/dist/test-utils/index.d.ts +3 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/index.js +15 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/test-utils/isolated-test-env.d.ts +31 -0
- package/dist/test-utils/isolated-test-env.d.ts.map +1 -0
- package/dist/test-utils/isolated-test-env.js +127 -0
- package/dist/test-utils/isolated-test-env.js.map +1 -0
- package/dist/test-utils/mock-factories-patch.d.ts +2 -0
- package/dist/test-utils/mock-factories-patch.d.ts.map +1 -0
- package/dist/test-utils/mock-factories-patch.js +3 -0
- package/dist/test-utils/mock-factories-patch.js.map +1 -0
- package/dist/test-utils/mock-factories.d.ts +22 -0
- package/dist/test-utils/mock-factories.d.ts.map +1 -0
- package/dist/test-utils/mock-factories.js +56 -0
- package/dist/test-utils/mock-factories.js.map +1 -0
- package/dist/transport/direct-transport-provider.d.ts +12 -0
- package/dist/transport/direct-transport-provider.d.ts.map +1 -0
- package/dist/transport/direct-transport-provider.js +27 -0
- package/dist/transport/direct-transport-provider.js.map +1 -0
- package/dist/transport/index.d.ts +7 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +16 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/managed-anon-client.d.ts +47 -0
- package/dist/transport/managed-anon-client.d.ts.map +1 -0
- package/dist/transport/managed-anon-client.js +265 -0
- package/dist/transport/managed-anon-client.js.map +1 -0
- package/dist/transport/probe-tcp-port.d.ts +3 -0
- package/dist/transport/probe-tcp-port.d.ts.map +1 -0
- package/dist/transport/probe-tcp-port.js +59 -0
- package/dist/transport/probe-tcp-port.js.map +1 -0
- package/dist/transport/socks-transport-provider.d.ts +29 -0
- package/dist/transport/socks-transport-provider.d.ts.map +1 -0
- package/dist/transport/socks-transport-provider.js +136 -0
- package/dist/transport/socks-transport-provider.js.map +1 -0
- package/dist/transport/socks-url.d.ts +6 -0
- package/dist/transport/socks-url.d.ts.map +1 -0
- package/dist/transport/socks-url.js +29 -0
- package/dist/transport/socks-url.js.map +1 -0
- package/dist/transport/transport-provider.d.ts +9 -0
- package/dist/transport/transport-provider.d.ts.map +1 -0
- package/dist/transport/transport-provider.js +3 -0
- package/dist/transport/transport-provider.js.map +1 -0
- package/dist/utils/connection-pool.d.ts +42 -0
- package/dist/utils/connection-pool.d.ts.map +1 -0
- package/dist/utils/connection-pool.js +209 -0
- package/dist/utils/connection-pool.js.map +1 -0
- package/dist/utils/evm-rpc-connection-pool.d.ts +8 -0
- package/dist/utils/evm-rpc-connection-pool.d.ts.map +1 -0
- package/dist/utils/evm-rpc-connection-pool.js +40 -0
- package/dist/utils/evm-rpc-connection-pool.js.map +1 -0
- package/dist/utils/logger.d.ts +6 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +58 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/optional-require.d.ts +2 -0
- package/dist/utils/optional-require.d.ts.map +1 -0
- package/dist/utils/optional-require.js +54 -0
- package/dist/utils/optional-require.js.map +1 -0
- package/dist/utils/redact.d.ts +3 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +21 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/wallet/audit-logger.d.ts +22 -0
- package/dist/wallet/audit-logger.d.ts.map +1 -0
- package/dist/wallet/audit-logger.js +120 -0
- package/dist/wallet/audit-logger.js.map +1 -0
- package/dist/wallet/fraud-detector-interface.d.ts +14 -0
- package/dist/wallet/fraud-detector-interface.d.ts.map +1 -0
- package/dist/wallet/fraud-detector-interface.js +3 -0
- package/dist/wallet/fraud-detector-interface.js.map +1 -0
- package/dist/wallet/key-manager.d.ts +6 -0
- package/dist/wallet/key-manager.d.ts.map +1 -0
- package/dist/wallet/key-manager.js +3 -0
- package/dist/wallet/key-manager.js.map +1 -0
- package/dist/wallet/rate-limiter.d.ts +26 -0
- package/dist/wallet/rate-limiter.d.ts.map +1 -0
- package/dist/wallet/rate-limiter.js +114 -0
- package/dist/wallet/rate-limiter.js.map +1 -0
- package/dist/wallet/suspicious-activity-detector.d.ts +25 -0
- package/dist/wallet/suspicious-activity-detector.d.ts.map +1 -0
- package/dist/wallet/suspicious-activity-detector.js +97 -0
- package/dist/wallet/suspicious-activity-detector.js.map +1 -0
- package/dist/wallet/treasury-wallet.d.ts +20 -0
- package/dist/wallet/treasury-wallet.d.ts.map +1 -0
- package/dist/wallet/treasury-wallet.js +151 -0
- package/dist/wallet/treasury-wallet.js.map +1 -0
- package/dist/wallet/wallet-authentication.d.ts +31 -0
- package/dist/wallet/wallet-authentication.d.ts.map +1 -0
- package/dist/wallet/wallet-authentication.js +102 -0
- package/dist/wallet/wallet-authentication.js.map +1 -0
- package/dist/wallet/wallet-db-schema.d.ts +11 -0
- package/dist/wallet/wallet-db-schema.d.ts.map +1 -0
- package/dist/wallet/wallet-db-schema.js +79 -0
- package/dist/wallet/wallet-db-schema.js.map +1 -0
- package/dist/wallet/wallet-security.d.ts +58 -0
- package/dist/wallet/wallet-security.d.ts.map +1 -0
- package/dist/wallet/wallet-security.js +148 -0
- package/dist/wallet/wallet-security.js.map +1 -0
- package/dist/wallet/wallet-seed-manager.d.ts +65 -0
- package/dist/wallet/wallet-seed-manager.d.ts.map +1 -0
- package/dist/wallet/wallet-seed-manager.js +418 -0
- package/dist/wallet/wallet-seed-manager.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export type BlockchainType = 'evm' | 'solana' | 'mina';
|
|
2
|
+
export interface BaseClaimMessage {
|
|
3
|
+
version: '1.0';
|
|
4
|
+
blockchain: BlockchainType;
|
|
5
|
+
messageId: string;
|
|
6
|
+
timestamp: string;
|
|
7
|
+
senderId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface EVMClaimMessage extends BaseClaimMessage {
|
|
10
|
+
blockchain: 'evm';
|
|
11
|
+
channelId: string;
|
|
12
|
+
nonce: number;
|
|
13
|
+
transferredAmount: string;
|
|
14
|
+
lockedAmount: string;
|
|
15
|
+
locksRoot: string;
|
|
16
|
+
signature: string;
|
|
17
|
+
signerAddress: string;
|
|
18
|
+
chainId?: number;
|
|
19
|
+
tokenNetworkAddress?: string;
|
|
20
|
+
tokenAddress?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface SolanaClaimMessage extends BaseClaimMessage {
|
|
23
|
+
blockchain: 'solana';
|
|
24
|
+
programId: string;
|
|
25
|
+
channelAccount: string;
|
|
26
|
+
nonce: number;
|
|
27
|
+
transferredAmount: string;
|
|
28
|
+
signature: string;
|
|
29
|
+
signerPublicKey: string;
|
|
30
|
+
cluster?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface MinaClaimMessage extends BaseClaimMessage {
|
|
33
|
+
blockchain: 'mina';
|
|
34
|
+
zkAppAddress: string;
|
|
35
|
+
tokenId: string;
|
|
36
|
+
balanceCommitment: string;
|
|
37
|
+
nonce: number;
|
|
38
|
+
proof: string;
|
|
39
|
+
salt: string;
|
|
40
|
+
network?: string;
|
|
41
|
+
}
|
|
42
|
+
export type BTPClaimMessage = EVMClaimMessage | SolanaClaimMessage | MinaClaimMessage;
|
|
43
|
+
export declare const BTP_CLAIM_PROTOCOL: {
|
|
44
|
+
readonly NAME: "payment-channel-claim";
|
|
45
|
+
readonly CONTENT_TYPE: 1;
|
|
46
|
+
readonly VERSION: "1.0";
|
|
47
|
+
};
|
|
48
|
+
export declare function isEVMClaim(msg: BTPClaimMessage): msg is EVMClaimMessage;
|
|
49
|
+
export declare function isSolanaClaim(msg: BTPClaimMessage): msg is SolanaClaimMessage;
|
|
50
|
+
export declare function isMinaClaim(msg: BTPClaimMessage): msg is MinaClaimMessage;
|
|
51
|
+
export declare function validateClaimMessage(msg: unknown): asserts msg is BTPClaimMessage;
|
|
52
|
+
//# sourceMappingURL=btp-claim-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"btp-claim-types.d.ts","sourceRoot":"","sources":["../../src/btp/btp-claim-types.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAYvD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0CD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,UAAU,EAAE,KAAK,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiBD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,UAAU,EAAE,QAAQ,CAAC;IAErB,SAAS,EAAE,MAAM,CAAC;IAElB,cAAc,EAAE,MAAM,CAAC;IAEvB,KAAK,EAAE,MAAM,CAAC;IAEd,iBAAiB,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;IAElB,eAAe,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiBD,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAUhB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAUtF,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAaX,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,IAAI,eAAe,CAEvE;AAaD,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,IAAI,kBAAkB,CAE7E;AAaD,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,IAAI,gBAAgB,CAEzE;AA4OD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,eAAe,CAoDjF"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BTP_CLAIM_PROTOCOL = void 0;
|
|
4
|
+
exports.isEVMClaim = isEVMClaim;
|
|
5
|
+
exports.isSolanaClaim = isSolanaClaim;
|
|
6
|
+
exports.isMinaClaim = isMinaClaim;
|
|
7
|
+
exports.validateClaimMessage = validateClaimMessage;
|
|
8
|
+
exports.BTP_CLAIM_PROTOCOL = {
|
|
9
|
+
NAME: 'payment-channel-claim',
|
|
10
|
+
CONTENT_TYPE: 1,
|
|
11
|
+
VERSION: '1.0',
|
|
12
|
+
};
|
|
13
|
+
function isEVMClaim(msg) {
|
|
14
|
+
return msg.blockchain === 'evm';
|
|
15
|
+
}
|
|
16
|
+
function isSolanaClaim(msg) {
|
|
17
|
+
return msg.blockchain === 'solana';
|
|
18
|
+
}
|
|
19
|
+
function isMinaClaim(msg) {
|
|
20
|
+
return msg.blockchain === 'mina';
|
|
21
|
+
}
|
|
22
|
+
function validateSolanaClaim(claim) {
|
|
23
|
+
if (!claim.programId || typeof claim.programId !== 'string') {
|
|
24
|
+
throw new Error('Missing or invalid programId (expected non-empty string)');
|
|
25
|
+
}
|
|
26
|
+
if (!claim.channelAccount || typeof claim.channelAccount !== 'string') {
|
|
27
|
+
throw new Error('Missing or invalid channelAccount (expected non-empty string)');
|
|
28
|
+
}
|
|
29
|
+
if (claim.nonce === undefined ||
|
|
30
|
+
typeof claim.nonce !== 'number' ||
|
|
31
|
+
!Number.isInteger(claim.nonce) ||
|
|
32
|
+
claim.nonce < 0) {
|
|
33
|
+
throw new Error('Missing or invalid nonce (expected non-negative integer)');
|
|
34
|
+
}
|
|
35
|
+
if (!claim.transferredAmount || typeof claim.transferredAmount !== 'string') {
|
|
36
|
+
throw new Error('Missing or invalid transferredAmount (expected non-empty string)');
|
|
37
|
+
}
|
|
38
|
+
if (!claim.signature || typeof claim.signature !== 'string') {
|
|
39
|
+
throw new Error('Missing or invalid signature (expected non-empty string)');
|
|
40
|
+
}
|
|
41
|
+
if (!claim.signerPublicKey || typeof claim.signerPublicKey !== 'string') {
|
|
42
|
+
throw new Error('Missing or invalid signerPublicKey (expected non-empty string)');
|
|
43
|
+
}
|
|
44
|
+
const base58Regex = /^[1-9A-HJ-NP-Za-km-z]{32,44}$/;
|
|
45
|
+
if (!base58Regex.test(claim.programId)) {
|
|
46
|
+
throw new Error('Invalid programId format (expected base58-encoded Solana address)');
|
|
47
|
+
}
|
|
48
|
+
if (!base58Regex.test(claim.channelAccount)) {
|
|
49
|
+
throw new Error('Invalid channelAccount format (expected base58-encoded Solana address)');
|
|
50
|
+
}
|
|
51
|
+
if (!base58Regex.test(claim.signerPublicKey)) {
|
|
52
|
+
throw new Error('Invalid signerPublicKey format (expected base58-encoded Solana public key)');
|
|
53
|
+
}
|
|
54
|
+
if (!/^\d+$/.test(claim.transferredAmount)) {
|
|
55
|
+
throw new Error('Invalid transferredAmount (expected non-negative integer string)');
|
|
56
|
+
}
|
|
57
|
+
if (claim.cluster !== undefined) {
|
|
58
|
+
if (typeof claim.cluster !== 'string') {
|
|
59
|
+
throw new Error('Invalid cluster (expected string)');
|
|
60
|
+
}
|
|
61
|
+
const validClusters = ['mainnet-beta', 'devnet', 'testnet', 'localnet'];
|
|
62
|
+
if (!validClusters.includes(claim.cluster)) {
|
|
63
|
+
throw new Error(`Invalid cluster (expected one of: ${validClusters.join(', ')})`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function validateMinaClaim(claim) {
|
|
68
|
+
const minaAddressRegex = /^B62[1-9A-HJ-NP-Za-km-z]{52}$/;
|
|
69
|
+
if (!claim.zkAppAddress || typeof claim.zkAppAddress !== 'string') {
|
|
70
|
+
throw new Error('Missing or invalid zkAppAddress (expected non-empty string)');
|
|
71
|
+
}
|
|
72
|
+
if (!minaAddressRegex.test(claim.zkAppAddress)) {
|
|
73
|
+
throw new Error('Invalid zkAppAddress format (expected B62-prefixed base58 Mina address, 55 chars)');
|
|
74
|
+
}
|
|
75
|
+
if (!claim.tokenId || typeof claim.tokenId !== 'string') {
|
|
76
|
+
throw new Error('Missing or invalid tokenId (expected non-empty string)');
|
|
77
|
+
}
|
|
78
|
+
if (!claim.balanceCommitment || typeof claim.balanceCommitment !== 'string') {
|
|
79
|
+
throw new Error('Missing or invalid balanceCommitment (expected non-empty string)');
|
|
80
|
+
}
|
|
81
|
+
if (claim.nonce === undefined ||
|
|
82
|
+
typeof claim.nonce !== 'number' ||
|
|
83
|
+
!Number.isInteger(claim.nonce) ||
|
|
84
|
+
claim.nonce < 0) {
|
|
85
|
+
throw new Error('Missing or invalid nonce (expected non-negative integer)');
|
|
86
|
+
}
|
|
87
|
+
if (!claim.proof || typeof claim.proof !== 'string') {
|
|
88
|
+
throw new Error('Missing or invalid proof (expected non-empty string)');
|
|
89
|
+
}
|
|
90
|
+
const base64Regex = /^[A-Za-z0-9+/]+=*$/;
|
|
91
|
+
if (!base64Regex.test(claim.proof)) {
|
|
92
|
+
throw new Error('Invalid proof format (expected base64-encoded zk-SNARK proof)');
|
|
93
|
+
}
|
|
94
|
+
if (!claim.salt || typeof claim.salt !== 'string') {
|
|
95
|
+
throw new Error('Missing or invalid salt (expected non-empty string)');
|
|
96
|
+
}
|
|
97
|
+
if (claim.network !== undefined) {
|
|
98
|
+
if (typeof claim.network !== 'string') {
|
|
99
|
+
throw new Error('Invalid network (expected string)');
|
|
100
|
+
}
|
|
101
|
+
const validNetworks = ['mainnet', 'devnet', 'berkeley', 'lightnet'];
|
|
102
|
+
if (!validNetworks.includes(claim.network)) {
|
|
103
|
+
throw new Error(`Invalid network (expected one of: ${validNetworks.join(', ')})`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function validateEVMClaim(claim) {
|
|
108
|
+
if (!claim.channelId || typeof claim.channelId !== 'string') {
|
|
109
|
+
throw new Error('Missing or invalid channelId (expected non-empty string)');
|
|
110
|
+
}
|
|
111
|
+
if (claim.nonce === undefined ||
|
|
112
|
+
typeof claim.nonce !== 'number' ||
|
|
113
|
+
!Number.isInteger(claim.nonce) ||
|
|
114
|
+
claim.nonce < 0) {
|
|
115
|
+
throw new Error('Missing or invalid nonce (expected non-negative integer)');
|
|
116
|
+
}
|
|
117
|
+
if (!claim.transferredAmount || typeof claim.transferredAmount !== 'string') {
|
|
118
|
+
throw new Error('Missing or invalid transferredAmount (expected non-empty string)');
|
|
119
|
+
}
|
|
120
|
+
if (!claim.lockedAmount || typeof claim.lockedAmount !== 'string') {
|
|
121
|
+
throw new Error('Missing or invalid lockedAmount (expected non-empty string)');
|
|
122
|
+
}
|
|
123
|
+
if (!claim.locksRoot || typeof claim.locksRoot !== 'string') {
|
|
124
|
+
throw new Error('Missing or invalid locksRoot (expected non-empty string)');
|
|
125
|
+
}
|
|
126
|
+
if (!claim.signature || typeof claim.signature !== 'string') {
|
|
127
|
+
throw new Error('Missing or invalid signature (expected non-empty string)');
|
|
128
|
+
}
|
|
129
|
+
if (!claim.signerAddress || typeof claim.signerAddress !== 'string') {
|
|
130
|
+
throw new Error('Missing or invalid signerAddress (expected non-empty string)');
|
|
131
|
+
}
|
|
132
|
+
if (!/^0x[0-9a-fA-F]{64}$/.test(claim.channelId)) {
|
|
133
|
+
throw new Error('Invalid channelId format (expected 0x-prefixed 64-char hex)');
|
|
134
|
+
}
|
|
135
|
+
if (!/^0x[0-9a-fA-F]{40}$/.test(claim.signerAddress)) {
|
|
136
|
+
throw new Error('Invalid signerAddress format (expected 0x-prefixed 40-char hex)');
|
|
137
|
+
}
|
|
138
|
+
if (!/^0x[0-9a-fA-F]{64}$/.test(claim.locksRoot)) {
|
|
139
|
+
throw new Error('Invalid locksRoot format (expected 0x-prefixed 64-char hex)');
|
|
140
|
+
}
|
|
141
|
+
if (!/^\d+$/.test(claim.transferredAmount)) {
|
|
142
|
+
throw new Error('Invalid transferredAmount (expected non-negative integer string)');
|
|
143
|
+
}
|
|
144
|
+
if (!/^\d+$/.test(claim.lockedAmount)) {
|
|
145
|
+
throw new Error('Invalid lockedAmount (expected non-negative integer string)');
|
|
146
|
+
}
|
|
147
|
+
if (claim.chainId !== undefined) {
|
|
148
|
+
if (typeof claim.chainId !== 'number' ||
|
|
149
|
+
!Number.isInteger(claim.chainId) ||
|
|
150
|
+
claim.chainId <= 0) {
|
|
151
|
+
throw new Error('Invalid chainId (expected positive integer)');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (claim.tokenNetworkAddress !== undefined) {
|
|
155
|
+
if (typeof claim.tokenNetworkAddress !== 'string') {
|
|
156
|
+
throw new Error('Invalid tokenNetworkAddress (expected string)');
|
|
157
|
+
}
|
|
158
|
+
if (!/^0x[0-9a-fA-F]{40}$/.test(claim.tokenNetworkAddress)) {
|
|
159
|
+
throw new Error('Invalid tokenNetworkAddress format (expected 0x-prefixed 40-char hex)');
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (claim.tokenAddress !== undefined) {
|
|
163
|
+
if (typeof claim.tokenAddress !== 'string') {
|
|
164
|
+
throw new Error('Invalid tokenAddress (expected string)');
|
|
165
|
+
}
|
|
166
|
+
if (!/^0x[0-9a-fA-F]{40}$/.test(claim.tokenAddress)) {
|
|
167
|
+
throw new Error('Invalid tokenAddress format (expected 0x-prefixed 40-char hex)');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function validateClaimMessage(msg) {
|
|
172
|
+
if (typeof msg !== 'object' || msg === null) {
|
|
173
|
+
throw new Error('Claim message must be an object');
|
|
174
|
+
}
|
|
175
|
+
const claim = msg;
|
|
176
|
+
if (claim.version !== '1.0') {
|
|
177
|
+
const sanitizedVersion = String(claim.version ?? '').slice(0, 20);
|
|
178
|
+
throw new Error(`Invalid version (expected '1.0', got '${sanitizedVersion}')`);
|
|
179
|
+
}
|
|
180
|
+
if (!claim.blockchain || typeof claim.blockchain !== 'string') {
|
|
181
|
+
throw new Error('Missing or invalid blockchain field (expected non-empty string)');
|
|
182
|
+
}
|
|
183
|
+
if (!claim.messageId || typeof claim.messageId !== 'string') {
|
|
184
|
+
throw new Error('Missing or invalid messageId (expected non-empty string)');
|
|
185
|
+
}
|
|
186
|
+
if (!claim.timestamp || typeof claim.timestamp !== 'string') {
|
|
187
|
+
throw new Error('Missing or invalid timestamp (expected ISO 8601 string)');
|
|
188
|
+
}
|
|
189
|
+
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/.test(claim.timestamp)) {
|
|
190
|
+
throw new Error('Invalid timestamp format (expected ISO 8601 with Z timezone)');
|
|
191
|
+
}
|
|
192
|
+
if (!claim.senderId || typeof claim.senderId !== 'string') {
|
|
193
|
+
throw new Error('Missing or invalid senderId (expected non-empty string)');
|
|
194
|
+
}
|
|
195
|
+
switch (claim.blockchain) {
|
|
196
|
+
case 'evm':
|
|
197
|
+
validateEVMClaim(claim);
|
|
198
|
+
break;
|
|
199
|
+
case 'solana':
|
|
200
|
+
validateSolanaClaim(claim);
|
|
201
|
+
break;
|
|
202
|
+
case 'mina':
|
|
203
|
+
validateMinaClaim(claim);
|
|
204
|
+
break;
|
|
205
|
+
default:
|
|
206
|
+
throw new Error(`Unsupported blockchain type: ${String(claim.blockchain).slice(0, 30)}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=btp-claim-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"btp-claim-types.js","sourceRoot":"","sources":["../../src/btp/btp-claim-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type http from 'http';
|
|
2
|
+
import { Logger } from '../utils/logger';
|
|
3
|
+
import { BTPClient, Peer } from './btp-client';
|
|
4
|
+
import { ILPPreparePacket, ILPFulfillPacket, ILPRejectPacket } from '@toon-protocol/shared';
|
|
5
|
+
import type { PacketHandler } from '../core/packet-handler';
|
|
6
|
+
export declare class BTPClientManager {
|
|
7
|
+
private readonly _clients;
|
|
8
|
+
private readonly _logger;
|
|
9
|
+
private readonly _nodeId;
|
|
10
|
+
private _packetHandler;
|
|
11
|
+
private _agentFactory;
|
|
12
|
+
constructor(nodeId: string, logger: Logger);
|
|
13
|
+
setAgentFactory(factory: ((peerUrl: string) => http.Agent | undefined) | null): void;
|
|
14
|
+
setPacketHandler(packetHandler: PacketHandler): void;
|
|
15
|
+
addPeer(peer: Peer): Promise<void>;
|
|
16
|
+
removePeer(peerId: string): Promise<void>;
|
|
17
|
+
sendToPeer(peerId: string, packet: ILPPreparePacket, protocolData?: Array<{
|
|
18
|
+
protocolName: string;
|
|
19
|
+
contentType: number;
|
|
20
|
+
data: Buffer;
|
|
21
|
+
}>): Promise<ILPFulfillPacket | ILPRejectPacket>;
|
|
22
|
+
getPeerStatus(): Map<string, boolean>;
|
|
23
|
+
getPeerIds(): string[];
|
|
24
|
+
getClientForPeer(peerId: string): BTPClient | undefined;
|
|
25
|
+
isConnected(peerId: string): boolean;
|
|
26
|
+
getConnectedPeerCount(): number;
|
|
27
|
+
getTotalPeerCount(): number;
|
|
28
|
+
getConnectionHealth(): number;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=btp-client-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"btp-client-manager.d.ts","sourceRoot":"","sources":["../../src/btp/btp-client-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,aAAa,CAA8D;gBAOvE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAe1C,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI;IAQpF,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAa9C,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqFlC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCzC,UAAU,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAiE9C,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAYrC,UAAU,IAAI,MAAM,EAAE;IAUtB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUvD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpC,qBAAqB,IAAI,MAAM;IAU/B,iBAAiB,IAAI,MAAM;IAS3B,mBAAmB,IAAI,MAAM;CAQ9B"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BTPClientManager = void 0;
|
|
4
|
+
const btp_client_1 = require("./btp-client");
|
|
5
|
+
const redact_1 = require("../utils/redact");
|
|
6
|
+
class BTPClientManager {
|
|
7
|
+
_clients = new Map();
|
|
8
|
+
_logger;
|
|
9
|
+
_nodeId;
|
|
10
|
+
_packetHandler = null;
|
|
11
|
+
_agentFactory = null;
|
|
12
|
+
constructor(nodeId, logger) {
|
|
13
|
+
this._nodeId = nodeId;
|
|
14
|
+
this._logger = logger.child({ component: 'BTPClientManager' });
|
|
15
|
+
}
|
|
16
|
+
setAgentFactory(factory) {
|
|
17
|
+
this._agentFactory = factory;
|
|
18
|
+
}
|
|
19
|
+
setPacketHandler(packetHandler) {
|
|
20
|
+
this._packetHandler = packetHandler;
|
|
21
|
+
for (const client of this._clients.values()) {
|
|
22
|
+
client.setPacketHandler(packetHandler);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async addPeer(peer) {
|
|
26
|
+
this._logger.info({ event: 'btp_client_add_peer', peerId: peer.id, url: (0, redact_1.redactPeerUrl)(peer.url) }, 'Adding peer');
|
|
27
|
+
if (this._clients.has(peer.id)) {
|
|
28
|
+
this._logger.warn({ event: 'btp_client_peer_exists', peerId: peer.id }, 'Peer already exists, skipping');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const client = this._agentFactory
|
|
32
|
+
? new btp_client_1.BTPClient(peer, this._nodeId, this._logger, undefined, this._agentFactory)
|
|
33
|
+
: new btp_client_1.BTPClient(peer, this._nodeId, this._logger);
|
|
34
|
+
if (this._packetHandler) {
|
|
35
|
+
client.setPacketHandler(this._packetHandler);
|
|
36
|
+
}
|
|
37
|
+
client.on('connected', () => {
|
|
38
|
+
this._logger.info({ event: 'btp_client_connected', peerId: peer.id }, 'BTP client connected to peer');
|
|
39
|
+
});
|
|
40
|
+
client.on('disconnected', () => {
|
|
41
|
+
this._logger.warn({ event: 'btp_client_disconnected', peerId: peer.id }, 'BTP client disconnected from peer');
|
|
42
|
+
});
|
|
43
|
+
client.on('error', (error) => {
|
|
44
|
+
this._logger.error({
|
|
45
|
+
event: 'btp_client_error',
|
|
46
|
+
peerId: peer.id,
|
|
47
|
+
error: (0, redact_1.redactAnonInMessage)(error.message),
|
|
48
|
+
}, 'BTP client error');
|
|
49
|
+
});
|
|
50
|
+
this._clients.set(peer.id, client);
|
|
51
|
+
try {
|
|
52
|
+
await client.connect();
|
|
53
|
+
this._logger.info({ event: 'btp_client_peer_added', peerId: peer.id }, 'Peer added and connected');
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
57
|
+
this._logger.warn({
|
|
58
|
+
event: 'btp_client_add_peer_failed',
|
|
59
|
+
peerId: peer.id,
|
|
60
|
+
error: (0, redact_1.redactAnonInMessage)(errorMessage),
|
|
61
|
+
}, 'Initial connection to peer failed (will retry in background)');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async removePeer(peerId) {
|
|
65
|
+
this._logger.info({ event: 'btp_client_remove_peer', peerId }, 'Removing peer');
|
|
66
|
+
const client = this._clients.get(peerId);
|
|
67
|
+
if (!client) {
|
|
68
|
+
this._logger.warn({ event: 'btp_client_peer_not_found', peerId }, 'Peer not found, cannot remove');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
await client.disconnect();
|
|
73
|
+
this._logger.info({ event: 'btp_client_peer_removed', peerId }, 'Peer disconnected and removed');
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
this._clients.delete(peerId);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async sendToPeer(peerId, packet, protocolData) {
|
|
80
|
+
this._logger.debug({ event: 'btp_client_send_to_peer', peerId, destination: packet.destination }, 'Sending packet to peer');
|
|
81
|
+
const client = this._clients.get(peerId);
|
|
82
|
+
if (!client) {
|
|
83
|
+
const errorMessage = `Peer not found: ${peerId}`;
|
|
84
|
+
this._logger.error({ event: 'btp_client_peer_not_found', peerId }, errorMessage);
|
|
85
|
+
throw new Error(errorMessage);
|
|
86
|
+
}
|
|
87
|
+
if (!client.isConnected) {
|
|
88
|
+
const errorMessage = `BTP connection to ${peerId} not established`;
|
|
89
|
+
this._logger.error({ event: 'btp_client_not_connected', peerId }, errorMessage);
|
|
90
|
+
throw new btp_client_1.BTPConnectionError(errorMessage);
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
let timeoutMs;
|
|
94
|
+
if (packet.expiresAt) {
|
|
95
|
+
const remaining = packet.expiresAt.getTime() - Date.now();
|
|
96
|
+
timeoutMs = Math.max(remaining - 500, 1000);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
timeoutMs = parseInt(process.env.BTP_SEND_TIMEOUT_MS ?? '30000', 10);
|
|
100
|
+
}
|
|
101
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
102
|
+
setTimeout(() => {
|
|
103
|
+
reject(new btp_client_1.BTPConnectionError(`BTP send timeout to ${peerId} (${timeoutMs}ms)`));
|
|
104
|
+
}, timeoutMs);
|
|
105
|
+
});
|
|
106
|
+
const response = await Promise.race([
|
|
107
|
+
client.sendPacket(packet, protocolData),
|
|
108
|
+
timeoutPromise,
|
|
109
|
+
]);
|
|
110
|
+
this._logger.debug({ event: 'btp_client_packet_sent', peerId, destination: packet.destination }, 'Packet sent successfully to peer');
|
|
111
|
+
return response;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
115
|
+
this._logger.error({ event: 'btp_client_send_failed', peerId, error: errorMessage }, 'Failed to send packet to peer');
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
getPeerStatus() {
|
|
120
|
+
const status = new Map();
|
|
121
|
+
for (const [peerId, client] of this._clients) {
|
|
122
|
+
status.set(peerId, client.isConnected);
|
|
123
|
+
}
|
|
124
|
+
return status;
|
|
125
|
+
}
|
|
126
|
+
getPeerIds() {
|
|
127
|
+
return Array.from(this._clients.keys());
|
|
128
|
+
}
|
|
129
|
+
getClientForPeer(peerId) {
|
|
130
|
+
return this._clients.get(peerId);
|
|
131
|
+
}
|
|
132
|
+
isConnected(peerId) {
|
|
133
|
+
const client = this._clients.get(peerId);
|
|
134
|
+
return client ? client.isConnected : false;
|
|
135
|
+
}
|
|
136
|
+
getConnectedPeerCount() {
|
|
137
|
+
const peerStatus = this.getPeerStatus();
|
|
138
|
+
return Array.from(peerStatus.values()).filter(Boolean).length;
|
|
139
|
+
}
|
|
140
|
+
getTotalPeerCount() {
|
|
141
|
+
return this._clients.size;
|
|
142
|
+
}
|
|
143
|
+
getConnectionHealth() {
|
|
144
|
+
const totalCount = this.getTotalPeerCount();
|
|
145
|
+
if (totalCount === 0) {
|
|
146
|
+
return 100;
|
|
147
|
+
}
|
|
148
|
+
const connectedCount = this.getConnectedPeerCount();
|
|
149
|
+
return (connectedCount / totalCount) * 100;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.BTPClientManager = BTPClientManager;
|
|
153
|
+
//# sourceMappingURL=btp-client-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"btp-client-manager.js","sourceRoot":"","sources":["../../src/btp/btp-client-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type http from 'http';
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import { Logger } from '../utils/logger';
|
|
4
|
+
import { ILPPreparePacket, ILPFulfillPacket, ILPRejectPacket } from '@toon-protocol/shared';
|
|
5
|
+
import type { PacketHandler } from '../core/packet-handler';
|
|
6
|
+
export interface Peer {
|
|
7
|
+
id: string;
|
|
8
|
+
url: string;
|
|
9
|
+
authToken: string;
|
|
10
|
+
connected: boolean;
|
|
11
|
+
lastSeen: Date;
|
|
12
|
+
}
|
|
13
|
+
export declare class BTPConnectionError extends Error {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class BTPAuthenticationError extends Error {
|
|
17
|
+
constructor(message: string);
|
|
18
|
+
}
|
|
19
|
+
export declare class BTPClient extends EventEmitter {
|
|
20
|
+
private readonly _peer;
|
|
21
|
+
private readonly _logger;
|
|
22
|
+
private _ws;
|
|
23
|
+
private _connectionState;
|
|
24
|
+
private _retryCount;
|
|
25
|
+
private _maxRetries;
|
|
26
|
+
private _requestIdCounter;
|
|
27
|
+
private _pendingRequests;
|
|
28
|
+
private _pingInterval;
|
|
29
|
+
private _pongTimeout;
|
|
30
|
+
private readonly _pingIntervalMs;
|
|
31
|
+
private readonly _pongTimeoutMs;
|
|
32
|
+
private _explicitDisconnect;
|
|
33
|
+
private readonly _defaultPacketSendTimeoutMs;
|
|
34
|
+
private readonly _nodeId;
|
|
35
|
+
private _packetHandler;
|
|
36
|
+
private readonly _agentFactory?;
|
|
37
|
+
constructor(peer: Peer, nodeId: string, logger: Logger, maxRetries?: number, agentFactory?: (peerUrl: string) => http.Agent | undefined);
|
|
38
|
+
get isConnected(): boolean;
|
|
39
|
+
sendRawFrameForTesting(frame: Buffer): boolean;
|
|
40
|
+
setPacketHandler(packetHandler: PacketHandler): void;
|
|
41
|
+
connect(): Promise<void>;
|
|
42
|
+
disconnect(): Promise<void>;
|
|
43
|
+
private _authenticate;
|
|
44
|
+
sendPacket(packet: ILPPreparePacket, protocolData?: Array<{
|
|
45
|
+
protocolName: string;
|
|
46
|
+
contentType: number;
|
|
47
|
+
data: Buffer;
|
|
48
|
+
}>): Promise<ILPFulfillPacket | ILPRejectPacket>;
|
|
49
|
+
sendProtocolData(protocolName: string, contentType: number, data: Buffer): Promise<void>;
|
|
50
|
+
private _handleMessage;
|
|
51
|
+
private _handleClose;
|
|
52
|
+
private _retry;
|
|
53
|
+
private _startKeepAlive;
|
|
54
|
+
private _stopKeepAlive;
|
|
55
|
+
private _handlePong;
|
|
56
|
+
private _generateRequestId;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=btp-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"btp-client.d.ts","sourceRoot":"","sources":["../../src/btp/btp-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAWzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,MAAM,WAAW,IAAI;IAEnB,EAAE,EAAE,MAAM,CAAC;IAQX,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAUD,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAK5B;AAKD,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAeD,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAG1C;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA8C;gBAc3E,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,SAAS;IAe5D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAwBD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAY9C,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAQ9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwGxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BnB,aAAa;IAsFrB,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IA6ExC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDhF,cAAc;IA+K5B,OAAO,CAAC,YAAY;YA6BN,MAAM;IAmCpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;CAI3B"}
|