rise-wallet 0.1.4-beta.2 → 0.2.29
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 +64 -34
- package/dist/cli/Dialog.d.ts +35 -0
- package/dist/cli/Dialog.d.ts.map +1 -0
- package/dist/cli/Dialog.js +60 -0
- package/dist/cli/Dialog.js.map +1 -0
- package/dist/cli/Messenger.d.ts +8 -0
- package/dist/cli/Messenger.d.ts.map +1 -0
- package/dist/cli/Messenger.js +123 -0
- package/dist/cli/Messenger.js.map +1 -0
- package/dist/cli/bin/commands-o468kGU4.js +50 -0
- package/dist/cli/bin/index.js +9 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/internal/commands.d.ts +13 -0
- package/dist/cli/internal/commands.d.ts.map +1 -0
- package/dist/cli/internal/commands.js +180 -0
- package/dist/cli/internal/commands.js.map +1 -0
- package/dist/cli/internal/context.d.ts +521 -0
- package/dist/cli/internal/context.d.ts.map +1 -0
- package/dist/cli/internal/context.js +38 -0
- package/dist/cli/internal/context.js.map +1 -0
- package/dist/cli/internal/http.d.ts +7 -0
- package/dist/cli/internal/http.d.ts.map +1 -0
- package/dist/cli/internal/http.js +17 -0
- package/dist/cli/internal/http.js.map +1 -0
- package/dist/cli/internal/utils.d.ts +7 -0
- package/dist/cli/internal/utils.d.ts.map +1 -0
- package/dist/cli/internal/utils.js +24 -0
- package/dist/cli/internal/utils.js.map +1 -0
- package/dist/core/Chains.d.ts +211 -0
- package/dist/core/Chains.d.ts.map +1 -0
- package/dist/core/Chains.js +20 -0
- package/dist/core/Chains.js.map +1 -0
- package/dist/core/Dialog.d.ts +308 -0
- package/dist/core/Dialog.d.ts.map +1 -0
- package/dist/core/Dialog.js +809 -0
- package/dist/core/Dialog.js.map +1 -0
- package/dist/core/Messenger.d.ts +165 -0
- package/dist/core/Messenger.d.ts.map +1 -0
- package/dist/core/Messenger.js +207 -0
- package/dist/core/Messenger.js.map +1 -0
- package/dist/core/Mode.d.ts +5 -0
- package/dist/core/Mode.d.ts.map +1 -0
- package/dist/core/Mode.js +5 -0
- package/dist/core/Mode.js.map +1 -0
- package/dist/core/Porto.d.ts +1609 -0
- package/dist/core/Porto.d.ts.map +1 -0
- package/dist/core/Porto.js +105 -0
- package/dist/core/Porto.js.map +1 -0
- package/dist/core/RpcSchema.d.ts +82 -0
- package/dist/core/RpcSchema.d.ts.map +1 -0
- package/dist/core/RpcSchema.js +2 -0
- package/dist/core/RpcSchema.js.map +1 -0
- package/dist/core/Storage.d.ts +15 -0
- package/dist/core/Storage.d.ts.map +1 -0
- package/dist/core/Storage.js +109 -0
- package/dist/core/Storage.js.map +1 -0
- package/dist/core/Transport.d.ts +23 -0
- package/dist/core/Transport.d.ts.map +1 -0
- package/dist/core/Transport.js +37 -0
- package/dist/core/Transport.js.map +1 -0
- package/dist/core/internal/_generated/chains.d.ts +2 -0
- package/dist/core/internal/_generated/chains.d.ts.map +1 -0
- package/dist/core/internal/_generated/chains.js +3 -0
- package/dist/core/internal/_generated/chains.js.map +1 -0
- package/dist/core/internal/_generated/contracts/EIP7702Proxy.d.ts +18 -0
- package/dist/core/internal/_generated/contracts/EIP7702Proxy.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/EIP7702Proxy.js +24 -0
- package/dist/core/internal/_generated/contracts/EIP7702Proxy.js.map +1 -0
- package/dist/core/internal/_generated/contracts/Escrow.d.ts +256 -0
- package/dist/core/internal/_generated/contracts/Escrow.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/Escrow.js +329 -0
- package/dist/core/internal/_generated/contracts/Escrow.js.map +1 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC20.d.ts +440 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC20.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC20.js +568 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC20.js.map +1 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC721.d.ts +456 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC721.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC721.js +587 -0
- package/dist/core/internal/_generated/contracts/ExperimentERC721.js.map +1 -0
- package/dist/core/internal/_generated/contracts/GuardedExecutor.d.ts +482 -0
- package/dist/core/internal/_generated/contracts/GuardedExecutor.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/GuardedExecutor.js +622 -0
- package/dist/core/internal/_generated/contracts/GuardedExecutor.js.map +1 -0
- package/dist/core/internal/_generated/contracts/ICallChecker.d.ts +25 -0
- package/dist/core/internal/_generated/contracts/ICallChecker.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/ICallChecker.js +33 -0
- package/dist/core/internal/_generated/contracts/ICallChecker.js.map +1 -0
- package/dist/core/internal/_generated/contracts/ICommon.d.ts +3 -0
- package/dist/core/internal/_generated/contracts/ICommon.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/ICommon.js +3 -0
- package/dist/core/internal/_generated/contracts/ICommon.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IEscrow.d.ts +88 -0
- package/dist/core/internal/_generated/contracts/IEscrow.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IEscrow.js +113 -0
- package/dist/core/internal/_generated/contracts/IEscrow.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IFunder.d.ts +61 -0
- package/dist/core/internal/_generated/contracts/IFunder.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IFunder.js +79 -0
- package/dist/core/internal/_generated/contracts/IFunder.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IFunderV4.d.ts +34 -0
- package/dist/core/internal/_generated/contracts/IFunderV4.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IFunderV4.js +44 -0
- package/dist/core/internal/_generated/contracts/IFunderV4.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IIthacaAccount.d.ts +81 -0
- package/dist/core/internal/_generated/contracts/IIthacaAccount.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IIthacaAccount.js +106 -0
- package/dist/core/internal/_generated/contracts/IIthacaAccount.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IOAppCore.d.ts +108 -0
- package/dist/core/internal/_generated/contracts/IOAppCore.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IOAppCore.js +141 -0
- package/dist/core/internal/_generated/contracts/IOAppCore.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IOAppMsgInspector.d.ts +33 -0
- package/dist/core/internal/_generated/contracts/IOAppMsgInspector.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IOAppMsgInspector.js +44 -0
- package/dist/core/internal/_generated/contracts/IOAppMsgInspector.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IOAppReceiver.d.ts +122 -0
- package/dist/core/internal/_generated/contracts/IOAppReceiver.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IOAppReceiver.js +160 -0
- package/dist/core/internal/_generated/contracts/IOAppReceiver.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IOrchestrator.d.ts +71 -0
- package/dist/core/internal/_generated/contracts/IOrchestrator.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IOrchestrator.js +94 -0
- package/dist/core/internal/_generated/contracts/IOrchestrator.js.map +1 -0
- package/dist/core/internal/_generated/contracts/ISettler.d.ts +39 -0
- package/dist/core/internal/_generated/contracts/ISettler.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/ISettler.js +51 -0
- package/dist/core/internal/_generated/contracts/ISettler.js.map +1 -0
- package/dist/core/internal/_generated/contracts/ISigner.d.ts +25 -0
- package/dist/core/internal/_generated/contracts/ISigner.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/ISigner.js +33 -0
- package/dist/core/internal/_generated/contracts/ISigner.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IthacaAccount.d.ts +1121 -0
- package/dist/core/internal/_generated/contracts/IthacaAccount.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IthacaAccount.js +1453 -0
- package/dist/core/internal/_generated/contracts/IthacaAccount.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountNew.d.ts +1121 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountNew.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountNew.js +1453 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountNew.js.map +1 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountOld.d.ts +1121 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountOld.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountOld.js +1453 -0
- package/dist/core/internal/_generated/contracts/IthacaAccountOld.js.map +1 -0
- package/dist/core/internal/_generated/contracts/LayerZeroSettler.d.ts +621 -0
- package/dist/core/internal/_generated/contracts/LayerZeroSettler.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/LayerZeroSettler.js +810 -0
- package/dist/core/internal/_generated/contracts/LayerZeroSettler.js.map +1 -0
- package/dist/core/internal/_generated/contracts/LibNonce.d.ts +11 -0
- package/dist/core/internal/_generated/contracts/LibNonce.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/LibNonce.js +14 -0
- package/dist/core/internal/_generated/contracts/LibNonce.js.map +1 -0
- package/dist/core/internal/_generated/contracts/LibTStack.d.ts +3 -0
- package/dist/core/internal/_generated/contracts/LibTStack.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/LibTStack.js +3 -0
- package/dist/core/internal/_generated/contracts/LibTStack.js.map +1 -0
- package/dist/core/internal/_generated/contracts/MultiSigSigner.d.ts +157 -0
- package/dist/core/internal/_generated/contracts/MultiSigSigner.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/MultiSigSigner.js +202 -0
- package/dist/core/internal/_generated/contracts/MultiSigSigner.js.map +1 -0
- package/dist/core/internal/_generated/contracts/OApp.d.ts +314 -0
- package/dist/core/internal/_generated/contracts/OApp.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/OApp.js +411 -0
- package/dist/core/internal/_generated/contracts/OApp.js.map +1 -0
- package/dist/core/internal/_generated/contracts/OAppCore.d.ts +175 -0
- package/dist/core/internal/_generated/contracts/OAppCore.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/OAppCore.js +228 -0
- package/dist/core/internal/_generated/contracts/OAppCore.js.map +1 -0
- package/dist/core/internal/_generated/contracts/OAppReceiver.d.ts +302 -0
- package/dist/core/internal/_generated/contracts/OAppReceiver.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/OAppReceiver.js +395 -0
- package/dist/core/internal/_generated/contracts/OAppReceiver.js.map +1 -0
- package/dist/core/internal/_generated/contracts/OAppSender.d.ts +187 -0
- package/dist/core/internal/_generated/contracts/OAppSender.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/OAppSender.js +244 -0
- package/dist/core/internal/_generated/contracts/OAppSender.js.map +1 -0
- package/dist/core/internal/_generated/contracts/Orchestrator.d.ts +302 -0
- package/dist/core/internal/_generated/contracts/Orchestrator.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/Orchestrator.js +389 -0
- package/dist/core/internal/_generated/contracts/Orchestrator.js.map +1 -0
- package/dist/core/internal/_generated/contracts/SimpleFunder.d.ts +413 -0
- package/dist/core/internal/_generated/contracts/SimpleFunder.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/SimpleFunder.js +533 -0
- package/dist/core/internal/_generated/contracts/SimpleFunder.js.map +1 -0
- package/dist/core/internal/_generated/contracts/SimpleSettler.d.ts +280 -0
- package/dist/core/internal/_generated/contracts/SimpleSettler.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/SimpleSettler.js +359 -0
- package/dist/core/internal/_generated/contracts/SimpleSettler.js.map +1 -0
- package/dist/core/internal/_generated/contracts/Simulator.d.ts +131 -0
- package/dist/core/internal/_generated/contracts/Simulator.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/Simulator.js +169 -0
- package/dist/core/internal/_generated/contracts/Simulator.js.map +1 -0
- package/dist/core/internal/_generated/contracts/TokenTransferLib.d.ts +3 -0
- package/dist/core/internal/_generated/contracts/TokenTransferLib.d.ts.map +1 -0
- package/dist/core/internal/_generated/contracts/TokenTransferLib.js +3 -0
- package/dist/core/internal/_generated/contracts/TokenTransferLib.js.map +1 -0
- package/dist/core/internal/call.d.ts +164 -0
- package/dist/core/internal/call.d.ts.map +1 -0
- package/dist/core/internal/call.js +115 -0
- package/dist/core/internal/call.js.map +1 -0
- package/dist/core/internal/erc8010.d.ts +18 -0
- package/dist/core/internal/erc8010.d.ts.map +1 -0
- package/dist/core/internal/erc8010.js +29 -0
- package/dist/core/internal/erc8010.js.map +1 -0
- package/dist/core/internal/intersectionObserver.d.ts +2 -0
- package/dist/core/internal/intersectionObserver.d.ts.map +1 -0
- package/dist/core/internal/intersectionObserver.js +5 -0
- package/dist/core/internal/intersectionObserver.js.map +1 -0
- package/dist/core/internal/logger.d.ts +22 -0
- package/dist/core/internal/logger.d.ts.map +1 -0
- package/dist/core/internal/logger.js +24 -0
- package/dist/core/internal/logger.js.map +1 -0
- package/dist/core/internal/mode.d.ts +345 -0
- package/dist/core/internal/mode.d.ts.map +1 -0
- package/dist/core/internal/mode.js +110 -0
- package/dist/core/internal/mode.js.map +1 -0
- package/dist/core/internal/modes/dialog.d.ts +800 -0
- package/dist/core/internal/modes/dialog.d.ts.map +1 -0
- package/dist/core/internal/modes/dialog.js +760 -0
- package/dist/core/internal/modes/dialog.js.map +1 -0
- package/dist/core/internal/modes/reactNative.d.ts +1402 -0
- package/dist/core/internal/modes/reactNative.d.ts.map +1 -0
- package/dist/core/internal/modes/reactNative.js +19 -0
- package/dist/core/internal/modes/reactNative.js.map +1 -0
- package/dist/core/internal/modes/relay.d.ts +685 -0
- package/dist/core/internal/modes/relay.d.ts.map +1 -0
- package/dist/core/internal/modes/relay.js +708 -0
- package/dist/core/internal/modes/relay.js.map +1 -0
- package/dist/core/internal/permissions.d.ts +60 -0
- package/dist/core/internal/permissions.d.ts.map +1 -0
- package/dist/core/internal/permissions.js +30 -0
- package/dist/core/internal/permissions.js.map +1 -0
- package/dist/core/internal/permissionsRequest.d.ts +72 -0
- package/dist/core/internal/permissionsRequest.d.ts.map +1 -0
- package/dist/core/internal/permissionsRequest.js +58 -0
- package/dist/core/internal/permissionsRequest.js.map +1 -0
- package/dist/core/internal/porto.d.ts +14 -0
- package/dist/core/internal/porto.d.ts.map +1 -0
- package/dist/core/internal/porto.js +2 -0
- package/dist/core/internal/porto.js.map +1 -0
- package/dist/core/internal/promise.d.ts +9 -0
- package/dist/core/internal/promise.d.ts.map +1 -0
- package/dist/core/internal/promise.js +11 -0
- package/dist/core/internal/promise.js.map +1 -0
- package/dist/core/internal/provider.d.ts +30 -0
- package/dist/core/internal/provider.d.ts.map +1 -0
- package/dist/core/internal/provider.js +944 -0
- package/dist/core/internal/provider.js.map +1 -0
- package/dist/core/internal/relay/rpcSchema.d.ts +76 -0
- package/dist/core/internal/relay/rpcSchema.d.ts.map +1 -0
- package/dist/core/internal/relay/rpcSchema.js +7 -0
- package/dist/core/internal/relay/rpcSchema.js.map +1 -0
- package/dist/core/internal/relay/schema/capabilities.d.ts +165 -0
- package/dist/core/internal/relay/schema/capabilities.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/capabilities.js +112 -0
- package/dist/core/internal/relay/schema/capabilities.js.map +1 -0
- package/dist/core/internal/relay/schema/intent.d.ts +168 -0
- package/dist/core/internal/relay/schema/intent.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/intent.js +170 -0
- package/dist/core/internal/relay/schema/intent.js.map +1 -0
- package/dist/core/internal/relay/schema/key.d.ts +44 -0
- package/dist/core/internal/relay/schema/key.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/key.js +30 -0
- package/dist/core/internal/relay/schema/key.js.map +1 -0
- package/dist/core/internal/relay/schema/permission.d.ts +40 -0
- package/dist/core/internal/relay/schema/permission.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/permission.js +29 -0
- package/dist/core/internal/relay/schema/permission.js.map +1 -0
- package/dist/core/internal/relay/schema/preCall.d.ts +63 -0
- package/dist/core/internal/relay/schema/preCall.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/preCall.js +36 -0
- package/dist/core/internal/relay/schema/preCall.js.map +1 -0
- package/dist/core/internal/relay/schema/quotes.d.ts +370 -0
- package/dist/core/internal/relay/schema/quotes.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/quotes.js +89 -0
- package/dist/core/internal/relay/schema/quotes.js.map +1 -0
- package/dist/core/internal/relay/schema/rpc.d.ts +1529 -0
- package/dist/core/internal/relay/schema/rpc.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/rpc.js +638 -0
- package/dist/core/internal/relay/schema/rpc.js.map +1 -0
- package/dist/core/internal/relay/schema/token.d.ts +14 -0
- package/dist/core/internal/relay/schema/token.d.ts.map +1 -0
- package/dist/core/internal/relay/schema/token.js +13 -0
- package/dist/core/internal/relay/schema/token.js.map +1 -0
- package/dist/core/internal/requiredFunds.d.ts +19 -0
- package/dist/core/internal/requiredFunds.d.ts.map +1 -0
- package/dist/core/internal/requiredFunds.js +25 -0
- package/dist/core/internal/requiredFunds.js.map +1 -0
- package/dist/core/internal/schema/capabilities.d.ts +314 -0
- package/dist/core/internal/schema/capabilities.d.ts.map +1 -0
- package/dist/core/internal/schema/capabilities.js +133 -0
- package/dist/core/internal/schema/capabilities.js.map +1 -0
- package/dist/core/internal/schema/key.d.ts +165 -0
- package/dist/core/internal/schema/key.d.ts.map +1 -0
- package/dist/core/internal/schema/key.js +75 -0
- package/dist/core/internal/schema/key.js.map +1 -0
- package/dist/core/internal/schema/permissions.d.ts +103 -0
- package/dist/core/internal/schema/permissions.d.ts.map +1 -0
- package/dist/core/internal/schema/permissions.js +28 -0
- package/dist/core/internal/schema/permissions.js.map +1 -0
- package/dist/core/internal/schema/request.d.ts +938 -0
- package/dist/core/internal/schema/request.d.ts.map +1 -0
- package/dist/core/internal/schema/request.js +57 -0
- package/dist/core/internal/schema/request.js.map +1 -0
- package/dist/core/internal/schema/rpc.d.ts +3315 -0
- package/dist/core/internal/schema/rpc.d.ts.map +1 -0
- package/dist/core/internal/schema/rpc.js +599 -0
- package/dist/core/internal/schema/rpc.js.map +1 -0
- package/dist/core/internal/schema/token.d.ts +2 -0
- package/dist/core/internal/schema/token.d.ts.map +1 -0
- package/dist/core/internal/schema/token.js +2 -0
- package/dist/core/internal/schema/token.js.map +1 -0
- package/dist/core/internal/schema/utils.d.ts +19 -0
- package/dist/core/internal/schema/utils.d.ts.map +1 -0
- package/dist/core/internal/schema/utils.js +213 -0
- package/dist/core/internal/schema/utils.js.map +1 -0
- package/dist/core/internal/siwe.d.ts +33 -0
- package/dist/core/internal/siwe.d.ts.map +1 -0
- package/dist/core/internal/siwe.js +92 -0
- package/dist/core/internal/siwe.js.map +1 -0
- package/dist/core/internal/store.d.ts +3 -0
- package/dist/core/internal/store.d.ts.map +1 -0
- package/dist/core/internal/store.js +9 -0
- package/dist/core/internal/store.js.map +1 -0
- package/dist/core/internal/tokens.d.ts +58 -0
- package/dist/core/internal/tokens.d.ts.map +1 -0
- package/dist/core/internal/tokens.js +69 -0
- package/dist/core/internal/tokens.js.map +1 -0
- package/dist/core/internal/types.d.ts +299 -0
- package/dist/core/internal/types.d.ts.map +1 -0
- package/dist/core/internal/types.js +2 -0
- package/dist/core/internal/types.js.map +1 -0
- package/dist/core/internal/urlString.d.ts +2 -0
- package/dist/core/internal/urlString.d.ts.map +1 -0
- package/dist/core/internal/urlString.js +8 -0
- package/dist/core/internal/urlString.js.map +1 -0
- package/dist/core/internal/userAgent.d.ts +11 -0
- package/dist/core/internal/userAgent.d.ts.map +1 -0
- package/dist/core/internal/userAgent.js +19 -0
- package/dist/core/internal/userAgent.js.map +1 -0
- package/dist/core/internal/utils.d.ts +25 -0
- package/dist/core/internal/utils.d.ts.map +1 -0
- package/dist/core/internal/utils.js +62 -0
- package/dist/core/internal/utils.js.map +1 -0
- package/dist/core/react-native/Porto.d.ts +1481 -0
- package/dist/core/react-native/Porto.d.ts.map +1 -0
- package/dist/core/react-native/Porto.js +17 -0
- package/dist/core/react-native/Porto.js.map +1 -0
- package/dist/core/react-native/configure.d.ts +10 -0
- package/dist/core/react-native/configure.d.ts.map +1 -0
- package/dist/core/react-native/configure.js +24 -0
- package/dist/core/react-native/configure.js.map +1 -0
- package/dist/core/react-native/environment.d.ts +27 -0
- package/dist/core/react-native/environment.d.ts.map +1 -0
- package/dist/core/react-native/environment.js +13 -0
- package/dist/core/react-native/environment.js.map +1 -0
- package/dist/core/react-native/index.d.ts +5 -0
- package/dist/core/react-native/index.d.ts.map +1 -0
- package/dist/core/react-native/index.js +5 -0
- package/dist/core/react-native/index.js.map +1 -0
- package/dist/core/react-native/utils.d.ts +2 -0
- package/dist/core/react-native/utils.d.ts.map +1 -0
- package/dist/core/react-native/utils.js +12 -0
- package/dist/core/react-native/utils.js.map +1 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -0
- package/dist/index.native.d.ts +8 -0
- package/dist/index.native.d.ts.map +1 -0
- package/dist/index.native.js +12 -0
- package/dist/index.native.js.map +1 -0
- package/dist/internal/index.d.ts +4 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +4 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/react-native/crypto.d.ts +2 -0
- package/dist/react-native/crypto.d.ts.map +1 -0
- package/dist/react-native/crypto.js +12 -0
- package/dist/react-native/crypto.js.map +1 -0
- package/dist/react-native/index.d.ts +8 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +12 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/register.d.ts +3 -0
- package/dist/react-native/register.d.ts.map +1 -0
- package/dist/react-native/register.js +15 -0
- package/dist/react-native/register.js.map +1 -0
- package/dist/register/index.d.ts +15 -0
- package/dist/register/index.d.ts.map +1 -0
- package/dist/register/index.js +2 -0
- package/dist/register/index.js.map +1 -0
- package/dist/remote/Actions.d.ts +34 -0
- package/dist/remote/Actions.d.ts.map +1 -0
- package/dist/remote/Actions.js +76 -0
- package/dist/remote/Actions.js.map +1 -0
- package/dist/remote/Events.d.ts +47 -0
- package/dist/remote/Events.d.ts.map +1 -0
- package/dist/remote/Events.js +132 -0
- package/dist/remote/Events.js.map +1 -0
- package/dist/remote/Hooks.d.ts +3801 -0
- package/dist/remote/Hooks.d.ts.map +1 -0
- package/dist/remote/Hooks.js +106 -0
- package/dist/remote/Hooks.js.map +1 -0
- package/dist/remote/Porto.d.ts +858 -0
- package/dist/remote/Porto.d.ts.map +1 -0
- package/dist/remote/Porto.js +66 -0
- package/dist/remote/Porto.js.map +1 -0
- package/dist/remote/index.d.ts +5 -0
- package/dist/remote/index.d.ts.map +1 -0
- package/dist/remote/index.js +5 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/remote/internal/methodPolicies.d.ts +97 -0
- package/dist/remote/internal/methodPolicies.d.ts.map +1 -0
- package/dist/remote/internal/methodPolicies.js +102 -0
- package/dist/remote/internal/methodPolicies.js.map +1 -0
- package/dist/server/Route.d.ts +88 -0
- package/dist/server/Route.d.ts.map +1 -0
- package/dist/server/Route.js +189 -0
- package/dist/server/Route.js.map +1 -0
- package/dist/server/Router.d.ts +24 -0
- package/dist/server/Router.d.ts.map +1 -0
- package/dist/server/Router.js +29 -0
- package/dist/server/Router.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/internal/merchantSchema.d.ts +65 -0
- package/dist/server/internal/merchantSchema.d.ts.map +1 -0
- package/dist/server/internal/merchantSchema.js +7 -0
- package/dist/server/internal/merchantSchema.js.map +1 -0
- package/dist/server/internal/requestListener.d.ts +124 -0
- package/dist/server/internal/requestListener.d.ts.map +1 -0
- package/dist/server/internal/requestListener.js +172 -0
- package/dist/server/internal/requestListener.js.map +1 -0
- package/dist/theme/Theme.d.ts +122 -0
- package/dist/theme/Theme.d.ts.map +1 -0
- package/dist/theme/Theme.js +18 -0
- package/dist/theme/Theme.js.map +1 -0
- package/dist/theme/index.d.ts +3 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +2 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/trusted-hosts.d.ts +2 -0
- package/dist/trusted-hosts.d.ts.map +1 -0
- package/dist/trusted-hosts.js +44 -0
- package/dist/trusted-hosts.js.map +1 -0
- package/dist/tsconfig.tmp.tsbuildinfo +1 -0
- package/dist/viem/Account.d.ts +111 -0
- package/dist/viem/Account.d.ts.map +1 -0
- package/dist/viem/Account.js +132 -0
- package/dist/viem/Account.js.map +1 -0
- package/dist/viem/AccountActions.d.ts +11 -0
- package/dist/viem/AccountActions.d.ts.map +1 -0
- package/dist/viem/AccountActions.js +14 -0
- package/dist/viem/AccountActions.js.map +1 -0
- package/dist/viem/CapabilitiesSchema.d.ts +15 -0
- package/dist/viem/CapabilitiesSchema.d.ts.map +1 -0
- package/dist/viem/CapabilitiesSchema.js +2 -0
- package/dist/viem/CapabilitiesSchema.js.map +1 -0
- package/dist/viem/ContractActions.d.ts +209 -0
- package/dist/viem/ContractActions.d.ts.map +1 -0
- package/dist/viem/ContractActions.js +350 -0
- package/dist/viem/ContractActions.js.map +1 -0
- package/dist/viem/Key.d.ts +1156 -0
- package/dist/viem/Key.d.ts.map +1 -0
- package/dist/viem/Key.js +924 -0
- package/dist/viem/Key.js.map +1 -0
- package/dist/viem/RelayActions.d.ts +436 -0
- package/dist/viem/RelayActions.d.ts.map +1 -0
- package/dist/viem/RelayActions.js +385 -0
- package/dist/viem/RelayActions.js.map +1 -0
- package/dist/viem/RelayClient.d.ts +27 -0
- package/dist/viem/RelayClient.d.ts.map +1 -0
- package/dist/viem/RelayClient.js +44 -0
- package/dist/viem/RelayClient.js.map +1 -0
- package/dist/viem/RpcSchema.d.ts +23 -0
- package/dist/viem/RpcSchema.d.ts.map +1 -0
- package/dist/viem/RpcSchema.js +2 -0
- package/dist/viem/RpcSchema.js.map +1 -0
- package/dist/viem/WalletActions.d.ts +87 -0
- package/dist/viem/WalletActions.d.ts.map +1 -0
- package/dist/viem/WalletActions.js +220 -0
- package/dist/viem/WalletActions.js.map +1 -0
- package/dist/viem/WalletClient.d.ts +21 -0
- package/dist/viem/WalletClient.d.ts.map +1 -0
- package/dist/viem/WalletClient.js +23 -0
- package/dist/viem/WalletClient.js.map +1 -0
- package/dist/viem/index.d.ts +14 -0
- package/dist/viem/index.d.ts.map +1 -0
- package/dist/viem/index.js +12 -0
- package/dist/viem/index.js.map +1 -0
- package/dist/viem/internal/relayActions.d.ts +365 -0
- package/dist/viem/internal/relayActions.d.ts.map +1 -0
- package/dist/viem/internal/relayActions.js +783 -0
- package/dist/viem/internal/relayActions.js.map +1 -0
- package/dist/viem/internal/utils.d.ts +16 -0
- package/dist/viem/internal/utils.d.ts.map +1 -0
- package/dist/viem/internal/utils.js +2 -0
- package/dist/viem/internal/utils.js.map +1 -0
- package/dist/wagmi/Actions.d.ts +2 -0
- package/dist/wagmi/Actions.d.ts.map +1 -0
- package/dist/wagmi/Actions.js +2 -0
- package/dist/wagmi/Actions.js.map +1 -0
- package/dist/wagmi/Connector.d.ts +28 -0
- package/dist/wagmi/Connector.d.ts.map +1 -0
- package/dist/wagmi/Connector.js +238 -0
- package/dist/wagmi/Connector.js.map +1 -0
- package/dist/wagmi/Hooks.d.ts +2 -0
- package/dist/wagmi/Hooks.d.ts.map +1 -0
- package/dist/wagmi/Hooks.js +2 -0
- package/dist/wagmi/Hooks.js.map +1 -0
- package/dist/wagmi/Hooks.native.d.ts +3 -0
- package/dist/wagmi/Hooks.native.d.ts.map +1 -0
- package/dist/wagmi/Hooks.native.js +3 -0
- package/dist/wagmi/Hooks.native.js.map +1 -0
- package/dist/wagmi/Query.d.ts +2 -0
- package/dist/wagmi/Query.d.ts.map +1 -0
- package/dist/wagmi/Query.js +2 -0
- package/dist/wagmi/Query.js.map +1 -0
- package/dist/wagmi/index.d.ts +5 -0
- package/dist/wagmi/index.d.ts.map +1 -0
- package/dist/wagmi/index.js +5 -0
- package/dist/wagmi/index.js.map +1 -0
- package/dist/wagmi/index.native.d.ts +6 -0
- package/dist/wagmi/index.native.d.ts.map +1 -0
- package/dist/wagmi/index.native.js +6 -0
- package/dist/wagmi/index.native.js.map +1 -0
- package/dist/wagmi/internal/core.d.ts +84 -0
- package/dist/wagmi/internal/core.d.ts.map +1 -0
- package/dist/wagmi/internal/core.js +229 -0
- package/dist/wagmi/internal/core.js.map +1 -0
- package/dist/wagmi/internal/query.d.ts +33 -0
- package/dist/wagmi/internal/query.d.ts.map +1 -0
- package/dist/wagmi/internal/query.js +23 -0
- package/dist/wagmi/internal/query.js.map +1 -0
- package/dist/wagmi/internal/react.d.ts +91 -0
- package/dist/wagmi/internal/react.d.ts.map +1 -0
- package/dist/wagmi/internal/react.js +256 -0
- package/dist/wagmi/internal/react.js.map +1 -0
- package/dist/wagmi/internal/types.d.ts +11 -0
- package/dist/wagmi/internal/types.d.ts.map +1 -0
- package/dist/wagmi/internal/types.js +2 -0
- package/dist/wagmi/internal/types.js.map +1 -0
- package/dist/wagmi/internal/utils.d.ts +2 -0
- package/dist/wagmi/internal/utils.d.ts.map +1 -0
- package/dist/wagmi/internal/utils.js +18 -0
- package/dist/wagmi/internal/utils.js.map +1 -0
- package/package.json +287 -34
- package/src/cli/Dialog.ts +75 -0
- package/src/cli/Messenger.ts +148 -0
- package/src/cli/bin/index.ts +37 -0
- package/src/cli/bin/tsconfig.json +8 -0
- package/src/cli/index.ts +2 -0
- package/src/cli/internal/commands.ts +216 -0
- package/src/cli/internal/context.ts +56 -0
- package/src/cli/internal/http.ts +28 -0
- package/src/cli/internal/utils.ts +28 -0
- package/src/cli/tsdown.config.ts +37 -0
- package/src/core/Chains.ts +25 -0
- package/src/core/Dialog.ts +1059 -0
- package/src/core/Messenger.ts +394 -0
- package/src/core/Mode.ts +4 -0
- package/src/core/Porto.ts +287 -0
- package/src/core/RpcSchema.ts +124 -0
- package/src/core/Storage.ts +122 -0
- package/src/core/Transport.ts +45 -0
- package/src/core/internal/_generated/chains.ts +2 -0
- package/src/core/internal/_generated/contracts/EIP7702Proxy.ts +25 -0
- package/src/core/internal/_generated/contracts/Escrow.ts +330 -0
- package/src/core/internal/_generated/contracts/ExperimentERC20.ts +569 -0
- package/src/core/internal/_generated/contracts/ExperimentERC721.ts +588 -0
- package/src/core/internal/_generated/contracts/GuardedExecutor.ts +623 -0
- package/src/core/internal/_generated/contracts/ICallChecker.ts +34 -0
- package/src/core/internal/_generated/contracts/ICommon.ts +4 -0
- package/src/core/internal/_generated/contracts/IEscrow.ts +114 -0
- package/src/core/internal/_generated/contracts/IFunder.ts +80 -0
- package/src/core/internal/_generated/contracts/IFunderV4.ts +45 -0
- package/src/core/internal/_generated/contracts/IIthacaAccount.ts +107 -0
- package/src/core/internal/_generated/contracts/IOAppCore.ts +142 -0
- package/src/core/internal/_generated/contracts/IOAppMsgInspector.ts +45 -0
- package/src/core/internal/_generated/contracts/IOAppReceiver.ts +161 -0
- package/src/core/internal/_generated/contracts/IOrchestrator.ts +95 -0
- package/src/core/internal/_generated/contracts/ISettler.ts +52 -0
- package/src/core/internal/_generated/contracts/ISigner.ts +34 -0
- package/src/core/internal/_generated/contracts/IthacaAccount.ts +1454 -0
- package/src/core/internal/_generated/contracts/IthacaAccountNew.ts +1454 -0
- package/src/core/internal/_generated/contracts/IthacaAccountOld.ts +1454 -0
- package/src/core/internal/_generated/contracts/LayerZeroSettler.ts +811 -0
- package/src/core/internal/_generated/contracts/LibNonce.ts +15 -0
- package/src/core/internal/_generated/contracts/LibTStack.ts +4 -0
- package/src/core/internal/_generated/contracts/MultiSigSigner.ts +203 -0
- package/src/core/internal/_generated/contracts/OApp.ts +412 -0
- package/src/core/internal/_generated/contracts/OAppCore.ts +229 -0
- package/src/core/internal/_generated/contracts/OAppReceiver.ts +396 -0
- package/src/core/internal/_generated/contracts/OAppSender.ts +245 -0
- package/src/core/internal/_generated/contracts/Orchestrator.ts +390 -0
- package/src/core/internal/_generated/contracts/SimpleFunder.ts +534 -0
- package/src/core/internal/_generated/contracts/SimpleSettler.ts +360 -0
- package/src/core/internal/_generated/contracts/Simulator.ts +170 -0
- package/src/core/internal/_generated/contracts/TokenTransferLib.ts +4 -0
- package/src/core/internal/_snapshots/provider.browser.test.ts.snap +119 -0
- package/src/core/internal/_snapshots/provider.test.ts.snap +1103 -0
- package/src/core/internal/call.test.ts +116 -0
- package/src/core/internal/call.ts +245 -0
- package/src/core/internal/erc8010.test.ts +74 -0
- package/src/core/internal/erc8010.ts +44 -0
- package/src/core/internal/intersectionObserver.ts +5 -0
- package/src/core/internal/logger.ts +42 -0
- package/src/core/internal/mode.ts +498 -0
- package/src/core/internal/modes/dialog.ts +1051 -0
- package/src/core/internal/modes/reactNative.ts +29 -0
- package/src/core/internal/modes/relay.ts +893 -0
- package/src/core/internal/permissions.ts +43 -0
- package/src/core/internal/permissionsRequest.ts +88 -0
- package/src/core/internal/porto.ts +16 -0
- package/src/core/internal/promise.ts +19 -0
- package/src/core/internal/provider.browser.test.ts +311 -0
- package/src/core/internal/provider.test.ts +3552 -0
- package/src/core/internal/provider.ts +1278 -0
- package/src/core/internal/relay/rpcSchema.ts +101 -0
- package/src/core/internal/relay/schema/capabilities.test.ts +663 -0
- package/src/core/internal/relay/schema/capabilities.ts +156 -0
- package/src/core/internal/relay/schema/intent.test.ts +433 -0
- package/src/core/internal/relay/schema/intent.ts +174 -0
- package/src/core/internal/relay/schema/key.test.ts +424 -0
- package/src/core/internal/relay/schema/key.ts +34 -0
- package/src/core/internal/relay/schema/permission.test.ts +499 -0
- package/src/core/internal/relay/schema/permission.ts +34 -0
- package/src/core/internal/relay/schema/preCall.ts +39 -0
- package/src/core/internal/relay/schema/quotes.test.ts +901 -0
- package/src/core/internal/relay/schema/quotes.ts +98 -0
- package/src/core/internal/relay/schema/rpc.ts +822 -0
- package/src/core/internal/relay/schema/token.ts +16 -0
- package/src/core/internal/requiredFunds.test.ts +141 -0
- package/src/core/internal/requiredFunds.ts +45 -0
- package/src/core/internal/schema/capabilities.test.ts +1334 -0
- package/src/core/internal/schema/capabilities.ts +162 -0
- package/src/core/internal/schema/key.test.ts +570 -0
- package/src/core/internal/schema/key.ts +98 -0
- package/src/core/internal/schema/permissions.test.ts +948 -0
- package/src/core/internal/schema/permissions.ts +31 -0
- package/src/core/internal/schema/request.bench.ts +35 -0
- package/src/core/internal/schema/request.ts +90 -0
- package/src/core/internal/schema/rpc.ts +821 -0
- package/src/core/internal/schema/token.ts +1 -0
- package/src/core/internal/schema/utils.test.ts +572 -0
- package/src/core/internal/schema/utils.ts +236 -0
- package/src/core/internal/siwe.test.ts +473 -0
- package/src/core/internal/siwe.ts +144 -0
- package/src/core/internal/store.ts +9 -0
- package/src/core/internal/tokens.test.ts +317 -0
- package/src/core/internal/tokens.ts +125 -0
- package/src/core/internal/types.ts +448 -0
- package/src/core/internal/urlString.ts +5 -0
- package/src/core/internal/userAgent.ts +35 -0
- package/src/core/internal/utils.test.ts +35 -0
- package/src/core/internal/utils.ts +67 -0
- package/src/core/react-native/Porto.ts +22 -0
- package/src/core/react-native/configure.ts +31 -0
- package/src/core/react-native/environment.ts +43 -0
- package/src/core/react-native/index.ts +4 -0
- package/src/core/react-native/utils.ts +18 -0
- package/src/index.native.ts +15 -0
- package/src/index.ts +17 -0
- package/src/internal/index.ts +3 -0
- package/src/react-native/crypto.ts +19 -0
- package/src/react-native/index.ts +15 -0
- package/src/react-native/register.ts +24 -0
- package/src/register/index.ts +17 -0
- package/src/remote/Actions.ts +115 -0
- package/src/remote/Events.ts +193 -0
- package/src/remote/Hooks.ts +194 -0
- package/src/remote/Porto.ts +144 -0
- package/src/remote/index.ts +4 -0
- package/src/remote/internal/methodPolicies.ts +124 -0
- package/src/server/Route.test.ts +347 -0
- package/src/server/Route.ts +259 -0
- package/src/server/Router.test.ts +32 -0
- package/src/server/Router.ts +59 -0
- package/src/server/index.ts +2 -0
- package/src/server/internal/merchantSchema.ts +11 -0
- package/src/server/internal/requestListener.ts +284 -0
- package/src/theme/Theme.ts +163 -0
- package/src/theme/index.ts +2 -0
- package/src/trusted-hosts.ts +43 -0
- package/src/tsconfig.build.tsbuildinfo +1 -0
- package/src/tsconfig.json +15 -0
- package/src/viem/Account.test.ts +270 -0
- package/src/viem/Account.ts +278 -0
- package/src/viem/AccountActions.test.ts +3 -0
- package/src/viem/AccountActions.ts +30 -0
- package/src/viem/CapabilitiesSchema.ts +18 -0
- package/src/viem/ContractActions.test.ts +980 -0
- package/src/viem/ContractActions.ts +624 -0
- package/src/viem/Key.test.ts +1420 -0
- package/src/viem/Key.ts +1318 -0
- package/src/viem/RelayActions.test.ts +1730 -0
- package/src/viem/RelayActions.ts +1082 -0
- package/src/viem/RelayClient.test.ts +127 -0
- package/src/viem/RelayClient.ts +87 -0
- package/src/viem/RpcSchema.ts +27 -0
- package/src/viem/WalletActions.test.ts +646 -0
- package/src/viem/WalletActions.ts +476 -0
- package/src/viem/WalletClient.test.ts +36 -0
- package/src/viem/WalletClient.ts +74 -0
- package/src/viem/index.ts +13 -0
- package/src/viem/internal/relayActions.test.ts +1296 -0
- package/src/viem/internal/relayActions.ts +1222 -0
- package/src/viem/internal/utils.ts +27 -0
- package/src/wagmi/Actions.ts +13 -0
- package/src/wagmi/Connector.ts +306 -0
- package/src/wagmi/Hooks.native.ts +16 -0
- package/src/wagmi/Hooks.ts +14 -0
- package/src/wagmi/Query.ts +5 -0
- package/src/wagmi/index.native.ts +6 -0
- package/src/wagmi/index.ts +4 -0
- package/src/wagmi/internal/core.test.ts +12 -0
- package/src/wagmi/internal/core.ts +468 -0
- package/src/wagmi/internal/query.ts +52 -0
- package/src/wagmi/internal/react.test.ts +12 -0
- package/src/wagmi/internal/react.ts +705 -0
- package/src/wagmi/internal/types.ts +21 -0
- package/src/wagmi/internal/utils.ts +25 -0
- package/dist/chain.cjs +0 -17
- package/dist/chain.d.cts +0 -41
- package/dist/chain.d.ts +0 -41
- package/dist/chain.js +0 -13
- package/dist/config.cjs +0 -19
- package/dist/config.d.cts +0 -3
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -16
- package/dist/index.cjs +0 -18
- package/dist/index.d.cts +0 -2
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import*as e from"node:fs";import*as t from"node:os";import*as n from"node:path";import{setTimeout as r}from"node:timers/promises";import{stripVTControlCharacters as i}from"node:util";import a,{stdin as o,stdout as s}from"node:process";import*as c from"node:readline";import l from"node:readline";import{Writable as u}from"node:stream";import{BaseError as d,createClient as f,createTransport as p,custom as m,defineChain as h,fallback as g,getAddress as _,hashMessage as v,hashTypedData as y,http as b,numberToHex as ee,withCache as x,zeroAddress as S}from"viem";import*as te from"viem/actions";import{getEip712Domain as ne,verifyHash as C,waitForCallsStatus as w}from"viem/actions";import{anvil as re,riseTestnet as T}from"viem/chains";import*as ie from"ox/AbiFunction";import*as ae from"ox/AbiParameters";import*as E from"ox/Address";import*as oe from"ox/Bytes";import*as se from"ox/Hash";import*as D from"ox/Hex";import*as ce from"ox/Json";import*as le from"ox/P256";import*as O from"ox/PublicKey";import*as k from"ox/Secp256k1";import*as ue from"ox/Signature";import*as de from"ox/TypedData";import*as fe from"ox/Value";import*as pe from"ox/WebAuthnP256";import*as me from"ox/WebCryptoP256";import*as A from"zod/mini";import{z as j}from"zod/mini";import*as he from"ox/Errors";import{toAccount as ge}from"viem/accounts";import*as M from"ox/Provider";import*as _e from"node:url";import{Json as ve}from"ox";import*as ye from"node:http";import*as be from"ox/AbiItem";import*as xe from"ox/RpcRequest";import*as Se from"ox/RpcResponse";import*as Ce from"ox/RpcSchema";import*as we from"ox/Siwe";import*as Te from"ox/PersonalMessage";import*as Ee from"ox/AbiError";import"ox/Authorization";import{getExecuteError as De}from"viem/experimental/erc7821";import*as Oe from"ox/erc8010/SignatureErc8010";import{devtools as ke,persist as Ae,subscribeWithSelector as je}from"zustand/middleware";import{createStore as Me}from"zustand/vanilla";import*as Ne from"mipd";import{createStore as Pe,del as Fe,get as Ie,set as Le}from"idb-keyval";var Re=Object.create,ze=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ve=Object.getOwnPropertyNames,He=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty,We=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ge=e=>{let t={};for(var n in e)ze(t,n,{get:e[n],enumerable:!0});return t},Ke=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Ve(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Ue.call(e,s)&&s!==n&&ze(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Be(t,s))||r.enumerable});return e},qe=(e,t,n)=>(n=e==null?{}:Re(He(e)),Ke(t||!e||!e.__esModule?ze(n,`default`,{value:e,enumerable:!0}):n,e)),Je=We(((e,t)=>{let n={to(e,t){return t?`[${t+1};${e+1}H`:`[${e+1}G`},move(e,t){let n=``;return e<0?n+=`[${-e}D`:e>0&&(n+=`[${e}C`),t<0?n+=`[${-t}A`:t>0&&(n+=`[${t}B`),n},up:(e=1)=>`[${e}A`,down:(e=1)=>`[${e}B`,forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>`\x1B[E`.repeat(e),prevLine:(e=1)=>`\x1B[F`.repeat(e),left:`\x1B[G`,hide:`\x1B[?25l`,show:`\x1B[?25h`,save:`\x1B7`,restore:`\x1B8`};t.exports={cursor:n,scroll:{up:(e=1)=>`\x1B[S`.repeat(e),down:(e=1)=>`\x1B[T`.repeat(e)},erase:{screen:`\x1B[2J`,up:(e=1)=>`\x1B[1J`.repeat(e),down:(e=1)=>`\x1B[J`.repeat(e),line:`\x1B[2K`,lineEnd:`\x1B[K`,lineStart:`\x1B[1K`,lines(e){let t=``;for(let r=0;r<e;r++)t+=this.line+(r<e-1?n.up():``);return e&&(t+=n.left),t}},beep:`\x07`}})),Ye=We(((e,t)=>{let n=process||{},r=n.argv||[],i=n.env||{},a=!(i.NO_COLOR||r.includes(`--no-color`))&&(!!i.FORCE_COLOR||r.includes(`--color`)||n.platform===`win32`||(n.stdout||{}).isTTY&&i.TERM!==`dumb`||!!i.CI),o=(e,t,n=e)=>r=>{let i=``+r,a=i.indexOf(t,e.length);return~a?e+s(i,t,n,a)+t:e+i+t},s=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},c=(e=a)=>{let t=e?o:()=>String;return{isColorSupported:e,reset:t(`\x1B[0m`,`\x1B[0m`),bold:t(`\x1B[1m`,`\x1B[22m`,`\x1B[22m\x1B[1m`),dim:t(`\x1B[2m`,`\x1B[22m`,`\x1B[22m\x1B[2m`),italic:t(`\x1B[3m`,`\x1B[23m`),underline:t(`\x1B[4m`,`\x1B[24m`),inverse:t(`\x1B[7m`,`\x1B[27m`),hidden:t(`\x1B[8m`,`\x1B[28m`),strikethrough:t(`\x1B[9m`,`\x1B[29m`),black:t(`\x1B[30m`,`\x1B[39m`),red:t(`\x1B[31m`,`\x1B[39m`),green:t(`\x1B[32m`,`\x1B[39m`),yellow:t(`\x1B[33m`,`\x1B[39m`),blue:t(`\x1B[34m`,`\x1B[39m`),magenta:t(`\x1B[35m`,`\x1B[39m`),cyan:t(`\x1B[36m`,`\x1B[39m`),white:t(`\x1B[37m`,`\x1B[39m`),gray:t(`\x1B[90m`,`\x1B[39m`),bgBlack:t(`\x1B[40m`,`\x1B[49m`),bgRed:t(`\x1B[41m`,`\x1B[49m`),bgGreen:t(`\x1B[42m`,`\x1B[49m`),bgYellow:t(`\x1B[43m`,`\x1B[49m`),bgBlue:t(`\x1B[44m`,`\x1B[49m`),bgMagenta:t(`\x1B[45m`,`\x1B[49m`),bgCyan:t(`\x1B[46m`,`\x1B[49m`),bgWhite:t(`\x1B[47m`,`\x1B[49m`),blackBright:t(`\x1B[90m`,`\x1B[39m`),redBright:t(`\x1B[91m`,`\x1B[39m`),greenBright:t(`\x1B[92m`,`\x1B[39m`),yellowBright:t(`\x1B[93m`,`\x1B[39m`),blueBright:t(`\x1B[94m`,`\x1B[39m`),magentaBright:t(`\x1B[95m`,`\x1B[39m`),cyanBright:t(`\x1B[96m`,`\x1B[39m`),whiteBright:t(`\x1B[97m`,`\x1B[39m`),bgBlackBright:t(`\x1B[100m`,`\x1B[49m`),bgRedBright:t(`\x1B[101m`,`\x1B[49m`),bgGreenBright:t(`\x1B[102m`,`\x1B[49m`),bgYellowBright:t(`\x1B[103m`,`\x1B[49m`),bgBlueBright:t(`\x1B[104m`,`\x1B[49m`),bgMagentaBright:t(`\x1B[105m`,`\x1B[49m`),bgCyanBright:t(`\x1B[106m`,`\x1B[49m`),bgWhiteBright:t(`\x1B[107m`,`\x1B[49m`)}};t.exports=c(),t.exports.createColors=c})),N=qe(Je(),1);Ye();function Xe({onlyFirst:e=!1}={}){let t=[`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))`,`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))`].join(`|`);return new RegExp(t,e?void 0:`g`)}const Ze=Xe();function Qe(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Ze,``)}function $e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var et={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(e){var t=e.charCodeAt(0),n=e.length==2?e.charCodeAt(1):0,r=t;return 55296<=t&&t<=56319&&56320<=n&&n<=57343&&(t&=1023,n&=1023,r=t<<10|n,r+=65536),r==12288||65281<=r&&r<=65376||65504<=r&&r<=65510?`F`:r==8361||65377<=r&&r<=65470||65474<=r&&r<=65479||65482<=r&&r<=65487||65490<=r&&r<=65495||65498<=r&&r<=65500||65512<=r&&r<=65518?`H`:4352<=r&&r<=4447||4515<=r&&r<=4519||4602<=r&&r<=4607||9001<=r&&r<=9002||11904<=r&&r<=11929||11931<=r&&r<=12019||12032<=r&&r<=12245||12272<=r&&r<=12283||12289<=r&&r<=12350||12353<=r&&r<=12438||12441<=r&&r<=12543||12549<=r&&r<=12589||12593<=r&&r<=12686||12688<=r&&r<=12730||12736<=r&&r<=12771||12784<=r&&r<=12830||12832<=r&&r<=12871||12880<=r&&r<=13054||13056<=r&&r<=19903||19968<=r&&r<=42124||42128<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||55216<=r&&r<=55238||55243<=r&&r<=55291||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65106||65108<=r&&r<=65126||65128<=r&&r<=65131||110592<=r&&r<=110593||127488<=r&&r<=127490||127504<=r&&r<=127546||127552<=r&&r<=127560||127568<=r&&r<=127569||131072<=r&&r<=194367||177984<=r&&r<=196605||196608<=r&&r<=262141?`W`:32<=r&&r<=126||162<=r&&r<=163||165<=r&&r<=166||r==172||r==175||10214<=r&&r<=10221||10629<=r&&r<=10630?`Na`:r==161||r==164||167<=r&&r<=168||r==170||173<=r&&r<=174||176<=r&&r<=180||182<=r&&r<=186||188<=r&&r<=191||r==198||r==208||215<=r&&r<=216||222<=r&&r<=225||r==230||232<=r&&r<=234||236<=r&&r<=237||r==240||242<=r&&r<=243||247<=r&&r<=250||r==252||r==254||r==257||r==273||r==275||r==283||294<=r&&r<=295||r==299||305<=r&&r<=307||r==312||319<=r&&r<=322||r==324||328<=r&&r<=331||r==333||338<=r&&r<=339||358<=r&&r<=359||r==363||r==462||r==464||r==466||r==468||r==470||r==472||r==474||r==476||r==593||r==609||r==708||r==711||713<=r&&r<=715||r==717||r==720||728<=r&&r<=731||r==733||r==735||768<=r&&r<=879||913<=r&&r<=929||931<=r&&r<=937||945<=r&&r<=961||963<=r&&r<=969||r==1025||1040<=r&&r<=1103||r==1105||r==8208||8211<=r&&r<=8214||8216<=r&&r<=8217||8220<=r&&r<=8221||8224<=r&&r<=8226||8228<=r&&r<=8231||r==8240||8242<=r&&r<=8243||r==8245||r==8251||r==8254||r==8308||r==8319||8321<=r&&r<=8324||r==8364||r==8451||r==8453||r==8457||r==8467||r==8470||8481<=r&&r<=8482||r==8486||r==8491||8531<=r&&r<=8532||8539<=r&&r<=8542||8544<=r&&r<=8555||8560<=r&&r<=8569||r==8585||8592<=r&&r<=8601||8632<=r&&r<=8633||r==8658||r==8660||r==8679||r==8704||8706<=r&&r<=8707||8711<=r&&r<=8712||r==8715||r==8719||r==8721||r==8725||r==8730||8733<=r&&r<=8736||r==8739||r==8741||8743<=r&&r<=8748||r==8750||8756<=r&&r<=8759||8764<=r&&r<=8765||r==8776||r==8780||r==8786||8800<=r&&r<=8801||8804<=r&&r<=8807||8810<=r&&r<=8811||8814<=r&&r<=8815||8834<=r&&r<=8835||8838<=r&&r<=8839||r==8853||r==8857||r==8869||r==8895||r==8978||9312<=r&&r<=9449||9451<=r&&r<=9547||9552<=r&&r<=9587||9600<=r&&r<=9615||9618<=r&&r<=9621||9632<=r&&r<=9633||9635<=r&&r<=9641||9650<=r&&r<=9651||9654<=r&&r<=9655||9660<=r&&r<=9661||9664<=r&&r<=9665||9670<=r&&r<=9672||r==9675||9678<=r&&r<=9681||9698<=r&&r<=9701||r==9711||9733<=r&&r<=9734||r==9737||9742<=r&&r<=9743||9748<=r&&r<=9749||r==9756||r==9758||r==9792||r==9794||9824<=r&&r<=9825||9827<=r&&r<=9829||9831<=r&&r<=9834||9836<=r&&r<=9837||r==9839||9886<=r&&r<=9887||9918<=r&&r<=9919||9924<=r&&r<=9933||9935<=r&&r<=9953||r==9955||9960<=r&&r<=9983||r==10045||r==10071||10102<=r&&r<=10111||11093<=r&&r<=11097||12872<=r&&r<=12879||57344<=r&&r<=63743||65024<=r&&r<=65039||r==65533||127232<=r&&r<=127242||127248<=r&&r<=127277||127280<=r&&r<=127337||127344<=r&&r<=127386||917760<=r&&r<=917999||983040<=r&&r<=1048573||1048576<=r&&r<=1114109?`A`:`N`},t.characterLength=function(e){var t=this.eastAsianWidth(e);return t==`F`||t==`W`||t==`A`?2:1};function n(e){return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(e){for(var t=n(e),r=0,i=0;i<t.length;i++)r+=this.characterLength(t[i]);return r},t.slice=function(e,r,i){textLen=t.length(e),r||=0,i||=1,r<0&&(r=textLen+r),i<0&&(i=textLen+i);for(var a=``,o=0,s=n(e),c=0;c<s.length;c++){var l=s[c],u=t.length(l);if(o>=r-(u==2?1:0))if(o+u<=i)a+=l;else break;o+=u}return a}})(et);var tt=et.exports;const nt=$e(tt),rt=$e(function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g});function it(e,t={}){if(typeof e!=`string`||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=Qe(e),e.length===0))return 0;e=e.replace(rt(),` `);let n=t.ambiguousIsNarrow?1:2,r=0;for(let t of e){let e=t.codePointAt(0);if(!(e<=31||e>=127&&e<=159||e>=768&&e<=879))switch(nt.eastAsianWidth(t)){case`F`:case`W`:r+=2;break;case`A`:r+=n;break;default:r+=1}}return r}const at=(e=0)=>t=>`\x1B[${t+e}m`,ot=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,st=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,P={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(P.modifier);const ct=Object.keys(P.color),lt=Object.keys(P.bgColor);[...ct,...lt];function ut(){let e=new Map;for(let[t,n]of Object.entries(P)){for(let[t,r]of Object.entries(n))P[t]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[t]=P[t],e.set(r[0],r[1]);Object.defineProperty(P,t,{value:n,enumerable:!1})}return Object.defineProperty(P,`codes`,{value:e,enumerable:!1}),P.color.close=`\x1B[39m`,P.bgColor.close=`\x1B[49m`,P.color.ansi=at(),P.color.ansi256=ot(),P.color.ansi16m=st(),P.bgColor.ansi=at(10),P.bgColor.ansi256=ot(10),P.bgColor.ansi16m=st(10),Object.defineProperties(P,{rgbToAnsi256:{value:(e,t,n)=>e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>P.rgbToAnsi256(...P.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>P.ansi256ToAnsi(P.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>P.ansi256ToAnsi(P.hexToAnsi256(e)),enumerable:!1}}),P}const dt=ut(),ft=new Set([`\x1B`,``]),pt=`]8;;`,mt=e=>`${ft.values().next().value}[${e}m`,ht=e=>`${ft.values().next().value}${pt}${e}`,gt=e=>e.split(` `).map(e=>it(e)),_t=(e,t,n)=>{let r=[...t],i=!1,a=!1,o=it(Qe(e[e.length-1]));for(let[t,s]of r.entries()){let c=it(s);if(o+c<=n?e[e.length-1]+=s:(e.push(s),o=0),ft.has(s)&&(i=!0,a=r.slice(t+1).join(``).startsWith(pt)),i){a?s===`\x07`&&(i=!1,a=!1):s===`m`&&(i=!1);continue}o+=c,o===n&&t<r.length-1&&(e.push(``),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},vt=e=>{let t=e.split(` `),n=t.length;for(;n>0&&!(it(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},yt=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=gt(e),s=[``];for(let[r,i]of e.split(` `).entries()){n.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let e=it(s[s.length-1]);if(r!==0&&(e>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),e=0),(e>0||n.trim===!1)&&(s[s.length-1]+=` `,e++)),n.hard&&o[r]>t){let n=t-e,a=1+Math.floor((o[r]-n-1)/t);Math.floor((o[r]-1)/t)<a&&s.push(``),_t(s,i,t);continue}if(e+o[r]>t&&e>0&&o[r]>0){if(n.wordWrap===!1&&e<t){_t(s,i,t);continue}s.push(``)}if(e+o[r]>t&&n.wordWrap===!1){_t(s,i,t);continue}s[s.length-1]+=i}n.trim!==!1&&(s=s.map(e=>vt(e)));let c=[...s.join(`
|
|
2
|
+
`)];for(let[e,t]of c.entries()){if(r+=t,ft.has(t)){let{groups:t}=RegExp(`(?:\\[(?<code>\\d+)m|\\${pt}(?<uri>.*))`).exec(c.slice(e).join(``))||{groups:{}};if(t.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}let n=dt.codes.get(Number(i));c[e+1]===`
|
|
3
|
+
`?(a&&(r+=ht(``)),i&&n&&(r+=mt(n))):t===`
|
|
4
|
+
`&&(i&&n&&(r+=mt(i)),a&&(r+=ht(a)))}return r};function bt(e,t,n){return String(e).normalize().replace(/\r\n/g,`
|
|
5
|
+
`).split(`
|
|
6
|
+
`).map(e=>yt(e,t,n)).join(`
|
|
7
|
+
`)}const xt={actions:new Set([`up`,`down`,`left`,`right`,`space`,`enter`,`cancel`]),aliases:new Map([[`k`,`up`],[`j`,`down`],[`h`,`left`],[`l`,`right`],[``,`cancel`],[`escape`,`cancel`]])};function St(e,t){if(typeof e==`string`)return xt.aliases.get(e)===t;for(let n of e)if(n!==void 0&&St(n,t))return!0;return!1}function Ct(e,t){if(e===t)return;let n=e.split(`
|
|
8
|
+
`),r=t.split(`
|
|
9
|
+
`),i=[];for(let e=0;e<Math.max(n.length,r.length);e++)n[e]!==r[e]&&i.push(e);return i}const wt=globalThis.process.platform.startsWith(`win`),Tt=Symbol(`clack:cancel`);function Et(e,t){let n=e;n.isTTY&&n.setRawMode(t)}function Dt({input:e=o,output:t=s,overwrite:n=!0,hideCursor:r=!0}={}){let i=c.createInterface({input:e,output:t,prompt:``,tabSize:1});c.emitKeypressEvents(e,i),e.isTTY&&e.setRawMode(!0);let a=(i,{name:o,sequence:s})=>{if(St([String(i),o,s],`cancel`)){r&&t.write(N.cursor.show),process.exit(0);return}if(!n)return;let l=o===`return`?0:-1,u=o===`return`?-1:0;c.moveCursor(t,l,u,()=>{c.clearLine(t,1,()=>{e.once(`keypress`,a)})})};return r&&t.write(N.cursor.hide),e.once(`keypress`,a),()=>{e.off(`keypress`,a),r&&t.write(N.cursor.show),e.isTTY&&!wt&&e.setRawMode(!1),i.terminal=!1,i.close()}}var Ot=Object.defineProperty,kt=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,F=(e,t,n)=>(kt(e,typeof t==`symbol`?t:t+``,n),n),At=class{constructor(e,t=!0){F(this,`input`),F(this,`output`),F(this,`_abortSignal`),F(this,`rl`),F(this,`opts`),F(this,`_render`),F(this,`_track`,!1),F(this,`_prevFrame`,``),F(this,`_subscribers`,new Map),F(this,`_cursor`,0),F(this,`state`,`initial`),F(this,`error`,``),F(this,`value`);let{input:n=o,output:r=s,render:i,signal:a,...c}=e;this.opts=c,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=t,this._abortSignal=a,this.input=n,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let n=this._subscribers.get(e)??[];n.push(t),this._subscribers.set(e,n)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let n=this._subscribers.get(e)??[],r=[];for(let e of n)e.cb(...t),e.once&&r.push(()=>n.splice(n.indexOf(e),1));for(let e of r)e()}prompt(){return new Promise((e,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=`cancel`,this.close(),e(Tt);this._abortSignal.addEventListener(`abort`,()=>{this.state=`cancel`,this.close()},{once:!0})}let n=new u;n._write=(e,t,n)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,``),this._cursor=this.rl?.cursor??0,this.emit(`value`,this.value)),n()},this.input.pipe(n),this.rl=l.createInterface({input:this.input,output:n,tabSize:2,prompt:``,escapeCodeTimeout:50,terminal:!0}),l.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on(`keypress`,this.onKeypress),Et(this.input,!0),this.output.on(`resize`,this.render),this.render(),this.once(`submit`,()=>{this.output.write(N.cursor.show),this.output.off(`resize`,this.render),Et(this.input,!1),e(this.value)}),this.once(`cancel`,()=>{this.output.write(N.cursor.show),this.output.off(`resize`,this.render),Et(this.input,!1),e(Tt)})})}onKeypress(e,t){if(this.state===`error`&&(this.state=`active`),t?.name&&(!this._track&&xt.aliases.has(t.name)&&this.emit(`cursor`,xt.aliases.get(t.name)),xt.actions.has(t.name)&&this.emit(`cursor`,t.name)),e&&(e.toLowerCase()===`y`||e.toLowerCase()===`n`)&&this.emit(`confirm`,e.toLowerCase()===`y`),e===` `&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit(`value`,this.opts.placeholder))),e&&this.emit(`key`,e.toLowerCase()),t?.name===`return`){if(this.opts.validate){let e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=`error`,this.rl?.write(this.value))}this.state!==`error`&&(this.state=`submit`)}St([e,t?.name,t?.sequence],`cancel`)&&(this.state=`cancel`),(this.state===`submit`||this.state===`cancel`)&&this.emit(`finalize`),this.render(),(this.state===`submit`||this.state===`cancel`)&&this.close()}close(){this.input.unpipe(),this.input.removeListener(`keypress`,this.onKeypress),this.output.write(`
|
|
10
|
+
`),Et(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=bt(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
11
|
+
`).length-1;this.output.write(N.cursor.move(-999,e*-1))}render(){let e=bt(this._render(this)??``,process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state===`initial`)this.output.write(N.cursor.hide);else{let t=Ct(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){let n=t[0];this.output.write(N.cursor.move(0,n)),this.output.write(N.erase.lines(1));let r=e.split(`
|
|
12
|
+
`);this.output.write(r[n]),this._prevFrame=e,this.output.write(N.cursor.move(0,r.length-n-1));return}if(t&&t?.length>1){let n=t[0];this.output.write(N.cursor.move(0,n)),this.output.write(N.erase.down());let r=e.split(`
|
|
13
|
+
`).slice(n);this.output.write(r.join(`
|
|
14
|
+
`)),this._prevFrame=e;return}this.output.write(N.erase.down())}this.output.write(e),this.state===`initial`&&(this.state=`active`),this._prevFrame=e}}},jt=class extends At{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(`value`,()=>{this.value=this._value}),this.on(`confirm`,e=>{this.output.write(N.cursor.move(0,-1)),this.value=e,this.state=`submit`,this.close()}),this.on(`cursor`,()=>{this.value=!this.value})}};Object.defineProperty,Object.defineProperty,Object.defineProperty,Object.defineProperty,Object.defineProperty;var I=qe(Ye(),1),Mt=qe(Je(),1);function Nt(){return a.platform===`win32`?!!a.env.CI||!!a.env.WT_SESSION||!!a.env.TERMINUS_SUBLIME||a.env.ConEmuTask===`{cmd::Cmder}`||a.env.TERM_PROGRAM===`Terminus-Sublime`||a.env.TERM_PROGRAM===`vscode`||a.env.TERM===`xterm-256color`||a.env.TERM===`alacritty`||a.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:a.env.TERM!==`linux`}const Pt=Nt(),L=(e,t)=>Pt?e:t,Ft=L(`◆`,`*`),It=L(`■`,`x`),Lt=L(`▲`,`x`),Rt=L(`◇`,`o`),zt=L(`┌`,`T`),R=L(`│`,`|`),Bt=L(`└`,`—`),Vt=L(`●`,`>`),Ht=L(`○`,` `),Ut=L(`●`,`•`),Wt=L(`◆`,`*`),Gt=L(`▲`,`!`),Kt=L(`■`,`x`),qt=e=>{switch(e){case`initial`:case`active`:return I.default.cyan(Ft);case`cancel`:return I.default.red(It);case`error`:return I.default.yellow(Lt);case`submit`:return I.default.green(Rt)}},Jt=e=>{let t=e.active??`Yes`,n=e.inactive??`No`;return new jt({active:t,inactive:n,initialValue:e.initialValue??!0,render(){let r=`${I.default.gray(R)}
|
|
15
|
+
${qt(this.state)} ${e.message}
|
|
16
|
+
`,i=this.value?t:n;switch(this.state){case`submit`:return`${r}${I.default.gray(R)} ${I.default.dim(i)}`;case`cancel`:return`${r}${I.default.gray(R)} ${I.default.strikethrough(I.default.dim(i))}
|
|
17
|
+
${I.default.gray(R)}`;default:return`${r}${I.default.cyan(R)} ${this.value?`${I.default.green(Vt)} ${t}`:`${I.default.dim(Ht)} ${I.default.dim(t)}`} ${I.default.dim(`/`)} ${this.value?`${I.default.dim(Ht)} ${I.default.dim(n)}`:`${I.default.green(Vt)} ${n}`}
|
|
18
|
+
${I.default.cyan(Bt)}
|
|
19
|
+
`}}}).prompt()},Yt=(e=``)=>{process.stdout.write(`${I.default.gray(zt)} ${e}
|
|
20
|
+
`)},z={message:(e=``,{symbol:t=I.default.gray(R)}={})=>{let n=[`${I.default.gray(R)}`];if(e){let[r,...i]=e.split(`
|
|
21
|
+
`);n.push(`${t} ${r}`,...i.map(e=>`${I.default.gray(R)} ${e}`))}process.stdout.write(`${n.join(`
|
|
22
|
+
`)}
|
|
23
|
+
`)},info:e=>{z.message(e,{symbol:I.default.blue(Ut)})},success:e=>{z.message(e,{symbol:I.default.green(Wt)})},step:e=>{z.message(e,{symbol:I.default.green(Rt)})},warn:e=>{z.message(e,{symbol:I.default.yellow(Gt)})},warning:e=>{z.warn(e)},error:e=>{z.message(e,{symbol:I.default.red(Kt)})}},Xt=`${I.default.gray(R)} `,Zt={message:async(e,{symbol:t=I.default.gray(R)}={})=>{process.stdout.write(`${I.default.gray(R)}
|
|
24
|
+
${t} `);let n=3;for await(let t of e){t=t.replace(/\n/g,`
|
|
25
|
+
${Xt}`),t.includes(`
|
|
26
|
+
`)&&(n=3+i(t.slice(t.lastIndexOf(`
|
|
27
|
+
`))).length);let e=i(t).length;n+e<process.stdout.columns?(n+=e,process.stdout.write(t)):(process.stdout.write(`
|
|
28
|
+
${Xt}${t.trimStart()}`),n=3+i(t.trimStart()).length)}process.stdout.write(`
|
|
29
|
+
`)},info:e=>Zt.message(e,{symbol:I.default.blue(Ut)}),success:e=>Zt.message(e,{symbol:I.default.green(Wt)}),step:e=>Zt.message(e,{symbol:I.default.green(Rt)}),warn:e=>Zt.message(e,{symbol:I.default.yellow(Gt)}),warning:e=>Zt.warn(e),error:e=>Zt.message(e,{symbol:I.default.red(Kt)})},Qt=({indicator:e=`dots`}={})=>{let t=Pt?[`◒`,`◐`,`◓`,`◑`]:[`•`,`o`,`O`,`0`],n=Pt?80:120,r=process.env.CI===`true`,i,a,o=!1,s=``,c,l=performance.now(),u=e=>{o&&y(e>1?`Something went wrong`:`Canceled`,e)},d=()=>u(2),f=()=>u(1),p=()=>{process.on(`uncaughtExceptionMonitor`,d),process.on(`unhandledRejection`,d),process.on(`SIGINT`,f),process.on(`SIGTERM`,f),process.on(`exit`,u)},m=()=>{process.removeListener(`uncaughtExceptionMonitor`,d),process.removeListener(`unhandledRejection`,d),process.removeListener(`SIGINT`,f),process.removeListener(`SIGTERM`,f),process.removeListener(`exit`,u)},h=()=>{if(c===void 0)return;r&&process.stdout.write(`
|
|
30
|
+
`);let e=c.split(`
|
|
31
|
+
`);process.stdout.write(Mt.cursor.move(-999,e.length-1)),process.stdout.write(Mt.erase.down(e.length))},g=e=>e.replace(/\.+$/,``),_=e=>{let t=(performance.now()-e)/1e3,n=Math.floor(t/60),r=Math.floor(t%60);return n>0?`[${n}m ${r}s]`:`[${r}s]`},v=(u=``)=>{o=!0,i=Dt(),s=g(u),l=performance.now(),process.stdout.write(`${I.default.gray(R)}
|
|
32
|
+
`);let d=0,f=0;p(),a=setInterval(()=>{if(r&&s===c)return;h(),c=s;let n=I.default.magenta(t[d]);if(r)process.stdout.write(`${n} ${s}...`);else if(e===`timer`)process.stdout.write(`${n} ${s} ${_(l)}`);else{let e=`.`.repeat(Math.floor(f)).slice(0,3);process.stdout.write(`${n} ${s}${e}`)}d=d+1<t.length?d+1:0,f=f<t.length?f+.125:0},n)},y=(t=``,n=0)=>{o=!1,clearInterval(a),h();let r=n===0?I.default.green(Rt):n===1?I.default.red(It):I.default.red(Lt);s=g(t??s),e===`timer`?process.stdout.write(`${r} ${s} ${_(l)}
|
|
33
|
+
`):process.stdout.write(`${r} ${s}
|
|
34
|
+
`),m(),i()};return{start:v,stop:y,message:(e=``)=>{s=g(e??s)}}};var $t=Ge({riseTestnet:()=>T});const en=[T,...Object.values($t).filter(e=>e.id!==T.id)],tn=re;({...tn}),{...tn};const nn=`0x3232323232323232323232323232323232323232`,rn=`0x32323232`,an={p256:`p256`,secp256k1:`secp256k1`,webauthnp256:`webauthn-p256`},on={admin:`admin`,normal:`session`},sn={0:`minute`,1:`hour`,2:`day`,3:`week`,4:`month`,5:`year`},cn={address:`secp256k1`,p256:`p256`,secp256k1:`secp256k1`,"webauthn-p256":`webauthnp256`},ln={admin:`admin`,session:`normal`},un={address:2,p256:0,secp256k1:2,"webauthn-p256":1},dn={day:2,hour:1,minute:0,month:4,week:3,year:5};function fn(e={}){let t=le.randomPrivateKey();return _n({...e,privateKey:t})}function pn(e={}){let t=k.randomPrivateKey();return yn({...e,privateKey:t})}async function mn(e){let{createFn:t,label:n,rpId:r,userId:i}=e,a=await pe.createCredential({authenticatorSelection:{requireResidentKey:!0,residentKey:`required`,userVerification:`required`},createFn:t,extensions:{credProps:!0},rp:r?{id:r,name:r}:void 0,user:{displayName:n,id:new Uint8Array(i??oe.fromString(n)),name:n}});return bn({...e,credential:{id:a.id,publicKey:a.publicKey},id:i?oe.toHex(i):O.toHex(a.publicKey,{includePrefix:!1})})}function hn(e={}){let t=le.randomPrivateKey();return xn({...e,privateKey:t})}async function gn(e={}){let t=await me.createKeyPair();return Sn({...e,keyPair:t})}function B(e,t={}){let{chainId:n=e.chainId}=t,{expiry:r=0,id:i,prehash:a=!1,role:o=`admin`,type:s}=e,c=(()=>{let t=e.publicKey;return t===`0x`?t:s===`secp256k1`||s===`address`?D.size(t)===20||D.toBigInt(D.slice(t,0,12))===0n?D.slice(t,-20):E.fromPublicKey(O.fromHex(t)):t})();return{...e,chainId:n,expiry:r,hash:Cn({publicKey:c,type:s}),id:(i??c).toLowerCase(),prehash:a,publicKey:c.toLowerCase(),role:o,type:s}}function _n(e){let{chainId:t,expiry:n,feeToken:r,permissions:i,privateKey:a,role:o}=e;return B({chainId:t,expiry:n,feeToken:r,permissions:i,privateKey(){return a},publicKey:O.toHex(le.getPublicKey({privateKey:a}),{includePrefix:!1}),role:o,type:`p256`})}function vn(e,t){let{chainId:n}=t,{publicKey:r}=e,i=D.size(r)===20||D.toBigInt(D.slice(r,0,12))===0n,a={};for(let t of e.permissions)t.type===`call`&&(a.calls??=[],a.calls.push({signature:t.selector,to:t.to===nn?void 0:t.to})),t.type===`spend`&&(a.spend??=[],a.spend.push({limit:t.limit,period:t.period,token:t.token}));return B({chainId:n,expiry:e.expiry,permissions:a,publicKey:e.publicKey,role:on[e.role],type:i?`address`:an[e.type]})}function yn(e){let{privateKey:t,role:n}=e,r=(()=>e.publicKey?e.publicKey:t?E.fromPublicKey(k.getPublicKey({privateKey:t})):e.address.toLowerCase())();return B({expiry:e.expiry??0,feeToken:e.feeToken,permissions:e.permissions,privateKey:t?()=>t:void 0,publicKey:r,role:n,type:`secp256k1`})}function bn(e){let{credential:t,id:n,rpId:r}=e,i=O.toHex(t.publicKey,{includePrefix:!1});return B({chainId:e.chainId,expiry:e.expiry??0,feeToken:e.feeToken,id:n,permissions:e.permissions,privateKey:{credential:t,rpId:r},publicKey:i,role:e.role,type:`webauthn-p256`})}function xn(e){let{privateKey:t}=e,n=O.toHex(le.getPublicKey({privateKey:t}),{includePrefix:!1});return B({chainId:e.chainId,expiry:e.expiry??0,feeToken:e.feeToken,permissions:e.permissions,privateKey:{privateKey(){return t}},publicKey:n,role:e.role,type:`webauthn-p256`})}function Sn(e){let{chainId:t,expiry:n,feeToken:r,keyPair:i,permissions:a,role:o}=e,{privateKey:s}=i;return B({chainId:t,expiry:n,feeToken:r,permissions:a,prehash:!0,privateKey:s,publicKey:O.toHex(i.publicKey,{includePrefix:!1}),role:o,type:`p256`})}function Cn(e){let{type:t}=e,n=wn(e.publicKey);return se.keccak256(ae.encode([{type:`uint8`},{type:`bytes32`}],[un[t],se.keccak256(n)]))}function wn(e){return D.size(e)<32?D.padLeft(e,32):e}async function V(e,t){let{address:n,storage:r,webAuthn:i,wrap:a=!0}=t,{privateKey:o,publicKey:s,type:c}=e;if(!o)throw Error(`Key does not have a private key to sign with.
|
|
35
|
+
|
|
36
|
+
Key:
|
|
37
|
+
`+ce.stringify(e,null,2));let l=(()=>n?de.getSignPayload({domain:{verifyingContract:n},message:{digest:t.payload},primaryType:`ERC1271Sign`,types:{ERC1271Sign:[{name:`digest`,type:`bytes32`}]}}):t.payload)(),[u,d]=await(async()=>{if(c===`p256`){let{privateKey:t}=e;if(typeof t==`function`)return[ue.toHex(le.sign({payload:l,privateKey:t()})),!1];if(t instanceof CryptoKey)return[ue.toHex(await me.sign({payload:l,privateKey:t})),!0]}if(c===`secp256k1`)return[ue.toHex(k.sign({payload:l,privateKey:o()})),!1];if(c===`webauthn-p256`){if(o.privateKey){let{payload:e,metadata:t}=pe.getSignPayload({challenge:l,origin:`https://ithaca.xyz`,rpId:`ithaca.xyz`}),{r:n,s:r}=le.sign({hash:!0,payload:e,privateKey:o.privateKey()});return[On({metadata:t,signature:{r:n,s:r}}),!1]}let{credential:t,rpId:n}=o,a=`porto.webauthnVerified.${e.hash}`,s=Date.now(),c=!0;if(r){let e=await r.getItem(a);c=!e||s-e>6e5}let{signature:{r:u,s:d},raw:f,metadata:p}=await pe.sign({challenge:l,credentialId:t.id,getFn:i?.getFn,rpId:n,userVerification:c?`required`:`preferred`}),m=f.response;if(!m?.userHandle)throw Error(`No user handle in response`,{cause:{response:m}});let h=oe.toHex(new Uint8Array(m.userHandle));if(e.id&&E.validate(e.id)&&!E.isEqual(e.id,h))throw Error(`supplied webauthn key "${e.id}" does not match signature webauthn key "${h}"`,{cause:{id:h,key:e}});return c&&r&&await r.setItem(a,s),[On({metadata:p,signature:{r:u,s:d}}),!1]}throw Error(`Key type "${c}" is not supported.\n\nKey:\n`+ce.stringify(e,null,2))})();return a?kn(u,{keyType:c,prehash:d,publicKey:s}):u}function Tn(e,t={}){let{expiry:n=0,prehash:r=!1,publicKey:i,role:a=`admin`,type:o}=e,{feeTokens:s,orchestrator:c}=t,l=Object.entries(En(e,{feeTokens:s})).map(([e,t])=>{if(e===`calls`)return t.map(({signature:e,to:t})=>({selector:(()=>e?D.validate(e)?e:ie.getSelector(e):rn)(),to:t??nn,type:`call`}));if(e!==`feeToken`){if(e===`spend`)return t.map(({limit:e,period:t,token:n})=>({limit:e,period:t,token:n,type:`spend`}));throw Error(`Invalid permission type "${e}".`)}}).flat().filter(Boolean);return e.role===`session`&&c&&l.push({selector:rn,to:c,type:`call`}),{expiry:n,permissions:l??[],prehash:r,publicKey:wn(i),role:ln[a],type:cn[o]}}function En(e,t){let{permissions:n}=e,r=n?.calls?[...n.calls]:[],i=n?.spend?[...n.spend]:[],a=t.feeTokens?.filter(e=>e.feeToken);if(a&&a.length>0){let t=Dn(e,{feeTokens:a});if(t){let e=-1,n=dn.year;for(let r=0;r<i.length;r++){let a=i[r];if(a.token&&E.isEqual(t.address,a.token)){e=r;break}if(!a.token&&t.address===S){e=r;break}let o=dn[a.period];o<n&&(n=o)}e===-1?typeof n==`number`&&i.unshift({limit:t.value,period:sn[n],token:t.address}):(i[e]={...i[e],limit:i[e].limit+t.value},i.unshift(i.splice(e,1)[0]))}}return{...n,calls:r,spend:i}}function Dn(e,t){let{feeTokens:n}=t;if(!e.feeToken)return;let r=n.find(t=>e.feeToken.symbol===t.symbol?!0:!e.feeToken.symbol||e.feeToken.symbol===`native`?t.address===S:!1);if(!r)return;let i=fe.from(e.feeToken.limit,r.decimals);return{...r,value:i}}function On(e){let{metadata:t,signature:n}=e;return ae.encode(ae.from([`struct WebAuthnAuth { bytes authenticatorData; string clientDataJSON; uint256 challengeIndex; uint256 typeIndex; bytes32 r; bytes32 s; }`,`WebAuthnAuth auth`]),[{authenticatorData:t.authenticatorData,challengeIndex:BigInt(t.challengeIndex),clientDataJSON:t.clientDataJSON,r:D.fromNumber(n.r,{size:32}),s:D.fromNumber(n.s,{size:32}),typeIndex:BigInt(t.typeIndex)}])}function kn(e,t){let{keyType:n,prehash:r=!1,publicKey:i}=t,a=Cn({publicKey:i,type:n});return ae.encodePacked([`bytes`,`bytes32`,`bool`],[e,a,r])}const H=()=>A.templateLiteral([`0x`,A.string()],{message:`Needs string in format ^0x[A-Fa-f0-9]{40}$.`}),U=()=>A.templateLiteral([`0x`,A.string()],{message:`Needs string in format ^0x[A-Fa-f0-9]+$.`}),W=()=>A.codec(U(),A.number(),{decode:e=>D.toNumber(e),encode:e=>D.fromNumber(e)}),G=()=>A.codec(U(),A.bigint({message:`Required bigint`}),{decode:e=>D.toBigInt(e),encode:e=>D.fromNumber(e)});function An(e){return A.union(e)}var jn=class extends he.BaseError{constructor(...e){super(...e),this.name=`Schema.ValidationError`}};function Mn(e){let t=e,n=`Validation failed with ${t.issues.length} error${t.issues.length===1?``:`s`}:`;n+=`
|
|
38
|
+
`;for(let e of t.issues)e&&(n+=`
|
|
39
|
+
`,n+=Nn(e));return new jn(n)}function Nn(e,t=0){let n=Pn(e.path),r=`- ${n?`${n}: `:``}`,i=` `.repeat(t+1),a=r;switch(e.code){case`invalid_type`:{let t=e.expected,n=e.input?Fn(e):`undefined`;a+=`Expected ${t}. ${e.message===`Invalid input`?``:e.message}`,n!==`undefined`&&(a+=`but received ${n}`);break}case`too_big`:{let t=e.maximum,n=e.inclusive??!0;e.exact??!1?a+=`${e.origin} must be exactly ${t}`:a+=`${e.origin} must be ${n?`at most`:`less than`} ${t}`;break}case`too_small`:{let t=e.minimum,n=e.inclusive??!0;e.exact??!1?a+=`${e.origin} must be exactly ${t}`:a+=`${e.origin} must be ${n?`at least`:`greater than`} ${t}`;break}case`invalid_format`:switch(e.format){case`regex`:a+=`Must match pattern: ${e.pattern}`;break;case`starts_with`:a+=`Must start with "${e.prefix}"`;break;case`ends_with`:a+=`Must end with "${e.suffix}"`;break;case`includes`:a+=`Must include "${e.includes}"`;break;case`template_literal`:a+=`Must match pattern: ${e.pattern}`;break;default:a+=`Invalid ${e.format} format`}break;case`not_multiple_of`:a+=`Number must be a multiple of ${e.divisor}`;break;case`unrecognized_keys`:{let t=e.keys.map(e=>`"${e}"`).join(`, `);a+=`Unrecognized key${e.keys.length>1?`s`:``}: ${t}`;break}case`invalid_union`:{let n=e.errors&&e.errors.length>0;a+=`Invalid union value.`,n&&e.errors.forEach(e=>{e.length>0&&e.forEach(e=>{a+=`
|
|
40
|
+
`,a+=i,a+=Nn(e,t+1)})});break}case`invalid_key`:a+=`Invalid ${e.origin} key`,e.issues&&e.issues.length>0&&e.issues.forEach(e=>{a+=`
|
|
41
|
+
`,a+=i,a+=Nn(e,t+1)});break;case`invalid_element`:a+=`Invalid ${e.origin} element at key "${e.key}"`,e.issues&&e.issues.length>0&&e.issues.forEach(e=>{a+=`
|
|
42
|
+
`,a+=i,a+=Nn(e,t+1)});break;case`invalid_value`:{let t=e.values.map(e=>JSON.stringify(e)).join(`, `);e.values.length>1?a+=`Expected one of: ${t}`:a+=`Expected ${t}`;break}case`custom`:a+=e.message||`Custom validation failed`;break;default:a+=e.message||`Validation failed`}return a}function Pn(e){return e.length===0?``:"at `"+e.map((e,t)=>typeof e==`number`?`[${e}]`:typeof e==`symbol`?`[${e.toString()}]`:/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)&&t>0?`.${e}`:t===0&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)?e:`["${e}"]`).join(``)+"`"}function Fn(e){let t=e.input;if(t===void 0)return`undefined`;if(t===null)return`null`;let n=typeof t;return n===`object`?Array.isArray(t)?`array`:t instanceof Date?`date`:t instanceof Map?`map`:t instanceof Set?`set`:`object`:n}const In=A.union([A.object({combinedGas:G(),encodedFundTransfers:A.readonly(A.array(U())),encodedPreCalls:A.readonly(A.array(U())),eoa:H(),executionData:U(),expiry:G(),funder:H(),funderSignature:U(),isMultichain:A.boolean(),nonce:G(),payer:H(),paymentAmount:G(),paymentMaxAmount:G(),paymentRecipient:H(),paymentSignature:U(),paymentToken:H(),settler:H(),settlerContext:U(),signature:U(),supportedAccountImplementation:H()}),A.object({combinedGas:G(),encodedFundTransfers:A.readonly(A.array(U())),encodedPreCalls:A.readonly(A.array(U())),eoa:H(),executionData:U(),expiry:G(),funder:H(),funderSignature:U(),isMultichain:A.boolean(),nonce:G(),payer:H(),paymentRecipient:H(),paymentSignature:U(),paymentToken:H(),prePaymentAmount:G(),prePaymentMaxAmount:G(),settler:H(),settlerContext:U(),signature:U(),supportedAccountImplementation:H(),totalPaymentAmount:G(),totalPaymentMaxAmount:G()})]);A.object({eoa:H(),executionData:U(),nonce:G()});const Ln=j.object({address:j.union([H(),j.null()]),decimals:j.optional(j.number()),deficit:G(),fiat:j.optional(j.object({currency:j.string(),value:j.string()})),name:j.optional(j.string()),required:G(),symbol:j.optional(j.string())}),Rn=j.object({additionalAuthorization:j.nullish(j.object({address:H(),chainId:W(),nonce:W(),r:U(),s:U(),yParity:W()})),assetDeficits:j.optional(j.array(Ln)),authorizationAddress:j.optional(j.union([H(),j.null()])),chainId:W(),ethPrice:G(),extraPayment:G(),feeTokenDeficit:G(),intent:In,nativeFeeEstimate:j.object({maxFeePerGas:G(),maxPriorityFeePerGas:G()}),orchestrator:H(),paymentTokenDecimals:j.number(),txGas:G()}),zn=j.object({multiChainRoot:j.optional(j.union([U(),j.null()])),quotes:j.readonly(j.array(Rn)).check(j.minLength(1)),ttl:j.number()}),Bn=j.object({...zn.shape,hash:U(),r:U(),s:U(),v:j.optional(U()),yParity:j.optional(U())}),Vn=A.object({selector:U(),to:H(),type:A.literal(`call`)}),Hn=A.object({limit:G(),period:A.union([A.literal(`minute`),A.literal(`hour`),A.literal(`day`),A.literal(`week`),A.literal(`month`),A.literal(`year`)]),token:A.optional(A.union([H(),A.null()])),type:A.literal(`spend`)}),Un=A.union([Vn,Hn]),Wn=A.object({expiry:W(),prehash:A.optional(A.boolean()),publicKey:U(),role:A.union([A.literal(`admin`),A.literal(`normal`)]),type:A.union([A.literal(`p256`),A.literal(`secp256k1`),A.literal(`webauthnp256`)])}),Gn=A.object({...Wn.shape,permissions:A.readonly(A.array(Un))});let Kn;(function(e){let t=e.AssetDiffAsset=A.union([A.object({address:A.optional(A.union([H(),A.null()])),decimals:A.optional(A.union([A.number(),A.null()])),direction:A.union([A.literal(`incoming`),A.literal(`outgoing`)]),fiat:A.optional(A.object({currency:A.string(),value:A.codec(A.string(),A.number(),{decode:e=>Number(e),encode:e=>String(e)})})),name:A.optional(A.union([A.string(),A.null()])),symbol:A.string(),type:A.literal(`erc20`),value:G()}),A.object({address:A.optional(A.union([H(),A.null()])),direction:A.union([A.literal(`incoming`),A.literal(`outgoing`)]),fiat:A.optional(A.object({currency:A.string(),value:A.codec(A.string(),A.number(),{decode:e=>Number(e),encode:e=>String(e)})})),name:A.optional(A.union([A.string(),A.null()])),symbol:A.string(),type:A.literal(`erc721`),uri:A.string(),value:G()}),A.object({address:A.null(),decimals:A.optional(A.union([A.number(),A.null()])),direction:A.union([A.literal(`incoming`),A.literal(`outgoing`)]),fiat:A.optional(A.object({currency:A.string(),value:A.codec(A.string(),A.number(),{decode:e=>Number(e),encode:e=>String(e)})})),symbol:A.string(),type:A.null(),value:G()})]);e.Response=A.record(U(),A.readonly(A.array(A.readonly(A.tuple([H(),A.readonly(A.array(t))])))))})(Kn||={});let qn;(function(e){e.Request=A.readonly(A.array(Gn)),e.Response=A.readonly(A.array(A.object({...Gn.shape,hash:U()})))})(qn||={});let Jn;(function(e){e.Response=A.record(U(),A.object({currency:A.string(),value:A.string()}))})(Jn||={});let Yn;(function(e){e.Request=A.object({feePayer:A.optional(H()),feeToken:A.optional(H()),nonce:A.optional(G())})})(Yn||={});let Xn;(function(e){e.Request=A.readonly(A.array(A.object({address:H(),value:G()})))})(Xn||={});let Zn;(function(e){e.Request=A.readonly(A.array(A.object({hash:U()}))),e.Response=A.readonly(A.array(A.object({hash:U()})))})(Zn||={});const Qn=A.object({eoa:H(),executionData:U(),nonce:U(),signature:U()}),$n=A.object({...Qn.shape,chainId:W()}),er=A.object({address:H(),decimals:A.number(),feeToken:A.optional(A.boolean()),interop:A.optional(A.boolean()),nativeRate:A.optional(G()),symbol:A.string(),uid:A.string()}),tr=A.string().check(A.regex(/^[A-Z0-9]+$/)),nr=A.object({address:H(),chainId:W(),nonce:W()}),rr=A.object({...nr.shape,r:U(),s:U(),yParity:W()}),ir=A.object({data:A.optional(U()),to:H(),value:A.optional(G())});let ar;(function(e){let t=e.Parameters=A.object({address:H(),secret:A.string()});e.Request=A.object({method:A.literal(`account_getOnrampContactInfo`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({email:A.optional(A.string()),phone:A.optional(A.string()),phoneVerifiedAt:A.optional(A.number())})})(ar||={});let or;(function(e){let t=e.Parameters=A.object({address:H()});e.Request=A.object({method:A.literal(`account_onrampStatus`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({email:A.optional(A.number()),phone:A.optional(A.number())})})(or||={});let sr;(function(e){let t=e.Parameters=A.object({phone:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_resendVerifyPhone`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(sr||={});let cr;(function(e){let t=e.Parameters=A.object({email:A.string().check(A.regex(/^.*@.*$/)),walletAddress:H()});e.Request=A.object({method:A.literal(`account_setEmail`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(cr||={});let lr;(function(e){let t=e.Parameters=A.object({phone:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_setPhone`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(lr||={});let ur;(function(e){let t=e.Parameters=A.object({chainId:W(),email:A.string(),signature:U(),token:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_verifyEmail`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(ur||={});let dr;(function(e){let t=e.Parameters=A.object({code:A.string(),phone:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_verifyPhone`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(dr||={});let fr;(function(e){e.Request=A.object({method:A.literal(`health`),params:A.undefined()}),e.Response=A.object({quoteSigner:H(),status:A.string(),version:A.string()})})(fr||={});let pr;(function(e){let t=e.Parameters=A.object({address:H(),chainId:W(),tokenAddress:H(),value:G()});e.Request=A.object({method:A.literal(`wallet_addFaucetFunds`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({message:A.optional(A.string()),transactionHash:U()})})(pr||={});let mr;(function(e){let t=e.Parameters=A.object({chainId:W(),id:U()});e.Request=A.object({method:A.literal(`wallet_getAccounts`),params:A.readonly(A.tuple([t]))}),e.Response=A.readonly(A.array(A.object({address:H(),keys:qn.Response})))})(mr||={});let hr;(function(e){let t=e.Parameters=A.object({address:H()});e.Request=A.object({method:A.literal(`wallet_getAuthorization`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({authorization:rr,data:U(),to:H()})})(hr||={});let gr;(function(e){e.Request=A.object({method:A.literal(`wallet_getCapabilities`),params:A.optional(A.tuple([A.readonly(A.array(A.number()))]))});let t=A.object({address:H(),version:A.optional(A.union([A.string(),A.null()]))});e.Response=A.record(U(),A.object({contracts:A.object({accountImplementation:t,accountProxy:t,legacyAccountImplementations:A.readonly(A.array(t)),legacyOrchestrators:A.readonly(A.array(A.union([A.object({orchestrator:t,simulator:t}),t]))),orchestrator:t,simulator:t}),fees:A.object({quoteConfig:A.object({constantRate:A.optional(A.union([A.number(),A.null()])),gas:A.optional(A.object({intentBuffer:A.optional(A.number()),txBuffer:A.optional(A.number())})),rateTtl:A.number(),ttl:A.number()}),recipient:H(),tokens:A.readonly(A.array(er))})}))})(gr||={});let _r;(function(e){let t=A.union([A.literal(`native`),A.literal(`erc20`),A.literal(`erc721`),A.string()]),n=e.Parameters=A.object({account:H(),assetFilter:A.optional(A.record(U(),A.readonly(A.array(A.object({address:A.union([H(),A.literal(`native`)]),type:t}))))),assetTypeFilter:A.optional(A.readonly(A.array(t))),chainFilter:A.optional(A.readonly(A.array(W())))});e.Request=A.object({method:A.literal(`wallet_getAssets`),params:A.readonly(A.tuple([n]))});let r=e.Price=A.object({currency:A.string(),value:A.codec(A.string(),A.number(),{decode:e=>Number(e),encode:e=>String(e)})});e.Response=A.record(A.string(),A.readonly(A.array(An([A.object({address:H(),balance:G(),metadata:A.nullable(A.object({decimals:A.number(),fiat:A.nullish(r),name:A.string(),symbol:A.string()})),type:A.literal(`erc20`)}),A.object({address:A.nullable(A.literal(`native`)),balance:G(),metadata:A.nullable(A.object({decimals:A.number(),fiat:A.nullish(r),name:A.optional(A.string()),symbol:A.optional(A.string())})),type:A.literal(`native`)})]))))})(_r||={});let vr;(function(e){e.Request=A.object({method:A.literal(`wallet_getCallsStatus`),params:A.readonly(A.tuple([U()]))}),e.Response=A.object({id:A.string(),receipts:A.optional(A.readonly(A.array(A.object({blockHash:U(),blockNumber:W(),chainId:W(),gasUsed:W(),logs:A.readonly(A.array(A.object({address:H(),data:U(),topics:A.readonly(A.array(U()))}))),status:U(),transactionHash:U()})))),status:A.number()})})(vr||={});let yr;(function(e){let t=e.Parameters=A.object({address:H(),chainIds:A.optional(A.readonly(A.array(W())))});e.Request=A.object({method:A.literal(`wallet_getKeys`),params:A.readonly(A.tuple([t]))}),e.Response=A.record(U(),qn.Response)})(yr||={});let br;(function(e){let t=e.Capabilities=A.object({authorizeKeys:A.optional(qn.Request),meta:Yn.Request,preCall:A.optional(A.boolean()),preCalls:A.optional(A.readonly(A.array(Qn))),requiredFunds:A.optional(Xn.Request),revokeKeys:A.optional(Zn.Request)}),n=e.ResponseCapabilities=A.object({assetDiffs:A.optional(Kn.Response),authorizeKeys:A.nullish(qn.Response),feePayerDigest:A.optional(U()),feeSignature:A.optional(U()),feeTotals:A.optional(Jn.Response),revokeKeys:A.nullish(Zn.Response)}),r=e.Parameters=A.object({calls:A.readonly(A.array(ir)),capabilities:t,chainId:W(),from:A.optional(H()),key:A.optional(A.object({prehash:A.boolean(),publicKey:U(),type:Wn.shape.type}))});e.Request=A.object({method:A.literal(`wallet_prepareCalls`),params:A.readonly(A.tuple([r]))}),e.Response=A.object({capabilities:n,context:A.object({preCall:A.optional(A.partial($n)),quote:A.optional(A.partial(Bn))}),digest:U(),key:A.nullish(A.object({prehash:A.boolean(),publicKey:U(),type:Wn.shape.type})),signature:U(),typedData:A.object({domain:A.union([A.object({chainId:A.union([W(),A.number()]),name:A.string(),verifyingContract:H(),version:A.string()}),A.object({})]),message:A.record(A.string(),A.unknown()),primaryType:A.string(),types:A.record(A.string(),A.unknown())})})})(br||={});let xr;(function(e){let t=e.Capabilities=A.object({authorizeKeys:qn.Request}),n=e.Parameters=A.object({address:H(),capabilities:t,chainId:A.optional(A.number()),delegation:H()});e.Request=A.object({method:A.literal(`wallet_prepareUpgradeAccount`),params:A.readonly(A.tuple([n]))}),e.Response=A.object({capabilities:t,chainId:W(),context:A.object({address:H(),authorization:nr,chainId:W(),preCall:Qn}),digests:A.object({auth:U(),exec:U()}),typedData:A.object({domain:A.union([A.object({chainId:A.union([W(),A.number()]),name:A.string(),verifyingContract:H(),version:A.string()}),A.object({})]),message:A.record(A.string(),A.unknown()),primaryType:A.string(),types:A.record(A.string(),A.unknown())})})})(xr||={});let Sr;(function(e){e.Request=A.object({method:A.literal(`wallet_feeTokens`),params:A.optional(A.undefined())}),e.Response=A.record(U(),A.readonly(A.array(A.object({address:H(),decimals:A.number(),nativeRate:A.optional(G()),symbol:A.string()}))))})(Sr||={});let Cr;(function(e){let t=e.Parameters=A.object({capabilities:A.optional(A.object({feeSignature:A.optional(U())})),context:A.object({preCall:A.optional(A.partial($n)),quote:A.optional(A.partial(Bn))}),key:A.optional(A.object({prehash:A.boolean(),publicKey:U(),type:Wn.shape.type})),signature:U()});e.Request=A.object({method:A.literal(`wallet_sendPreparedCalls`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({id:U()})})(Cr||={});let wr;(function(e){let t=e.Parameters=A.object({context:A.object({address:H(),authorization:nr,chainId:W(),preCall:Qn}),signatures:A.object({auth:U(),exec:U()})});e.Request=A.object({method:A.literal(`wallet_upgradeAccount`),params:A.readonly(A.tuple([t]))}),e.Response=A.undefined()})(wr||={});let Tr;(function(e){let t=e.Parameters=A.object({address:U(),chainId:W(),digest:U(),signature:U()});e.Request=A.object({method:A.literal(`wallet_verifySignature`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({proof:A.nullish(A.object({account:H(),initPreCall:A.nullish(Qn),keyHash:U()})),valid:A.boolean()})})(Tr||={});const K=A.object({chainId:A.optional(W()),expiry:W(),hash:U(),id:U(),prehash:A.optional(A.boolean()),publicKey:U(),role:A.union([A.literal(`admin`),A.literal(`session`)]),type:A.union([A.literal(`address`),A.literal(`p256`),A.literal(`secp256k1`),A.literal(`webauthn-p256`)])}),Er=A.readonly(A.array(An([A.object({signature:A.string(),to:H()}),A.object({signature:A.string()}),A.object({to:H()})])).check(A.minLength(1))),Dr=A.object({limit:A.union([A.templateLiteral([A.number(),`.`,A.number()]),A.templateLiteral([A.number()])]).check(A.regex(/^\d+(\.\d+)?$/)),symbol:A.optional(A.union([A.literal(`native`),tr]))}),Or=A.object({addresses:A.readonly(A.array(H()))}),kr=A.readonly(A.array(A.object({limit:G(),period:A.union([A.literal(`minute`),A.literal(`hour`),A.literal(`day`),A.literal(`week`),A.literal(`month`),A.literal(`year`)]),token:A.optional(H())}))),Ar=A.object({calls:A.optional(Er),signatureVerification:A.optional(Or),spend:A.optional(kr)}),jr=A.object({...K.shape,feeToken:A.optional(A.nullable(Dr)),permissions:A.optional(Ar)}),Mr=A.object({address:H(),chainId:A.optional(W()),expiry:A.number(),id:U(),key:A.pick(K,{publicKey:!0,type:!0}),permissions:A.object({calls:Er,signatureVerification:A.optional(Or),spend:A.optional(kr)})}),Nr=A.object({address:A.optional(H()),chainId:A.optional(W()),expiry:A.number().check(A.gte(1)),feeToken:A.nullable(Dr),key:A.optional(A.pick(K,{publicKey:!0,type:!0})),permissions:A.object({calls:Er,signatureVerification:A.optional(Or),spend:A.optional(kr)})});let Pr;(function(e){e.GetCapabilitiesResponse=A.object({status:A.union([A.literal(`supported`),A.literal(`unsupported`)])})})(Pr||={});let Fr;(function(e){e.Request=A.union([A.boolean(),A.object({chainId:A.optional(W()),label:A.optional(A.string())})])})(Fr||={});let Ir;(function(e){e.Request=An([A.object({chainId:A.optional(A.number()),domain:A.optional(A.string()),expirationTime:A.optional(A.date()),issuedAt:A.optional(A.date()),nonce:A.string(),notBefore:A.optional(A.date()),requestId:A.optional(A.string()),resources:A.optional(A.readonly(A.array(A.string()))),scheme:A.optional(A.string()),statement:A.optional(A.string()),uri:A.optional(A.string()),version:A.optional(A.literal(`1`))}),A.object({authUrl:A.union([A.string(),A.object({logout:A.string(),nonce:A.string(),verify:A.string()})]),chainId:A.optional(W()),domain:A.optional(A.string()),expirationTime:A.optional(A.date()),issuedAt:A.optional(A.date()),notBefore:A.optional(A.date()),requestId:A.optional(A.string()),resources:A.optional(A.readonly(A.array(A.string()))),scheme:A.optional(A.string()),statement:A.optional(A.string()),uri:A.optional(A.string()),version:A.optional(A.literal(`1`))})]),e.Response=A.object({message:A.string(),signature:U(),token:A.optional(A.string())})})(Ir||={});let q;(function(e){e.GetCapabilitiesResponse=A.object({supported:A.boolean(),tokens:A.readonly(A.array(er))}),e.Request=A.union([tr,H()])})(q||={});let Lr;(function(e){e.Request=Nr})(Lr||={});let Rr;(function(e){e.GetCapabilitiesResponse=A.object({supported:A.boolean()})})(Rr||={});let zr;(function(e){e.GetCapabilitiesResponse=A.object({supported:A.boolean()}),e.Request=A.object({id:A.optional(A.union([U(),A.null()]))}),e.Response=A.readonly(A.array(Mr))})(zr||={});let Br;(function(e){e.Response=e.Request=A.readonly(A.array(A.object({context:A.unknown(),signature:U()})))})(Br||={});let Vr;(function(e){e.Request=A.string()})(Vr||={});let Hr;(function(e){e.GetCapabilitiesResponse=A.object({supported:A.boolean(),tokens:A.readonly(A.array(er))}),e.Request=A.readonly(A.array(An([A.object({address:H(),value:G()}),A.object({symbol:tr,value:A.union([A.templateLiteral([A.number(),`.`,A.number()]),A.templateLiteral([A.number()])]).check(A.regex(/^\d+(\.\d+)?$/))})])))})(Hr||={});const Ur=A.object({...A.pick(K,{id:!0,publicKey:!0,type:!0}).shape,credentialId:A.optional(A.string()),privateKey:A.optional(A.any())});let Wr;(function(e){let t=e.Parameters=A.object({address:H(),secret:A.string()});e.Request=A.object({method:A.literal(`account_getOnrampContactInfo`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({email:A.optional(A.string()),phone:A.optional(A.string()),phoneVerifiedAt:A.optional(A.number())})})(Wr||={});let Gr;(function(e){let t=e.Parameters=A.object({address:H()});e.Request=A.object({method:A.literal(`account_onrampStatus`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({email:A.optional(A.number()),phone:A.optional(A.number())})})(Gr||={});let Kr;(function(e){let t=e.Parameters=A.object({email:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_resendVerifyPhone`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(Kr||={});let qr;(function(e){let t=e.Parameters=A.object({email:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_setEmail`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(qr||={});let Jr;(function(e){let t=e.Parameters=A.object({email:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_setPhone`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(Jr||={});let Yr;(function(e){let t=e.Parameters=A.object({chainId:W(),email:A.string(),token:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_verifyEmail`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(Yr||={});let Xr;(function(e){let t=e.Parameters=A.object({code:A.string(),phone:A.string(),walletAddress:H()});e.Request=A.object({method:A.literal(`account_verifyPhone`),params:A.readonly(A.tuple([t]))}),e.Response=A.null()})(Xr||={});let Zr;(function(e){let t=e.Parameters=A.object({address:A.optional(H()),chainId:A.optional(W()),token:A.optional(H()),value:A.optional(A.string())});e.Request=A.object({method:A.literal(`wallet_addFunds`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({id:U()})})(Zr||={});let Qr;(function(e){e.Request=A.object({method:A.literal(`eth_accounts`),params:A.optional(A.unknown())}),e.Response=A.readonly(A.array(H()))})(Qr||={});let $r;(function(e){e.Request=A.object({method:A.literal(`eth_chainId`),params:A.optional(A.unknown())}),e.Response=U()})($r||={});let ei;(function(e){e.Request=A.object({method:A.literal(`eth_requestAccounts`),params:A.optional(A.unknown())}),e.Response=A.readonly(A.array(H()))})(ei||={});let ti;(function(e){e.Request=A.object({method:A.literal(`eth_sendTransaction`),params:A.readonly(A.tuple([A.object({capabilities:A.optional(A.object({feeToken:A.optional(q.Request),merchantUrl:A.optional(Vr.Request),preCalls:A.optional(Br.Request)})),chainId:A.optional(W()),data:A.optional(U()),from:A.optional(H()),to:H(),value:A.optional(G())})]))}),e.Response=U()})(ti||={});let ni;(function(e){e.Request=A.object({method:A.literal(`eth_signTypedData_v4`),params:A.readonly(A.tuple([H(),A.string()]))}),e.Response=U()})(ni||={});let ri;(function(e){let t=e.Parameters=A.object({address:A.optional(H()),chainId:A.optional(W())});e.Request=A.object({method:A.literal(`wallet_getAdmins`),params:A.optional(A.readonly(A.tuple([t])))});let n=e.Key=Ur;e.Response=A.object({address:H(),chainId:W(),keys:A.readonly(A.array(n))})})(ri||={});let ii;(function(e){let t=e.Capabilities=A.object({feeToken:A.optional(q.Request)}),n=e.Parameters=A.object({address:A.optional(H()),capabilities:A.optional(t),chainId:A.optional(W()),key:A.pick(K,{publicKey:!0,type:!0})});e.Request=A.object({method:A.literal(`wallet_grantAdmin`),params:A.readonly(A.tuple([n]))}),e.Response=A.object({address:H(),chainId:W(),key:ri.Key})})(ii||={});let ai;(function(e){let t=e.Parameters=Nr;e.Request=A.object({method:A.literal(`wallet_grantPermissions`),params:A.readonly(A.tuple([t]))}),e.ResponseCapabilities=A.object({preCalls:A.optional(Br.Response)}),e.Response=A.object({...Mr.shape,capabilities:A.optional(A.any())})})(ai||={});let oi;(function(e){let t=e.Parameters=A.object({address:A.optional(H())});e.Request=A.object({method:A.literal(`wallet_getAccountVersion`),params:A.optional(A.readonly(A.tuple([t])))}),e.Response=A.object({current:A.string(),latest:A.string()})})(oi||={});let si;(function(e){let t=e.Parameters=A.object({address:A.optional(H()),chainIds:A.optional(A.readonly(A.array(W())))});e.Request=A.object({method:A.literal(`wallet_getPermissions`),params:A.optional(A.readonly(A.tuple([t])))}),e.Response=zr.Response})(si||={});let ci;(function(e){let t=e.Capabilities=A.object({feeToken:A.optional(q.Request)}),n=e.Parameters=A.object({address:A.optional(H()),capabilities:A.optional(t),chainId:A.optional(W()),id:U()});e.Request=A.object({method:A.literal(`wallet_revokeAdmin`),params:A.readonly(A.tuple([n]))}),e.Response=void 0})(ci||={});let li;(function(e){let t=e.Capabilities=A.object({feeToken:A.optional(q.Request)}),n=e.Parameters=A.object({address:A.optional(H()),capabilities:A.optional(t),id:U()});e.Request=A.object({method:A.literal(`wallet_revokePermissions`),params:A.readonly(A.tuple([n]))}),e.Response=void 0})(li||={});let ui;(function(e){e.Request=A.object({method:A.literal(`wallet_switchEthereumChain`),params:A.readonly(A.tuple([A.object({chainId:U()})]))})})(ui||={});let di;(function(e){let t=e.Parameters=A.object({context:A.unknown(),signatures:A.object({auth:U(),exec:U()})});e.Request=A.object({method:A.literal(`wallet_upgradeAccount`),params:A.readonly(A.tuple([t]))});let n=e.ResponseCapabilities=A.object({admins:A.optional(A.readonly(A.array(ri.Key))),permissions:A.optional(zr.Response)});e.Response=A.object({address:H(),capabilities:A.optional(n)})})(di||={});let fi;(function(e){e.Request=A.object({method:A.literal(`personal_sign`),params:A.readonly(A.tuple([U(),H()]))}),e.Response=U()})(fi||={});let pi;(function(e){e.Request=A.object({method:A.literal(`porto_ping`),params:A.optional(A.undefined())}),e.Response=A.literal(`pong`)})(pi||={});let mi;(function(e){let t=e.Capabilities=A.object({createAccount:A.optional(Fr.Request),email:A.optional(A.boolean()),grantAdmins:A.optional(A.readonly(A.array(A.pick(K,{publicKey:!0,type:!0})))),grantPermissions:A.optional(Lr.Request),preCalls:A.optional(Br.Request),selectAccount:A.optional(A.union([A.boolean(),A.object({address:H(),key:A.optional(A.object({credentialId:A.optional(A.string()),publicKey:U()}))})])),signInWithEthereum:A.optional(Ir.Request)}),n=e.Parameters=A.object({capabilities:A.optional(t),chainIds:A.optional(A.readonly(A.array(W())))});e.Request=A.object({method:A.literal(`wallet_connect`),params:A.optional(A.readonly(A.tuple([n])))});let r=e.ResponseCapabilities=A.object({admins:A.optional(A.readonly(A.array(A.object({...A.pick(K,{id:!0,publicKey:!0,type:!0}).shape,credentialId:A.optional(A.string())})))),permissions:A.optional(zr.Response),preCalls:A.optional(Br.Response),signInWithEthereum:A.optional(Ir.Response)});e.Response=A.object({accounts:A.readonly(A.array(A.object({address:H(),capabilities:A.optional(r)}))),chainIds:A.readonly(A.array(W()))})})(mi||={});let hi;(function(e){e.Request=A.object({method:A.literal(`wallet_disconnect`),params:A.optional(A.unknown())}),e.Response=void 0})(hi||={});let gi;(function(e){e.Parameters=_r.Parameters,e.Request=_r.Request,e.Response=_r.Response})(gi||={});let _i;(function(e){e.Request=A.object({method:A.literal(`wallet_getCallsStatus`),params:A.tuple([U()])}),e.Response=A.object({atomic:A.boolean(),chainId:W(),id:A.string(),receipts:A.optional(A.readonly(A.array(A.object({blockHash:U(),blockNumber:U(),gasUsed:U(),logs:A.readonly(A.array(A.object({address:H(),data:U(),topics:A.readonly(A.array(U()))}))),status:U(),transactionHash:U()})))),status:A.number(),version:A.string()})})(_i||={});let vi;(function(e){e.Request=A.object({method:A.literal(`wallet_getCapabilities`),params:A.optional(A.union([A.readonly(A.tuple([A.union([U(),A.undefined()])])),A.readonly(A.tuple([A.union([U(),A.undefined()]),A.readonly(A.array(W()))]))]))}),e.Response=A.record(U(),A.object({atomic:Pr.GetCapabilitiesResponse,feeToken:q.GetCapabilitiesResponse,merchant:Rr.GetCapabilitiesResponse,permissions:zr.GetCapabilitiesResponse,requiredFunds:Hr.GetCapabilitiesResponse}))})(vi||={});let yi;(function(e){let t=e.Parameters=A.object({address:H(),chainIds:A.optional(A.readonly(A.array(W())))});e.Request=A.object({method:A.literal(`wallet_getKeys`),params:A.readonly(A.tuple([t]))}),e.Response=A.readonly(A.array(jr))})(yi||={});let J;(function(e){let t=e.Capabilities=A.object({feeToken:A.optional(q.Request),merchantUrl:A.optional(Vr.Request),permissions:A.optional(zr.Request),preCalls:A.optional(Br.Request),requiredFunds:A.optional(Hr.Request)}),n=e.Parameters=A.object({calls:A.readonly(A.array(A.object({data:A.optional(U()),to:H(),value:A.optional(G())}))),capabilities:A.optional(t),chainId:A.optional(W()),from:A.optional(H()),key:A.optional(A.pick(K,{prehash:!0,publicKey:!0,type:!0})),version:A.optional(A.string())});e.Request=A.object({method:A.literal(`wallet_prepareCalls`),params:A.readonly(A.tuple([n]))}),e.Response=A.object({capabilities:A.optional(A.object({...br.ResponseCapabilities.shape,quote:A.optional(Bn)})),chainId:U(),context:A.object({account:A.object({address:H()}),calls:n.shape.calls,nonce:G(),quote:A.optional(A.partial(Bn))}),digest:U(),key:A.pick(K,{prehash:!0,publicKey:!0,type:!0}),typedData:A.object({domain:A.union([A.object({chainId:W(),name:A.string(),verifyingContract:H(),version:A.string()}),A.object({})]),message:A.record(A.string(),A.unknown()),primaryType:A.string(),types:A.record(A.string(),A.unknown())})})})(J||={});let bi;(function(e){let t=e.Capabilities=A.object({...mi.Capabilities.shape,label:A.optional(A.string())}),n=e.Parameters=A.object({address:H(),capabilities:A.optional(t),chainId:A.optional(W())});e.Request=A.object({method:A.literal(`wallet_prepareUpgradeAccount`),params:A.readonly(A.tuple([n]))}),e.Response=A.object({context:A.unknown(),digests:A.object({auth:U(),exec:U()})})})(bi||={});let xi;(function(e){e.Capabilities=J.Capabilities,e.Request=A.object({method:A.literal(`wallet_sendCalls`),params:A.readonly(A.tuple([A.omit(J.Parameters,{key:!0})]))}),e.Response=A.object({id:U()})})(xi||={});let Si;(function(e){let t=e.Parameters=A.object({capabilities:J.Response.shape.capabilities,chainId:U(),context:J.Response.shape.context,key:J.Response.shape.key,signature:U()});e.Request=A.object({method:A.literal(`wallet_sendPreparedCalls`),params:A.readonly(A.tuple([t]))}),e.Response=A.readonly(A.array(A.object({capabilities:A.optional(A.record(A.string(),A.unknown())),id:U()})))})(Si||={});let Ci;(function(e){let t=e.Parameters=A.object({address:H(),chainId:A.optional(W()),digest:U(),signature:U()});e.Request=A.object({method:A.literal(`wallet_verifySignature`),params:A.readonly(A.tuple([t]))}),e.Response=A.object({address:H(),chainId:W(),proof:A.optional(A.unknown()),valid:A.boolean()})})(Ci||={});function Y(e){let t=typeof e==`string`?{address:e}:e,n=t.sign?`privateKey`:`porto`,{address:r,sign:i,signMessage:a,signTransaction:o,signTypedData:s,type:c}=ge({address:t.address,sign({hash:e}){if(n===`privateKey`)return t.sign({hash:e});throw Error("`sign` not supported on porto accounts.")},signMessage({message:e}){return this.sign({hash:v(e)})},signTransaction(){throw Error("`signTransaction` not supported on porto accounts.")},signTypedData(e){return this.sign({hash:y(e)})}});return{address:r,keys:t.keys??void 0,sign:i,signMessage:a,signTransaction:o,signTypedData:s,source:n,type:c}}function wi(e,t={}){let{keys:n}=t;return Y({address:E.fromPublicKey(k.getPublicKey({privateKey:e})),keys:n,async sign({hash:t}){return ue.toHex(k.sign({payload:t,privateKey:e}))},source:`privateKey`})}function Ti(e,t={}){let{key:n,role:r}=t;if(n!==null){if(typeof n==`object`)return n;if(e.keys&&e.keys.length>0)return typeof n==`number`?e.keys[n]:e.keys.find(e=>e.privateKey&&(!r||e.role===r))}}async function Ei(e,t){let{storage:n,replaySafe:r=!0,wrap:i=!0,webAuthn:a}=t,o=Ti(e,t),s=(()=>r?de.getSignPayload({domain:{verifyingContract:e.address},message:{digest:t.payload},primaryType:`ERC1271Sign`,types:{ERC1271Sign:[{name:`digest`,type:`bytes32`}]}}):t.payload)(),c=(()=>o?({hash:e})=>V(o,{address:null,payload:e,storage:n,webAuthn:a,wrap:i}):e.source===`privateKey`?e.sign:void 0)();if(!c)throw Error(`cannot find key to sign with.`);return await c({hash:s})}async function Di(e,t={}){let{chainIds:n,...r}=t,i=await e.request({method:`wallet_connect`,params:[A.encode(mi.Parameters,{capabilities:r,chainIds:n})]});return A.decode(mi.Response,i)}const Oi=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function ki(e={}){let{prefix:t=`[Porto]`}=e,n=new Set;return{error:ji(console.error,{prefix:t}),errorOnce:ji(console.error,{memo:n,prefix:t}),log:ji(console.log,{prefix:t}),logOnce:ji(console.log,{memo:n,prefix:t}),warn:ji(console.warn,{prefix:t}),warnOnce:ji(console.warn,{memo:n,prefix:t})}}const Ai=ki();function ji(e,t={}){let{memo:n,prefix:r}=t;return(...t)=>{let i=t.join(` `);n?.has(i)||(n?.add(i),e(`${r} ${i}`))}}function Mi(){let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}function Ni(){let e=navigator.userAgent.toLowerCase();return(e.includes(`firefox`)||e.includes(`fxios`))&&!e.includes(`seamonkey`)}function Pi(){return window.navigator?.userAgentData?.mobile?!0:navigator.maxTouchPoints>1||/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(navigator.userAgent)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(navigator.userAgent.slice(0,4))}function Fi(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function Ii(e){if(Array.isArray(e))return e.map(Ii);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=Ii(r);return t}function Li(e,t){let n=[],r=new Set;for(let i of e){let e=t(i);r.has(e)||(r.add(e),n.push(i))}return n}function Ri(){return typeof globalThis<`u`&&`crypto`in globalThis?globalThis.crypto.randomUUID():crypto.randomUUID()}function zi(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(zi.cache.get(n))return zi.cache.get(n);let r=e().finally(()=>zi.cache.delete(n));return zi.cache.set(n,r),r}(function(e){e.cache=new Map})(zi||={});function Bi(e){return e}function Vi(e,t={}){let{targetOrigin:n}=t,r=new Map;return Bi({destroy(){for(let t of r.values())e.removeEventListener(`message`,t)},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>e.removeEventListener(`message`,o)},async send(t,r,i){let a=Ri();return e.postMessage(Ii({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}},async sendAsync(e,t,n){let{id:r}=await this.send(e,t,n);return new Promise(t=>this.on(e,t,r))}})}function Hi(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=Fi();t.on(`ready`,a.resolve);let o=Bi({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)},async sendAsync(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.sendAsync(e,t)}});return{...o,ready(e){o.send(`ready`,e)},waitForReady(){return a.promise}}}const Ui={local:`http://localhost:5175/dialog/`,prod:`https://rise-wallet-testnet.vercel.app/dialog`,stg:`https://rise-wallet-testnet.vercel.app/dialog`};function Wi(e){return e}function Gi(e={}){let{skipProtocolCheck:t,skipUnsupported:n}=e,r=e=>!n&&Mi()&&e?.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.method));return typeof window>`u`?qi():Wi({name:`iframe`,setup(e){let{host:n,internal:i,theme:a,themeController:o}=e,{store:s}=i,c=Ki().setup(e),l=!1,u=new URL(n),d=document.createElement(`dialog`);d.dataset.porto=``,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-closed`,`true`),d.setAttribute(`aria-label`,`Porto Wallet`),d.setAttribute(`hidden`,`until-found`),Object.assign(d.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`}),document.body.appendChild(d);let f=document.createElement(`iframe`);f.setAttribute(`data-testid`,`porto`);let p=[`payment`,`publickey-credentials-get ${u.origin}`,`publickey-credentials-create ${u.origin}`];Ni()||p.push(`clipboard-write`),f.setAttribute(`allow`,p.join(`; `)),f.setAttribute(`tabindex`,`0`),f.setAttribute(`sandbox`,`allow-forms allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox`),f.setAttribute(`src`,$i(n)),f.setAttribute(`title`,`Porto`),Object.assign(f.style,{backgroundColor:`transparent`,border:`0`,colorScheme:`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let m=document.createElement(`style`);m.innerHTML=`
|
|
43
|
+
dialog[data-porto]::backdrop {
|
|
44
|
+
background: transparent!important;
|
|
45
|
+
}
|
|
46
|
+
`,d.appendChild(m),d.appendChild(f);let h=Hi({from:Vi(window,{targetOrigin:u.origin}),to:Vi(f.contentWindow,{targetOrigin:u.origin}),waitForReady:!0});o?._setup(h,!0);let g=window.matchMedia(`(max-width: 460px)`),_=()=>{h.send(`__internal`,{type:`resize`,width:g.matches?460:461})};g.addEventListener(`change`,_),h.on(`ready`,t=>{let n=e.internal.store.getState().chainIds.filter(e=>t.chainIds.includes(e));n.length===0&&(n=t.chainIds),s.setState(e=>({...e,chainIds:n})),h.send(`__internal`,{chainIds:n,mode:`iframe`,referrer:Xi(),theme:a,type:`init`}),_()}),h.on(`rpc-response`,e=>{r([e._request])&&(f.src=f.src),Qi(s,e)}),h.on(`__internal`,e=>{e.type===`switch`&&e.mode===`popup`&&(c.open(),c.syncRequests(s.getState().requestQueue))});let v=null,y=null,b=()=>Zi(s),ee=e=>{e.key===`Escape`&&Zi(s)},x=new MutationObserver(e=>{for(let t of e){if(t.type!==`attributes`)continue;let e=t.attributeName;e&&e===`inert`&&d.removeAttribute(e)}});x.observe(d,{attributeOldValue:!0,attributes:!0});let S=!1,te=()=>{S&&(S=!1,d.removeEventListener(`click`,b),document.removeEventListener(`keydown`,ee),d.style.pointerEvents=`none`,y?.focus(),y=null,Object.assign(document.body.style,v??``),document.body.style.overflow=v?.overflow??``)},ne=()=>{S||(S=!0,d.addEventListener(`click`,b),document.addEventListener(`keydown`,ee),f.focus(),d.style.pointerEvents=`auto`,v=Object.assign({},document.body.style),document.body.style.overflow=`hidden`)},C=!1,w=()=>{C||(C=!0,document.activeElement instanceof HTMLElement&&(y=document.activeElement),d.removeAttribute(`hidden`),d.removeAttribute(`aria-closed`),d.showModal())},re=()=>{if(C){C=!1,d.setAttribute(`hidden`,`true`),d.setAttribute(`aria-closed`,`true`),d.close();for(let e of d.parentNode?Array.from(d.parentNode.children):[])e!==d&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}};return{close(){c.close(),l=!1,h.send(`__internal`,{mode:`iframe`,referrer:Xi(),type:`init`}),re(),te()},destroy(){c.close(),l=!1,te(),re(),c.destroy(),h.destroy(),d.remove(),x.disconnect(),g.removeEventListener(`change`,_)},open(){l||(l=!0,w(),ne(),h.send(`__internal`,{mode:`iframe`,referrer:Xi(),type:`init`}))},async secure(){let{trustedHosts:e}=await h.waitForReady(),n=(()=>{if(t)return!0;let e=window.location.protocol.startsWith(`https`);return e||Ai.warnOnce(`Detected insecure protocol (HTTP).`,`\n\nThe Porto iframe is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn support.`,`See https://porto.sh/sdk#secure-origins-https for more information.`),e})(),r=Oi(),i=!!e?.includes(window.location.hostname),a=!!(r||i);return a||Ai.warnOnce([`Warning: Browser does not support IntersectionObserver v2 or host "${u.hostname}" is not trusted by Porto.`,`This may result in the dialog falling back to a popup.`,``,`Add "${u.hostname}" to the trusted hosts list to enable iframe dialog: https://github.com/ithacaxyz/porto/edit/main/src/trusted-hosts.ts`].join(`
|
|
47
|
+
`)),{frame:a,host:i,protocol:n}},async syncRequests(e){let{methodPolicies:t}=await h.waitForReady(),n=await this.secure(),i=e?.every(e=>t?.find(t=>t.method===e.request.method)?.modes?.headless===!0),a=r(e.map(e=>e.request));if(!i&&(a||!n.protocol||!n.frame))c.syncRequests(e);else{let n=e.some(e=>Yi(e.request,{methodPolicies:t,targetOrigin:u.origin}));!l&&n&&this.open(),h.send(`rpc-requests`,e)}}}},supportsHeadless:!0})}function Ki(e={}){if(typeof window>`u`)return qi();let{type:t=`auto`,size:n=Ji}=e;return Wi({name:`popup`,setup(e){let{host:r,internal:i,themeController:a}=e,{store:o}=i,s=new URL(r),c=null,l=t===`page`||t===`auto`&&Pi()?`page`:`popup`;function u(){c&&Zi(o)}let d=(()=>{let e=setInterval(()=>{c?.closed&&Zi(o)},100);return()=>clearInterval(e)})(),f;return a?._setup(null,!0),{close(){c&&=(c.close(),null)},destroy(){this.close(),window.removeEventListener(`focus`,u),f?.destroy(),d()},open(){if(l===`popup`){let e=(window.innerWidth-n.width)/2+window.screenX,t=window.screenY+100;c=window.open($i(r),`_blank`,`width=${n.width},height=${n.height},left=${e},top=${t}`)}else c=window.open($i(r),`_blank`);if(!c)throw Error(`Failed to open popup`);f=Hi({from:Vi(window,{targetOrigin:s.origin}),to:Vi(c,{targetOrigin:s.origin}),waitForReady:!0}),a?._setup(f,!1),f.send(`__internal`,{mode:l===`page`?`page`:`popup`,referrer:Xi(),theme:a?.getTheme()??e.theme,type:`init`}),f.on(`rpc-response`,e=>Qi(o,e)),window.removeEventListener(`focus`,u),window.addEventListener(`focus`,u)},async secure(){return{frame:!0,host:!0,protocol:!0}},async syncRequests(e){e.some(e=>Yi(e.request))&&((!c||c.closed)&&this.open(),c?.focus()),f?.send(`rpc-requests`,e)}}},supportsHeadless:!1})}function qi(){return Wi({name:`noop`,setup(){return{close(){},destroy(){},open(){},async secure(){return{frame:!0,host:!0,protocol:!0}},async syncRequests(){}}},supportsHeadless:!0})}const Ji={height:282,width:360};function Yi(e,t={}){let{methodPolicies:n,targetOrigin:r}=t,i=n?.find(t=>t.method===e.method);return i&&i.modes?.headless?!!(typeof i.modes.headless==`object`&&i.modes.headless.sameOrigin&&r!==window.location.origin):!0}function Xi(){return{icon:(()=>{let e=document.querySelector(`link[rel="icon"][media="(prefers-color-scheme: dark)"]`)?.href,t=document.querySelector(`link[rel="icon"][media="(prefers-color-scheme: light)"]`)?.href??document.querySelector(`link[rel="icon"]`)?.href;return e&&t&&e!==t?{dark:e,light:t}:window.matchMedia(`(prefers-color-scheme: dark)`).matches?e:t})(),title:document.title}}function Zi(e){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>({account:e.account,error:new M.UserRejectedRequestError,request:e.request,status:`error`}))}))}function Qi(e,t){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.request.id===t.id?t.error?{account:e.account,error:t.error,request:e.request,status:`error`}:{account:e.account,request:e.request,result:t.result,status:`success`}:e)}))}function $i(e){let t=new URL(e),n=new URLSearchParams(window.location.search);for(let[e,r]of n.entries())e.startsWith(`porto.`)&&t.searchParams.set(e.slice(6),r);return t.toString()}function ea(e){let t=ye.createServer(e);return new Promise((e,n)=>{t.on(`error`,n),t.listen(()=>{let{port:n}=t.address();e(Object.assign(t,{closeAsync(){return new Promise((e,n)=>t.close(t=>t?n(t):e(void 0)))},url:`http://localhost:${n}`}))})})}async function ta(){let e=new Map,t=new Set,n=new Set,r=await ea((r,i)=>{let a=_e.parse(r.url,!0);if(i.setHeader(`Access-Control-Allow-Origin`,`*`),i.setHeader(`Access-Control-Allow-Methods`,`GET, POST, OPTIONS`),i.setHeader(`Access-Control-Allow-Headers`,`Content-Type`),i.setHeader(`Access-Control-Allow-Private-Network`,`true`),r.method===`OPTIONS`){i.writeHead(200),i.end();return}if(r.method===`GET`&&a.pathname===`/`){i.writeHead(200,{"Access-Control-Allow-Origin":`*`,"Cache-Control":`no-cache`,Connection:`keep-alive`,"Content-Type":`text/event-stream`}),t.add(i),r.on(`close`,()=>t.delete(i));return}if(r.method===`POST`&&a.pathname===`/`){let t=``;r.on(`data`,e=>t+=e.toString()),r.on(`end`,()=>{try{let n=JSON.parse(t);if(n.topic&&n.payload!==void 0){let t=e.get(n.topic);if(t){let e={data:n,origin:`http://localhost`};for(let r of t)r(n.payload,e)}}i.writeHead(200,{"Content-Type":`text/plain`}),i.end(`ok`)}catch{i.writeHead(400,{"Content-Type":`text/plain`}),i.end(`Invalid JSON`)}})}else r.method===`GET`&&a.pathname===`/.well-known/keys`?(i.writeHead(200,{"Access-Control-Allow-Origin":`*`,"Content-Type":`application/json`}),i.end(JSON.stringify({keys:Array.from(n)}))):(i.writeHead(404,{"Content-Type":`text/plain`}),i.end(`not found`))}),i=r.url,a=Fi(),o={destroy(){e.clear();for(let e of t)try{e.end()}catch{}t.clear(),r.close()},on(t,n){return e.has(t)||e.set(t,new Set),e.get(t).add(n),()=>{let r=e.get(t);r&&(r.delete(n),r.size===0&&e.delete(t))}},registerPublicKey(e){n.add(e)},relayUrl:i,async send(e,n){let r=Ri(),i={id:r,payload:n,topic:e},a=`data: ${ve.stringify(i)}\n\n`;for(let e of t)try{e.write(a)}catch{t.delete(e)}return{id:r,payload:n,topic:e}},async sendAsync(){throw Error(`Not implemented`)},waitForReady(){return o.on(`ready`,a.resolve),a.promise}};return o}const X=await ta();async function na(){let e=!1;return Wi({name:`cli`,setup(t){return X.on(`rpc-response`,e=>{Qi(t.internal.store,e)}),X.on(`ready`,()=>{let{store:e}=t.internal,n=e.getState().requestQueue.map(e=>e.status===`pending`?e:void 0).filter(Boolean);X.send(`rpc-requests`,n)}),{close(){},destroy(){X.destroy()},open(){let n=new URLSearchParams([[`relayUrl`,X.relayUrl]]),r=t.host.replace(/\/$/,``)+`/?`+n.toString();console.log(`
|
|
48
|
+
|
|
49
|
+
Open the URL below in your browser to continue:`),console.log(`\n${r}\n`),e=!0},async secure(){return{frame:!0,host:!0,protocol:!0}},async syncRequests(t){if(t.length>1)throw Error("renderer (`cli`) does not support multiple requests.");t[0]?.request&&(e||this.open(),await X.waitForReady(),X.send(`rpc-requests`,t))}}},supportsHeadless:!0})}function ra(e){return{...e,setup:e.setup??(()=>()=>{})}}async function ia(e){let{account:t,calls:n,permissionsId:r}=e;if(r!==void 0){if(r===null)return;let e=t.keys?.find(e=>e.publicKey===r&&e.privateKey);if(!e)throw Error(`permission (id: ${r}) does not exist.`);return e}let i=t.keys?.find(e=>!e.privateKey||e.role!==`session`||e.expiry<BigInt(Math.floor(Date.now()/1e3))?!1:!!n.every(t=>e.permissions?.calls?.some(e=>{if(e.to&&e.to!==t.to)return!1;if(e.signature){if(!t.data)return!1;let n=D.slice(t.data,0,4);if(D.validate(e.signature))return e.signature===n;if(be.getSelector(e.signature)!==n)return!1}return!0}))),a=t.keys?.find(e=>e.role===`admin`&&e.privateKey);return i??a}const aa=Mr;function oa(e,t){let{chainId:n,expiry:r,permissions:i,id:a,publicKey:o,type:s}=e,{address:c}=t;return{address:c,chainId:n,expiry:r,id:a,key:{publicKey:o,type:s},permissions:i??{}}}function sa(e){let{chainId:t,expiry:n,key:r}=e;return B({chainId:t,expiry:n,permissions:e.permissions??{},publicKey:r.publicKey,role:`session`,type:r.type})}const ca=Nr;function la(e){let{expiry:t,feeToken:n,permissions:r,publicKey:i,type:a}=e;return{expiry:t,feeToken:n??null,key:{publicKey:i,type:a},permissions:r??{}}}async function Z(e,t={}){if(!e)return;let n={chainId:t.chainId??e.chainId,expiry:e.expiry??0,feeToken:e.feeToken,permissions:En(e,{feeTokens:t.feeTokens}),role:`session`};if(e?.key)return B({...n,publicKey:e.key.publicKey,type:e.key.type??`secp256k1`});if(typeof globalThis.crypto?.subtle?.generateKey==`function`)try{return await gn(n)}catch(e){if(!ua(e))throw e}return fn(n)}function ua(e){if(!(e instanceof Error))return!1;let t=e.message?.toLowerCase()??``;return e.name===`TypeError`||e.name===`ReferenceError`||t.includes(`subtle`)||t.includes(`generatekey`)}async function da(e){let{address:t,authUrl:n,message:r,signature:i}=e,{chainId:a}=we.parseMessage(r);return await fetch(n.verify,{body:JSON.stringify({address:t,chainId:a,message:r,signature:i,walletAddress:t}),credentials:`include`,headers:{"Content-Type":`application/json`},method:`POST`}).then(e=>e.json())}async function fa(e,t,n){let{chainId:r=e.chain?.id,domain:i,uri:a,resources:o,version:s=`1`}=t,{address:c}=n,l=t.authUrl?pa(t.authUrl):void 0;if(!r)throw Error("`chainId` is required.");if(!i)throw Error("`domain` is required.");if(!t.nonce&&!l?.nonce)throw Error("`nonce` or `authUrl.nonce` is required.");if(!a)throw Error("`uri` is required.");let u=await(async()=>{if(t.nonce)return t.nonce;if(!l?.nonce)throw Error("`nonce` or `authUrl.nonce` is required.");let e=await(await fetch(l.nonce,{body:JSON.stringify({address:c,chainId:r,walletAddress:c}),headers:{"Content-Type":`application/json`},method:`POST`})).json().catch(()=>void 0);if(!e?.nonce)throw Error("`nonce` or `authUrl.nonce` is required.");return e.nonce})();return we.createMessage({...t,address:n.address,chainId:r,domain:i,nonce:u,resources:o,uri:a,version:s})}function pa(e,t=``){if(!e)return;let n=(()=>{if(typeof e==`string`){let t=e.replace(/\/$/,``);return{logout:t+`/logout`,nonce:t+`/nonce`,verify:t+`/verify`}}return e})();return{logout:ma(n.logout,t),nonce:ma(n.nonce,t),verify:ma(n.verify,t)}}function ma(e,t){return!t||!e.startsWith(`/`)?e:t+e}async function ha(e,t){let{account:n=e.account}=t,r=n?Y(n):void 0;if(!r)throw Error(`account is required.`);let{domain:{name:i,version:a}}=await ne(e,{address:r.address});if(!e.chain)throw Error(`client.chain is required`);return{chainId:e.chain.id,name:i,verifyingContract:r.address,version:a}}async function ga(e,t){try{let n=`wallet_getAuthorization`,r=await x(()=>e.request({method:n,params:[A.encode(hr.Parameters,t)]}),{cacheKey:`${e.uid}.${n}.${t.address}`});return A.decode(hr.Response,r)}catch(e){throw Q(e),e}}async function _a(e,t={}){let n=(()=>{if(t.chainId)return[t.chainId];if(t.chainIds!==`all`)return t.chainIds?t.chainIds:[e.chain.id]})();try{let r=`wallet_getCapabilities`,i=await x(()=>e.request({method:r,params:n?[n]:void 0},{retryCount:0}),{cacheKey:`${e.uid}.${r}.${n?.join(`,`)}`}),a=(()=>t.raw?i:A.decode(gr.Response,i))();return t.chainIds?a:Object.values(a)[0]}catch(e){throw Q(e),e}}async function va(e,t){let{account:n,assetFilter:r,assetTypeFilter:i,chainFilter:a}=t;try{let t=await e.request({method:`wallet_getAssets`,params:[A.encode(_r.Parameters,{account:n,assetFilter:r,assetTypeFilter:i,chainFilter:a})]}),o=A.decode(_r.Response,t),s=Object.entries(o).reduce((e,[t,n])=>(e[D.toNumber(t)]=n,e),{}),c={};for(let e of Object.values(s))for(let t of e){let e=JSON.stringify(t.metadata);c[e]={...t,balance:t.balance+(c[e]?.balance??0n)}}return{...s,0:Object.values(c)}}catch(e){throw Q(e),e}}async function ya(e,t){let{id:n}=t;try{let t=await e.request({method:`wallet_getCallsStatus`,params:[n]});return A.decode(vr.Response,t)}catch(e){throw Q(e),e}}async function ba(e,t){let{address:n,chainIds:r}=t;try{let t=await e.request({method:`wallet_getKeys`,params:[A.encode(yr.Parameters,{address:n,chainIds:r})]});return A.decode(yr.Response,t)}catch(e){throw Q(e),e}}async function xa(e){let t=`health`,n=await x(()=>e.request({method:t}),{cacheKey:`${e.uid}.${t}`});return A.decode(fr.Response,n)}async function Sa(e,t){let{address:n,capabilities:r,chain:i=e.chain,key:a}=t,o=t.calls.map(e=>({data:e.abi?ie.encodeData(ie.fromAbi(e.abi,e.functionName),e.args):e.data??`0x`,to:e.to,value:e.value??0n}));try{let t=await e.request({method:`wallet_prepareCalls`,params:[A.encode(br.Parameters,{calls:o,capabilities:{...r,meta:{...r?.meta}},chainId:i?.id,from:n,key:a?{prehash:a.prehash,publicKey:a.publicKey,type:a.type}:void 0})]},{retryCount:0});return Object.assign(A.decode(br.Response,t),{_raw:t})}catch(e){throw Q(e),Aa(e,{calls:t.calls}),e}}async function Ca(e,t){let{address:n,chain:r=e.chain,delegation:i,...a}=t;try{let t=await e.request({method:`wallet_prepareUpgradeAccount`,params:[A.encode(xr.Parameters,Ii({address:n,capabilities:a,chainId:r?.id,delegation:i}))]},{retryCount:0});return A.decode(xr.Response,t)}catch(e){throw Q(e),Aa(e),e}}async function wa(e,t){let{capabilities:n,context:r,key:i,signature:a}=t;try{let t=await e.request({method:`wallet_sendPreparedCalls`,params:[A.encode(Cr.Parameters,{capabilities:n,context:{preCall:r.preCall,quote:r.quote},key:i?{prehash:i.prehash,publicKey:i.publicKey,type:i.type}:void 0,signature:a})]},{retryCount:0});return A.decode(Cr.Response,t)}catch(e){throw Q(e),Aa(e),e}}async function Ta(e,t){let{email:n,walletAddress:r}=t;try{let t=await e.request({method:`account_setEmail`,params:[A.encode(cr.Parameters,{email:n,walletAddress:r})]},{retryCount:0});return A.decode(cr.Response,t)}catch(e){throw Q(e),Aa(e),e}}async function Ea(e,t){let{context:n,signatures:r}=t;try{await e.request({method:`wallet_upgradeAccount`,params:[A.encode(wr.Parameters,{context:n,signatures:r})]},{retryCount:0})}catch(e){throw Q(e),Aa(e),e}}async function Da(e,t){let{chainId:n,email:r,signature:i,token:a,walletAddress:o}=t;try{let t=await e.request({method:`account_verifyEmail`,params:[A.encode(ur.Parameters,{chainId:n,email:r,signature:i,token:a,walletAddress:o})]},{retryCount:0});return A.decode(ur.Response,t)}catch(e){throw Q(e),Aa(e),e}}async function Oa(e,t){let{signature:n}=t,{signature:r,capabilities:{feeSignature:i,...a},...o}=t.response,s=ja({capabilities:a,...o}),c=se.keccak256(D.fromString(JSON.stringify(s))),l=k.recoverAddress({payload:c,signature:ue.fromHex(n)}),{quoteSigner:u}=await xa(e);return l===u}async function ka(e,t){let{address:n,chain:r=e.chain,digest:i,signature:a}=t;try{async function t(){return{proof:null,valid:await C(e,{address:n,hash:i,signature:a})}}let o=await(async()=>{let o=await e.request({method:`wallet_verifySignature`,params:[A.encode(Tr.Parameters,{address:n,chainId:r?.id,digest:i,signature:a})]},{retryCount:0}).catch(t);return o.valid?o:t()})();return A.decode(Tr.Response,o)}catch(e){throw Q(e),e}}function Aa(e,{calls:t}={}){if(!(e instanceof d))return;let n=e=>{try{if(e.name===`ContractFunctionExecutionError`){let t=e.cause.name===`ContractFunctionRevertedError`?e.cause.data:void 0;if(t)return Ee.fromAbi([t.abiItem],t.errorName)}let t=e.walk(e=>!(e instanceof Error)&&e.code===3);if(!t)return;let{data:n,message:r}=t;return n===`0xd0d5039b`?Ee.from(`error Unauthorized()`):{inputs:[],name:(r??n).split(`(`)[0],type:`error`}}catch{return}},r=De(e,{calls:t??[]}),i=n(r);if(!(r===e&&!i))throw new Ma(Object.assign(r,{abiError:i}))}function ja(e){if(typeof e==`object`&&e){if(Array.isArray(e))return e.map(ja);let t={};for(let n of Object.keys(e).sort())t[n]=ja(e[n]);return t}return e}function Q(e){if(e.name===`$ZodError`)throw Mn(e)}var Ma=class extends he.BaseError{constructor(e){super(`An error occurred while executing calls.`,{cause:e,metaMessages:[e.abiError&&`Reason: `+e.abiError.name].filter(Boolean)}),this.name=`Rpc.ExecutionError`,this.abiError=e.abiError}};async function Na(e,t){let{account:n=e.account,chainIds:r}=t,i=n?Y(n):void 0;if(!i)throw Error(`account is required.`);let a=await ba(e,{address:i.address,chainIds:r});return Object.entries(a).flatMap(([e,t])=>t.map(t=>vn(t,{chainId:Number(e)})))}async function Pa(e,t){let{account:n=e.account,calls:r,chain:i=e.chain,feePayer:a,merchantUrl:o,nonce:s,preCalls:c,requiredFunds:l,revokeKeys:u}=t,d=n?Y(n):void 0,p=t.key??(d?Ti(d,{role:`admin`}):void 0),m=t.authorizeKeys?.some(e=>e.role===`session`),{contracts:h,fees:{tokens:g}}=await _a(e,{chainId:i?.id}),_=m?h.orchestrator.address:void 0,v=(t.authorizeKeys??[]).map(e=>Tn(e,{feeTokens:g,orchestrator:_})),y=(()=>t.feeToken?t.feeToken:p?.permissions?.spend?.[0]?.token)(),ee=typeof c==`boolean`?c:!1,x=typeof c==`object`?c.map(({context:e,signature:t})=>({...e.preCall,signature:t})):void 0,S={address:d?.address,calls:r??[],capabilities:{authorizeKeys:v,meta:{feePayer:a,feeToken:y,nonce:s},preCall:ee,preCalls:x,requiredFunds:l,revokeKeys:u?.map(e=>({hash:e.hash}))},chain:i,key:p?Tn(p,{feeTokens:g}):void 0},te=await(async()=>o?await Sa(f({chain:e.chain,transport:b(o)}),S).catch(t=>(console.error(t),Sa(e,S))):await Sa(e,S))(),{capabilities:ne,context:C,digest:w,signature:re,typedData:T}=te;if(o&&!await Oa(e,{response:te._raw,signature:re}))throw Error(`cannot verify integrity of \`wallet_prepareCalls\` response from ${o}`);return{capabilities:{...ne,quote:C.quote},context:C,digest:w,key:p,typedData:T}}async function Fa(e,t){let{address:n,authorizeKeys:r,chain:i=e.chain}=t;if(!i)throw Error(`chain is required.`);let{contracts:a,fees:{tokens:o}}=await _a(e,{chainId:i.id}),s=t.delegation??a.accountProxy.address,c=r.some(e=>e.role===`session`)?a.orchestrator.address:void 0,{capabilities:l,chainId:u,context:d,digests:f,typedData:p}=await Ca(e,{address:n,authorizeKeys:r.map(e=>{let t=e.role===`session`?e.permissions:{};return Tn({...e,permissions:t},{feeTokens:o,orchestrator:c})}),chain:i,delegation:s}),m=Y({address:n,keys:r});return{capabilities:l,chainId:u,context:{...d,account:m},digests:f,typedData:p}}async function Ia(e,t){let{account:n=e.account,chain:r=e.chain,webAuthn:i}=t;if(!r)throw Error("`chain` is required.");let a=n?Y(n):void 0;if(!a)throw Error("`account` is required.");let o=t.key??Ti(a,t);if(!o&&!a.sign)throw Error("`key` or `account` with `sign` is required");let s=await Promise.all((t.preCalls??[]).map(async n=>{if(n.signature)return n;let{authorizeKeys:o,key:s,calls:c,revokeKeys:l}=n,{context:u,digest:d}=await Pa(e,{account:a,authorizeKeys:o,calls:c,chain:r,feeToken:t.feeToken,key:s,preCalls:!0,revokeKeys:l});return{context:u,signature:await V(s,{address:null,payload:d,webAuthn:i})}})),{capabilities:c,context:l,digest:u}=await Pa(e,{...t,account:a,chain:r,key:o,preCalls:s}),d=await(async()=>o?await V(o,{address:null,payload:u,webAuthn:i,wrap:!1}):await a.sign({hash:u}))();return await La(e,{capabilities:c.feeSignature?{feeSignature:c.feeSignature}:void 0,context:l,key:o,signature:d})}async function La(e,t){let{capabilities:n,context:r,key:i,signature:a}=t;return await wa(e,{capabilities:n,context:r,key:i?Tn(i):void 0,signature:a})}async function Ra(e,t){let{email:n,walletAddress:r}=t;return await Ta(e,{email:n,walletAddress:r})}async function za(e,t){if(t.account){let{account:n}=t,r=[...n.keys??[],...t.authorizeKeys??[]].filter((e,t,n)=>n.findIndex(t=>t.id===e.id)===t),{digests:i,...a}=await Fa(e,{...t,address:n.address,authorizeKeys:r}),o={auth:await n.sign({hash:i.auth}),exec:await n.sign({hash:i.exec})};return await za(e,{...a,signatures:o})}let{context:n,signatures:r}=t,i=Y(n.account);return await Ea(e,{context:n,signatures:r}),i}async function Ba(e,t){let{chainId:n,email:r,signature:i,token:a,walletAddress:o}=t;return await Da(e,{chainId:n,email:r,signature:i,token:a,walletAddress:o})}async function Va(e,t){let{address:n}=t,{authorization:r,data:i,to:a}=await ga(e,{address:n});return Oe.wrap({authorization:{...r,nonce:BigInt(r.nonce),r:BigInt(r.r),s:BigInt(r.s)},data:i,signature:t.signature,to:a})}function Ha(e,t){let{tokens:n}=t,r=n.filter(e=>e.interop);return e.map(e=>{if(e.address)return e;let t=r.find(t=>t.symbol===e.symbol);if(!t)throw Error(`interop token not found: ${e.symbol}`);return{address:t.address,value:fe.from(e.value,t.decimals)}})}async function $(e,t){let{chain:n=e.chain}=t??{};return await _a(e,{chainId:n?.id}).then(e=>e.fees.tokens)}async function Ua(e,t){let{addressOrSymbol:n}=t;return(await $(e,t)).find(Ua.predicate(n))}(function(e){function t(e){return t=>e?E.validate(e)?E.isEqual(t.address,e):e===`native`?t.address===S:e===t.symbol:!1}e.predicate=t})(Ua||={});async function Wa(e,t){let{chain:n=e.chain,store:r}=t??{},i=r?.getState()??{},a=t?.addressOrSymbol??i.feeToken;return(await $(e,{chain:n}).then(e=>e.filter(e=>e.feeToken)))?.find(e=>a?a===`native`&&e.address===S||E.validate(a)&&E.isEqual(e.address,a)?!0:a===e.symbol:!1)}function Ga(e={}){let t=e,{mock:n,multichain:r=!0,webAuthn:i}=t,a,o,s=(()=>{if(t.keystoreHost!==`self`&&!(typeof window<`u`&&window.location?.hostname===`localhost`))return t.keystoreHost})();return ra({actions:{async addFunds(){throw new M.UnsupportedMethodError},async createAccount(e){let{admins:t,email:r,label:o,permissions:c,internal:l,signInWithEthereum:u}=e,{client:d}=l,f=wi(k.randomPrivateKey()),p=await $(d),m=n?hn():await mn({createFn:i?.createFn,label:o||`${f.address.slice(0,8)}\u2026${f.address.slice(-6)}`,rpId:s,userId:oe.from(f.address)}),h=await Z(c,{chainId:d.chain.id,feeTokens:p}),g=t?.map(e=>B(e)),_=await za(d,{account:f,authorizeKeys:[m,...g??[],...h?[h]:[]]});a=f.address,r&&o&&await Ra(d,{email:o,walletAddress:_.address});let v=await(async()=>{if(!u)return;let e=await fa(d,u,{address:_.address}),t=await Ei(f,{payload:Te.getSignPayload(D.fromString(e))});return{message:e,signature:await Va(d,{address:_.address,signature:t})}})();return{account:{..._,signInWithEthereum:v}}},async getAccountVersion(e){let{address:t,internal:n}=e,{client:r}=n,{contracts:i}=await _a(r),{accountImplementation:a}=i,o=await ha(r,{account:Y(a)}).then(e=>e.version),s=await ha(r,{account:t}).then(e=>e.version).catch(()=>o);if(!s||!o)throw Error(`version not found.`);return{current:s,latest:o}},async getAssets(e){let{account:t,chainFilter:n,assetFilter:r,assetTypeFilter:i,internal:a}=e,{client:o}=a;return await va(o,{account:t,assetFilter:r,assetTypeFilter:i,chainFilter:n})},async getCallsStatus(e){let{id:t,internal:n}=e,{client:r}=n,i=await ya(r,{id:t});return{atomic:!0,chainId:D.fromNumber(r.chain.id),id:t,receipts:i.receipts?.map(e=>({blockHash:e.blockHash,blockNumber:D.fromNumber(e.blockNumber),gasUsed:D.fromNumber(e.gasUsed),logs:e.logs,status:e.status,transactionHash:e.transactionHash})),status:i.status,version:`1.0`}},async getCapabilities(e){let{chainIds:t,internal:n}=e,{client:i}=n,a={atomic:{status:`supported`},atomicBatch:{supported:!0},feeToken:{supported:!0,tokens:[]},merchant:{supported:!0},permissions:{supported:!0},requiredFunds:{supported:!!r,tokens:[]}},o=await _a(i,{chainIds:t?t.map(e=>D.toNumber(e)):`all`,raw:!0});return Object.entries(o).reduce((e,[t,n])=>({...e,[t]:{...a,...n,feeToken:{supported:!0,tokens:n.fees.tokens},requiredFunds:{supported:!!r,tokens:r?n.fees.tokens.filter(e=>e.interop):[]}}}),{})},async getKeys(e){let{account:t,chainIds:n,internal:r}=e,{client:i}=r;return Li([...await Na(i,{account:t,chainIds:n}),...t.keys??[]],e=>e.publicKey)},async grantAdmin(e){let{account:t,internal:n}=e,{client:r}=n,a=B(e.key,{chainId:r.chain.id}),o=await Wa(r,{addressOrSymbol:e.feeToken,store:n.store}),{id:s}=await Ia(r,{account:t,authorizeKeys:[a],feeToken:o?.address,webAuthn:i});return await w(r,{id:s,pollingInterval:500}),{key:a}},async grantPermissions(e){let{account:t,internal:n,permissions:r}=e,{client:i}=n,a=await $(i),o=await Z(r,{chainId:i.chain.id,feeTokens:a});if(!o)throw Error(`key to authorize not found.`);let s=t.keys?.find(e=>e.role===`admin`&&e.privateKey);if(!s)throw Error(`admin key not found.`);let{context:c,digest:l}=await Pa(i,{account:t,authorizeKeys:[o],key:s,preCalls:!0});return await La(i,{context:c,key:s,signature:await V(s,{address:null,payload:l})}),{key:o}},async loadAccounts(e){let{internal:t,permissions:r,signInWithEthereum:o}=e,{client:c}=t,l=await $(c),u=await Z(r,{chainId:c.chain.id,feeTokens:l}),{digest:d,digestType:f,message:p}=await(async()=>{if(o&&e.address){let t=await fa(c,o,{address:e.address});return{context:void 0,digest:Te.getSignPayload(D.fromString(t)),digestType:`siwe`,message:t}}return{context:void 0,digest:`0x`,message:void 0}})(),{address:m,credentialId:h,webAuthnSignature:g}=await(async()=>{if(n){if(!a)throw Error(`address_internal not found.`);return{address:a,credentialId:void 0}}if(e.address&&e.key)return{address:e.address,credentialId:e.key.credentialId};let t=await pe.sign({challenge:d,getFn:i?.getFn,rpId:s}),r=t.raw.response;return{address:oe.toHex(new Uint8Array(r.userHandle)),credentialId:t.raw.id,webAuthnSignature:t}})(),_=Y({address:m,keys:[...await Na(c,{account:m,chainIds:[c.chain.id]}),...u?[u]:[]].map((e,t)=>t===0&&e.type===`webauthn-p256`?bn({...e,credential:{id:h,publicKey:O.fromHex(e.publicKey)},id:m,rpId:s}):e)}),v=Ti(_,{role:`admin`}),y=await(async()=>{if(d!==`0x`)return g?kn(On(g),{keyType:`webauthn-p256`,publicKey:v.publicKey}):await V(v,{address:_.address,payload:d})})();if(u){let{context:e,digest:t}=await Pa(c,{account:_,authorizeKeys:[u],preCalls:!0});await La(c,{context:e,key:v,signature:await V(v,{address:null,payload:t})})}let b=await(async()=>{if(o){if(f===`siwe`&&p&&y)return{message:p,signature:await Va(c,{address:_.address,signature:y})};{let e=await fa(c,o,{address:_.address}),t=await Ei(_,{payload:Te.getSignPayload(D.fromString(e)),role:`admin`});return{message:e,signature:await Va(c,{address:_.address,signature:t})}}}})();return{accounts:[{..._,signInWithEthereum:b}]}},async prepareCalls(e){let{account:t,calls:n,internal:i,merchantUrl:a}=e,{client:o}=i,s=e.key??await ia({account:t,calls:n});if(!s)throw Error(`cannot find authorized key to sign with.`);let[c,l]=await Promise.all([$(o),Wa(o,{addressOrSymbol:e.feeToken,store:i.store})]),u=Ha(e.requiredFunds??[],{tokens:c}),{capabilities:d,context:f,digest:p,typedData:m}=await Pa(o,{account:t,calls:n,feeToken:l?.address,key:s,merchantUrl:a,requiredFunds:r?u:void 0}),h=f.quote?.quotes??[],g=h[h.length-1];return{account:t,capabilities:{...d,quote:f.quote},chainId:o.chain.id,context:{...f,account:t,calls:n,nonce:g?.intent.nonce},digest:p,key:s,typedData:m}},async prepareUpgradeAccount(e){let{address:t,email:r,label:a,internal:c,permissions:l}=e,{client:u}=c,[d,f]=await Promise.all([$(u),Wa(u,{store:c.store})]),p=n?hn():await mn({createFn:i?.createFn,label:a||`${t.slice(0,8)}\u2026${t.slice(-6)}`,rpId:s,userId:oe.from(t)}),m=await Z(l,{chainId:u.chain.id,feeTokens:d}),{context:h,digests:g}=await Fa(u,{address:t,authorizeKeys:[p,...m?[m]:[]],feeToken:f?.address});return r&&(o=a),{context:h,digests:g}},async revokeAdmin(e){let{account:t,id:n,internal:r}=e,{client:a}=r,o=t.keys?.find(e=>e.id===n);if(o){if(o.type===`webauthn-p256`&&t.keys?.filter(e=>e.type===`webauthn-p256`).length===1)throw Error(`revoke the only WebAuthn key left.`);try{let{id:n}=await Ia(a,{account:t,feeToken:(await Wa(a,{addressOrSymbol:e.feeToken,store:r.store}))?.address,revokeKeys:[o],webAuthn:i});await w(a,{id:n})}catch(e){let t=e;if(t.name===`Rpc.ExecutionError`&&t.abiError?.name===`KeyDoesNotExist`)return;throw e}}},async revokePermissions(e){let{account:t,id:n,internal:r}=e,{client:a}=r,o=t.keys?.find(e=>e.id===n);if(o){if(o.role===`admin`)throw Error(`cannot revoke admins.`);try{let{id:n}=await Ia(a,{account:t,feeToken:(await Wa(a,{addressOrSymbol:e.feeToken,store:r.store}))?.address,revokeKeys:[o],webAuthn:i});await w(a,{id:n})}catch(e){let t=e;if(t.name===`Rpc.ExecutionError`&&t.abiError?.name===`KeyDoesNotExist`)return;throw e}}},async sendCalls(e){let{account:t,asTxHash:n,calls:a,internal:o,merchantUrl:s}=e,{client:c}=o,l=await ia({account:t,calls:a,permissionsId:e.permissionsId}),[u,d]=await Promise.all([$(c),Wa(c,{addressOrSymbol:e.feeToken,store:o.store})]),f=Ha(e.requiredFunds??[],{tokens:u}),p=await Ia(c,{account:t,calls:a,feeToken:d?.address,key:l,merchantUrl:s,requiredFunds:r?f:void 0,webAuthn:i});if(n){let{id:e,receipts:t,status:n}=await w(c,{id:p.id,pollingInterval:500});if(!t?.[0])throw n===`success`?new M.UnknownBundleIdError({message:`Call bundle with id: `+e+` not found.`}):new Se.TransactionRejectedError({message:`Transaction failed under call bundle id: `+e+`.`});return{id:t[0].transactionHash}}return p},async sendPreparedCalls(e){let{context:t,key:n,internal:r,signature:i}=e,{client:a}=r,{id:o}=await La(a,{context:t,key:n,signature:i});return o},async signPersonalMessage(e){let{account:t,data:n,internal:r}=e,{client:a}=r,o=t.keys?.find(e=>e.role===`admin`&&e.privateKey);if(!o)throw Error(`cannot find admin key to sign with.`);let s=await Ei(t,{key:o,payload:Te.getSignPayload(n),webAuthn:i});return Va(a,{address:t.address,signature:s})},async signTypedData(e){let{account:t,internal:n}=e,{client:r}=n,a=t.keys?.find(e=>e.role===`admin`&&e.privateKey);if(!a)throw Error(`cannot find admin key to sign with.`);let o=ce.parse(e.data),s=o.domain?.name===`Orchestrator`,c=await Ei(t,{key:a,payload:de.getSignPayload(o),replaySafe:!s,webAuthn:i});return s?c:Va(r,{address:t.address,signature:c})},async upgradeAccount(e){let{account:t,context:n,internal:r,signatures:i}=e,{client:a}=r;return await za(a,{context:n,signatures:i}),o&&await Ra(a,{email:o,walletAddress:t.address}),{account:t}},async verifyEmail(e){let{account:t,chainId:n,email:r,token:a,internal:o,walletAddress:s}=e,{client:c}=o,l=t.keys?.find(e=>e.role===`admin`&&e.privateKey);if(!l)throw Error(`cannot find admin key to sign with.`);return await Ba(c,{chainId:n,email:r,signature:await Ei(t,{key:l,payload:se.keccak256(D.fromString(`${r}${a}`)),webAuthn:i}),token:a,walletAddress:s})}},config:e,name:`rpc`})}function Ka(e={}){let{fallback:t=Ga(),host:n=Ui.prod,renderer:r=Gi(),theme:i,themeController:a}=e,o=new Set,s=xe.createStore();function c(e){return M.from({async request(t){let n=s.prepare(t);return e.setState(e=>{let t=e.accounts[0],r=t?.keys?.find(e=>e.role===`admin`&&e.type===`webauthn-p256`);return{...e,requestQueue:[...e.requestQueue,{account:t?{address:t.address,key:r?{credentialId:r?.credentialId,publicKey:r.publicKey}:void 0}:void 0,request:n,status:`pending`}]}}),new Promise((t,r)=>{let i=a=>{let s=a.find(e=>e.request.id===n.id);if(!s&&a.length===0){o.delete(i),r(new M.UserRejectedRequestError);return}s&&(s.status!==`success`&&s.status!==`error`||(o.delete(i),s.status===`success`?t(s.result):r(M.parseError(s.error)),e.setState(e=>({...e,requestQueue:e.requestQueue.filter(e=>e.request.id!==n.id)}))))};o.add(i)})}},{schema:Ce.from()})}return ra({actions:{async addFunds(e){let{internal:t}=e,{request:n,store:r}=t;if(n.method!==`wallet_addFunds`)throw Error(`Cannot add funds for method: `+n.method);return await c(r).request(n)},async createAccount(e){let{internal:t}=e,{client:n,config:r,request:i,store:a}=t,{storage:o}=r,s=c(a);return{account:await(async()=>{if(i.method===`wallet_connect`){let[{capabilities:e,chainIds:t}]=i._decoded.params??[{}],a=Ja(e?.signInWithEthereum?.authUrl??r.authUrl,{storage:o}),c=i.params?.[0]?.capabilities?.signInWithEthereum,l=await Z(e?.grantPermissions,{chainId:n.chain.id}),u=l?A.encode(ca,la(l)):void 0,{accounts:d}=await s.request({...i,params:[{capabilities:{...i.params?.[0]?.capabilities,grantPermissions:u,signInWithEthereum:a||c?{...c,authUrl:a}:void 0},chainIds:t?.map(e=>D.fromNumber(e))}]}),[f]=d;if(!f)throw Error(`no account found.`);let p=f.capabilities?.admins?.map(e=>B(e,{chainId:n.chain.id})).filter(Boolean),m=f.capabilities?.permissions?.map(e=>{try{let t=sa(A.decode(aa,e));return t.id===l?.id?{...t,...l,permissions:t.permissions}:t}catch{return}}).filter(Boolean),h=await(async()=>{if(!f.capabilities?.signInWithEthereum)return;let{message:e,signature:t}=f.capabilities.signInWithEthereum;if(!a)return{message:e,signature:t};let{token:n}=await da({address:f.address,authUrl:a,message:e,signature:t});return{message:e,signature:t,token:n}})();return{...Y({address:f.address,keys:[...p??[],...m??[]]}),signInWithEthereum:h}}throw Error(`Account creation not supported on method: ${i.method}`)})()}},async disconnect(e){let{internal:t}=e,{config:n}=t,{storage:r}=n,i=await r.getItem(`porto.authUrl`)||void 0,a=Ja(n.authUrl??i,{storage:r});a&&await fetch(a.logout,{credentials:`include`,method:`POST`}).catch(()=>{})},async getAccountVersion(e){let{internal:n}=e,{store:i,request:a}=n;if(a.method!==`wallet_getAccountVersion`)throw Error(`Cannot get version for method: `+a.method);return r.supportsHeadless?await c(i).request(a):t.actions.getAccountVersion(e)},async getAssets(e){let{internal:n}=e,{store:i,request:a}=n;if(a.method!==`wallet_getAssets`)throw Error(`Cannot get assets for method: `+a.method);if(!r.supportsHeadless)return t.actions.getAssets(e);let o=await c(i).request(a);return A.decode(gi.Response,o)},async getCallsStatus(e){let{internal:n}=e,{store:i,request:a}=n;if(a.method!==`wallet_getCallsStatus`)throw Error(`Cannot get status for method: `+a.method);return r.supportsHeadless?await c(i).request(a):t.actions.getCallsStatus(e)},async getCapabilities(e){let{internal:n}=e,{store:i,request:a}=n;if(a.method!==`wallet_getCapabilities`)throw Error(`Cannot get capabilities for method: `+a.method);return r.supportsHeadless?await c(i).request(a):t.actions.getCapabilities(e)},async getKeys(e){let{account:n,chainIds:i,internal:a}=e,{store:o}=a;return Li([...await(async()=>{if(!r.supportsHeadless)return t.actions.getKeys(e);let a=await c(o).request({method:`wallet_getKeys`,params:[A.encode(yi.Parameters,{address:n.address,chainIds:i})]});return A.decode(yi.Response,a)})(),...n.keys??[]],e=>e.publicKey)},async grantAdmin(e){let{internal:t}=e,{request:n,store:r}=t;if(n.method!==`wallet_grantAdmin`)throw Error(`Cannot authorize admin for method: `+n.method);let[i]=n._decoded.params,a=B(i.key);if(!a)throw Error(`no key found.`);let o=await qa(t,e);return await c(r).request({method:`wallet_grantAdmin`,params:[{...n.params?.[0],capabilities:{...n.params?.[0]?.capabilities,feeToken:o}}]}),{key:a}},async grantPermissions(e){let{internal:t}=e,{client:n,request:r,store:i}=t;if(r.method!==`wallet_grantPermissions`)throw Error(`Cannot grant permissions for method: `+r.method);let[{address:a,...o}]=r._decoded.params,s=await Z(o,{chainId:n.chain.id});if(!s)throw Error(`no key found.`);let l=A.encode(ca,la(s));return await c(i).request({method:`wallet_grantPermissions`,params:[l]}),{key:s}},async loadAccounts(e){let{internal:t}=e,{client:n,config:r,store:i}=t,{storage:a}=r,o=c(i),s=t.request;if(s.method!==`wallet_connect`&&s.method!==`eth_requestAccounts`)throw Error(`Cannot load accounts for method: `+s.method);return{accounts:await(async()=>{let[e]=s._decoded.params??[],{capabilities:t}=e??{},i=Ja(t?.signInWithEthereum?.authUrl??r.authUrl,{storage:a}),c=s.params?.[0]?.capabilities?.signInWithEthereum,l=await Z(t?.grantPermissions,{chainId:n.chain.id}),u=l?A.encode(ca,la(l)):void 0,{accounts:d}=await o.request({method:`wallet_connect`,params:[{...s.params?.[0],capabilities:{...s.params?.[0]?.capabilities,grantPermissions:u,signInWithEthereum:i||c?{...c,authUrl:i}:void 0}}]});return Promise.all(d.map(async e=>{let t=e.capabilities?.admins?.map(e=>B(e)).filter(Boolean),n=e.capabilities?.permissions?.map(e=>{try{let t=sa(A.decode(aa,e));return t.id===l?.id?{...t,...l,permissions:t.permissions}:t}catch{return}}).filter(Boolean),r=await(async()=>{if(!e.capabilities?.signInWithEthereum)return;let{message:t,signature:n}=e.capabilities.signInWithEthereum;if(!i)return{message:t,signature:n};let{token:r}=await da({address:e.address,authUrl:i,message:t,signature:n});return{message:t,signature:n,token:r}})();return{...Y({address:e.address,keys:[...t??[],...n??[]]}),signInWithEthereum:r}}))})()}},async prepareCalls(e){let{account:n,internal:i}=e,{store:a,request:o}=i;if(o.method!==`wallet_prepareCalls`)throw Error(`Cannot prepare calls for method: `+o.method);if(!r.supportsHeadless)return t.actions.prepareCalls(e);let s=await qa(i,e),l=c(a),u=A.decode(J.Response,await l.request({...o,params:[{...o.params?.[0],capabilities:{...o.params?.[0]?.capabilities,feeToken:s}}]}));return{account:n,chainId:Number(u.chainId),context:u.context,digest:u.digest,key:u.key,typedData:u.typedData}},async prepareUpgradeAccount(e){let{internal:n}=e,{client:i,store:a,request:o}=n;if(o.method!==`wallet_prepareUpgradeAccount`)throw Error(`Cannot prepare upgrade for method: `+o.method);if(!r.supportsHeadless)return t.actions.prepareUpgradeAccount(e);let[{capabilities:s}]=o._decoded.params??[{}],l=await Z(s?.grantPermissions,{chainId:i.chain.id}),u=l?A.encode(ca,la(l)):void 0,{context:d,digests:f}=await c(a).request({...o,params:[{...o.params?.[0],capabilities:{...o.params?.[0]?.capabilities,grantPermissions:u}}]}),p=d.account.keys?.map(e=>e.id===l?.id?{...e,...l}:e);return{context:{...d,account:{...d.account,keys:p}},digests:f}},async revokeAdmin(e){let{account:t,id:n,internal:r}=e,{store:i,request:a}=r;if(a.method!==`wallet_revokeAdmin`)throw Error(`Cannot revoke admin for method: `+a.method);let o=t.keys?.find(e=>e.id===n);if(!o)return;if(o.type===`webauthn-p256`&&t.keys?.filter(e=>e.type===`webauthn-p256`).length===1)throw Error(`revoke the only WebAuthn key left.`);let s=await qa(r,e);return await c(i).request({...a,params:[{...a.params?.[0],capabilities:{...a.params?.[0]?.capabilities,feeToken:s}}]})},async revokePermissions(e){let{account:t,id:n,internal:r}=e,{store:i,request:a}=r;if(a.method!==`wallet_revokePermissions`)throw Error(`Cannot revoke permissions for method: `+a.method);let o=t.keys?.find(e=>e.id===n);if(o){if(o.role===`admin`)throw Error(`cannot revoke permissions.`);return await c(i).request(a)}},async sendCalls(e){let{account:n,asTxHash:i,calls:a,internal:o,merchantUrl:s,requiredFunds:l}=e,{client:u,store:d,request:f}=o,p=c(d),m=await qa(o,e),h=await ia({account:n,calls:a,permissionsId:e.permissionsId});if(h&&h.role===`session`){if(!r.supportsHeadless)return t.actions.sendCalls(e);try{let e=await p.request(A.encode(J.Request,{method:`wallet_prepareCalls`,params:[{calls:a,capabilities:{...f._decoded.method===`wallet_sendCalls`?f._decoded.params?.[0]?.capabilities:void 0,feeToken:m,merchantUrl:s,requiredFunds:l},chainId:u.chain.id,from:n.address,key:h}]})),t=e.capabilities?.quote?.quotes??[];if(t.some((e,n)=>n===t.length-1&&t.length>1?!1:D.toBigInt(e.feeTokenDeficit)>0n))throw Error(`insufficient funds`);let r=await V(h,{address:null,payload:e.digest,wrap:!1}),o=(await p.request({method:`wallet_sendPreparedCalls`,params:[{...e,signature:r}]}))[0];if(!o)throw Error(`id not found`);if(i){let{id:e,receipts:t,status:n}=await w(u,{id:o.id,pollingInterval:500});if(!t?.[0])throw n===`success`?new M.UnknownBundleIdError({message:`Call bundle with id: `+e+` not found.`}):new Se.TransactionRejectedError({message:`Transaction failed under call bundle id: `+e+`.`});return{id:t[0].transactionHash}}return o}catch{}}if(f.method===`eth_sendTransaction`)return{id:await p.request({...f,params:[{...f.params?.[0],capabilities:{feeToken:m,merchantUrl:s}}]})};if(f.method===`wallet_sendCalls`)return await p.request({method:`wallet_sendCalls`,params:[{...f.params?.[0],capabilities:{...f.params?.[0]?.capabilities,feeToken:m,merchantUrl:s}}]});throw Error(`Cannot execute for method: `+f.method)},async sendPreparedCalls(e){let{internal:n}=e,{store:i,request:a}=n;if(a.method!==`wallet_sendPreparedCalls`)throw Error(`Cannot send prepared calls for method: `+a.method);if(!r.supportsHeadless)return t.actions.sendPreparedCalls(e);let o=(await c(i).request(a))[0]?.id;if(!o)throw Error(`id not found`);return o},async signPersonalMessage(e){let{internal:t}=e,{store:n,request:r}=t;if(r.method!==`personal_sign`)throw Error(`Cannot sign personal message for method: `+r.method);return await c(n).request(r)},async signTypedData(e){let{internal:t}=e,{store:n,request:r}=t;if(r.method!==`eth_signTypedData_v4`)throw Error(`Cannot sign typed data for method: `+r.method);return await c(n).request(r)},async switchChain(e){let{internal:t}=e,{store:n,request:i}=t;if(i.method!==`wallet_switchEthereumChain`)throw Error(`Cannot switch chain for method: `+i.method);if(r.supportsHeadless)return await c(n).request(i)},async upgradeAccount(e){let{account:t,internal:n}=e,{store:r,request:i}=n;if(i.method!==`wallet_upgradeAccount`)throw Error(`Cannot upgrade account for method: `+i.method);return await c(r).request(i),{account:t}},async verifyEmail(e){let{internal:t}=e,{request:n,store:r}=t;if(n.method!==`account_verifyEmail`)throw Error(`Cannot verify email for method: `+n.method);return await c(r).request(n)}},config:e,name:`dialog`,setup(e){let{internal:t}=e,{store:s}=t,c=r.setup({host:n,internal:t,theme:i,themeController:a}),l=s.subscribe(e=>e.requestQueue,e=>{for(let t of o)t(e);let t=e.map(e=>e.status===`pending`?e:void 0).filter(Boolean);c.syncRequests(t).catch(()=>{}),t.length===0&&c.close()});return()=>{l(),c.destroy()}}})}async function qa(e,t){let{config:{feeToken:n}}=e,{feeToken:r}=t??{};return r??n}function Ja(e,{storage:t}){if(!e)return;let n=pa(e,typeof window<`u`?window.location.origin:void 0);return n&&t.setItem(`porto.authUrl`,n),n}const Ya={anvil:{http:`http://localhost:9119`},prod:{http:`https://rise-testnet-porto.fly.dev`},stg:{http:`https://rise-testnet-porto.fly.dev`}};function Xa(e){return t=>{let n=e.public(t),r=e.relay(t);return p({key:Xa.type,name:`Relay Proxy`,async request({method:e,params:t},i){return Za(e)?r.request({method:e,params:t},i):n.request({method:e,params:t},i)},type:Xa.type})}}(function(e){e.type=`relayProxy`})(Xa||={});function Za(e){return!!(e.startsWith(`wallet_`)||e.startsWith(`account_`)||e===`health`)}const Qa=new Map;function $a(e,t={}){let{config:n,id:r,store:i}=e._internal,{chains:a,relay:o}=n,s=i.getState(),c=t.chainId??s.chainIds[0],l=a.find(e=>e.id===c);if(!l)throw Error([`Could not find a compatible Porto chain on the given chain configuration.`,``,`Provided chains: [${a.map(e=>`${e.name} (id: ${e.id})`).join(`, `)}]`,`Needed chain (id): ${c}`,`Please add this chain (id) to your chain configuration.`].join(`
|
|
50
|
+
`));let u=Xa({public:n.transports[l.id]??g(l.rpcUrls.default.http.map(e=>b(e))),relay:o}),d=[r,ce.stringify(l)].filter(Boolean).join(`:`);if(Qa.has(d))return Qa.get(d);let p=f({...t,chain:l,pollingInterval:1e3,transport:u});return Qa.set(d,p),p}const eo=A.discriminatedUnion(`method`,[Yr.Request,Zr.Request,Qr.Request,$r.Request,ei.Request,ti.Request,ni.Request,oi.Request,ri.Request,si.Request,ii.Request,ai.Request,bi.Request,ci.Request,li.Request,di.Request,fi.Request,pi.Request,mi.Request,hi.Request,gi.Request,_i.Request,vi.Request,yi.Request,J.Request,xi.Request,Si.Request,ui.Request,Ci.Request]);function to(e,t){let n=A.safeParse(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new Se.MethodNotSupportedError:new Se.InvalidParamsError(Mn(n.error))}return{...t,_decoded:n.data}}async function no(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t(!0)),setTimeout(()=>t(!0),100)})}function ro(e){if(e)return e.startsWith(`/`)?`${window.location.origin}${e}`:e}function io(e){let{config:t,getMode:n,id:r,store:i}=e,{announceProvider:a}=t;function o(e={}){let a=s(),o=e.request??to(eo,{method:`wallet_getCapabilities`,params:e.chainIds?[void 0,e.chainIds]:void 0});return x(()=>n().actions.getCapabilities({chainIds:e.chainIds,internal:{client:a,config:t,request:o,store:i}}),{cacheKey:`getCapabilities.${r}.${e.chainIds?.join(`,`)}`})}function s(t){let n=typeof t==`string`?D.toNumber(t):t;return $a({_internal:e},{chainId:n})}let c=new Map,l=[],u=M.createEmitter(),d=M.from({...u,async request(e){return await no(i),zi(async()=>{let r;try{r=to(eo,e)}catch(t){let n=t;if(!(n instanceof Se.MethodNotSupportedError))throw n;if(e.method.startsWith(`wallet_`))throw new M.UnsupportedMethodError;return s().request(e)}let a=i.getState();switch(r.method){case`account_verifyEmail`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[e]=r._decoded.params,{chainId:o,email:c,token:l,walletAddress:u}=e,d=s(o);if(o&&o!==d.chain.id)throw new M.ChainDisconnectedError;let f=u?a.accounts.find(e=>E.isEqual(e.address,u)):a.accounts[0];if(!f)throw new M.UnauthorizedError;return await n().actions.verifyEmail({account:f,chainId:o,email:c,internal:{client:d,config:t,request:r,store:i},token:l,walletAddress:u})}case`wallet_addFunds`:{if(a.accounts.length===0)throw new M.DisconnectedError;let{address:e,value:o,token:c}=r.params[0]??{},l=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!l)throw new M.UnauthorizedError;let d=s(),f=await n().actions.addFunds({address:l.address,internal:{client:d,config:t,request:r,store:i},token:c,value:o});return u.emit(`message`,{data:null,type:`assetsChanged`}),f}case`eth_accounts`:if(a.accounts.length===0)throw new M.DisconnectedError;return a.accounts.map(co);case`eth_chainId`:return D.fromNumber(a.chainIds[0]);case`eth_requestAccounts`:{if(a.accounts.length>0&&c.get(`eth_requestAccounts`))return a.accounts.map(co);let e=s(),{accounts:o}=await n().actions.loadAccounts({internal:{client:e,config:t,request:r,store:i}});return i.setState(e=>({...e,accounts:o})),u.emit(`connect`,{chainId:D.fromNumber(e.chain.id)}),c.set(`eth_requestAccounts`,!0),setTimeout(()=>c.delete(`eth_requestAccounts`),1e3),o.map(co)}case`eth_sendTransaction`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{capabilities:e,chainId:o,data:c=`0x`,from:l,to:u,value:d}]=r._decoded.params,f=s(o);if(o&&o!==f.chain.id)throw new M.ChainDisconnectedError;let p=l?a.accounts.find(e=>E.isEqual(e.address,l)):a.accounts[0];if(!p)throw new M.UnauthorizedError;let{id:m}=await n().actions.sendCalls({account:p,asTxHash:!0,calls:[{data:c,to:u,value:d}],internal:{client:f,config:t,request:r,store:i},merchantUrl:ro(t.merchantUrl??e?.merchantUrl)});return m}case`eth_signTypedData_v4`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[e,o]=r._decoded.params,c=a.accounts.find(t=>E.isEqual(t.address,e));if(!c)throw new M.UnauthorizedError;let l=s();return await n().actions.signTypedData({account:c,data:o,internal:{client:l,config:t,request:r,store:i}})}case`wallet_grantAdmin`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,capabilities:o,chainId:c,key:l}]=r._decoded.params??[{}],d=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!d)throw new M.UnauthorizedError;let f=s(c);if(oo([...d.keys??[]])?.some(e=>e.publicKey?.toLowerCase()===l.publicKey.toLowerCase()))throw new Se.InvalidParamsError({message:`Key already granted as admin.`});let{key:p}=await n().actions.grantAdmin({account:d,feeToken:o?.feeToken,internal:{client:f,config:t,request:r,store:i},key:l});i.setState(e=>{let t=e.accounts.findIndex(e=>d?E.isEqual(e.address,d.address):!0);return t===-1?e:{...e,accounts:e.accounts.map((e,n)=>n===t?{...e,keys:[...e.keys??[],p]}:e)}});let m=oo([...d.keys??[],p]);return u.emit(`message`,{data:null,type:`adminsChanged`}),A.encode(ii.Response,{address:d.address,chainId:f.chain.id,key:m.at(-1)})}case`wallet_grantPermissions`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,chainId:o,...c}]=r._decoded.params??[{}],l=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!l)throw new M.UnauthorizedError;let d=s(o),{key:f}=await n().actions.grantPermissions({account:l,internal:{client:d,config:t,request:r,store:i},permissions:c});return i.setState(e=>{let t=e.accounts.findIndex(e=>l?E.isEqual(e.address,l.address):!0);return t===-1?e:{...e,accounts:e.accounts.map((e,n)=>n===t?{...e,keys:[...e.keys??[],f]}:e)}}),u.emit(`message`,{data:null,type:`permissionsChanged`}),A.encode(ai.Response,{...oa(f,{address:l.address})})}case`wallet_getAdmins`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,chainId:o}]=r._decoded.params??[{}],c=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!c)throw new M.UnauthorizedError;let l=s(o),u=oo(await n().actions.getKeys({account:c,internal:{client:l,config:t,request:r,store:i}}));return A.encode(ri.Response,{address:c.address,chainId:l.chain.id,keys:u})}case`wallet_prepareUpgradeAccount`:{let[{address:e,capabilities:a,chainId:o}]=r._decoded.params??[{}],{email:c,label:u,grantPermissions:d}=a??{},f=s(o),{context:p,digests:m}=await n().actions.prepareUpgradeAccount({address:e,email:c,internal:{client:f,config:t,request:r,store:i},label:u,permissions:d});return l.push(p.account),{context:p,digests:m}}case`wallet_getAccountVersion`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e}]=r._decoded.params??[{}],o=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!o)throw new M.UnauthorizedError;let c=s(),{current:l,latest:u}=await n().actions.getAccountVersion({address:o.address,internal:{client:c,config:t,request:r,store:i}});return{current:l,latest:u}}case`wallet_getKeys`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,chainIds:o}]=r._decoded.params??[{}],c=a.accounts.find(t=>E.isEqual(t.address,e));if(!c)throw new M.UnauthorizedError;let l=s(),u=await n().actions.getKeys({account:c,chainIds:o,internal:{client:l,config:t,request:r,store:i}});return A.encode(yi.Response,u)}case`wallet_getPermissions`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,chainIds:o}]=r._decoded.params??[{}],c=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!c)throw new M.UnauthorizedError;let l=s();return so(await n().actions.getKeys({account:c,chainIds:o,internal:{client:l,config:t,request:r,store:i}}),{address:c.address})}case`wallet_revokeAdmin`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,capabilities:o,id:c}]=r._decoded.params,l=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!l)throw new M.UnauthorizedError;let d=s();await n().actions.revokeAdmin({account:l,feeToken:o?.feeToken,id:c,internal:{client:d,config:t,request:r,store:i}});let f=l.keys?.filter(e=>e.id.toLowerCase()!==c.toLowerCase());i.setState(e=>({...e,accounts:e.accounts.map(e=>E.isEqual(e.address,l.address)?{...e,keys:f}:e)})),u.emit(`message`,{data:null,type:`adminsChanged`});return}case`wallet_revokePermissions`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[{address:e,capabilities:o,id:c}]=r._decoded.params,l=e?a.accounts.find(t=>E.isEqual(t.address,e)):a.accounts[0];if(!l)throw new M.UnauthorizedError;let d=s();await n().actions.revokePermissions({account:l,feeToken:o?.feeToken,id:c,internal:{client:d,config:t,request:r,store:i}});let f=l.keys?.filter(e=>e.id.toLowerCase()!==c.toLowerCase());i.setState(e=>({...e,accounts:e.accounts.map(e=>E.isEqual(e.address,l.address)?{...e,keys:f}:e)})),u.emit(`message`,{data:null,type:`permissionsChanged`});return}case`wallet_upgradeAccount`:{let[{context:e,signatures:a}]=r._decoded.params??[{}],o=s(),c=l.find(t=>E.isEqual(t.address,e.account.address));if(!c)throw new M.UnauthorizedError;let{account:d}=await n().actions.upgradeAccount({account:c,context:e,internal:{client:o,config:t,request:r,store:i},signatures:a}),f=oo(d.keys??[]),p=so(d.keys??[],{address:d.address});return i.setState(e=>({...e,accounts:[d]})),u.emit(`connect`,{chainId:D.fromNumber(o.chain.id)}),{address:d.address,capabilities:{admins:f,...p.length>0?{permissions:p}:{}}}}case`porto_ping`:return`pong`;case`personal_sign`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[e,o]=r._decoded.params,c=a.accounts.find(e=>E.isEqual(e.address,o));if(!c)throw new M.UnauthorizedError;let l=s();return await n().actions.signPersonalMessage({account:c,data:e,internal:{client:l,config:t,request:r,store:i}})}case`wallet_connect`:{let[{capabilities:e,chainIds:o}]=r._decoded.params??[{}],c=s(o?.[0]),l=c.chain.id,{createAccount:d,email:f,grantAdmins:p,grantPermissions:m,selectAccount:h,signInWithEthereum:g}=e??{},_={client:c,config:t,request:r,store:i},{accounts:v}=await(async()=>{if(f||d){let{label:e=void 0}=typeof d==`object`?d:{},{account:t}=await n().actions.createAccount({admins:p,email:f,internal:_,label:e,permissions:m,signInWithEthereum:g});return{accounts:[t]}}let e=a.accounts[0],{address:t,key:r}=(()=>{if(h)return typeof h==`object`?h:{address:void 0,key:void 0};for(let t of e?.keys??[])if(t.type===`webauthn-p256`&&t.role===`admin`)return{address:e?.address,key:{credentialId:t.credentialId??t.privateKey?.credential?.id,publicKey:t.publicKey}};return{address:void 0,key:void 0}})(),i={internal:_,permissions:m,signInWithEthereum:g};try{return await n().actions.loadAccounts({address:t,key:r,...i})}catch(e){if(e instanceof M.UserRejectedRequestError)throw e;if(t&&r)return await n().actions.loadAccounts(i);throw e}})();i.setState(e=>({...e,accounts:v}));let y=[l,...i.getState().chainIds.filter(e=>e!==l)];return u.emit(`connect`,{chainId:D.fromNumber(y[0])}),{accounts:v.map(e=>({address:co(e),capabilities:{admins:e.keys?oo(e.keys):[],permissions:e.keys?so(e.keys,{address:e.address}):[],...e.signInWithEthereum&&{signInWithEthereum:e.signInWithEthereum}}})),chainIds:y.map(e=>D.fromNumber(e))}}case`wallet_disconnect`:{let e=s();await n().actions.disconnect?.({internal:{client:e,config:t,request:r,store:i}}),i.setState(e=>({...e,accounts:[]})),u.emit(`disconnect`,new M.DisconnectedError);return}case`wallet_getAssets`:{let[e]=r._decoded.params??[],{account:a,chainFilter:o,assetFilter:c,assetTypeFilter:l}=e,u=s(),d=await n().actions.getAssets({account:a,assetFilter:c,assetTypeFilter:l,chainFilter:o,internal:{client:u,config:t,request:r,store:i}}),f=Object.entries(d).reduce((e,[t,n])=>(e[D.fromNumber(Number(t))]=n,e),{});return A.encode(gi.Response,f)}case`wallet_getCallsStatus`:{let[e]=r._decoded.params??[],a=s();return await n().actions.getCallsStatus({id:e,internal:{client:a,config:t,request:r,store:i}})}case`wallet_getCapabilities`:{let[e,t]=r.params??[];return await o({chainIds:t,request:r})}case`wallet_prepareCalls`:{let[e]=r._decoded.params,{calls:o,capabilities:c,chainId:l,key:u,from:d}=e,f=s(l),p=d??a.accounts[0];if(!p)throw new M.UnauthorizedError;if(l&&l!==f.chain.id)throw new M.ChainDisconnectedError;let{digest:m,...h}=await n().actions.prepareCalls({account:Y(p),calls:o,feeToken:c?.feeToken,internal:{client:f,config:t,request:r,store:i},key:u,merchantUrl:ro(t.merchantUrl??c?.merchantUrl),requiredFunds:c?.requiredFunds});return A.encode(J.Response,{capabilities:h.capabilities,chainId:D.fromNumber(h.chainId??f.chain.id),context:{...h.context,account:{address:h.account.address},calls:h.context.calls??[],nonce:h.context.nonce??0n},digest:m,key:h.key,typedData:h.typedData})}case`wallet_sendPreparedCalls`:{let[e]=r._decoded.params,{chainId:a,context:o,key:c,signature:l}=e,{account:u}=e.context,d=s(a);if(a&&D.toNumber(a)!==d.chain.id)throw new M.ChainDisconnectedError;return[{id:await n().actions.sendPreparedCalls({account:Y(u),context:o,internal:{client:d,config:t,request:r,store:i},key:c,signature:l})}]}case`wallet_sendCalls`:{if(a.accounts.length===0)throw new M.DisconnectedError;let[e]=r._decoded.params,{calls:o,capabilities:c,chainId:l,from:u}=e,d=s(l);if(l&&l!==d.chain.id)throw new M.ChainDisconnectedError;let f=u?a.accounts.find(e=>E.isEqual(e.address,u)):a.accounts[0];if(!f)throw new M.UnauthorizedError;let{id:p}=await n().actions.sendCalls({account:f,calls:o,feeToken:c?.feeToken,internal:{client:d,config:t,request:r,store:i},merchantUrl:ro(t.merchantUrl??c?.merchantUrl),permissionsId:c?.permissions?.id,requiredFunds:c?.requiredFunds});return{id:p}}case`wallet_switchEthereumChain`:{let[e]=r._decoded.params,{chainId:a}=e,o=D.toNumber(a);if(!t.chains.find(e=>e.id===o))throw new M.UnsupportedChainIdError;let c=s(a);await n().actions.switchChain?.({chainId:c.chain.id,internal:{client:c,config:t,request:r,store:i}}),i.setState(e=>({...e,chainIds:[o,...e.chainIds.filter(e=>e!==o)]}));return}case`wallet_verifySignature`:{let[e]=r._decoded.params,{address:t,chainId:n,digest:i,signature:a}=e,o=s(n);return{...await ka(o,{address:t,digest:i,signature:a}),address:t,chainId:D.fromNumber(o.chain.id)}}}},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_getAssets`,`wallet_getCapabilities`,`wallet_getKeys`,`wallet_getPermissions`,`wallet_getAccountVersion`,`wallet_connect`].includes(e.method),id:ce.stringify(e)})}});function f(){let e=()=>{},t=()=>{};no(i).then(()=>{o().catch(()=>{}),e(),e=i.subscribe(e=>e.accounts,e=>{u.emit(`accountsChanged`,e.map(co))},{equalityFn:(e,t)=>e.every((e,n)=>e.address===t[n]?.address)}),t(),t=i.subscribe(e=>e.chainIds[0],(e,t)=>{e!==t&&u.emit(`chainChanged`,D.fromNumber(e))})});let n=ao(d,a);return()=>{e(),t(),n()}}let p=f();return Object.assign(d,{_internal:{destroy:p}})}function ao(e,t){if(!t||typeof window>`u`||!window.dispatchEvent)return()=>{};let{icon:n=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIyIiBoZWlnaHQ9IjQyMiIgdmlld0JveD0iMCAwIDQyMiA0MjIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI0MjIiIGhlaWdodD0iNDIyIiBmaWxsPSJibGFjayIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMV8xNSkiPgo8cGF0aCBkPSJNODEgMjg2LjM2NkM4MSAyODAuODkzIDg1LjQ1MDUgMjc2LjQ1NSA5MC45NDA0IDI3Ni40NTVIMzI5LjUxMUMzMzUuMDAxIDI3Ni40NTUgMzM5LjQ1MiAyODAuODkzIDMzOS40NTIgMjg2LjM2NlYzMDYuMTg4QzMzOS40NTIgMzExLjY2MiAzMzUuMDAxIDMxNi4wOTkgMzI5LjUxMSAzMTYuMDk5SDkwLjk0MDRDODUuNDUwNSAzMTYuMDk5IDgxIDMxMS42NjIgODEgMzA2LjE4OFYyODYuMzY2WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTAuOTQwNCAyMzQuODI4Qzg1LjQ1MDUgMjM0LjgyOCA4MSAyMzkuMjY2IDgxIDI0NC43MzlWMjcxLjUzMUM4My44NDMyIDI2OS42MzMgODcuMjYyMiAyNjguNTI2IDkwLjk0MDQgMjY4LjUyNkgzMjkuNTExQzMzMy4xODggMjY4LjUyNiAzMzYuNjA4IDI2OS42MzMgMzM5LjQ1MiAyNzEuNTMxVjI0NC43MzlDMzM5LjQ1MiAyMzkuMjY2IDMzNS4wMDEgMjM0LjgyOCAzMjkuNTExIDIzNC44MjhIOTAuOTQwNFpNMzM5LjQ1MiAyODYuMzY2QzMzOS40NTIgMjgwLjg5MyAzMzUuMDAxIDI3Ni40NTUgMzI5LjUxMSAyNzYuNDU1SDkwLjk0MDRDODUuNDUwNSAyNzYuNDU1IDgxIDI4MC44OTMgODEgMjg2LjM2NlYzMDYuMTlDODEgMzExLjY2NCA4NS40NTA1IDMxNi4xMDEgOTAuOTQwNCAzMTYuMTAxSDMyOS41MTFDMzM1LjAwMSAzMTYuMTAxIDMzOS40NTIgMzExLjY2NCAzMzkuNDUyIDMwNi4xOVYyODYuMzY2WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC41Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTAuOTQwNCAxOTMuMjAxQzg1LjQ1MDUgMTkzLjIwMSA4MSAxOTcuNjM4IDgxIDIwMy4xMTJWMjI5LjkwM0M4My44NDMyIDIyOC4wMDYgODcuMjYyMiAyMjYuODk5IDkwLjk0MDQgMjI2Ljg5OUgzMjkuNTExQzMzMy4xODggMjI2Ljg5OSAzMzYuNjA4IDIyOC4wMDYgMzM5LjQ1MiAyMjkuOTAzVjIwMy4xMTJDMzM5LjQ1MiAxOTcuNjM4IDMzNS4wMDEgMTkzLjIwMSAzMjkuNTExIDE5My4yMDFIOTAuOTQwNFpNMzM5LjQ1MiAyNDQuNzM5QzMzOS40NTIgMjM5LjI2NSAzMzUuMDAxIDIzNC44MjggMzI5LjUxMSAyMzQuODI4SDkwLjk0MDRDODUuNDUwNSAyMzQuODI4IDgxIDIzOS4yNjUgODEgMjQ0LjczOVYyNzEuNTNDODEuMjE3NSAyNzEuMzg1IDgxLjQzODMgMjcxLjI0NSA4MS42NjI0IDI3MS4xMDlDODMuODMyNSAyNjkuNzk0IDg2LjMwNTQgMjY4LjkyNyA4OC45NTIzIDI2OC42MzVDODkuNjA1MSAyNjguNTYzIDkwLjI2ODQgMjY4LjUyNiA5MC45NDA0IDI2OC41MjZIMzI5LjUxMUMzMzAuMTgzIDI2OC41MjYgMzMwLjg0NiAyNjguNTYzIDMzMS40OTggMjY4LjYzNUMzMzQuNDE5IDI2OC45NTcgMzM3LjEyOCAyNjkuOTggMzM5LjQ1MiAyNzEuNTNWMjQ0LjczOVpNMzM5LjQ1MiAyODYuMzY2QzMzOS40NTIgMjgxLjAyMSAzMzUuMjA2IDI3Ni42NjMgMzI5Ljg5MyAyNzYuNDYyQzMyOS43NjcgMjc2LjQ1NyAzMjkuNjQgMjc2LjQ1NSAzMjkuNTExIDI3Ni40NTVIOTAuOTQwNEM4NS40NTA1IDI3Ni40NTUgODEgMjgwLjg5MyA4MSAyODYuMzY2VjMwNi4xODhDODEgMzExLjY2MiA4NS40NTA1IDMxNi4xMDEgOTAuOTQwNCAzMTYuMTAxSDMyOS41MTFDMzM1LjAwMSAzMTYuMTAxIDMzOS40NTIgMzExLjY2MiAzMzkuNDUyIDMwNi4xODhWMjg2LjM2NloiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8cGF0aCBvcGFjaXR5PSIwLjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguMDE0NiAxMDRDODguNjE3NyAxMDQgODEgMTExLjU5NSA4MSAxMjAuOTY1VjE4OC4yNzZDODMuODQzMiAxODYuMzc5IDg3LjI2MjIgMTg1LjI3MiA5MC45NDA0IDE4NS4yNzJIMzI5LjUxMUMzMzMuMTg4IDE4NS4yNzIgMzM2LjYwOCAxODYuMzc5IDMzOS40NTIgMTg4LjI3NlYxMjAuOTY1QzMzOS40NTIgMTExLjU5NSAzMzEuODMzIDEwNCAzMjIuNDM3IDEwNEg5OC4wMTQ2Wk0zMzkuNDUyIDIwMy4xMTJDMzM5LjQ1MiAxOTcuNjM4IDMzNS4wMDEgMTkzLjIwMSAzMjkuNTExIDE5My4yMDFIOTAuOTQwNEM4NS40NTA1IDE5My4yMDEgODEgMTk3LjYzOCA4MSAyMDMuMTEyVjIyOS45MDNDODEuMjE3NSAyMjkuNzU4IDgxLjQzODMgMjI5LjYxOCA4MS42NjI0IDIyOS40ODJDODMuODMyNSAyMjguMTY3IDg2LjMwNTQgMjI3LjMgODguOTUyMyAyMjcuMDA4Qzg5LjYwNTEgMjI2LjkzNiA5MC4yNjg0IDIyNi44OTkgOTAuOTQwNCAyMjYuODk5SDMyOS41MTFDMzMwLjE4MyAyMjYuODk5IDMzMC44NDYgMjI2LjkzNiAzMzEuNDk4IDIyNy4wMDhDMzM0LjQxOSAyMjcuMzMgMzM3LjEyOCAyMjguMzUyIDMzOS40NTIgMjI5LjkwM1YyMDMuMTEyWk0zMzkuNDUyIDI0NC43MzlDMzM5LjQ1MiAyMzkuMzkzIDMzNS4yMDYgMjM1LjAzNiAzMjkuODkzIDIzNC44MzVDMzI5Ljc2NyAyMzQuODMgMzI5LjY0IDIzNC44MjggMzI5LjUxMSAyMzQuODI4SDkwLjk0MDRDODUuNDUwNSAyMzQuODI4IDgxIDIzOS4yNjUgODEgMjQ0LjczOVYyNzEuNTNMODEuMDcwNyAyNzEuNDgzQzgxLjI2NTMgMjcxLjM1NSA4MS40NjI1IDI3MS4yMyA4MS42NjI0IDI3MS4xMDlDODEuOTA4MyAyNzAuOTYgODIuMTU4MSAyNzAuODE3IDgyLjQxMTcgMjcwLjY3OUM4NC4zOTUzIDI2OS42MDUgODYuNjA1NCAyNjguODk0IDg4Ljk1MjMgMjY4LjYzNUM4OS4wMDUyIDI2OC42MjkgODkuMDU4IDI2OC42MjQgODkuMTExIDI2OC42MThDODkuNzEyNSAyNjguNTU3IDkwLjMyMjggMjY4LjUyNiA5MC45NDA0IDI2OC41MjZIMzI5LjUxMUMzMjkuNzM4IDI2OC41MjYgMzI5Ljk2NSAyNjguNTMgMzMwLjE5MiAyNjguNTM5QzMzMC42MzEgMjY4LjU1NSAzMzEuMDY3IDI2OC41ODcgMzMxLjQ5OCAyNjguNjM1QzMzNC40MTkgMjY4Ljk1NyAzMzcuMTI4IDI2OS45OCAzMzkuNDUyIDI3MS41M1YyNDQuNzM5Wk0zMzkuNDUyIDI4Ni4zNjZDMzM5LjQ1MiAyODEuMDIxIDMzNS4yMDYgMjc2LjY2MyAzMjkuODkzIDI3Ni40NjJMMzI5Ljg2NSAyNzYuNDYxQzMyOS43NDggMjc2LjQ1NyAzMjkuNjI5IDI3Ni40NTUgMzI5LjUxMSAyNzYuNDU1SDkwLjk0MDRDODUuNDUwNSAyNzYuNDU1IDgxIDI4MC44OTMgODEgMjg2LjM2NlYzMDYuMTg4QzgxIDMxMS42NjIgODUuNDUwNSAzMTYuMTAxIDkwLjk0MDQgMzE2LjEwMUgzMjkuNTExQzMzNS4wMDEgMzE2LjEwMSAzMzkuNDUyIDMxMS42NjIgMzM5LjQ1MiAzMDYuMTg4VjI4Ni4zNjZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjY5Ljg2OCAxMzEuNzUyQzI2OS44NjggMTI2LjI3OCAyNzQuMzE4IDEyMS44NCAyNzkuODA4IDEyMS44NEgzMTEuNjE4QzMxNy4xMDggMTIxLjg0IDMyMS41NTggMTI2LjI3OCAzMjEuNTU4IDEzMS43NTJWMTYxLjQ4NUMzMjEuNTU4IDE2Ni45NTkgMzE3LjEwOCAxNzEuMzk2IDMxMS42MTggMTcxLjM5NkgyNzkuODA4QzI3NC4zMTggMTcxLjM5NiAyNjkuODY4IDE2Ni45NTkgMjY5Ljg2OCAxNjEuNDg1VjEzMS43NTJaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzFfMTUiPgo8cmVjdCB3aWR0aD0iMjU5IiBoZWlnaHQ9IjIxMyIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgxIDEwNCkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K`,name:r=`Porto`,rdns:i=`xyz.ithaca.porto`}=typeof t==`object`?t:{};return Ne.announceProvider({info:{icon:n,name:r,rdns:i,uuid:Ri()},provider:e})}function oo(e){return e.map(e=>{if(e.role===`admin`)try{return A.encode(ri.Key,{id:e.id??e.publicKey,publicKey:e.publicKey,type:e.type,...e.type===`webauthn-p256`?{credentialId:e.privateKey?.credential?.id,privateKey:{credential:{id:e.privateKey?.credential?.id},rpId:e.privateKey?.rpId}}:{}})}catch{return}}).filter(Boolean)}function so(e,{address:t}){return e.map(e=>{if(e.chainId&&e.role===`session`&&!(e.expiry>0&&e.expiry<BigInt(Math.floor(Date.now()/1e3))))try{return A.encode(aa,oa(e,{address:t}))}catch{return}}).filter(Boolean)}function co(e){return _(e.address)}function lo(e){return e}function uo(){let e=typeof indexedDB<`u`?Pe(`porto`,`store`):void 0;return lo({async getItem(t){let n=await Ie(t,e);return n===null?null:n},async removeItem(t){await Fe(t,e)},async setItem(t,n){await Le(t,Ii(n),e)},sizeLimit:1024*1024*50})}function fo(){let e=new Map;return lo({getItem(t){return e.get(t)??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,n)},sizeLimit:1/0})}const po=typeof window<`u`&&typeof document<`u`,mo={announceProvider:!0,chains:en,mode:po?Ka({host:Ui.prod}):Ga(),relay:b(Ya.prod.http),storage:po&&typeof indexedDB<`u`?uo():fo(),storageKey:`porto.store`};function ho(e={}){let t=e.chains??mo.chains,n=Object.fromEntries(t.map(t=>[t.id,e.transports?.[t.id]??b()])),r={announceProvider:e.announceProvider??mo.announceProvider,authUrl:e.authUrl,chains:t,feeToken:e.feeToken,merchantUrl:e.merchantUrl,mode:e.mode??mo.mode,relay:e.relay??mo.relay,storage:e.storage??mo.storage,storageKey:e.storageKey??mo.storageKey,transports:n},i=Me(ke(je(Ae(e=>({accounts:[],chainIds:r.chains.map(e=>e.id),feeToken:r.feeToken,requestQueue:[]}),{merge(e,t){let n=e,i=r.chains.find(e=>e.id===n.chainIds[0])?.id??r.chains[0].id,a=[i,...r.chains.map(e=>e.id).filter(e=>e!==i)];return{...t,...n,chainIds:a}},name:r.storageKey,partialize:e=>({accounts:e.accounts.map(e=>Ii(e)),chainIds:e.chainIds}),storage:r.storage,version:5})))),a=r.mode,o={config:r,getMode(){return a},id:Ri(),setMode(e){return c?.(),a=e,c=e.setup({internal:o}),c},store:i},s=io(o),c=a===null?()=>{}:a.setup({internal:o});return{_internal:o,config:r,destroy(){c(),s._internal.destroy()},provider:s}}const go=new Map;function _o(e,t={}){let{provider:n}=e,{id:r}=e._internal,i=[`provider`,r].filter(Boolean).join(`:`);if(go.has(i))return go.get(i);let a=f({...t,pollingInterval:1e3,transport:m(n)});return go.set(i,a),a}async function vo(e={}){let{dialog:t}=e;return _o(ho({announceProvider:!1,chains:[T],mode:Ka({host:t?new URL(`/dialog`,`https://`+t).toString():void 0,renderer:await na()})}),{chain:T})}async function yo(i,a){let o=await vo(a);Yt(`Create a Porto Account`);let s=Qt(),c=a.adminKey?pn():void 0,l;if(c)try{let r=n.join(t.tmpdir(),`porto`);e.mkdirSync(r,{mode:448,recursive:!0}),l=n.join(r,`admin-key-${Date.now()}-${Math.random().toString(36).slice(2)}.key`),e.writeFileSync(l,c.privateKey(),{mode:384})}catch{}let u=!!c;function d(e,t){if(!u)return process.exit(1);try{s.stop(`Interrupted.`)}catch{}if(t){let n=t instanceof Error?t.message:String(t);z.info(`${e??`Error`}: ${n}`)}c&&(l?z.info(`Admin key saved securely to temporary file: ${l}`):z.warn(`Admin key could not be saved to a temporary file. Please rerun to generate a new key.`)),u=!1,process.exit(1)}let f=()=>d(`SIGINT`),p=()=>d(`SIGTERM`),m=e=>d(`uncaughtException`,e),h=e=>d(`unhandledRejection`,e),g=()=>{u&&=(c&&(l?z.info(`Admin key saved securely to temporary file:\n${l}`):z.warn(`Admin key could not be saved to a temporary file. Please rerun to generate a new key.`)),!1)};c&&(process.on(`SIGINT`,f),process.on(`SIGTERM`,p),process.on(`uncaughtException`,m),process.on(`unhandledRejection`,h),process.on(`exit`,g)),c&&X.registerPublicKey(c.publicKey);let _=T.id;s.start(`Creating account...`);let{accounts:v}=await Di(o,{chainIds:[_],createAccount:!0,grantAdmins:c?[{publicKey:c.publicKey,type:c.type}]:void 0});if(s.stop(`Account created.`),s.start(`Onramping...`),await o.request({method:`wallet_addFunds`,params:[{address:v[0].address,token:a.testnet?void 0:`0x0000000000000000000000000000000000000000`}]}),s.stop(`Onramped.`),X.send(`success`,{content:`You have successfully created an account.`,title:`Account created`}),c){let{digest:e,...t}=await o.request({method:`wallet_prepareCalls`,params:[{calls:[],chainId:ee(_),key:c}]}),n=await V(c,{address:null,payload:e,wrap:!1}),r=await o.request({method:`wallet_sendPreparedCalls`,params:[{...t,signature:n}]});s.start(`Initializing account...`),await te.waitForCallsStatus(o,{id:r[0].id,throwOnFailure:!0}),s.stop(`Account initialized.`)}if(c){let t=await Jt({initialValue:!1,message:`Reveal private key? (This will be visible in terminal)`});if(z.info(`Address: `+v[0].address),t)z.info(`Private key: `+c?.privateKey());else{let t=n.join(import.meta.dirname,`${v[0].address}.key`);e.writeFileSync(t,c?.privateKey(),{mode:384}),e.chmodSync(t,384),z.info(`Private key saved securely to: ${t}`)}if(l)try{e.rmSync(l)}catch{}}z.info(`Manage your account at: https://id.porto.sh`),u=!1,c&&(process.off(`SIGINT`,f),process.off(`SIGTERM`,p),process.off(`uncaughtException`,m),process.off(`unhandledRejection`,h),process.off(`exit`,g)),await r(1e3),process.exit(0)}export{yo as createAccount};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{EventEmitter as e}from"events";function t(e){return e==null?[]:Array.isArray(e)?e:[e]}function n(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}function r(e,r){e||=[],r||={};var i,a,o,s,c,l={_:[]},u=0,d=0,f=0,p=e.length;let m=r.alias!==void 0,h=r.unknown!==void 0,g=r.default!==void 0;if(r.alias=r.alias||{},r.string=t(r.string),r.boolean=t(r.boolean),m)for(i in r.alias)for(a=r.alias[i]=t(r.alias[i]),u=0;u<a.length;u++)(r.alias[a[u]]=a.concat(i)).splice(u,1);for(u=r.boolean.length;u-- >0;)for(a=r.alias[r.boolean[u]]||[],d=a.length;d-- >0;)r.boolean.push(a[d]);for(u=r.string.length;u-- >0;)for(a=r.alias[r.string[u]]||[],d=a.length;d-- >0;)r.string.push(a[d]);if(g){for(i in r.default)if(s=typeof r.default[i],a=r.alias[i]=r.alias[i]||[],r[s]!==void 0)for(r[s].push(i),u=0;u<a.length;u++)r[s].push(a[u])}let _=h?Object.keys(r.alias):[];for(u=0;u<p;u++){if(o=e[u],o===`--`){l._=l._.concat(e.slice(++u));break}for(d=0;d<o.length&&o.charCodeAt(d)===45;d++);if(d===0)l._.push(o);else if(o.substring(d,d+3)===`no-`){if(s=o.substring(d+3),h&&!~_.indexOf(s))return r.unknown(o);l[s]=!1}else{for(f=d+1;f<o.length&&o.charCodeAt(f)!==61;f++);for(s=o.substring(d,f),c=o.substring(++f)||u+1===p||(``+e[u+1]).charCodeAt(0)===45||e[++u],a=d===2?[s]:s,f=0;f<a.length;f++){if(s=a[f],h&&!~_.indexOf(s))return r.unknown(`-`.repeat(d)+s);n(l,s,f+1<a.length||c,r)}}}if(g)for(i in r.default)l[i]===void 0&&(l[i]=r.default[i]);if(m)for(i in l)for(a=r.alias[i]||[];a.length>0;)l[a.shift()]=l[i];return l}const i=e=>e.replace(/[<[].+/,``).trim(),a=e=>{let t=/<([^>]+)>/g,n=/\[([^\]]+)\]/g,r=[],i=e=>{let t=!1,n=e[1];return n.startsWith(`...`)&&(n=n.slice(3),t=!0),{required:e[0].startsWith(`<`),value:n,variadic:t}},a;for(;a=t.exec(e);)r.push(i(a));let o;for(;o=n.exec(e);)r.push(i(o));return r},o=e=>{let t={alias:{},boolean:[]};for(let[n,r]of e.entries())r.names.length>1&&(t.alias[r.names[0]]=r.names.slice(1)),r.isBoolean&&(r.negated&&e.some((e,t)=>t!==n&&e.names.some(e=>r.names.includes(e))&&typeof e.required==`boolean`)||t.boolean.push(r.names[0]));return t},s=e=>e.sort((e,t)=>e.length>t.length?-1:1)[0],c=(e,t)=>e.length>=t?e:`${e}${` `.repeat(t-e.length)}`,l=e=>e.replace(/([a-z])-([a-z])/g,(e,t,n)=>t+n.toUpperCase()),u=(e,t,n)=>{let r=0,i=t.length,a=e,o;for(;r<i;++r)o=a[t[r]],a=a[t[r]]=r===i-1?n:o??(~t[r+1].indexOf(`.`)||!(+t[r+1]>-1)?{}:[])},d=(e,t)=>{for(let n of Object.keys(t)){let r=t[n];r.shouldTransform&&(e[n]=Array.prototype.concat.call([],e[n]),typeof r.transformFunction==`function`&&(e[n]=e[n].map(r.transformFunction)))}},f=e=>{let t=/([^\\\/]+)$/.exec(e);return t?t[1]:``},p=e=>e.split(`.`).map((e,t)=>t===0?l(e):e).join(`.`);var m=class extends Error{constructor(e){super(e),this.name=this.constructor.name,typeof Error.captureStackTrace==`function`?Error.captureStackTrace(this,this.constructor):this.stack=Error(e).stack}},h=class{constructor(e,t,n){this.rawName=e,this.description=t,this.config=Object.assign({},n),e=e.replace(/\.\*/g,``),this.negated=!1,this.names=i(e).split(`,`).map(e=>{let t=e.trim().replace(/^-{1,2}/,``);return t.startsWith(`no-`)&&(this.negated=!0,t=t.replace(/^no-/,``)),p(t)}).sort((e,t)=>e.length>t.length?1:-1),this.name=this.names[this.names.length-1],this.negated&&this.config.default==null&&(this.config.default=!0),e.includes(`<`)?this.required=!0:e.includes(`[`)?this.required=!1:this.isBoolean=!0}};const g=process.argv,_=`${process.platform}-${process.arch} node-${process.version}`;var v=class{constructor(e,t,n={},r){this.rawName=e,this.description=t,this.config=n,this.cli=r,this.options=[],this.aliasNames=[],this.name=i(e),this.args=a(e),this.examples=[]}usage(e){return this.usageText=e,this}allowUnknownOptions(){return this.config.allowUnknownOptions=!0,this}ignoreOptionDefaultValue(){return this.config.ignoreOptionDefaultValue=!0,this}version(e,t=`-v, --version`){return this.versionNumber=e,this.option(t,`Display version number`),this}example(e){return this.examples.push(e),this}option(e,t,n){let r=new h(e,t,n);return this.options.push(r),this}alias(e){return this.aliasNames.push(e),this}action(e){return this.commandAction=e,this}isMatched(e){return this.name===e||this.aliasNames.includes(e)}get isDefaultCommand(){return this.name===``||this.aliasNames.includes(`!`)}get isGlobalCommand(){return this instanceof y}hasOption(e){return e=e.split(`.`)[0],this.options.find(t=>t.names.includes(e))}outputHelp(){let{name:e,commands:t}=this.cli,{versionNumber:n,options:r,helpCallback:i}=this.cli.globalCommand,a=[{body:`${e}${n?`/${n}`:``}`}];if(a.push({title:`Usage`,body:` $ ${e} ${this.usageText||this.rawName}`}),(this.isGlobalCommand||this.isDefaultCommand)&&t.length>0){let n=s(t.map(e=>e.rawName));a.push({title:`Commands`,body:t.map(e=>` ${c(e.rawName,n.length)} ${e.description}`).join(`
|
|
3
|
+
`)}),a.push({title:"For more info, run any command with the `--help` flag",body:t.map(t=>` $ ${e}${t.name===``?``:` ${t.name}`} --help`).join(`
|
|
4
|
+
`)})}let o=this.isGlobalCommand?r:[...this.options,...r||[]];if(!this.isGlobalCommand&&!this.isDefaultCommand&&(o=o.filter(e=>e.name!==`version`)),o.length>0){let e=s(o.map(e=>e.rawName));a.push({title:`Options`,body:o.map(t=>` ${c(t.rawName,e.length)} ${t.description} ${t.config.default===void 0?``:`(default: ${t.config.default})`}`).join(`
|
|
5
|
+
`)})}this.examples.length>0&&a.push({title:`Examples`,body:this.examples.map(t=>typeof t==`function`?t(e):t).join(`
|
|
6
|
+
`)}),i&&(a=i(a)||a),console.log(a.map(e=>e.title?`${e.title}:
|
|
7
|
+
${e.body}`:e.body).join(`
|
|
8
|
+
|
|
9
|
+
`))}outputVersion(){let{name:e}=this.cli,{versionNumber:t}=this.cli.globalCommand;t&&console.log(`${e}/${t} ${_}`)}checkRequiredArgs(){let e=this.args.filter(e=>e.required).length;if(this.cli.args.length<e)throw new m(`missing required args for command \`${this.rawName}\``)}checkUnknownOptions(){let{options:e,globalCommand:t}=this.cli;if(!this.config.allowUnknownOptions){for(let n of Object.keys(e))if(n!==`--`&&!this.hasOption(n)&&!t.hasOption(n))throw new m(`Unknown option \`${n.length>1?`--${n}`:`-${n}`}\``)}}checkOptionValue(){let{options:e,globalCommand:t}=this.cli,n=[...t.options,...this.options];for(let t of n){let r=e[t.name.split(`.`)[0]];if(t.required){let e=n.some(e=>e.negated&&e.names.includes(t.name));if(r===!0||r===!1&&!e)throw new m(`option \`${t.rawName}\` value is missing`)}}}},y=class extends v{constructor(e){super(`@@global@@`,``,{},e)}},b=Object.assign,x=class extends e{constructor(e=``){super(),this.name=e,this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.globalCommand=new y(this),this.globalCommand.usage(`<command> [options]`)}usage(e){return this.globalCommand.usage(e),this}command(e,t,n){let r=new v(e,t||``,n,this);return r.globalCommand=this.globalCommand,this.commands.push(r),r}option(e,t,n){return this.globalCommand.option(e,t,n),this}help(e){return this.globalCommand.option(`-h, --help`,`Display this message`),this.globalCommand.helpCallback=e,this.showHelpOnExit=!0,this}version(e,t=`-v, --version`){return this.globalCommand.version(e,t),this.showVersionOnExit=!0,this}example(e){return this.globalCommand.example(e),this}outputHelp(){this.matchedCommand?this.matchedCommand.outputHelp():this.globalCommand.outputHelp()}outputVersion(){this.globalCommand.outputVersion()}setParsedInfo({args:e,options:t},n,r){return this.args=e,this.options=t,n&&(this.matchedCommand=n),r&&(this.matchedCommandName=r),this}unsetMatchedCommand(){this.matchedCommand=void 0,this.matchedCommandName=void 0}parse(e=g,{run:t=!0}={}){this.rawArgs=e,this.name||=e[1]?f(e[1]):`cli`;let n=!0;for(let t of this.commands){let r=this.mri(e.slice(2),t),i=r.args[0];if(t.isMatched(i)){n=!1;let e=b(b({},r),{args:r.args.slice(1)});this.setParsedInfo(e,t,i),this.emit(`command:${i}`,t)}}if(n){for(let t of this.commands)if(t.name===``){n=!1;let r=this.mri(e.slice(2),t);this.setParsedInfo(r,t),this.emit(`command:!`,t)}}if(n){let t=this.mri(e.slice(2));this.setParsedInfo(t)}this.options.help&&this.showHelpOnExit&&(this.outputHelp(),t=!1,this.unsetMatchedCommand()),this.options.version&&this.showVersionOnExit&&this.matchedCommandName==null&&(this.outputVersion(),t=!1,this.unsetMatchedCommand());let r={args:this.args,options:this.options};return t&&this.runMatchedCommand(),!this.matchedCommand&&this.args[0]&&this.emit(`command:*`),r}mri(e,t){let n=[...this.globalCommand.options,...t?t.options:[]],i=o(n),a=[],s=e.indexOf(`--`);s>-1&&(a=e.slice(s+1),e=e.slice(0,s));let c=r(e,i);c=Object.keys(c).reduce((e,t)=>b(b({},e),{[p(t)]:c[t]}),{_:[]});let l=c._,f={"--":a},m=t&&t.config.ignoreOptionDefaultValue?t.config.ignoreOptionDefaultValue:this.globalCommand.config.ignoreOptionDefaultValue,h=Object.create(null);for(let e of n){if(!m&&e.config.default!==void 0)for(let t of e.names)f[t]=e.config.default;Array.isArray(e.config.type)&&h[e.name]===void 0&&(h[e.name]=Object.create(null),h[e.name].shouldTransform=!0,h[e.name].transformFunction=e.config.type[0])}for(let e of Object.keys(c))e!==`_`&&(u(f,e.split(`.`),c[e]),d(f,h));return{args:l,options:f}}runMatchedCommand(){let{args:e,options:t,matchedCommand:n}=this;if(!n||!n.commandAction)return;n.checkUnknownOptions(),n.checkOptionValue(),n.checkRequiredArgs();let r=[];return n.args.forEach((t,n)=>{t.variadic?r.push(e.slice(n)):r.push(e[n])}),r.push(t),n.commandAction.apply(this,r)}};const S=(e=``)=>new x(e);var C=`0.2.29`;const w=S(`porto`);w.command(`[root]`,`Display usage`).action(()=>{w.outputHelp(),process.exit(0)}),w.command(`onboard [alias: o]`,`Create a Porto Account`).alias(`o`).option(`-a, --admin-key`,`Create and provision an additional admin key for server access`,{default:!1}).option(`-d, --dialog <hostname>`,`Dialog hostname`,{default:`id.porto.sh`}).option(`-t, --testnet`,`Onboard via testnet`,{default:!1}).action(async(e,t)=>(await import(`./commands-o468kGU4.js`)).createAccount(null,t)),w.help(),w.version(C),w.parse();export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Creates a Porto account. */
|
|
2
|
+
export declare function createAccount(_: unknown, args: createAccount.Arguments): Promise<void>;
|
|
3
|
+
export declare namespace createAccount {
|
|
4
|
+
type Arguments = {
|
|
5
|
+
/** Create a server key with admin privileges. */
|
|
6
|
+
adminKey?: boolean | undefined;
|
|
7
|
+
/** Dialog hostname. */
|
|
8
|
+
dialog?: string | undefined;
|
|
9
|
+
/** Whether to onboard via testnet. */
|
|
10
|
+
testnet?: boolean | undefined;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/internal/commands.ts"],"names":[],"mappings":"AAaA,+BAA+B;AAC/B,wBAAsB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,SAAS,iBA8L5E;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,KAAK,SAAS,GAAG;QACf,iDAAiD;QACjD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC9B,uBAAuB;QACvB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,sCAAsC;QACtC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC9B,CAAA;CACF"}
|