@antseed/cli 0.1.179 → 0.1.181
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/README.md +5 -3
- package/dist/buyer-identities/store.d.ts +39 -2
- package/dist/buyer-identities/store.d.ts.map +1 -1
- package/dist/buyer-identities/store.js +99 -10
- package/dist/buyer-identities/store.js.map +1 -1
- package/dist/cli/commands/apps/index.js +8 -8
- package/dist/cli/commands/buyer/identity.d.ts +3 -1
- package/dist/cli/commands/buyer/identity.d.ts.map +1 -1
- package/dist/cli/commands/buyer/identity.js +55 -8
- package/dist/cli/commands/buyer/identity.js.map +1 -1
- package/dist/cli/commands/buyer/identity.test.d.ts +2 -0
- package/dist/cli/commands/buyer/identity.test.d.ts.map +1 -0
- package/dist/cli/commands/buyer/identity.test.js +168 -0
- package/dist/cli/commands/buyer/identity.test.js.map +1 -0
- package/dist/cli/commands/buyer/set-authorized-wallet.d.ts +10 -0
- package/dist/cli/commands/buyer/set-authorized-wallet.d.ts.map +1 -1
- package/dist/cli/commands/buyer/set-authorized-wallet.js +26 -4
- package/dist/cli/commands/buyer/set-authorized-wallet.js.map +1 -1
- package/dist/cli/commands/buyer/set-authorized-wallet.test.js +37 -2
- package/dist/cli/commands/buyer/set-authorized-wallet.test.js.map +1 -1
- package/dist/cli/commands/buyer/start.d.ts +15 -0
- package/dist/cli/commands/buyer/start.d.ts.map +1 -1
- package/dist/cli/commands/buyer/start.js +158 -49
- package/dist/cli/commands/buyer/start.js.map +1 -1
- package/dist/cli/commands/buyer/start.test.js +16 -1
- package/dist/cli/commands/buyer/start.test.js.map +1 -1
- package/dist/cli/commands/chat.d.ts +3 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +189 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/gateway/activity.d.ts +15 -0
- package/dist/cli/commands/gateway/activity.d.ts.map +1 -0
- package/dist/cli/commands/gateway/activity.js +233 -0
- package/dist/cli/commands/gateway/activity.js.map +1 -0
- package/dist/cli/commands/gateway/admin-token.d.ts +3 -0
- package/dist/cli/commands/gateway/admin-token.d.ts.map +1 -0
- package/dist/cli/commands/gateway/admin-token.js +90 -0
- package/dist/cli/commands/gateway/admin-token.js.map +1 -0
- package/dist/cli/commands/gateway/console-link.d.ts +20 -0
- package/dist/cli/commands/gateway/console-link.d.ts.map +1 -0
- package/dist/cli/commands/gateway/console-link.js +92 -0
- package/dist/cli/commands/gateway/console-link.js.map +1 -0
- package/dist/cli/commands/gateway/gateway-commands.test.d.ts +2 -0
- package/dist/cli/commands/gateway/gateway-commands.test.d.ts.map +1 -0
- package/dist/cli/commands/gateway/gateway-commands.test.js +230 -0
- package/dist/cli/commands/gateway/gateway-commands.test.js.map +1 -0
- package/dist/cli/commands/gateway/gateway-console-commands.test.d.ts +2 -0
- package/dist/cli/commands/gateway/gateway-console-commands.test.d.ts.map +1 -0
- package/dist/cli/commands/gateway/gateway-console-commands.test.js +373 -0
- package/dist/cli/commands/gateway/gateway-console-commands.test.js.map +1 -0
- package/dist/cli/commands/gateway/index.d.ts +8 -0
- package/dist/cli/commands/gateway/index.d.ts.map +1 -1
- package/dist/cli/commands/gateway/index.js +93 -14
- package/dist/cli/commands/gateway/index.js.map +1 -1
- package/dist/cli/commands/gateway/key.d.ts +4 -0
- package/dist/cli/commands/gateway/key.d.ts.map +1 -1
- package/dist/cli/commands/gateway/key.js +297 -182
- package/dist/cli/commands/gateway/key.js.map +1 -1
- package/dist/cli/commands/gateway/member.d.ts +3 -0
- package/dist/cli/commands/gateway/member.d.ts.map +1 -0
- package/dist/cli/commands/gateway/member.js +302 -0
- package/dist/cli/commands/gateway/member.js.map +1 -0
- package/dist/cli/commands/gateway/migrate.d.ts +18 -0
- package/dist/cli/commands/gateway/migrate.d.ts.map +1 -0
- package/dist/cli/commands/gateway/migrate.js +158 -0
- package/dist/cli/commands/gateway/migrate.js.map +1 -0
- package/dist/cli/commands/gateway/operator.d.ts +11 -0
- package/dist/cli/commands/gateway/operator.d.ts.map +1 -0
- package/dist/cli/commands/gateway/operator.js +199 -0
- package/dist/cli/commands/gateway/operator.js.map +1 -0
- package/dist/cli/commands/gateway/operator.test.d.ts +2 -0
- package/dist/cli/commands/gateway/operator.test.d.ts.map +1 -0
- package/dist/cli/commands/gateway/operator.test.js +151 -0
- package/dist/cli/commands/gateway/operator.test.js.map +1 -0
- package/dist/cli/commands/gateway/peer-list.d.ts +3 -0
- package/dist/cli/commands/gateway/peer-list.d.ts.map +1 -0
- package/dist/cli/commands/gateway/peer-list.js +107 -0
- package/dist/cli/commands/gateway/peer-list.js.map +1 -0
- package/dist/cli/commands/gateway/policy-options.d.ts +23 -0
- package/dist/cli/commands/gateway/policy-options.d.ts.map +1 -0
- package/dist/cli/commands/gateway/policy-options.js +156 -0
- package/dist/cli/commands/gateway/policy-options.js.map +1 -0
- package/dist/cli/commands/gateway/preset.d.ts +3 -0
- package/dist/cli/commands/gateway/preset.d.ts.map +1 -0
- package/dist/cli/commands/gateway/preset.js +181 -0
- package/dist/cli/commands/gateway/preset.js.map +1 -0
- package/dist/cli/commands/gateway/routing.d.ts +3 -0
- package/dist/cli/commands/gateway/routing.d.ts.map +1 -0
- package/dist/cli/commands/gateway/routing.js +110 -0
- package/dist/cli/commands/gateway/routing.js.map +1 -0
- package/dist/cli/commands/gateway/settings.d.ts +4 -0
- package/dist/cli/commands/gateway/settings.d.ts.map +1 -0
- package/dist/cli/commands/gateway/settings.js +314 -0
- package/dist/cli/commands/gateway/settings.js.map +1 -0
- package/dist/cli/commands/gateway/shared.d.ts +55 -6
- package/dist/cli/commands/gateway/shared.d.ts.map +1 -1
- package/dist/cli/commands/gateway/shared.js +206 -26
- package/dist/cli/commands/gateway/shared.js.map +1 -1
- package/dist/cli/commands/gateway/workspace.d.ts +3 -0
- package/dist/cli/commands/gateway/workspace.d.ts.map +1 -0
- package/dist/cli/commands/gateway/workspace.js +250 -0
- package/dist/cli/commands/gateway/workspace.js.map +1 -0
- package/dist/cli/commands/network/bootstrap.js +1 -1
- package/dist/cli/commands/seller/setup.js +1 -1
- package/dist/cli/commands/seller/start.d.ts.map +1 -1
- package/dist/cli/commands/seller/start.js +1 -2
- package/dist/cli/commands/seller/start.js.map +1 -1
- package/dist/cli/commands/system-proxy/index.js +1 -1
- package/dist/cli/commands/tunnel/start.d.ts.map +1 -1
- package/dist/cli/commands/tunnel/start.js +23 -5
- package/dist/cli/commands/tunnel/start.js.map +1 -1
- package/dist/cli/commands/wrapped-tools.js +8 -8
- package/dist/cli/commands/wrapped-tools.test.js +5 -5
- package/dist/cli/index.js +12 -44
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/program.d.ts +4 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +49 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/program.test.d.ts +2 -0
- package/dist/cli/program.test.d.ts.map +1 -0
- package/dist/cli/program.test.js +38 -0
- package/dist/cli/program.test.js.map +1 -0
- package/dist/cli/prompt-hidden.d.ts +3 -0
- package/dist/cli/prompt-hidden.d.ts.map +1 -0
- package/dist/cli/prompt-hidden.js +38 -0
- package/dist/cli/prompt-hidden.js.map +1 -0
- package/dist/cli/wallet-passphrase.d.ts +48 -0
- package/dist/cli/wallet-passphrase.d.ts.map +1 -0
- package/dist/cli/wallet-passphrase.js +119 -0
- package/dist/cli/wallet-passphrase.js.map +1 -0
- package/dist/cli/wallet-passphrase.test.d.ts +2 -0
- package/dist/cli/wallet-passphrase.test.d.ts.map +1 -0
- package/dist/cli/wallet-passphrase.test.js +79 -0
- package/dist/cli/wallet-passphrase.test.js.map +1 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effective.d.ts +12 -0
- package/dist/config/effective.d.ts.map +1 -1
- package/dist/config/effective.js +39 -6
- package/dist/config/effective.js.map +1 -1
- package/dist/config/effective.test.js +9 -1
- package/dist/config/effective.test.js.map +1 -1
- package/dist/config/loader.d.ts +6 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +12 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/loader.test.js +7 -1
- package/dist/config/loader.test.js.map +1 -1
- package/dist/config/types.d.ts +14 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +19 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/gateway/accounting.d.ts +33 -3
- package/dist/gateway/accounting.d.ts.map +1 -1
- package/dist/gateway/accounting.js +86 -7
- package/dist/gateway/accounting.js.map +1 -1
- package/dist/gateway/admission-benchmark.test.d.ts +2 -0
- package/dist/gateway/admission-benchmark.test.d.ts.map +1 -0
- package/dist/gateway/admission-benchmark.test.js +75 -0
- package/dist/gateway/admission-benchmark.test.js.map +1 -0
- package/dist/gateway/auth/auth.test.d.ts +4 -0
- package/dist/gateway/auth/auth.test.d.ts.map +1 -0
- package/dist/gateway/auth/auth.test.js +337 -0
- package/dist/gateway/auth/auth.test.js.map +1 -0
- package/dist/gateway/auth/credentials.test.d.ts +2 -0
- package/dist/gateway/auth/credentials.test.d.ts.map +1 -0
- package/dist/gateway/auth/credentials.test.js +132 -0
- package/dist/gateway/auth/credentials.test.js.map +1 -0
- package/dist/gateway/auth/db.d.ts +156 -0
- package/dist/gateway/auth/db.d.ts.map +1 -0
- package/dist/gateway/auth/db.js +390 -0
- package/dist/gateway/auth/db.js.map +1 -0
- package/dist/gateway/auth/hardening.test.d.ts +2 -0
- package/dist/gateway/auth/hardening.test.d.ts.map +1 -0
- package/dist/gateway/auth/hardening.test.js +155 -0
- package/dist/gateway/auth/hardening.test.js.map +1 -0
- package/dist/gateway/auth/http.d.ts +53 -0
- package/dist/gateway/auth/http.d.ts.map +1 -0
- package/dist/gateway/auth/http.js +165 -0
- package/dist/gateway/auth/http.js.map +1 -0
- package/dist/gateway/auth/index.d.ts +26 -0
- package/dist/gateway/auth/index.d.ts.map +1 -0
- package/dist/gateway/auth/index.js +1014 -0
- package/dist/gateway/auth/index.js.map +1 -0
- package/dist/gateway/auth/oidc.d.ts +57 -0
- package/dist/gateway/auth/oidc.d.ts.map +1 -0
- package/dist/gateway/auth/oidc.js +159 -0
- package/dist/gateway/auth/oidc.js.map +1 -0
- package/dist/gateway/auth/oidc.test.d.ts +2 -0
- package/dist/gateway/auth/oidc.test.d.ts.map +1 -0
- package/dist/gateway/auth/oidc.test.js +223 -0
- package/dist/gateway/auth/oidc.test.js.map +1 -0
- package/dist/gateway/auth/reauth.test.d.ts +2 -0
- package/dist/gateway/auth/reauth.test.d.ts.map +1 -0
- package/dist/gateway/auth/reauth.test.js +108 -0
- package/dist/gateway/auth/reauth.test.js.map +1 -0
- package/dist/gateway/auth/store-integration.test.d.ts +2 -0
- package/dist/gateway/auth/store-integration.test.d.ts.map +1 -0
- package/dist/gateway/auth/store-integration.test.js +100 -0
- package/dist/gateway/auth/store-integration.test.js.map +1 -0
- package/dist/gateway/auth/test-helpers.d.ts +167 -0
- package/dist/gateway/auth/test-helpers.d.ts.map +1 -0
- package/dist/gateway/auth/test-helpers.js +368 -0
- package/dist/gateway/auth/test-helpers.js.map +1 -0
- package/dist/gateway/auth/types.d.ts +145 -0
- package/dist/gateway/auth/types.d.ts.map +1 -0
- package/dist/gateway/auth/types.js +2 -0
- package/dist/gateway/auth/types.js.map +1 -0
- package/dist/gateway/auth/wallet.d.ts +15 -0
- package/dist/gateway/auth/wallet.d.ts.map +1 -0
- package/dist/gateway/auth/wallet.js +43 -0
- package/dist/gateway/auth/wallet.js.map +1 -0
- package/dist/gateway/bundle.d.ts +127 -0
- package/dist/gateway/bundle.d.ts.map +1 -0
- package/dist/gateway/bundle.js +604 -0
- package/dist/gateway/bundle.js.map +1 -0
- package/dist/gateway/bundle.test.d.ts +2 -0
- package/dist/gateway/bundle.test.d.ts.map +1 -0
- package/dist/gateway/bundle.test.js +277 -0
- package/dist/gateway/bundle.test.js.map +1 -0
- package/dist/gateway/buyer-control.d.ts +33 -0
- package/dist/gateway/buyer-control.d.ts.map +1 -0
- package/dist/gateway/buyer-control.js +93 -0
- package/dist/gateway/buyer-control.js.map +1 -0
- package/dist/gateway/buyer-policy-probe.d.ts +41 -0
- package/dist/gateway/buyer-policy-probe.d.ts.map +1 -0
- package/dist/gateway/buyer-policy-probe.js +99 -0
- package/dist/gateway/buyer-policy-probe.js.map +1 -0
- package/dist/gateway/buyer-policy-probe.test.d.ts +2 -0
- package/dist/gateway/buyer-policy-probe.test.d.ts.map +1 -0
- package/dist/gateway/buyer-policy-probe.test.js +128 -0
- package/dist/gateway/buyer-policy-probe.test.js.map +1 -0
- package/dist/gateway/buyer-process.d.ts +30 -0
- package/dist/gateway/buyer-process.d.ts.map +1 -0
- package/dist/gateway/buyer-process.js +101 -0
- package/dist/gateway/buyer-process.js.map +1 -0
- package/dist/gateway/buyer-process.test.d.ts +2 -0
- package/dist/gateway/buyer-process.test.d.ts.map +1 -0
- package/dist/gateway/buyer-process.test.js +112 -0
- package/dist/gateway/buyer-process.test.js.map +1 -0
- package/dist/gateway/chat/routes.d.ts +45 -0
- package/dist/gateway/chat/routes.d.ts.map +1 -0
- package/dist/gateway/chat/routes.js +439 -0
- package/dist/gateway/chat/routes.js.map +1 -0
- package/dist/gateway/chat/routes.test.d.ts +2 -0
- package/dist/gateway/chat/routes.test.d.ts.map +1 -0
- package/dist/gateway/chat/routes.test.js +304 -0
- package/dist/gateway/chat/routes.test.js.map +1 -0
- package/dist/gateway/chat/tools.d.ts +35 -0
- package/dist/gateway/chat/tools.d.ts.map +1 -0
- package/dist/gateway/chat/tools.js +347 -0
- package/dist/gateway/chat/tools.js.map +1 -0
- package/dist/gateway/chat/tools.test.d.ts +2 -0
- package/dist/gateway/chat/tools.test.d.ts.map +1 -0
- package/dist/gateway/chat/tools.test.js +136 -0
- package/dist/gateway/chat/tools.test.js.map +1 -0
- package/dist/gateway/console-api/access.d.ts +52 -0
- package/dist/gateway/console-api/access.d.ts.map +1 -0
- package/dist/gateway/console-api/access.js +171 -0
- package/dist/gateway/console-api/access.js.map +1 -0
- package/dist/gateway/console-api/deps.d.ts +52 -0
- package/dist/gateway/console-api/deps.d.ts.map +1 -0
- package/dist/gateway/console-api/deps.js +2 -0
- package/dist/gateway/console-api/deps.js.map +1 -0
- package/dist/gateway/console-api/handlers/admin-tokens.d.ts +8 -0
- package/dist/gateway/console-api/handlers/admin-tokens.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/admin-tokens.js +48 -0
- package/dist/gateway/console-api/handlers/admin-tokens.js.map +1 -0
- package/dist/gateway/console-api/handlers/audit.d.ts +8 -0
- package/dist/gateway/console-api/handlers/audit.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/audit.js +19 -0
- package/dist/gateway/console-api/handlers/audit.js.map +1 -0
- package/dist/gateway/console-api/handlers/audit.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/audit.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/audit.test.js +241 -0
- package/dist/gateway/console-api/handlers/audit.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/data-settings.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/data-settings.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/data-settings.test.js +264 -0
- package/dist/gateway/console-api/handlers/data-settings.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/index.d.ts +4 -0
- package/dist/gateway/console-api/handlers/index.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/index.js +24 -0
- package/dist/gateway/console-api/handlers/index.js.map +1 -0
- package/dist/gateway/console-api/handlers/keys.d.ts +13 -0
- package/dist/gateway/console-api/handlers/keys.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/keys.js +128 -0
- package/dist/gateway/console-api/handlers/keys.js.map +1 -0
- package/dist/gateway/console-api/handlers/keys.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/keys.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/keys.test.js +166 -0
- package/dist/gateway/console-api/handlers/keys.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/network-buyer.d.ts +22 -0
- package/dist/gateway/console-api/handlers/network-buyer.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/network-buyer.js +39 -0
- package/dist/gateway/console-api/handlers/network-buyer.js.map +1 -0
- package/dist/gateway/console-api/handlers/network-mapping.d.ts +33 -0
- package/dist/gateway/console-api/handlers/network-mapping.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/network-mapping.js +219 -0
- package/dist/gateway/console-api/handlers/network-mapping.js.map +1 -0
- package/dist/gateway/console-api/handlers/network-test-helpers.d.ts +35 -0
- package/dist/gateway/console-api/handlers/network-test-helpers.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/network-test-helpers.js +121 -0
- package/dist/gateway/console-api/handlers/network-test-helpers.js.map +1 -0
- package/dist/gateway/console-api/handlers/network.d.ts +15 -0
- package/dist/gateway/console-api/handlers/network.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/network.js +57 -0
- package/dist/gateway/console-api/handlers/network.js.map +1 -0
- package/dist/gateway/console-api/handlers/network.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/network.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/network.test.js +383 -0
- package/dist/gateway/console-api/handlers/network.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/org.d.ts +10 -0
- package/dist/gateway/console-api/handlers/org.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/org.js +150 -0
- package/dist/gateway/console-api/handlers/org.js.map +1 -0
- package/dist/gateway/console-api/handlers/peer-lists.d.ts +5 -0
- package/dist/gateway/console-api/handlers/peer-lists.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/peer-lists.js +43 -0
- package/dist/gateway/console-api/handlers/peer-lists.js.map +1 -0
- package/dist/gateway/console-api/handlers/presets.d.ts +9 -0
- package/dist/gateway/console-api/handlers/presets.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/presets.js +79 -0
- package/dist/gateway/console-api/handlers/presets.js.map +1 -0
- package/dist/gateway/console-api/handlers/routing.d.ts +5 -0
- package/dist/gateway/console-api/handlers/routing.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/routing.js +20 -0
- package/dist/gateway/console-api/handlers/routing.js.map +1 -0
- package/dist/gateway/console-api/handlers/settings.d.ts +10 -0
- package/dist/gateway/console-api/handlers/settings.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/settings.js +38 -0
- package/dist/gateway/console-api/handlers/settings.js.map +1 -0
- package/dist/gateway/console-api/handlers/status.d.ts +9 -0
- package/dist/gateway/console-api/handlers/status.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/status.js +47 -0
- package/dist/gateway/console-api/handlers/status.js.map +1 -0
- package/dist/gateway/console-api/handlers/status.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/status.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/status.test.js +82 -0
- package/dist/gateway/console-api/handlers/status.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/usage.d.ts +10 -0
- package/dist/gateway/console-api/handlers/usage.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/usage.js +68 -0
- package/dist/gateway/console-api/handlers/usage.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-card-link.d.ts +29 -0
- package/dist/gateway/console-api/handlers/wallet-card-link.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-card-link.js +46 -0
- package/dist/gateway/console-api/handlers/wallet-card-link.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-chain.d.ts +26 -0
- package/dist/gateway/console-api/handlers/wallet-chain.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-chain.js +80 -0
- package/dist/gateway/console-api/handlers/wallet-chain.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-mapping.d.ts +45 -0
- package/dist/gateway/console-api/handlers/wallet-mapping.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-mapping.js +202 -0
- package/dist/gateway/console-api/handlers/wallet-mapping.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-operator.d.ts +41 -0
- package/dist/gateway/console-api/handlers/wallet-operator.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-operator.js +198 -0
- package/dist/gateway/console-api/handlers/wallet-operator.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-operator.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/wallet-operator.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet-operator.test.js +195 -0
- package/dist/gateway/console-api/handlers/wallet-operator.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet.d.ts +61 -0
- package/dist/gateway/console-api/handlers/wallet.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet.js +221 -0
- package/dist/gateway/console-api/handlers/wallet.js.map +1 -0
- package/dist/gateway/console-api/handlers/wallet.test.d.ts +2 -0
- package/dist/gateway/console-api/handlers/wallet.test.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/wallet.test.js +581 -0
- package/dist/gateway/console-api/handlers/wallet.test.js.map +1 -0
- package/dist/gateway/console-api/handlers/workspaces.d.ts +12 -0
- package/dist/gateway/console-api/handlers/workspaces.d.ts.map +1 -0
- package/dist/gateway/console-api/handlers/workspaces.js +96 -0
- package/dist/gateway/console-api/handlers/workspaces.js.map +1 -0
- package/dist/gateway/console-api/operator-types.d.ts +68 -0
- package/dist/gateway/console-api/operator-types.d.ts.map +1 -0
- package/dist/gateway/console-api/operator-types.js +21 -0
- package/dist/gateway/console-api/operator-types.js.map +1 -0
- package/dist/gateway/console-api/router.d.ts +97 -0
- package/dist/gateway/console-api/router.d.ts.map +1 -0
- package/dist/gateway/console-api/router.js +69 -0
- package/dist/gateway/console-api/router.js.map +1 -0
- package/dist/gateway/console-api/routes.test.d.ts +2 -0
- package/dist/gateway/console-api/routes.test.d.ts.map +1 -0
- package/dist/gateway/console-api/routes.test.js +331 -0
- package/dist/gateway/console-api/routes.test.js.map +1 -0
- package/dist/gateway/console-api/serialize.d.ts +33 -0
- package/dist/gateway/console-api/serialize.d.ts.map +1 -0
- package/dist/gateway/console-api/serialize.js +179 -0
- package/dist/gateway/console-api/serialize.js.map +1 -0
- package/dist/gateway/console-api/server.d.ts +38 -0
- package/dist/gateway/console-api/server.d.ts.map +1 -0
- package/dist/gateway/console-api/server.js +308 -0
- package/dist/gateway/console-api/server.js.map +1 -0
- package/dist/gateway/console-api/server.test.d.ts +2 -0
- package/dist/gateway/console-api/server.test.d.ts.map +1 -0
- package/dist/gateway/console-api/server.test.js +149 -0
- package/dist/gateway/console-api/server.test.js.map +1 -0
- package/dist/gateway/console-api/test-support.d.ts +59 -0
- package/dist/gateway/console-api/test-support.d.ts.map +1 -0
- package/dist/gateway/console-api/test-support.js +120 -0
- package/dist/gateway/console-api/test-support.js.map +1 -0
- package/dist/gateway/console-api/types.d.ts +779 -0
- package/dist/gateway/console-api/types.d.ts.map +1 -0
- package/dist/gateway/console-api/types.js +6 -0
- package/dist/gateway/console-api/types.js.map +1 -0
- package/dist/gateway/console-location.d.ts +21 -0
- package/dist/gateway/console-location.d.ts.map +1 -0
- package/dist/gateway/console-location.js +41 -0
- package/dist/gateway/console-location.js.map +1 -0
- package/dist/gateway/console-recovery.d.ts +34 -0
- package/dist/gateway/console-recovery.d.ts.map +1 -0
- package/dist/gateway/console-recovery.js +94 -0
- package/dist/gateway/console-recovery.js.map +1 -0
- package/dist/gateway/console-recovery.test.d.ts +2 -0
- package/dist/gateway/console-recovery.test.d.ts.map +1 -0
- package/dist/gateway/console-recovery.test.js +106 -0
- package/dist/gateway/console-recovery.test.js.map +1 -0
- package/dist/gateway/console.d.ts +18 -0
- package/dist/gateway/console.d.ts.map +1 -0
- package/dist/gateway/console.js +101 -0
- package/dist/gateway/console.js.map +1 -0
- package/dist/gateway/console.test.d.ts +2 -0
- package/dist/gateway/console.test.d.ts.map +1 -0
- package/dist/gateway/console.test.js +165 -0
- package/dist/gateway/console.test.js.map +1 -0
- package/dist/gateway/errors.d.ts +3 -0
- package/dist/gateway/errors.d.ts.map +1 -0
- package/dist/gateway/errors.js +5 -0
- package/dist/gateway/errors.js.map +1 -0
- package/dist/gateway/exposure.d.ts +33 -0
- package/dist/gateway/exposure.d.ts.map +1 -0
- package/dist/gateway/exposure.js +146 -0
- package/dist/gateway/exposure.js.map +1 -0
- package/dist/gateway/exposure.test.d.ts +2 -0
- package/dist/gateway/exposure.test.d.ts.map +1 -0
- package/dist/gateway/exposure.test.js +93 -0
- package/dist/gateway/exposure.test.js.map +1 -0
- package/dist/gateway/gateway-policy.test.d.ts +2 -0
- package/dist/gateway/gateway-policy.test.d.ts.map +1 -0
- package/dist/gateway/gateway-policy.test.js +404 -0
- package/dist/gateway/gateway-policy.test.js.map +1 -0
- package/dist/gateway/gateway.test.js +47 -25
- package/dist/gateway/gateway.test.js.map +1 -1
- package/dist/gateway/keys.d.ts +2 -0
- package/dist/gateway/keys.d.ts.map +1 -1
- package/dist/gateway/keys.js +2 -0
- package/dist/gateway/keys.js.map +1 -1
- package/dist/gateway/limits.d.ts +32 -8
- package/dist/gateway/limits.d.ts.map +1 -1
- package/dist/gateway/limits.js +27 -11
- package/dist/gateway/limits.js.map +1 -1
- package/dist/gateway/observability.d.ts +51 -0
- package/dist/gateway/observability.d.ts.map +1 -0
- package/dist/gateway/observability.js +136 -0
- package/dist/gateway/observability.js.map +1 -0
- package/dist/gateway/policy-resolver.d.ts +73 -0
- package/dist/gateway/policy-resolver.d.ts.map +1 -0
- package/dist/gateway/policy-resolver.js +142 -0
- package/dist/gateway/policy-resolver.js.map +1 -0
- package/dist/gateway/policy-resolver.test.d.ts +2 -0
- package/dist/gateway/policy-resolver.test.d.ts.map +1 -0
- package/dist/gateway/policy-resolver.test.js +273 -0
- package/dist/gateway/policy-resolver.test.js.map +1 -0
- package/dist/gateway/request-errors.test.d.ts +2 -0
- package/dist/gateway/request-errors.test.d.ts.map +1 -0
- package/dist/gateway/request-errors.test.js +108 -0
- package/dist/gateway/request-errors.test.js.map +1 -0
- package/dist/gateway/request-shaping.d.ts +25 -0
- package/dist/gateway/request-shaping.d.ts.map +1 -0
- package/dist/gateway/request-shaping.js +66 -0
- package/dist/gateway/request-shaping.js.map +1 -0
- package/dist/gateway/response-usage.d.ts +35 -0
- package/dist/gateway/response-usage.d.ts.map +1 -0
- package/dist/gateway/response-usage.js +167 -0
- package/dist/gateway/response-usage.js.map +1 -0
- package/dist/gateway/response-usage.test.d.ts +2 -0
- package/dist/gateway/response-usage.test.d.ts.map +1 -0
- package/dist/gateway/response-usage.test.js +78 -0
- package/dist/gateway/response-usage.test.js.map +1 -0
- package/dist/gateway/runtime.d.ts +25 -0
- package/dist/gateway/runtime.d.ts.map +1 -1
- package/dist/gateway/runtime.js +39 -19
- package/dist/gateway/runtime.js.map +1 -1
- package/dist/gateway/server.d.ts +68 -2
- package/dist/gateway/server.d.ts.map +1 -1
- package/dist/gateway/server.js +532 -116
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/services/audit.d.ts +16 -0
- package/dist/gateway/services/audit.d.ts.map +1 -0
- package/dist/gateway/services/audit.js +18 -0
- package/dist/gateway/services/audit.js.map +1 -0
- package/dist/gateway/services/context.d.ts +66 -0
- package/dist/gateway/services/context.d.ts.map +1 -0
- package/dist/gateway/services/context.js +52 -0
- package/dist/gateway/services/context.js.map +1 -0
- package/dist/gateway/services/keys.d.ts +78 -0
- package/dist/gateway/services/keys.d.ts.map +1 -0
- package/dist/gateway/services/keys.js +232 -0
- package/dist/gateway/services/keys.js.map +1 -0
- package/dist/gateway/services/members.d.ts +72 -0
- package/dist/gateway/services/members.d.ts.map +1 -0
- package/dist/gateway/services/members.js +161 -0
- package/dist/gateway/services/members.js.map +1 -0
- package/dist/gateway/services/network.d.ts +36 -0
- package/dist/gateway/services/network.d.ts.map +1 -0
- package/dist/gateway/services/network.js +147 -0
- package/dist/gateway/services/network.js.map +1 -0
- package/dist/gateway/services/operator.d.ts +98 -0
- package/dist/gateway/services/operator.d.ts.map +1 -0
- package/dist/gateway/services/operator.js +170 -0
- package/dist/gateway/services/operator.js.map +1 -0
- package/dist/gateway/services/operator.test.d.ts +2 -0
- package/dist/gateway/services/operator.test.d.ts.map +1 -0
- package/dist/gateway/services/operator.test.js +184 -0
- package/dist/gateway/services/operator.test.js.map +1 -0
- package/dist/gateway/services/peer-lists.d.ts +20 -0
- package/dist/gateway/services/peer-lists.d.ts.map +1 -0
- package/dist/gateway/services/peer-lists.js +134 -0
- package/dist/gateway/services/peer-lists.js.map +1 -0
- package/dist/gateway/services/presets.d.ts +34 -0
- package/dist/gateway/services/presets.d.ts.map +1 -0
- package/dist/gateway/services/presets.js +134 -0
- package/dist/gateway/services/presets.js.map +1 -0
- package/dist/gateway/services/routing.d.ts +13 -0
- package/dist/gateway/services/routing.d.ts.map +1 -0
- package/dist/gateway/services/routing.js +18 -0
- package/dist/gateway/services/routing.js.map +1 -0
- package/dist/gateway/services/services.test.d.ts +2 -0
- package/dist/gateway/services/services.test.d.ts.map +1 -0
- package/dist/gateway/services/services.test.js +476 -0
- package/dist/gateway/services/services.test.js.map +1 -0
- package/dist/gateway/services/settings.d.ts +68 -0
- package/dist/gateway/services/settings.d.ts.map +1 -0
- package/dist/gateway/services/settings.js +580 -0
- package/dist/gateway/services/settings.js.map +1 -0
- package/dist/gateway/services/tokens.d.ts +29 -0
- package/dist/gateway/services/tokens.d.ts.map +1 -0
- package/dist/gateway/services/tokens.js +48 -0
- package/dist/gateway/services/tokens.js.map +1 -0
- package/dist/gateway/services/usage.d.ts +55 -0
- package/dist/gateway/services/usage.d.ts.map +1 -0
- package/dist/gateway/services/usage.js +225 -0
- package/dist/gateway/services/usage.js.map +1 -0
- package/dist/gateway/services/wallet-address-env.test.d.ts +2 -0
- package/dist/gateway/services/wallet-address-env.test.d.ts.map +1 -0
- package/dist/gateway/services/wallet-address-env.test.js +119 -0
- package/dist/gateway/services/wallet-address-env.test.js.map +1 -0
- package/dist/gateway/services/wallet-address.d.ts +40 -0
- package/dist/gateway/services/wallet-address.d.ts.map +1 -0
- package/dist/gateway/services/wallet-address.js +116 -0
- package/dist/gateway/services/wallet-address.js.map +1 -0
- package/dist/gateway/services/wallet-address.test.d.ts +2 -0
- package/dist/gateway/services/wallet-address.test.d.ts.map +1 -0
- package/dist/gateway/services/wallet-address.test.js +84 -0
- package/dist/gateway/services/wallet-address.test.js.map +1 -0
- package/dist/gateway/services/workspaces.d.ts +75 -0
- package/dist/gateway/services/workspaces.d.ts.map +1 -0
- package/dist/gateway/services/workspaces.js +228 -0
- package/dist/gateway/services/workspaces.js.map +1 -0
- package/dist/gateway/spend-durability.test.d.ts +2 -0
- package/dist/gateway/spend-durability.test.d.ts.map +1 -0
- package/dist/gateway/spend-durability.test.js +330 -0
- package/dist/gateway/spend-durability.test.js.map +1 -0
- package/dist/gateway/spend-feed.d.ts +11 -1
- package/dist/gateway/spend-feed.d.ts.map +1 -1
- package/dist/gateway/spend-feed.js +17 -4
- package/dist/gateway/spend-feed.js.map +1 -1
- package/dist/gateway/spend-feed.test.d.ts +2 -0
- package/dist/gateway/spend-feed.test.d.ts.map +1 -0
- package/dist/gateway/spend-feed.test.js +34 -0
- package/dist/gateway/spend-feed.test.js.map +1 -0
- package/dist/gateway/store-data.test.d.ts +2 -0
- package/dist/gateway/store-data.test.d.ts.map +1 -0
- package/dist/gateway/store-data.test.js +346 -0
- package/dist/gateway/store-data.test.js.map +1 -0
- package/dist/gateway/store-migrations.d.ts +6 -0
- package/dist/gateway/store-migrations.d.ts.map +1 -0
- package/dist/gateway/store-migrations.js +301 -0
- package/dist/gateway/store-migrations.js.map +1 -0
- package/dist/gateway/store.d.ts +595 -10
- package/dist/gateway/store.d.ts.map +1 -1
- package/dist/gateway/store.js +1242 -120
- package/dist/gateway/store.js.map +1 -1
- package/dist/gateway/store.test.d.ts +2 -0
- package/dist/gateway/store.test.d.ts.map +1 -0
- package/dist/gateway/store.test.js +185 -0
- package/dist/gateway/store.test.js.map +1 -0
- package/dist/proxy/buyer-chain-reader.d.ts +68 -0
- package/dist/proxy/buyer-chain-reader.d.ts.map +1 -0
- package/dist/proxy/buyer-chain-reader.js +152 -0
- package/dist/proxy/buyer-chain-reader.js.map +1 -0
- package/dist/proxy/buyer-chain-reader.test.d.ts +2 -0
- package/dist/proxy/buyer-chain-reader.test.d.ts.map +1 -0
- package/dist/proxy/buyer-chain-reader.test.js +102 -0
- package/dist/proxy/buyer-chain-reader.test.js.map +1 -0
- package/dist/proxy/buyer-proxy.d.ts +169 -3
- package/dist/proxy/buyer-proxy.d.ts.map +1 -1
- package/dist/proxy/buyer-proxy.js +873 -117
- package/dist/proxy/buyer-proxy.js.map +1 -1
- package/dist/proxy/buyer-proxy.test.js +31 -0
- package/dist/proxy/buyer-proxy.test.js.map +1 -1
- package/dist/proxy/chain-read-cache.d.ts +47 -0
- package/dist/proxy/chain-read-cache.d.ts.map +1 -0
- package/dist/proxy/chain-read-cache.js +110 -0
- package/dist/proxy/chain-read-cache.js.map +1 -0
- package/dist/proxy/chain-read-cache.test.d.ts +2 -0
- package/dist/proxy/chain-read-cache.test.d.ts.map +1 -0
- package/dist/proxy/chain-read-cache.test.js +75 -0
- package/dist/proxy/chain-read-cache.test.js.map +1 -0
- package/dist/proxy/chain-rpc-test-support.d.ts +31 -0
- package/dist/proxy/chain-rpc-test-support.d.ts.map +1 -0
- package/dist/proxy/chain-rpc-test-support.js +136 -0
- package/dist/proxy/chain-rpc-test-support.js.map +1 -0
- package/dist/proxy/chain-rpc.d.ts +121 -0
- package/dist/proxy/chain-rpc.d.ts.map +1 -0
- package/dist/proxy/chain-rpc.js +420 -0
- package/dist/proxy/chain-rpc.js.map +1 -0
- package/dist/proxy/chain-rpc.test.d.ts +2 -0
- package/dist/proxy/chain-rpc.test.d.ts.map +1 -0
- package/dist/proxy/chain-rpc.test.js +180 -0
- package/dist/proxy/chain-rpc.test.js.map +1 -0
- package/dist/proxy/deposit-watch-hub.d.ts +47 -0
- package/dist/proxy/deposit-watch-hub.d.ts.map +1 -0
- package/dist/proxy/deposit-watch-hub.js +111 -0
- package/dist/proxy/deposit-watch-hub.js.map +1 -0
- package/dist/proxy/deposit-watch-hub.test.d.ts +2 -0
- package/dist/proxy/deposit-watch-hub.test.d.ts.map +1 -0
- package/dist/proxy/deposit-watch-hub.test.js +133 -0
- package/dist/proxy/deposit-watch-hub.test.js.map +1 -0
- package/dist/proxy/deposit-watcher.d.ts +44 -4
- package/dist/proxy/deposit-watcher.d.ts.map +1 -1
- package/dist/proxy/deposit-watcher.js +76 -11
- package/dist/proxy/deposit-watcher.js.map +1 -1
- package/dist/proxy/deposit-watcher.test.js +54 -1
- package/dist/proxy/deposit-watcher.test.js.map +1 -1
- package/dist/proxy/gateway-policy.test.d.ts +2 -0
- package/dist/proxy/gateway-policy.test.d.ts.map +1 -0
- package/dist/proxy/gateway-policy.test.js +576 -0
- package/dist/proxy/gateway-policy.test.js.map +1 -0
- package/dist/proxy/network-models.d.ts +2 -0
- package/dist/proxy/network-models.d.ts.map +1 -1
- package/dist/proxy/network-models.js +3 -1
- package/dist/proxy/network-models.js.map +1 -1
- package/dist/proxy/route-policy.d.ts +97 -0
- package/dist/proxy/route-policy.d.ts.map +1 -0
- package/dist/proxy/route-policy.js +230 -0
- package/dist/proxy/route-policy.js.map +1 -0
- package/dist/proxy/route-policy.test.d.ts +2 -0
- package/dist/proxy/route-policy.test.d.ts.map +1 -0
- package/dist/proxy/route-policy.test.js +120 -0
- package/dist/proxy/route-policy.test.js.map +1 -0
- package/dist/proxy/spend-attribution.d.ts +41 -10
- package/dist/proxy/spend-attribution.d.ts.map +1 -1
- package/dist/proxy/spend-attribution.js +133 -37
- package/dist/proxy/spend-attribution.js.map +1 -1
- package/dist/proxy/tee-control.d.ts +3 -1
- package/dist/proxy/tee-control.d.ts.map +1 -1
- package/dist/proxy/tee-control.js +5 -3
- package/dist/proxy/tee-control.js.map +1 -1
- package/dist/proxy/telemetry.d.ts +2 -1
- package/dist/proxy/telemetry.d.ts.map +1 -1
- package/dist/proxy/telemetry.js +10 -5
- package/dist/proxy/telemetry.js.map +1 -1
- package/dist/routing-policy/policy.d.ts +149 -0
- package/dist/routing-policy/policy.d.ts.map +1 -0
- package/dist/routing-policy/policy.js +450 -0
- package/dist/routing-policy/policy.js.map +1 -0
- package/dist/routing-policy/policy.test.d.ts +2 -0
- package/dist/routing-policy/policy.test.d.ts.map +1 -0
- package/dist/routing-policy/policy.test.js +134 -0
- package/dist/routing-policy/policy.test.js.map +1 -0
- package/package.json +15 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/migrate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,GAAG,MAAM,0BAA0B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAChE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,GAEV,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEhF,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,WAAW,GAAG,sEAAsE,CAAA;AAE1F,KAAK,UAAU,cAAc,CAAC,YAAgC;IAC5D,IAAI,YAAY;QAAE,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,6BAA6B,mBAAmB,gBAAgB,EAAE,WAAW,CAAC,CAAA;IAC/G,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,mBAAmB,cAAc,CAAC,CAAA;IACxH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAA;IACvE,IAAI,KAAK,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IACpE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB,EAAE,MAA8B,OAAO,CAAC,GAAG;IACrF,GAAG,CAAC,kBAAkB,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAClD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,IAAI,YAAY,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACxH,CAAC;IACD,GAAG,CAAC,kBAAkB,OAAO,CAAC,UAAU,SAAS,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;IAClH,GAAG,CAAC,kBAAkB,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACzG,GAAG,CAAC,YAAY,CAAC,CAAA;IACjB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1H,CAAC;AACH,CAAC;AAID;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,GAAG;SACP,MAAM,CAAC,cAAc,EAAE,oIAAoI,CAAC;SAC5J,MAAM,CAAC,wBAAwB,EAAE,yFAAyF,CAAC;SAC3H,MAAM,CAAC,SAAS,EAAE,sCAAsC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,QAAQ,EAAE,yCAAyC,EAAE,KAAK,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAY,EAAE,OAA4B;IAC9E,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACjD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,MAAM,SAAS,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAA;IAC5E,IAAI,WAAW,GAAG,oBAAoB,CAAA;IACtC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC;YAAC,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,oBAAoB,CAAA;QAAC,CAAC;gBAAS,CAAC;YAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAAC,CAAC;IAC1G,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAA;IAE/G,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO;QACnH,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC;KAClE,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7I,OAAM;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAChI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAA;IACvF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,gFAAgF,CAAC,CAAC,CAAA;QACjL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2HAA2H,CAAC,CAAC,CAAA;IACxJ,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACrF,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,mHAAmH,IAAI,EAAE,CAAC,CAAA;IACtI,OAAO,CAAC,GAAG,CAAC,oGAAoG,CAAC,CAAA;IACjH,OAAO,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAA;IAC1G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sHAAsH,CAAC,CAAC,CAAA;AAChJ,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAC/B,WAAW,CAAC,0HAA0H,CAAC;SACvI,MAAM,CAAC,wBAAwB,EAAE,6EAA6E,CAAC;SAC/G,MAAM,CAAC,oBAAoB,EAAE,oGAAoG,CAAC;SAClI,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,oBAAoB,GAAG,EAAE,oBAAoB,CAAC;SAC1H,MAAM,CAAC,SAAS,EAAE,oFAAoF,EAAE,KAAK,CAAC;SAC9G,MAAM,CAAC,QAAQ,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAoG,EAAE,EAAE;QACrI,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC;YAC9E,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,wGAAwG,CAAC,CAAA;YACjK,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QACrI,IAAI,MAAM,CAAA;QACV,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACjC,UAAU,EAAE,MAAM;gBAClB,OAAO;gBACP,UAAU,EAAE,MAAM;gBAClB,QAAQ;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS;gBACT,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAChE,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC;gBACR,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;gBAC1C,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,UAAU,EAAE,GAAG,MAAM,CAAC,SAAS,UAAU;gBACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAChI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC,CAAA;QACjG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,2CAA2C,MAAM,CAAC,eAAe,gDAAgD,CAAC,CAAC,CAAA;QACvK,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,MAAM,CAAC,cAAc,IAAI,iBAAiB,uBAAuB,MAAM,CAAC,SAAS,qCAAqC,CAAC,CAAC,CAAA;YAC9K,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sGAAsG,CAAC,CAAC,CAAA;YACjI,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QACzD,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import { type AntsChainConfig } from '@antseed/ants';
|
|
3
|
+
import { type OperatorReader } from '../../../gateway/services/operator.js';
|
|
4
|
+
/** Seams for tests; production uses the defaults. */
|
|
5
|
+
export declare const operatorCliRuntime: {
|
|
6
|
+
resolveChain: (configPath: string) => Promise<AntsChainConfig>;
|
|
7
|
+
reader: (chain: AntsChainConfig) => OperatorReader;
|
|
8
|
+
confirm: (question: string) => Promise<boolean>;
|
|
9
|
+
};
|
|
10
|
+
export declare function registerGatewayOperatorCommands(workspace: Command): void;
|
|
11
|
+
//# sourceMappingURL=operator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EASL,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAA;AAQ9C,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,EAAE;IAC/B,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAC9D,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,cAAc,CAAA;IAClD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAKhD,CAAA;AA6CD,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAwIxE"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { resolveAntsChain } from '@antseed/ants';
|
|
3
|
+
import { chainInfo } from '../../../gateway/console-api/handlers/wallet-mapping.js';
|
|
4
|
+
import { recordAudit } from '../../../gateway/services/context.js';
|
|
5
|
+
import { depositsOperatorReader, describeRelation, normalizeOperator, operatorRelation, sameAddress, setOperatorCalldata, signOperatorAuthorization, walletOwnerFromDb, } from '../../../gateway/services/operator.js';
|
|
6
|
+
import { sameAddress as sameWallet, walletMismatch } from '../../../gateway/services/wallet-address.js';
|
|
7
|
+
import { resolveWorkspaceWallet } from '../../../gateway/services/workspaces.js';
|
|
8
|
+
import { confirm } from '../ants/shared.js';
|
|
9
|
+
import { loadAuthorizingIdentity, runBrowserWalletAuthorization } from '../buyer/set-authorized-wallet.js';
|
|
10
|
+
import { printJson, requireWorkspace, withGateway } from './shared.js';
|
|
11
|
+
/** Seams for tests; production uses the defaults. */
|
|
12
|
+
export const operatorCliRuntime = {
|
|
13
|
+
resolveChain: (configPath) => resolveAntsChain(configPath),
|
|
14
|
+
reader: depositsOperatorReader,
|
|
15
|
+
confirm,
|
|
16
|
+
};
|
|
17
|
+
async function resolve(gateway, idOrName) {
|
|
18
|
+
const workspace = requireWorkspace(gateway.store, idOrName);
|
|
19
|
+
// The running buyer's address for the identity, else the key the buyer would load; never the cached column.
|
|
20
|
+
const resolved = await resolveWorkspaceWallet(gateway.ctx, workspace);
|
|
21
|
+
const buyer = resolved.address ?? (await loadAuthorizingIdentity(gateway.dataDir, workspace.buyerIdentity)).address;
|
|
22
|
+
const chain = await operatorCliRuntime.resolveChain(gateway.configPath);
|
|
23
|
+
if (!chain.depositsContractAddress)
|
|
24
|
+
throw new Error('The deposits contract is not configured for this chain.');
|
|
25
|
+
return { workspace, chain, reader: operatorCliRuntime.reader(chain), buyer };
|
|
26
|
+
}
|
|
27
|
+
/** The key the buyer loads for the workspace's identity; refused when it is not the wallet the workspace pays from. */
|
|
28
|
+
async function signingIdentity(gateway, record, buyer) {
|
|
29
|
+
const identity = await loadAuthorizingIdentity(gateway.dataDir, record.buyerIdentity);
|
|
30
|
+
if (!sameWallet(identity.address, buyer))
|
|
31
|
+
throw walletMismatch(record.buyerIdentity, identity.address, buyer);
|
|
32
|
+
return identity;
|
|
33
|
+
}
|
|
34
|
+
function ownerOf(gateway) {
|
|
35
|
+
return (address) => walletOwnerFromDb(gateway.store.database, (id) => gateway.store.getMember(id), address);
|
|
36
|
+
}
|
|
37
|
+
async function requireConfirmation(yes, lines, question) {
|
|
38
|
+
for (const line of lines)
|
|
39
|
+
console.error(line);
|
|
40
|
+
if (yes)
|
|
41
|
+
return;
|
|
42
|
+
if (!await operatorCliRuntime.confirm(question))
|
|
43
|
+
throw new Error('Cancelled; nothing was signed.');
|
|
44
|
+
}
|
|
45
|
+
function warning(workspace, operator) {
|
|
46
|
+
return [
|
|
47
|
+
chalk.red.bold('WARNING: the authorized wallet controls this workspace\'s money.'),
|
|
48
|
+
chalk.red(` It can withdraw everything ${workspace.name}'s wallet has deposited (the USDC goes to it) and claims its ANTS rewards.`),
|
|
49
|
+
chalk.red(' Once set, only that wallet can hand the role over or clear it: not the gateway, not the org owner, not this CLI.'),
|
|
50
|
+
...(operator ? [chalk.red(` Authorizing: ${operator}`)] : []),
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
export function registerGatewayOperatorCommands(workspace) {
|
|
54
|
+
const operator = workspace.command('operator')
|
|
55
|
+
.description('A workspace wallet\'s authorized wallet (AntseedDeposits operator): who can withdraw and claim rewards');
|
|
56
|
+
operator.command('show')
|
|
57
|
+
.description('Show the authorized wallet read live from the chain, and whose it is')
|
|
58
|
+
.argument('<workspace>', 'workspace id or name')
|
|
59
|
+
.option('--json', 'print machine-readable JSON', false)
|
|
60
|
+
.action((idOrName, options, cmd) => withGateway(cmd, async (gateway) => {
|
|
61
|
+
const { workspace: record, chain, reader, buyer } = await resolve(gateway, idOrName);
|
|
62
|
+
const current = await reader.operator(buyer);
|
|
63
|
+
const nonce = await reader.nonce(buyer);
|
|
64
|
+
const { relation, owner } = operatorRelation({ buyer, operator: current, viewerMemberId: null, ownerOf: ownerOf(gateway) });
|
|
65
|
+
if (options.json) {
|
|
66
|
+
printJson({
|
|
67
|
+
workspace: record.id, identity: record.buyerIdentity, buyer, operator: current, relation,
|
|
68
|
+
member: owner, nonce: nonce.toString(), depositsContract: chain.depositsContractAddress, chainId: chain.evmChainId,
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
console.log(`${chalk.bold(record.name)} ${chalk.dim(record.id)} identity ${record.buyerIdentity}`);
|
|
73
|
+
console.log(`Workspace wallet: ${buyer}`);
|
|
74
|
+
console.log(`Authorized wallet: ${current ?? chalk.yellow('not set')}`);
|
|
75
|
+
const line = describeRelation(relation, owner);
|
|
76
|
+
console.log(relation === 'unknown' ? chalk.red(line) : ` ${line}`);
|
|
77
|
+
console.log(chalk.dim(`Operator nonce ${nonce} · AntseedDeposits ${chain.depositsContractAddress} on chain ${chain.evmChainId}`));
|
|
78
|
+
if (relation === 'none')
|
|
79
|
+
console.log(chalk.dim(`Authorize one: antseed gateway workspace operator authorize ${record.id} <address> (or --browser)`));
|
|
80
|
+
else if (relation === 'self')
|
|
81
|
+
console.log(chalk.dim(`Hand it to a personal wallet: antseed gateway workspace operator transfer ${record.id} <address>`));
|
|
82
|
+
else
|
|
83
|
+
console.log(chalk.dim('Only the authorized wallet itself can transfer or clear it (AntseedDeposits.transferOperator).'));
|
|
84
|
+
}));
|
|
85
|
+
operator.command('authorize')
|
|
86
|
+
.description('Sign the workspace wallet\'s SetOperator authorization for <address> and print it for submission, or open the local wallet page with --browser')
|
|
87
|
+
.argument('<workspace>', 'workspace id or name')
|
|
88
|
+
.argument('[address]', 'the wallet to authorize (it, or any wallet, submits the transaction and pays gas)')
|
|
89
|
+
.option('--browser', 'serve the local wallet page (antseed buyer set-authorized-wallet) for this workspace\'s wallet instead', false)
|
|
90
|
+
.option('--no-open', 'with --browser: print the local URL without opening a browser')
|
|
91
|
+
.option('-y, --yes', 'skip the interactive confirmation', false)
|
|
92
|
+
.option('--json', 'print machine-readable JSON', false)
|
|
93
|
+
.addHelpText('after', '\nThe authorized wallet can withdraw the workspace\'s deposits and claim its rewards, and only it can change or clear the authorization afterwards. Authorization is possible only while none is set.')
|
|
94
|
+
.action((idOrName, address, options, cmd) => withGateway(cmd, async (gateway) => {
|
|
95
|
+
const { workspace: record, chain, reader, buyer } = await resolve(gateway, idOrName);
|
|
96
|
+
const target = { kind: 'workspace', id: record.id, label: record.name };
|
|
97
|
+
if (options.browser) {
|
|
98
|
+
if (address)
|
|
99
|
+
throw new Error('Pass either an address or --browser: the local page authorizes the wallet you connect there.');
|
|
100
|
+
const current = await reader.operator(buyer);
|
|
101
|
+
if (current)
|
|
102
|
+
throw new Error(`${record.name} already has an authorized wallet (${current}); only that wallet can transfer or clear it.`);
|
|
103
|
+
await requireConfirmation(options.yes, warning(record, null), `Open the local page to authorize a wallet for ${record.name}? [y/N] `);
|
|
104
|
+
recordAudit(gateway.ctx, gateway.actor, 'wallet.operator_auth.browser', target, { buyerIdentity: record.buyerIdentity, buyer });
|
|
105
|
+
const identity = await signingIdentity(gateway, record, buyer);
|
|
106
|
+
const { createServer } = await import('@antseed/payments');
|
|
107
|
+
const openBrowser = options.open ? (await import('open')).default : undefined;
|
|
108
|
+
console.error(chalk.dim('The page listens on 127.0.0.1 only; on a remote host, forward the port (ssh -L) before opening it.'));
|
|
109
|
+
await runBrowserWalletAuthorization({
|
|
110
|
+
dataDir: gateway.dataDir,
|
|
111
|
+
configPath: gateway.configPath,
|
|
112
|
+
createServer,
|
|
113
|
+
...(identity.identityHex ? { identityHex: identity.identityHex } : {}),
|
|
114
|
+
...(openBrowser ? { openBrowser } : {}),
|
|
115
|
+
log: (message) => console.error(chalk.dim(message)),
|
|
116
|
+
});
|
|
117
|
+
console.log(chalk.green('Authorized wallet confirmed.'));
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!address)
|
|
121
|
+
throw new Error('Pass the wallet address to authorize, or --browser to connect it on a local page.');
|
|
122
|
+
const operatorAddress = normalizeOperator(address.trim());
|
|
123
|
+
if (!operatorAddress)
|
|
124
|
+
throw new Error('The address must be a non-zero 0x wallet address.');
|
|
125
|
+
if (sameAddress(operatorAddress, buyer))
|
|
126
|
+
throw new Error('That is the workspace wallet itself; use `antseed buyer set-authorized-wallet --self --identity <name>` for that.');
|
|
127
|
+
const owner = ownerOf(gateway)(operatorAddress);
|
|
128
|
+
const lines = warning(record, operatorAddress);
|
|
129
|
+
lines.push(owner
|
|
130
|
+
? chalk.yellow(` ${operatorAddress} is the sign-in wallet of member ${owner.label} (${owner.memberId}).`)
|
|
131
|
+
: chalk.red.bold(` ${operatorAddress} is NOT a sign-in wallet of any member of this gateway. Double-check you control it.`));
|
|
132
|
+
await requireConfirmation(options.yes, lines, `Sign the authorization for ${operatorAddress}? [y/N] `);
|
|
133
|
+
const identity = await signingIdentity(gateway, record, buyer);
|
|
134
|
+
const auth = await signOperatorAuthorization({ wallet: identity.wallet, chain, operator: operatorAddress, reader });
|
|
135
|
+
recordAudit(gateway.ctx, gateway.actor, 'wallet.operator_auth', target, {
|
|
136
|
+
buyerIdentity: record.buyerIdentity, buyer: auth.buyer, operator: auth.operator, nonce: auth.nonce,
|
|
137
|
+
});
|
|
138
|
+
const calldata = setOperatorCalldata(auth.buyer, auth.operator, auth.nonceValue, auth.signature);
|
|
139
|
+
const explorer = chainInfo(chain).explorerUrl;
|
|
140
|
+
const writeUrl = explorer ? `${explorer.replace(/\/+$/, '')}/address/${auth.depositsContract}#writeContract` : null;
|
|
141
|
+
if (options.json) {
|
|
142
|
+
printJson({ workspace: record.id, buyer: auth.buyer, operator: auth.operator, nonce: auth.nonce, signature: auth.signature, depositsContract: auth.depositsContract, chainId: auth.chainId, calldata, explorerWriteUrl: writeUrl });
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
console.log(chalk.bold('SetOperator authorization signed by the workspace wallet:'));
|
|
146
|
+
console.log(` contract ${auth.depositsContract} (chain ${auth.chainId})`);
|
|
147
|
+
console.log(` buyer ${auth.buyer}`);
|
|
148
|
+
console.log(` operator ${auth.operator}`);
|
|
149
|
+
console.log(` nonce ${auth.nonce}`);
|
|
150
|
+
console.log(` signature ${auth.signature}`);
|
|
151
|
+
console.log(` calldata ${calldata}`);
|
|
152
|
+
console.log('Submit it from any wallet on that chain (the sender pays gas), e.g.:');
|
|
153
|
+
console.log(` cast send ${auth.depositsContract} 'setOperator(address,address,uint256,bytes)' ${auth.buyer} ${auth.operator} ${auth.nonce} ${auth.signature} --rpc-url <rpc> --account <your-account>`);
|
|
154
|
+
if (writeUrl)
|
|
155
|
+
console.log(` or the explorer's "Write contract" tab (setOperator): ${writeUrl}`);
|
|
156
|
+
console.log(chalk.dim('Valid once, only while no authorized wallet is set and the operator nonce is still this one.'));
|
|
157
|
+
console.log(chalk.dim(`Check: antseed gateway workspace operator show ${record.id}`));
|
|
158
|
+
}));
|
|
159
|
+
operator.command('transfer')
|
|
160
|
+
.description('When the workspace wallet is its own authorized wallet: hand the role to <address> (the workspace wallet sends the transaction and needs ETH for gas)')
|
|
161
|
+
.argument('<workspace>', 'workspace id or name')
|
|
162
|
+
.argument('[address]', 'the new authorized wallet')
|
|
163
|
+
.option('--clear', 'clear the authorized wallet instead (no one can withdraw or claim until a new one is authorized)', false)
|
|
164
|
+
.option('-y, --yes', 'skip the interactive confirmation', false)
|
|
165
|
+
.action((idOrName, address, options, cmd) => withGateway(cmd, async (gateway) => {
|
|
166
|
+
const { workspace: record, chain, reader, buyer } = await resolve(gateway, idOrName);
|
|
167
|
+
if (options.clear === Boolean(address))
|
|
168
|
+
throw new Error('Pass the new address, or --clear.');
|
|
169
|
+
const next = options.clear ? '0x0000000000000000000000000000000000000000' : normalizeOperator(address.trim());
|
|
170
|
+
if (!next)
|
|
171
|
+
throw new Error('The address must be a non-zero 0x wallet address.');
|
|
172
|
+
const current = await reader.operator(buyer);
|
|
173
|
+
if (!current)
|
|
174
|
+
throw new Error(`${record.name} has no authorized wallet; use \`antseed gateway workspace operator authorize\`.`);
|
|
175
|
+
if (!sameAddress(current, buyer)) {
|
|
176
|
+
throw new Error(`${record.name}'s authorized wallet is ${current}. Only that wallet can transfer or clear it (AntseedDeposits.transferOperator from that wallet); the gateway cannot.`);
|
|
177
|
+
}
|
|
178
|
+
const lines = options.clear
|
|
179
|
+
? [chalk.red.bold('WARNING: clearing leaves nobody able to withdraw or claim rewards until an owner authorizes a wallet again.')]
|
|
180
|
+
: warning(record, next);
|
|
181
|
+
await requireConfirmation(options.yes, lines, options.clear ? `Clear ${record.name}'s authorized wallet? [y/N] ` : `Transfer to ${next}? [y/N] `);
|
|
182
|
+
const identity = await signingIdentity(gateway, record, buyer);
|
|
183
|
+
const { DepositsClient } = await import('@antseed/node');
|
|
184
|
+
const client = new DepositsClient({
|
|
185
|
+
rpcUrl: chain.rpcUrl,
|
|
186
|
+
...(chain.fallbackRpcUrls ? { fallbackRpcUrls: chain.fallbackRpcUrls } : {}),
|
|
187
|
+
contractAddress: chain.depositsContractAddress,
|
|
188
|
+
usdcAddress: chain.usdcContractAddress ?? '',
|
|
189
|
+
evmChainId: chain.evmChainId,
|
|
190
|
+
});
|
|
191
|
+
const txHash = await client.transferOperator(identity.wallet, buyer, next);
|
|
192
|
+
recordAudit(gateway.ctx, gateway.actor, 'wallet.operator.transfer', { kind: 'workspace', id: record.id, label: record.name }, {
|
|
193
|
+
buyerIdentity: record.buyerIdentity, buyer, before: current, after: options.clear ? null : next, txHash,
|
|
194
|
+
});
|
|
195
|
+
console.log(chalk.green(options.clear ? 'Authorized wallet cleared.' : `Authorized wallet transferred to ${next}.`));
|
|
196
|
+
console.log(chalk.dim(`Transaction: ${txHash}`));
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=operator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator.test.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/operator.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import test, { after, before, beforeEach } from 'node:test';
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
import { verifyTypedData } from 'ethers';
|
|
8
|
+
import { makeDepositsDomain, SET_OPERATOR_TYPES } from '@antseed/node';
|
|
9
|
+
import { AuthDb } from '../../../gateway/auth/db.js';
|
|
10
|
+
import { addActiveMember } from '../../../gateway/console-api/test-support.js';
|
|
11
|
+
import { normalizeOperator } from '../../../gateway/services/operator.js';
|
|
12
|
+
import { GatewayStore } from '../../../gateway/store.js';
|
|
13
|
+
import { operatorCliRuntime } from './operator.js';
|
|
14
|
+
import { registerGatewayWorkspaceCommands } from './workspace.js';
|
|
15
|
+
import { gatewayCliRuntime } from './shared.js';
|
|
16
|
+
// Never ask a buyer that may be running on this machine; tests that need one inject it.
|
|
17
|
+
gatewayCliRuntime.buyerAddresses = async () => null;
|
|
18
|
+
// Obvious fakes only.
|
|
19
|
+
const MEMBER_WALLET = `0x${'0a'.repeat(20)}`;
|
|
20
|
+
const STRANGER = `0x${'0c'.repeat(20)}`;
|
|
21
|
+
const CHAIN = {
|
|
22
|
+
chainId: 'base-mainnet',
|
|
23
|
+
evmChainId: 8453,
|
|
24
|
+
rpcUrl: 'https://rpc.example.test',
|
|
25
|
+
depositsContractAddress: `0x${'d1'.repeat(20)}`,
|
|
26
|
+
usdcContractAddress: `0x${'a1'.repeat(20)}`,
|
|
27
|
+
};
|
|
28
|
+
let dataDir;
|
|
29
|
+
let configPath;
|
|
30
|
+
const chain = { operator: null, nonce: 0n };
|
|
31
|
+
let answers = [];
|
|
32
|
+
const original = { ...operatorCliRuntime };
|
|
33
|
+
async function run(...args) {
|
|
34
|
+
const program = new Command();
|
|
35
|
+
program.exitOverride().option('--data-dir <path>').option('--config <path>');
|
|
36
|
+
registerGatewayWorkspaceCommands(program.command('gateway'));
|
|
37
|
+
const lines = [];
|
|
38
|
+
const log = console.log;
|
|
39
|
+
const error = console.error;
|
|
40
|
+
console.log = (...parts) => { lines.push(parts.map(String).join(' ')); };
|
|
41
|
+
console.error = () => { };
|
|
42
|
+
try {
|
|
43
|
+
await program.parseAsync(['node', 'antseed', '--data-dir', dataDir, '--config', configPath, 'gateway', 'workspace', 'operator', ...args]);
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
console.log = log;
|
|
47
|
+
console.error = error;
|
|
48
|
+
}
|
|
49
|
+
return lines.join('\n');
|
|
50
|
+
}
|
|
51
|
+
function withStore(fn) {
|
|
52
|
+
const store = new GatewayStore(dataDir);
|
|
53
|
+
try {
|
|
54
|
+
return fn(store);
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
store.close();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function audits() {
|
|
61
|
+
return withStore((store) => store.listAudit({ limit: 100 }).entries);
|
|
62
|
+
}
|
|
63
|
+
before(() => {
|
|
64
|
+
dataDir = mkdtempSync(join(tmpdir(), 'antseed-operator-cli-'));
|
|
65
|
+
configPath = join(dataDir, 'config.json');
|
|
66
|
+
writeFileSync(configPath, '{}');
|
|
67
|
+
operatorCliRuntime.resolveChain = async () => CHAIN;
|
|
68
|
+
operatorCliRuntime.reader = () => ({ operator: async () => normalizeOperator(chain.operator), nonce: async () => chain.nonce });
|
|
69
|
+
operatorCliRuntime.confirm = async () => answers.shift() ?? false;
|
|
70
|
+
withStore((store) => {
|
|
71
|
+
const member = addActiveMember(store, 'Ali', { orgRole: 'admin', email: 'ali@example.test' });
|
|
72
|
+
new AuthDb(store.database, () => Date.now()).addCredential(member.id, { kind: 'wallet', label: 'Ali wallet', address: MEMBER_WALLET });
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
after(() => {
|
|
76
|
+
Object.assign(operatorCliRuntime, original);
|
|
77
|
+
rmSync(dataDir, { recursive: true, force: true });
|
|
78
|
+
});
|
|
79
|
+
beforeEach(() => {
|
|
80
|
+
chain.operator = null;
|
|
81
|
+
chain.nonce = 0n;
|
|
82
|
+
answers = [];
|
|
83
|
+
});
|
|
84
|
+
test('show reports each state with whose wallet it is', async () => {
|
|
85
|
+
const none = JSON.parse(await run('show', 'Default', '--json'));
|
|
86
|
+
assert.equal(none['relation'], 'none');
|
|
87
|
+
assert.equal(none['operator'], null);
|
|
88
|
+
chain.operator = MEMBER_WALLET;
|
|
89
|
+
const member = JSON.parse(await run('show', 'Default', '--json'));
|
|
90
|
+
assert.equal(member['relation'], 'member');
|
|
91
|
+
assert.equal(member['member'].label, 'Ali');
|
|
92
|
+
chain.operator = STRANGER;
|
|
93
|
+
assert.equal(JSON.parse(await run('show', 'Default', '--json'))['relation'], 'unknown');
|
|
94
|
+
chain.operator = none['buyer'];
|
|
95
|
+
assert.equal(JSON.parse(await run('show', 'Default', '--json'))['relation'], 'self');
|
|
96
|
+
assert.match(await run('show', 'Default'), /operator transfer/);
|
|
97
|
+
});
|
|
98
|
+
test('authorize needs a confirmation; declining signs nothing', async () => {
|
|
99
|
+
answers = [false];
|
|
100
|
+
await assert.rejects(run('authorize', 'Default', MEMBER_WALLET), /Cancelled; nothing was signed/);
|
|
101
|
+
assert.equal(audits().filter((entry) => entry.action === 'wallet.operator_auth').length, 0);
|
|
102
|
+
});
|
|
103
|
+
test('authorize signs with the live nonce, prints calldata and audits as the CLI', async () => {
|
|
104
|
+
chain.nonce = 5n;
|
|
105
|
+
answers = [true];
|
|
106
|
+
const human = await run('authorize', 'Default', MEMBER_WALLET);
|
|
107
|
+
assert.match(human, /cast send 0x[dD]1/);
|
|
108
|
+
assert.match(human, /nonce {5}5/);
|
|
109
|
+
const out = JSON.parse(await run('authorize', 'Default', MEMBER_WALLET, '--yes', '--json'));
|
|
110
|
+
assert.equal(out['nonce'], '5');
|
|
111
|
+
assert.match(out['calldata'], /^0x/);
|
|
112
|
+
assert.equal(out['explorerWriteUrl'], `https://basescan.org/address/${out['depositsContract']}#writeContract`);
|
|
113
|
+
const signer = verifyTypedData(makeDepositsDomain(8453, CHAIN.depositsContractAddress), SET_OPERATOR_TYPES, { operator: MEMBER_WALLET, nonce: 5n }, out['signature']);
|
|
114
|
+
assert.equal(signer, out['buyer']);
|
|
115
|
+
const signed = audits().filter((entry) => entry.action === 'wallet.operator_auth');
|
|
116
|
+
assert.equal(signed.length, 2);
|
|
117
|
+
assert.equal(signed[0].actor.kind, 'cli');
|
|
118
|
+
assert.equal(signed[0].details['nonce'], '5');
|
|
119
|
+
});
|
|
120
|
+
test('authorize refuses when an authorized wallet is set, and bad input', async () => {
|
|
121
|
+
chain.operator = STRANGER;
|
|
122
|
+
await assert.rejects(run('authorize', 'Default', MEMBER_WALLET, '--yes'), /already has an authorized wallet/);
|
|
123
|
+
await assert.rejects(run('authorize', 'Default', '0x1234', '--yes'), /non-zero 0x wallet address/);
|
|
124
|
+
await assert.rejects(run('authorize', 'Default', '--yes'), /Pass the wallet address/);
|
|
125
|
+
await assert.rejects(run('authorize', 'Default', MEMBER_WALLET, '--browser', '--yes'), /either an address or --browser/);
|
|
126
|
+
await assert.rejects(run('authorize', 'Default', '--browser', '--yes'), /already has an authorized wallet/);
|
|
127
|
+
});
|
|
128
|
+
test('transfer is only for a self-authorized workspace wallet', async () => {
|
|
129
|
+
chain.operator = MEMBER_WALLET;
|
|
130
|
+
await assert.rejects(run('transfer', 'Default', STRANGER, '--yes'), /Only that wallet can transfer or clear it/);
|
|
131
|
+
chain.operator = null;
|
|
132
|
+
await assert.rejects(run('transfer', 'Default', STRANGER, '--yes'), /has no authorized wallet/);
|
|
133
|
+
await assert.rejects(run('transfer', 'Default', STRANGER, '--clear', '--yes'), /Pass the new address, or --clear/);
|
|
134
|
+
});
|
|
135
|
+
test('authorize refuses to sign when the running buyer pays from another wallet', async () => {
|
|
136
|
+
const live = `0x${'0e'.repeat(20)}`;
|
|
137
|
+
gatewayCliRuntime.buyerAddresses = async () => new Map([['default', live]]);
|
|
138
|
+
try {
|
|
139
|
+
answers = [true];
|
|
140
|
+
await assert.rejects(run('authorize', 'Default', MEMBER_WALLET, '--yes'), (err) => {
|
|
141
|
+
assert.match(err.message, /running buyer pays from 0x0e/i);
|
|
142
|
+
return true;
|
|
143
|
+
});
|
|
144
|
+
// Reads follow the buyer's wallet, not the key in the data dir.
|
|
145
|
+
assert.equal(JSON.parse(await run('show', 'Default', '--json'))['buyer'], live);
|
|
146
|
+
}
|
|
147
|
+
finally {
|
|
148
|
+
gatewayCliRuntime.buyerAddresses = async () => null;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
//# sourceMappingURL=operator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator.test.js","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/operator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-list.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/peer-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgBxC,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgGtE"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import Table from 'cli-table3';
|
|
3
|
+
import { createPeerList, deletePeerList, findPeerList, updatePeerList } from '../../../gateway/services/peer-lists.js';
|
|
4
|
+
import { collect } from './policy-options.js';
|
|
5
|
+
import { isoOrNull, printJson, withGateway } from './shared.js';
|
|
6
|
+
function listJson(list) {
|
|
7
|
+
return { id: list.id, name: list.name, description: list.description, peerIds: list.peerIds, createdAt: isoOrNull(list.createdAt) };
|
|
8
|
+
}
|
|
9
|
+
function splitPeers(values) {
|
|
10
|
+
return (values ?? []).flatMap((value) => value.split(',')).map((value) => value.trim()).filter(Boolean);
|
|
11
|
+
}
|
|
12
|
+
export function registerGatewayPeerListCommands(gateway) {
|
|
13
|
+
const peerList = gateway.command('peer-list').description('Named seller lists that routing policies allow or block by reference');
|
|
14
|
+
peerList.command('list')
|
|
15
|
+
.description('List peer lists')
|
|
16
|
+
.option('--json', 'print machine-readable JSON', false)
|
|
17
|
+
.action((options, cmd) => withGateway(cmd, ({ store }) => {
|
|
18
|
+
const lists = store.listPeerLists();
|
|
19
|
+
if (options.json) {
|
|
20
|
+
printJson(lists.map(listJson));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (lists.length === 0) {
|
|
24
|
+
console.log(chalk.dim('No peer lists. Create one with `antseed gateway peer-list create --name <name> --peer <peerId>`.'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const table = new Table({ head: ['Id', 'Name', 'Sellers', 'Description'] });
|
|
28
|
+
for (const list of lists)
|
|
29
|
+
table.push([list.id, list.name, String(list.peerIds.length), list.description ?? '-']);
|
|
30
|
+
console.log(table.toString());
|
|
31
|
+
}));
|
|
32
|
+
peerList.command('show')
|
|
33
|
+
.description('Show a peer list\'s sellers')
|
|
34
|
+
.argument('<list>', 'peer list id or name')
|
|
35
|
+
.option('--json', 'print machine-readable JSON', false)
|
|
36
|
+
.action((ref, options, cmd) => withGateway(cmd, ({ ctx }) => {
|
|
37
|
+
const list = findPeerList(ctx, ref);
|
|
38
|
+
if (options.json) {
|
|
39
|
+
printJson(listJson(list));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
console.log(`${chalk.bold(list.name)} ${chalk.dim(list.id)}${list.description ? ` ${list.description}` : ''}`);
|
|
43
|
+
if (list.peerIds.length === 0)
|
|
44
|
+
console.log(chalk.dim(' (empty)'));
|
|
45
|
+
for (const peer of list.peerIds)
|
|
46
|
+
console.log(` ${peer}`);
|
|
47
|
+
}));
|
|
48
|
+
peerList.command('create')
|
|
49
|
+
.description('Create a peer list')
|
|
50
|
+
.requiredOption('--name <name>', 'list name')
|
|
51
|
+
.option('--description <text>', 'what the list is for')
|
|
52
|
+
.option('--peer <peerId>', 'a seller to include (repeatable, or comma-separated)', collect)
|
|
53
|
+
.option('--json', 'print machine-readable JSON', false)
|
|
54
|
+
.action((options, cmd) => withGateway(cmd, ({ ctx, actor }) => {
|
|
55
|
+
const list = createPeerList(ctx, actor, { name: options.name, description: options.description ?? null, peerIds: splitPeers(options.peer) });
|
|
56
|
+
if (options.json) {
|
|
57
|
+
printJson(listJson(list));
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
console.log(chalk.green(`Created peer list ${list.id} (${list.name}) with ${list.peerIds.length} seller(s).`));
|
|
61
|
+
console.log(chalk.dim(`Use it in a policy with --allow-list ${list.id} or --block-list ${list.id}.`));
|
|
62
|
+
}));
|
|
63
|
+
peerList.command('update')
|
|
64
|
+
.description('Rename a peer list, change its description, or replace its sellers')
|
|
65
|
+
.argument('<list>', 'peer list id or name')
|
|
66
|
+
.option('--name <name>', 'new name')
|
|
67
|
+
.option('--description <text>', 'new description ("" removes it)')
|
|
68
|
+
.option('--peers <peerIds>', 'replace the sellers with this comma-separated list ("" empties it)')
|
|
69
|
+
.option('--confirm-empty', 'save even if a policy that allows only this list would be left with no seller', false)
|
|
70
|
+
.action((ref, options, cmd) => withGateway(cmd, ({ ctx, actor }) => {
|
|
71
|
+
const before = findPeerList(ctx, ref);
|
|
72
|
+
if (options.name === undefined && options.description === undefined && options.peers === undefined)
|
|
73
|
+
throw new Error('Nothing to change: pass --name, --description or --peers.');
|
|
74
|
+
const list = updatePeerList(ctx, actor, before.id, {
|
|
75
|
+
...(options.name !== undefined ? { name: options.name } : {}),
|
|
76
|
+
...(options.description !== undefined ? { description: options.description || null } : {}),
|
|
77
|
+
...(options.peers !== undefined ? { peerIds: splitPeers([options.peers]) } : {}),
|
|
78
|
+
confirmEmpty: options.confirmEmpty,
|
|
79
|
+
});
|
|
80
|
+
console.log(`Updated ${list.name} (${list.id}): ${list.peerIds.length} seller(s).`);
|
|
81
|
+
}));
|
|
82
|
+
for (const [name, adding] of [['add', true], ['remove', false]]) {
|
|
83
|
+
peerList.command(name)
|
|
84
|
+
.description(adding ? 'Add sellers to a peer list' : 'Remove sellers from a peer list')
|
|
85
|
+
.argument('<list>', 'peer list id or name')
|
|
86
|
+
.argument('<peerIds...>', 'seller peer ids')
|
|
87
|
+
.option('--confirm-empty', 'save even if a policy that allows only this list would be left with no seller', false)
|
|
88
|
+
.action((ref, peerIds, options, cmd) => withGateway(cmd, ({ ctx, actor }) => {
|
|
89
|
+
const before = findPeerList(ctx, ref);
|
|
90
|
+
const changed = splitPeers(peerIds).map((id) => id.toLowerCase().replace(/^0x/, ''));
|
|
91
|
+
const next = adding
|
|
92
|
+
? [...before.peerIds, ...changed]
|
|
93
|
+
: before.peerIds.filter((id) => !changed.includes(id));
|
|
94
|
+
const list = updatePeerList(ctx, actor, before.id, { peerIds: next, confirmEmpty: options.confirmEmpty });
|
|
95
|
+
console.log(`${list.name} (${list.id}) now has ${list.peerIds.length} seller(s).`);
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
peerList.command('delete')
|
|
99
|
+
.description('Delete a peer list; policies that reference it stop matching its sellers')
|
|
100
|
+
.argument('<list>', 'peer list id or name')
|
|
101
|
+
.option('--confirm-empty', 'delete even if a policy that allows only this list would be left with no seller', false)
|
|
102
|
+
.action((ref, options, cmd) => withGateway(cmd, ({ ctx, actor }) => {
|
|
103
|
+
const list = deletePeerList(ctx, actor, findPeerList(ctx, ref).id, { confirmEmpty: options.confirmEmpty });
|
|
104
|
+
console.log(`Deleted peer list ${list.name} (${list.id}).`);
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=peer-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-list.js","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/peer-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import { type RoutingPolicy } from '../../../routing-policy/policy.js';
|
|
3
|
+
import type { GatewayStore } from '../../../gateway/store.js';
|
|
4
|
+
export declare function collect(value: string, previous?: string[]): string[];
|
|
5
|
+
/** Adds the routing-policy flags shared by every `… policy set` command. */
|
|
6
|
+
export declare function addPolicyOptions(cmd: Command): Command;
|
|
7
|
+
/** Adds `--confirm-empty` and `--accept-narrowed`, the CLI side of the console's confirmations. */
|
|
8
|
+
export declare function addConfirmOptions(cmd: Command, narrowing?: boolean): Command;
|
|
9
|
+
/** Whether any policy flag (or `--file`) was given. */
|
|
10
|
+
export declare function hasPolicyOptions(options: Record<string, unknown>): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The policy described by `--file` and the policy flags, on top of `base`
|
|
13
|
+
* when `--merge` is set. Peer lists may be named; they are stored by id.
|
|
14
|
+
* Validated with the same check as the console API.
|
|
15
|
+
*/
|
|
16
|
+
export declare function policyFromOptions(store: GatewayStore, options: Record<string, unknown>, base?: RoutingPolicy | null): RoutingPolicy;
|
|
17
|
+
/** One line per policy field, for terminal output. */
|
|
18
|
+
export declare function describePolicy(policy: RoutingPolicy | null | undefined, store?: GatewayStore): string[];
|
|
19
|
+
export declare function confirmFlags(options: Record<string, unknown>): {
|
|
20
|
+
confirmEmpty: boolean;
|
|
21
|
+
acceptNarrowed: boolean;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=policy-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-options.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/gateway/policy-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAoC,KAAK,aAAa,EAAoB,MAAM,mCAAmC,CAAA;AAG1H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAI7D,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAExE;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAkBtD;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,UAAO,GAAG,OAAO,CAIzE;AAcD,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,GAAE,aAAa,GAAG,IAAW,GAAG,aAAa,CAiCzI;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAuBvG;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAEjH"}
|