@tonconnect/sdk 2.0.7 → 2.1.1
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 +81 -9
- package/dist/tonconnect-sdk.min.js +1 -1
- package/dist/tonconnect-sdk.min.js.map +1 -1
- package/lib/cjs/index.cjs +1627 -0
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/esm/index.mjs +1597 -0
- package/lib/esm/index.mjs.map +1 -0
- package/lib/types/index.d.ts +601 -8
- package/package.json +15 -15
- package/lib/cjs/errors/address/index.js +0 -6
- package/lib/cjs/errors/address/index.js.map +0 -1
- package/lib/cjs/errors/address/wrong-address.error.js +0 -15
- package/lib/cjs/errors/address/wrong-address.error.js.map +0 -1
- package/lib/cjs/errors/binary/index.js +0 -6
- package/lib/cjs/errors/binary/index.js.map +0 -1
- package/lib/cjs/errors/binary/parse-hex.error.js +0 -15
- package/lib/cjs/errors/binary/parse-hex.error.js.map +0 -1
- package/lib/cjs/errors/dapp/dapp-metadata.error.js +0 -15
- package/lib/cjs/errors/dapp/dapp-metadata.error.js.map +0 -1
- package/lib/cjs/errors/index.js +0 -28
- package/lib/cjs/errors/index.js.map +0 -1
- package/lib/cjs/errors/protocol/events/connect/index.js +0 -6
- package/lib/cjs/errors/protocol/events/connect/index.js.map +0 -1
- package/lib/cjs/errors/protocol/events/connect/manifest-content-error.error.js +0 -16
- package/lib/cjs/errors/protocol/events/connect/manifest-content-error.error.js.map +0 -1
- package/lib/cjs/errors/protocol/events/connect/manifest-not-found.error.js +0 -16
- package/lib/cjs/errors/protocol/events/connect/manifest-not-found.error.js.map +0 -1
- package/lib/cjs/errors/protocol/events/connect/user-rejects.error.js +0 -15
- package/lib/cjs/errors/protocol/events/connect/user-rejects.error.js.map +0 -1
- package/lib/cjs/errors/protocol/events/index.js +0 -18
- package/lib/cjs/errors/protocol/events/index.js.map +0 -1
- package/lib/cjs/errors/protocol/index.js +0 -19
- package/lib/cjs/errors/protocol/index.js.map +0 -1
- package/lib/cjs/errors/protocol/responses/bad-request.error.js +0 -15
- package/lib/cjs/errors/protocol/responses/bad-request.error.js.map +0 -1
- package/lib/cjs/errors/protocol/responses/index.js +0 -8
- package/lib/cjs/errors/protocol/responses/index.js.map +0 -1
- package/lib/cjs/errors/protocol/responses/unknown-app.error.js +0 -15
- package/lib/cjs/errors/protocol/responses/unknown-app.error.js.map +0 -1
- package/lib/cjs/errors/storage/index.js +0 -6
- package/lib/cjs/errors/storage/index.js.map +0 -1
- package/lib/cjs/errors/storage/localstorage-not-found.error.js +0 -15
- package/lib/cjs/errors/storage/localstorage-not-found.error.js.map +0 -1
- package/lib/cjs/errors/ton-connect.error.js +0 -18
- package/lib/cjs/errors/ton-connect.error.js.map +0 -1
- package/lib/cjs/errors/unknown.error.js +0 -15
- package/lib/cjs/errors/unknown.error.js.map +0 -1
- package/lib/cjs/errors/wallet/index.js +0 -10
- package/lib/cjs/errors/wallet/index.js.map +0 -1
- package/lib/cjs/errors/wallet/wallet-already-connected.error.js +0 -15
- package/lib/cjs/errors/wallet/wallet-already-connected.error.js.map +0 -1
- package/lib/cjs/errors/wallet/wallet-not-connected.error.js +0 -15
- package/lib/cjs/errors/wallet/wallet-not-connected.error.js.map +0 -1
- package/lib/cjs/errors/wallet/wallet-not-injected.error.js +0 -15
- package/lib/cjs/errors/wallet/wallet-not-injected.error.js.map +0 -1
- package/lib/cjs/errors/wallet/wallet-not-support-feature.error.js +0 -15
- package/lib/cjs/errors/wallet/wallet-not-support-feature.error.js.map +0 -1
- package/lib/cjs/errors/wallets-manager/fetch-wallets.error.js +0 -15
- package/lib/cjs/errors/wallets-manager/fetch-wallets.error.js.map +0 -1
- package/lib/cjs/errors/wallets-manager/index.js +0 -6
- package/lib/cjs/errors/wallets-manager/index.js.map +0 -1
- package/lib/cjs/index.js +0 -27
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/models/dapp/dapp-metadata.js +0 -3
- package/lib/cjs/models/dapp/dapp-metadata.js.map +0 -1
- package/lib/cjs/models/index.js +0 -19
- package/lib/cjs/models/index.js.map +0 -1
- package/lib/cjs/models/methods/connect/connect-additional-request.js +0 -3
- package/lib/cjs/models/methods/connect/connect-additional-request.js.map +0 -1
- package/lib/cjs/models/methods/connect/index.js +0 -3
- package/lib/cjs/models/methods/connect/index.js.map +0 -1
- package/lib/cjs/models/methods/index.js +0 -19
- package/lib/cjs/models/methods/index.js.map +0 -1
- package/lib/cjs/models/methods/send-transaction/index.js +0 -3
- package/lib/cjs/models/methods/send-transaction/index.js.map +0 -1
- package/lib/cjs/models/methods/send-transaction/send-transaction-request.js +0 -3
- package/lib/cjs/models/methods/send-transaction/send-transaction-request.js.map +0 -1
- package/lib/cjs/models/methods/send-transaction/send-transaction-response.js +0 -3
- package/lib/cjs/models/methods/send-transaction/send-transaction-response.js.map +0 -1
- package/lib/cjs/models/ton-connect-options.js +0 -3
- package/lib/cjs/models/ton-connect-options.js.map +0 -1
- package/lib/cjs/models/wallet/account.js +0 -3
- package/lib/cjs/models/wallet/account.js.map +0 -1
- package/lib/cjs/models/wallet/index.js +0 -6
- package/lib/cjs/models/wallet/index.js.map +0 -1
- package/lib/cjs/models/wallet/wallet-connection-source.js +0 -8
- package/lib/cjs/models/wallet/wallet-connection-source.js.map +0 -1
- package/lib/cjs/models/wallet/wallet-info.js +0 -8
- package/lib/cjs/models/wallet/wallet-info.js.map +0 -1
- package/lib/cjs/models/wallet/wallet.js +0 -3
- package/lib/cjs/models/wallet/wallet.js.map +0 -1
- package/lib/cjs/parsers/connect-errors-parser.js +0 -27
- package/lib/cjs/parsers/connect-errors-parser.js.map +0 -1
- package/lib/cjs/parsers/rpc-parser.js +0 -10
- package/lib/cjs/parsers/rpc-parser.js.map +0 -1
- package/lib/cjs/parsers/send-transaction-parser.js +0 -35
- package/lib/cjs/parsers/send-transaction-parser.js.map +0 -1
- package/lib/cjs/provider/bridge/bridge-gateway.js +0 -110
- package/lib/cjs/provider/bridge/bridge-gateway.js.map +0 -1
- package/lib/cjs/provider/bridge/bridge-provider.js +0 -147
- package/lib/cjs/provider/bridge/bridge-provider.js.map +0 -1
- package/lib/cjs/provider/bridge/models/bridge-connection.js +0 -3
- package/lib/cjs/provider/bridge/models/bridge-connection.js.map +0 -1
- package/lib/cjs/provider/bridge/models/bridge-incomming-message.js +0 -3
- package/lib/cjs/provider/bridge/models/bridge-incomming-message.js.map +0 -1
- package/lib/cjs/provider/bridge/models/bridge-session-raw.js +0 -3
- package/lib/cjs/provider/bridge/models/bridge-session-raw.js.map +0 -1
- package/lib/cjs/provider/bridge/models/bridge-session.js +0 -3
- package/lib/cjs/provider/bridge/models/bridge-session.js.map +0 -1
- package/lib/cjs/provider/injected/injected-provider.js +0 -143
- package/lib/cjs/provider/injected/injected-provider.js.map +0 -1
- package/lib/cjs/provider/injected/models/injected-wallet-api.js +0 -3
- package/lib/cjs/provider/injected/models/injected-wallet-api.js.map +0 -1
- package/lib/cjs/provider/provider.js +0 -3
- package/lib/cjs/provider/provider.js.map +0 -1
- package/lib/cjs/resources/protocol.js +0 -5
- package/lib/cjs/resources/protocol.js.map +0 -1
- package/lib/cjs/storage/bridge-connection-storage.js +0 -101
- package/lib/cjs/storage/bridge-connection-storage.js.map +0 -1
- package/lib/cjs/storage/default-storage.js +0 -40
- package/lib/cjs/storage/default-storage.js.map +0 -1
- package/lib/cjs/storage/http-bridge-gateway-storage.js +0 -39
- package/lib/cjs/storage/http-bridge-gateway-storage.js.map +0 -1
- package/lib/cjs/storage/models/storage.interface.js +0 -3
- package/lib/cjs/storage/models/storage.interface.js.map +0 -1
- package/lib/cjs/ton-connect.interface.js +0 -3
- package/lib/cjs/ton-connect.interface.js.map +0 -1
- package/lib/cjs/ton-connect.js +0 -275
- package/lib/cjs/ton-connect.js.map +0 -1
- package/lib/cjs/utils/address.js +0 -98
- package/lib/cjs/utils/address.js.map +0 -1
- package/lib/cjs/utils/options.js +0 -16
- package/lib/cjs/utils/options.js.map +0 -1
- package/lib/cjs/utils/types.js +0 -3
- package/lib/cjs/utils/types.js.map +0 -1
- package/lib/cjs/utils/url.js +0 -15
- package/lib/cjs/utils/url.js.map +0 -1
- package/lib/cjs/utils/web-api.js +0 -27
- package/lib/cjs/utils/web-api.js.map +0 -1
- package/lib/cjs/wallets-list-manager.js +0 -123
- package/lib/cjs/wallets-list-manager.js.map +0 -1
- package/lib/esm/errors/address/index.js +0 -2
- package/lib/esm/errors/address/index.js.map +0 -1
- package/lib/esm/errors/address/wrong-address.error.js +0 -11
- package/lib/esm/errors/address/wrong-address.error.js.map +0 -1
- package/lib/esm/errors/binary/index.js +0 -2
- package/lib/esm/errors/binary/index.js.map +0 -1
- package/lib/esm/errors/binary/parse-hex.error.js +0 -11
- package/lib/esm/errors/binary/parse-hex.error.js.map +0 -1
- package/lib/esm/errors/dapp/dapp-metadata.error.js +0 -11
- package/lib/esm/errors/dapp/dapp-metadata.error.js.map +0 -1
- package/lib/esm/errors/index.js +0 -9
- package/lib/esm/errors/index.js.map +0 -1
- package/lib/esm/errors/protocol/events/connect/index.js +0 -2
- package/lib/esm/errors/protocol/events/connect/index.js.map +0 -1
- package/lib/esm/errors/protocol/events/connect/manifest-content-error.error.js +0 -12
- package/lib/esm/errors/protocol/events/connect/manifest-content-error.error.js.map +0 -1
- package/lib/esm/errors/protocol/events/connect/manifest-not-found.error.js +0 -12
- package/lib/esm/errors/protocol/events/connect/manifest-not-found.error.js.map +0 -1
- package/lib/esm/errors/protocol/events/connect/user-rejects.error.js +0 -11
- package/lib/esm/errors/protocol/events/connect/user-rejects.error.js.map +0 -1
- package/lib/esm/errors/protocol/events/index.js +0 -2
- package/lib/esm/errors/protocol/events/index.js.map +0 -1
- package/lib/esm/errors/protocol/index.js +0 -3
- package/lib/esm/errors/protocol/index.js.map +0 -1
- package/lib/esm/errors/protocol/responses/bad-request.error.js +0 -11
- package/lib/esm/errors/protocol/responses/bad-request.error.js.map +0 -1
- package/lib/esm/errors/protocol/responses/index.js +0 -3
- package/lib/esm/errors/protocol/responses/index.js.map +0 -1
- package/lib/esm/errors/protocol/responses/unknown-app.error.js +0 -11
- package/lib/esm/errors/protocol/responses/unknown-app.error.js.map +0 -1
- package/lib/esm/errors/storage/index.js +0 -2
- package/lib/esm/errors/storage/index.js.map +0 -1
- package/lib/esm/errors/storage/localstorage-not-found.error.js +0 -11
- package/lib/esm/errors/storage/localstorage-not-found.error.js.map +0 -1
- package/lib/esm/errors/ton-connect.error.js +0 -14
- package/lib/esm/errors/ton-connect.error.js.map +0 -1
- package/lib/esm/errors/unknown.error.js +0 -11
- package/lib/esm/errors/unknown.error.js.map +0 -1
- package/lib/esm/errors/wallet/index.js +0 -4
- package/lib/esm/errors/wallet/index.js.map +0 -1
- package/lib/esm/errors/wallet/wallet-already-connected.error.js +0 -11
- package/lib/esm/errors/wallet/wallet-already-connected.error.js.map +0 -1
- package/lib/esm/errors/wallet/wallet-not-connected.error.js +0 -11
- package/lib/esm/errors/wallet/wallet-not-connected.error.js.map +0 -1
- package/lib/esm/errors/wallet/wallet-not-injected.error.js +0 -11
- package/lib/esm/errors/wallet/wallet-not-injected.error.js.map +0 -1
- package/lib/esm/errors/wallet/wallet-not-support-feature.error.js +0 -11
- package/lib/esm/errors/wallet/wallet-not-support-feature.error.js.map +0 -1
- package/lib/esm/errors/wallets-manager/fetch-wallets.error.js +0 -11
- package/lib/esm/errors/wallets-manager/fetch-wallets.error.js.map +0 -1
- package/lib/esm/errors/wallets-manager/index.js +0 -2
- package/lib/esm/errors/wallets-manager/index.js.map +0 -1
- package/lib/esm/index.js +0 -7
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/models/dapp/dapp-metadata.js +0 -2
- package/lib/esm/models/dapp/dapp-metadata.js.map +0 -1
- package/lib/esm/models/index.js +0 -3
- package/lib/esm/models/index.js.map +0 -1
- package/lib/esm/models/methods/connect/connect-additional-request.js +0 -2
- package/lib/esm/models/methods/connect/connect-additional-request.js.map +0 -1
- package/lib/esm/models/methods/connect/index.js +0 -2
- package/lib/esm/models/methods/connect/index.js.map +0 -1
- package/lib/esm/models/methods/index.js +0 -3
- package/lib/esm/models/methods/index.js.map +0 -1
- package/lib/esm/models/methods/send-transaction/index.js +0 -2
- package/lib/esm/models/methods/send-transaction/index.js.map +0 -1
- package/lib/esm/models/methods/send-transaction/send-transaction-request.js +0 -2
- package/lib/esm/models/methods/send-transaction/send-transaction-request.js.map +0 -1
- package/lib/esm/models/methods/send-transaction/send-transaction-response.js +0 -2
- package/lib/esm/models/methods/send-transaction/send-transaction-response.js.map +0 -1
- package/lib/esm/models/ton-connect-options.js +0 -2
- package/lib/esm/models/ton-connect-options.js.map +0 -1
- package/lib/esm/models/wallet/account.js +0 -2
- package/lib/esm/models/wallet/account.js.map +0 -1
- package/lib/esm/models/wallet/index.js +0 -2
- package/lib/esm/models/wallet/index.js.map +0 -1
- package/lib/esm/models/wallet/wallet-connection-source.js +0 -4
- package/lib/esm/models/wallet/wallet-connection-source.js.map +0 -1
- package/lib/esm/models/wallet/wallet-info.js +0 -4
- package/lib/esm/models/wallet/wallet-info.js.map +0 -1
- package/lib/esm/models/wallet/wallet.js +0 -2
- package/lib/esm/models/wallet/wallet.js.map +0 -1
- package/lib/esm/parsers/connect-errors-parser.js +0 -24
- package/lib/esm/parsers/connect-errors-parser.js.map +0 -1
- package/lib/esm/parsers/rpc-parser.js +0 -6
- package/lib/esm/parsers/rpc-parser.js.map +0 -1
- package/lib/esm/parsers/send-transaction-parser.js +0 -32
- package/lib/esm/parsers/send-transaction-parser.js.map +0 -1
- package/lib/esm/provider/bridge/bridge-gateway.js +0 -106
- package/lib/esm/provider/bridge/bridge-gateway.js.map +0 -1
- package/lib/esm/provider/bridge/bridge-provider.js +0 -143
- package/lib/esm/provider/bridge/bridge-provider.js.map +0 -1
- package/lib/esm/provider/bridge/models/bridge-connection.js +0 -2
- package/lib/esm/provider/bridge/models/bridge-connection.js.map +0 -1
- package/lib/esm/provider/bridge/models/bridge-incomming-message.js +0 -2
- package/lib/esm/provider/bridge/models/bridge-incomming-message.js.map +0 -1
- package/lib/esm/provider/bridge/models/bridge-session-raw.js +0 -2
- package/lib/esm/provider/bridge/models/bridge-session-raw.js.map +0 -1
- package/lib/esm/provider/bridge/models/bridge-session.js +0 -2
- package/lib/esm/provider/bridge/models/bridge-session.js.map +0 -1
- package/lib/esm/provider/injected/injected-provider.js +0 -139
- package/lib/esm/provider/injected/injected-provider.js.map +0 -1
- package/lib/esm/provider/injected/models/injected-wallet-api.js +0 -2
- package/lib/esm/provider/injected/models/injected-wallet-api.js.map +0 -1
- package/lib/esm/provider/provider.js +0 -2
- package/lib/esm/provider/provider.js.map +0 -1
- package/lib/esm/resources/protocol.js +0 -2
- package/lib/esm/resources/protocol.js.map +0 -1
- package/lib/esm/storage/bridge-connection-storage.js +0 -97
- package/lib/esm/storage/bridge-connection-storage.js.map +0 -1
- package/lib/esm/storage/default-storage.js +0 -36
- package/lib/esm/storage/default-storage.js.map +0 -1
- package/lib/esm/storage/http-bridge-gateway-storage.js +0 -35
- package/lib/esm/storage/http-bridge-gateway-storage.js.map +0 -1
- package/lib/esm/storage/models/storage.interface.js +0 -2
- package/lib/esm/storage/models/storage.interface.js.map +0 -1
- package/lib/esm/ton-connect.interface.js +0 -2
- package/lib/esm/ton-connect.interface.js.map +0 -1
- package/lib/esm/ton-connect.js +0 -271
- package/lib/esm/ton-connect.js.map +0 -1
- package/lib/esm/utils/address.js +0 -94
- package/lib/esm/utils/address.js.map +0 -1
- package/lib/esm/utils/options.js +0 -9
- package/lib/esm/utils/options.js.map +0 -1
- package/lib/esm/utils/types.js +0 -2
- package/lib/esm/utils/types.js.map +0 -1
- package/lib/esm/utils/url.js +0 -10
- package/lib/esm/utils/url.js.map +0 -1
- package/lib/esm/utils/web-api.js +0 -21
- package/lib/esm/utils/web-api.js.map +0 -1
- package/lib/esm/wallets-list-manager.js +0 -119
- package/lib/esm/wallets-list-manager.js.map +0 -1
- package/lib/types/errors/address/index.d.ts +0 -1
- package/lib/types/errors/address/wrong-address.error.d.ts +0 -7
- package/lib/types/errors/binary/index.d.ts +0 -1
- package/lib/types/errors/binary/parse-hex.error.d.ts +0 -7
- package/lib/types/errors/dapp/dapp-metadata.error.d.ts +0 -7
- package/lib/types/errors/index.d.ts +0 -8
- package/lib/types/errors/protocol/events/connect/index.d.ts +0 -1
- package/lib/types/errors/protocol/events/connect/manifest-content-error.error.d.ts +0 -8
- package/lib/types/errors/protocol/events/connect/manifest-not-found.error.d.ts +0 -8
- package/lib/types/errors/protocol/events/connect/user-rejects.error.d.ts +0 -7
- package/lib/types/errors/protocol/events/index.d.ts +0 -1
- package/lib/types/errors/protocol/index.d.ts +0 -2
- package/lib/types/errors/protocol/responses/bad-request.error.d.ts +0 -7
- package/lib/types/errors/protocol/responses/index.d.ts +0 -2
- package/lib/types/errors/protocol/responses/unknown-app.error.d.ts +0 -7
- package/lib/types/errors/storage/index.d.ts +0 -1
- package/lib/types/errors/storage/localstorage-not-found.error.d.ts +0 -7
- package/lib/types/errors/ton-connect.error.d.ts +0 -7
- package/lib/types/errors/unknown.error.d.ts +0 -7
- package/lib/types/errors/wallet/index.d.ts +0 -3
- package/lib/types/errors/wallet/wallet-already-connected.error.d.ts +0 -7
- package/lib/types/errors/wallet/wallet-not-connected.error.d.ts +0 -7
- package/lib/types/errors/wallet/wallet-not-injected.error.d.ts +0 -7
- package/lib/types/errors/wallet/wallet-not-support-feature.error.d.ts +0 -7
- package/lib/types/errors/wallets-manager/fetch-wallets.error.d.ts +0 -7
- package/lib/types/errors/wallets-manager/index.d.ts +0 -1
- package/lib/types/models/dapp/dapp-metadata.d.ts +0 -18
- package/lib/types/models/index.d.ts +0 -4
- package/lib/types/models/methods/connect/connect-additional-request.d.ts +0 -6
- package/lib/types/models/methods/connect/index.d.ts +0 -1
- package/lib/types/models/methods/index.d.ts +0 -2
- package/lib/types/models/methods/send-transaction/index.d.ts +0 -2
- package/lib/types/models/methods/send-transaction/send-transaction-request.d.ts +0 -27
- package/lib/types/models/methods/send-transaction/send-transaction-response.d.ts +0 -6
- package/lib/types/models/ton-connect-options.d.ts +0 -21
- package/lib/types/models/wallet/account.d.ts +0 -16
- package/lib/types/models/wallet/index.d.ts +0 -4
- package/lib/types/models/wallet/wallet-connection-source.d.ts +0 -18
- package/lib/types/models/wallet/wallet-info.d.ts +0 -65
- package/lib/types/models/wallet/wallet.d.ts +0 -22
- package/lib/types/parsers/connect-errors-parser.d.ts +0 -7
- package/lib/types/parsers/rpc-parser.d.ts +0 -8
- package/lib/types/parsers/send-transaction-parser.d.ts +0 -13
- package/lib/types/provider/bridge/bridge-gateway.d.ts +0 -21
- package/lib/types/provider/bridge/bridge-provider.d.ts +0 -29
- package/lib/types/provider/bridge/models/bridge-connection.d.ts +0 -23
- package/lib/types/provider/bridge/models/bridge-incomming-message.d.ts +0 -4
- package/lib/types/provider/bridge/models/bridge-session-raw.d.ts +0 -5
- package/lib/types/provider/bridge/models/bridge-session.d.ts +0 -8
- package/lib/types/provider/injected/injected-provider.d.ts +0 -29
- package/lib/types/provider/injected/models/injected-wallet-api.d.ts +0 -11
- package/lib/types/provider/provider.d.ts +0 -19
- package/lib/types/resources/protocol.d.ts +0 -1
- package/lib/types/storage/bridge-connection-storage.d.ts +0 -13
- package/lib/types/storage/default-storage.d.ts +0 -8
- package/lib/types/storage/http-bridge-gateway-storage.d.ts +0 -9
- package/lib/types/storage/models/storage.interface.d.ts +0 -21
- package/lib/types/ton-connect.d.ts +0 -86
- package/lib/types/ton-connect.interface.d.ts +0 -53
- package/lib/types/utils/address.d.ts +0 -6
- package/lib/types/utils/options.d.ts +0 -1
- package/lib/types/utils/types.d.ts +0 -6
- package/lib/types/utils/url.d.ts +0 -2
- package/lib/types/utils/web-api.d.ts +0 -3
- package/lib/types/wallets-list-manager.d.ts +0 -11
package/README.md
CHANGED
|
@@ -101,13 +101,54 @@ You also can get wallets list using `getWallets` static method:
|
|
|
101
101
|
const walletsList = await TonConnect.getWallets();
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
+
### WalletInfo utils and type guards
|
|
105
|
+
Following type guards might be helpful for WalletInfos manipulations:
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
import {
|
|
109
|
+
isWalletInfoCurrentlyEmbedded,
|
|
110
|
+
isWalletInfoInjectable,
|
|
111
|
+
isWalletInfoCurrentlyInjected,
|
|
112
|
+
isWalletInfoRemote,
|
|
113
|
+
WalletInfo
|
|
114
|
+
} from '@tonconnect/sdk';
|
|
115
|
+
|
|
116
|
+
/* Use for filtration */
|
|
117
|
+
const remoteConnectionWalletInfos = walletInfoList.filter(isWalletInfoRemote);
|
|
118
|
+
|
|
119
|
+
// all wallets that supports injecteble connection (EVEN THOSE THAT ARE NOT INJECTED TO THE CURRENT PAGE)
|
|
120
|
+
const injectableConnectionWalletInfos = walletInfoList.filter(isWalletInfoInjectable);
|
|
121
|
+
|
|
122
|
+
// wallets that are injected to the current webpage
|
|
123
|
+
const currentlyInjectedWalletInfos = walletInfoList.filter(isWalletInfoCurrentlyInjected);
|
|
124
|
+
const embeddedWalletInfo = walletInfoList.find(isWalletInfoCurrentlyEmbedded);
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
/* or use as type guard */
|
|
128
|
+
if (isWalletInfoRemote(walletInfo)) {
|
|
129
|
+
connector.connect({
|
|
130
|
+
universalLink: walletInfo.universalLink,
|
|
131
|
+
bridgeUrl: walletInfo.bridgeUrl
|
|
132
|
+
});
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (isWalletInfoCurrentlyInjected(walletInfo)) {
|
|
137
|
+
connector.connect({
|
|
138
|
+
jsBridgeKey: walletInfo.jsBridgeKey
|
|
139
|
+
});
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
104
144
|
## Initialize a wallet connection when user clicks to 'connect' button in your app
|
|
105
145
|
### Initialize a remote wallet connection via universal link
|
|
106
146
|
|
|
107
147
|
```ts
|
|
148
|
+
// Should correspond to the wallet that user selects
|
|
108
149
|
const walletConnectionSource = {
|
|
109
|
-
universalLink: 'https://app.
|
|
110
|
-
bridgeUrl: 'https://bridge.
|
|
150
|
+
universalLink: 'https://app.tonkeeper.com/ton-connect',
|
|
151
|
+
bridgeUrl: 'https://bridge.tonapi.io/bridge'
|
|
111
152
|
}
|
|
112
153
|
|
|
113
154
|
const universalLink = connector.connect(walletConnectionSource);
|
|
@@ -117,6 +158,7 @@ Then you have to show this link to user as QR code, or use it as a deeplink. You
|
|
|
117
158
|
|
|
118
159
|
### Initialize injected wallet connection
|
|
119
160
|
```ts
|
|
161
|
+
// Should correspond to the wallet that user selects
|
|
120
162
|
const walletConnectionSource = {
|
|
121
163
|
jsBridgeKey: 'tonkeeper'
|
|
122
164
|
}
|
|
@@ -126,22 +168,37 @@ connector.connect(walletConnectionSource);
|
|
|
126
168
|
|
|
127
169
|
You will receive an update in `connector.onStatusChange` when user approves connection in the wallet.
|
|
128
170
|
|
|
171
|
+
### Create unified link
|
|
172
|
+
You can create the unified link that could be accepted by any wallet. To do that you should pass an array of http-wallet-connection-sources:
|
|
173
|
+
|
|
174
|
+
If several wallets have same bridge url, you can pass this url only once.
|
|
175
|
+
```ts
|
|
176
|
+
const sources = [
|
|
177
|
+
{
|
|
178
|
+
bridgeUrl: 'https://bridge.tonapi.io/bridge' // Tonkeeper
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
bridgeUrl: 'https://<OTHER_WALLET_BRIDGE>' // Tonkeeper
|
|
182
|
+
}
|
|
183
|
+
];
|
|
184
|
+
|
|
185
|
+
connector.connect(sources);
|
|
186
|
+
```
|
|
187
|
+
|
|
129
188
|
### Detect embedded wallet
|
|
130
189
|
It is recommended not to show a QR code modal if the app is opened inside a wallet's browser.
|
|
131
190
|
You should detect working environment of the app and show appropriate UI.
|
|
132
191
|
Check `embedded` property in elements of the wallets list to detect if the app is opened inside a wallet.
|
|
133
192
|
|
|
134
193
|
```ts
|
|
135
|
-
import {
|
|
194
|
+
import { isWalletInfoCurrentlyEmbedded, WalletInfoCurrentlyEmbedded } from '@tonconnect/sdk';
|
|
136
195
|
|
|
137
196
|
// "connect button" click handler.
|
|
138
197
|
// Execute this before show wallet selection modal.
|
|
139
198
|
|
|
140
199
|
const walletsList = await connector.getWallets(); // or use `walletsList` fetched before
|
|
141
200
|
|
|
142
|
-
const embeddedWallet = walletsList.find(
|
|
143
|
-
wallet => isWalletInfoInjected(wallet) && wallet.embedded
|
|
144
|
-
) as WalletInfoInjected;
|
|
201
|
+
const embeddedWallet = walletsList.find(isWalletInfoCurrentlyEmbedded) as WalletInfoCurrentlyEmbedded;
|
|
145
202
|
|
|
146
203
|
if (embeddedWallet) {
|
|
147
204
|
connector.connect({ jsBridgeKey: embeddedWallet.jsBridgeKey });
|
|
@@ -163,12 +220,12 @@ const transaction = {
|
|
|
163
220
|
{
|
|
164
221
|
address: "0:412410771DA82CBA306A55FA9E0D43C9D245E38133CB58F1457DFB8D5CD8892F",
|
|
165
222
|
amount: "20000000",
|
|
166
|
-
|
|
223
|
+
/* stateInit: "base64_YOUR_STATE_INIT" */ // just for instance. Replace with your transaction stateInit or remove
|
|
167
224
|
},
|
|
168
225
|
{
|
|
169
226
|
address: "0:E69F10CC84877ABF539F83F879291E5CA169451BA7BCE91A37A5CED3AB8080D3",
|
|
170
|
-
amount: "60000000",
|
|
171
|
-
|
|
227
|
+
amount: "60000000",
|
|
228
|
+
/* payload: "base64_YOUR_PAYLOAD" */ // just for instance. Replace with your transaction payload or remove
|
|
172
229
|
}
|
|
173
230
|
]
|
|
174
231
|
}
|
|
@@ -271,3 +328,18 @@ export interface IStorage {
|
|
|
271
328
|
[See details about IStorage in the API documentation](https://ton-connect.github.io/sdk/interfaces/_tonconnect_sdk.IStorage.html).
|
|
272
329
|
|
|
273
330
|
Other steps are the same as for browser apps.
|
|
331
|
+
|
|
332
|
+
## Pause and unpause connection
|
|
333
|
+
You can pause and unpause HTTP connection using `tonConnect.pauseConnection()` and `tonConnect.unPauseConnection()` to save your server resources.
|
|
334
|
+
|
|
335
|
+
```ts
|
|
336
|
+
myTelegramBot.userIsOffline(user => {
|
|
337
|
+
const connector = myFunctionGetConnectorByUser(user);
|
|
338
|
+
connector.pauseConnection();
|
|
339
|
+
})
|
|
340
|
+
|
|
341
|
+
myTelegramBot.userIsOnline(user => {
|
|
342
|
+
const connector = myFunctionGetConnectorByUser(user);
|
|
343
|
+
connector.unPauseConnection();
|
|
344
|
+
})
|
|
345
|
+
```
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var TonConnectSDK;(()=>{var __webpack_modules__={9939:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrongAddressError=void 0;var n=r(8446);Object.defineProperty(t,"WrongAddressError",{enumerable:!0,get:function(){return n.WrongAddressError}})},8446:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrongAddressError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WrongAddressError=o},5034:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseHexError=void 0;var n=r(6203);Object.defineProperty(t,"ParseHexError",{enumerable:!0,get:function(){return n.ParseHexError}})},6203:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseHexError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.ParseHexError=o},5186:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DappMetadataError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.DappMetadataError=o},7016:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownError=t.TonConnectError=void 0,o(r(5190),t),o(r(6129),t),o(r(7406),t),o(r(2854),t),o(r(9939),t),o(r(5034),t);var i=r(925);Object.defineProperty(t,"TonConnectError",{enumerable:!0,get:function(){return i.TonConnectError}});var s=r(6811);Object.defineProperty(t,"UnknownError",{enumerable:!0,get:function(){return s.UnknownError}})},7524:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserRejectsError=void 0;var n=r(1092);Object.defineProperty(t,"UserRejectsError",{enumerable:!0,get:function(){return n.UserRejectsError}})},432:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestContentErrorError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(e){super(e||""+o.additionalMessage),Object.setPrototypeOf(this,o.prototype)}}t.ManifestContentErrorError=o,o.additionalMessage="\nPassed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest"},5515:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestNotFoundError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(e){super(e||""+o.additionalMessage),Object.setPrototypeOf(this,o.prototype)}}t.ManifestNotFoundError=o,o.additionalMessage="\nManifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest"},1092:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserRejectsError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.UserRejectsError=o},4851:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(7524),t)},5190:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(4851),t),o(r(9450),t)},3701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BadRequestError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.BadRequestError=o},9450:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownAppError=t.BadRequestError=void 0;var n=r(3701);Object.defineProperty(t,"BadRequestError",{enumerable:!0,get:function(){return n.BadRequestError}});var o=r(529);Object.defineProperty(t,"UnknownAppError",{enumerable:!0,get:function(){return o.UnknownAppError}})},529:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownAppError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.UnknownAppError=o},7406:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalstorageNotFoundError=void 0;var n=r(1306);Object.defineProperty(t,"LocalstorageNotFoundError",{enumerable:!0,get:function(){return n.LocalstorageNotFoundError}})},1306:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalstorageNotFoundError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.LocalstorageNotFoundError=o},925:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TonConnectError=void 0;class r extends Error{constructor(e,t){e&&(e=r.prefix+" "+e),super(e,t),Object.setPrototypeOf(this,r.prototype)}}t.TonConnectError=r,r.prefix="[TON_CONNECT_SDK_ERROR]"},6811:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.UnknownError=o},6129:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotInjectedError=t.WalletNotConnectedError=t.WalletAlreadyConnectedError=void 0;var n=r(2590);Object.defineProperty(t,"WalletAlreadyConnectedError",{enumerable:!0,get:function(){return n.WalletAlreadyConnectedError}});var o=r(1087);Object.defineProperty(t,"WalletNotConnectedError",{enumerable:!0,get:function(){return o.WalletNotConnectedError}});var i=r(6557);Object.defineProperty(t,"WalletNotInjectedError",{enumerable:!0,get:function(){return i.WalletNotInjectedError}})},2590:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletAlreadyConnectedError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletAlreadyConnectedError=o},1087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotConnectedError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletNotConnectedError=o},6557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotInjectedError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletNotInjectedError=o},5951:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotSupportFeatureError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletNotSupportFeatureError=o},6897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchWalletsError=void 0;const n=r(925);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.FetchWalletsError=o},2854:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchWalletsError=void 0;var n=r(6897);Object.defineProperty(t,"FetchWalletsError",{enumerable:!0,get:function(){return n.FetchWalletsError}})},4027:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.toUserFriendlyAddress=t.CHAIN=t.default=void 0,o(r(1567),t),o(r(1623),t),o(r(7016),t);var i=r(1567);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i.TonConnect}});var s=r(827);Object.defineProperty(t,"CHAIN",{enumerable:!0,get:function(){return s.CHAIN}});var c=r(4914);Object.defineProperty(t,"toUserFriendlyAddress",{enumerable:!0,get:function(){return c.toUserFriendlyAddress}})},1623:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(1326),t),o(r(983),t)},950:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},983:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(950),t),o(r(4255),t)},4255:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1326:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWalletInfoInjected=void 0;var n=r(5910);Object.defineProperty(t,"isWalletInfoInjected",{enumerable:!0,get:function(){return n.isWalletInfoInjected}})},656:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWalletConnectionSourceJS=void 0,t.isWalletConnectionSourceJS=function(e){return"jsBridgeKey"in e}},5910:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWalletInfoInjected=void 0,t.isWalletInfoInjected=function(e){return"jsBridgeKey"in e}},3237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.connectErrorsParser=void 0;const n=r(7016),o=r(432),i=r(5515),s=r(6811),c=r(827),a={[c.CONNECT_EVENT_ERROR_CODES.UNKNOWN_ERROR]:s.UnknownError,[c.CONNECT_EVENT_ERROR_CODES.USER_REJECTS_ERROR]:n.UserRejectsError,[c.CONNECT_EVENT_ERROR_CODES.BAD_REQUEST_ERROR]:n.BadRequestError,[c.CONNECT_EVENT_ERROR_CODES.UNKNOWN_APP_ERROR]:n.UnknownAppError,[c.CONNECT_EVENT_ERROR_CODES.MANIFEST_NOT_FOUND_ERROR]:i.ManifestNotFoundError,[c.CONNECT_EVENT_ERROR_CODES.MANIFEST_CONTENT_ERROR]:o.ManifestContentErrorError};t.connectErrorsParser=new class{parseError(e){let t=s.UnknownError;return e.code in a&&(t=a[e.code]||s.UnknownError),new t(e.message)}}},9946:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RpcParser=void 0,t.RpcParser=class{isError(e){return"error"in e}}},353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sendTransactionParser=void 0;const n=r(827),o=r(7016),i=r(6811),s=r(9946),c={[n.SEND_TRANSACTION_ERROR_CODES.UNKNOWN_ERROR]:i.UnknownError,[n.SEND_TRANSACTION_ERROR_CODES.USER_REJECTS_ERROR]:o.UserRejectsError,[n.SEND_TRANSACTION_ERROR_CODES.BAD_REQUEST_ERROR]:o.BadRequestError,[n.SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]:o.UnknownAppError};class a extends s.RpcParser{convertToRpcRequest(e){return{method:"sendTransaction",params:[JSON.stringify(e)]}}parseAndThrowError(e){let t=i.UnknownError;throw e.error.code in c&&(t=c[e.error.code]||i.UnknownError),new t(e.error.message)}convertFromRpcResponse(e){return{boc:e.result}}}t.sendTransactionParser=new a},3824:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BridgeGateway=void 0;const protocol_1=__webpack_require__(827),errors_1=__webpack_require__(7016),http_bridge_gateway_storage_1=__webpack_require__(927),url_1=__webpack_require__(9372);if((0,protocol_1.isNode)())try{eval("global.EventSource = require('eventsource')"),eval("global.fetch = require('node-fetch')")}catch(e){console.error(e)}class BridgeGateway{constructor(e,t,r,n,o){this.bridgeUrl=t,this.sessionId=r,this.listener=n,this.errorsListener=o,this.ssePath="events",this.postPath="message",this.heartbeatMessage="heartbeat",this.defaultTtl=300,this.isClosed=!1,this.bridgeGatewayStorage=new http_bridge_gateway_storage_1.HttpBridgeGatewayStorage(e)}registerSession(){return __awaiter(this,void 0,void 0,(function*(){const e=new URL((0,url_1.addPathToUrl)(this.bridgeUrl,this.ssePath));e.searchParams.append("client_id",this.sessionId);const t=yield this.bridgeGatewayStorage.getLastEventId();return t&&e.searchParams.append("last_event_id",t),this.eventSource=new EventSource(e.toString()),new Promise(((e,t)=>{this.eventSource.onerror=t,this.eventSource.onopen=()=>{this.eventSource.onerror=this.errorsHandler.bind(this),this.eventSource.onmessage=this.messagesHandler.bind(this),e()}}))}))}send(e,t,r){return __awaiter(this,void 0,void 0,(function*(){const n=new URL((0,url_1.addPathToUrl)(this.bridgeUrl,this.postPath));n.searchParams.append("client_id",this.sessionId),n.searchParams.append("to",t),n.searchParams.append("ttl",(r||this.defaultTtl).toString()),yield fetch(n,{method:"post",body:protocol_1.Base64.encode(e)})}))}close(){var e;this.isClosed=!0,null===(e=this.eventSource)||void 0===e||e.close()}errorsHandler(e){var t,r;if(!this.isClosed){if((null===(t=this.eventSource)||void 0===t?void 0:t.readyState)===EventSource.CLOSED)return this.eventSource.close(),void this.registerSession();if((null===(r=this.eventSource)||void 0===r?void 0:r.readyState)===EventSource.CONNECTING)return void console.debug("[TON_CONNET_SDK_ERROR]: Bridge error",JSON.stringify(e));this.errorsListener(e)}}messagesHandler(e){return __awaiter(this,void 0,void 0,(function*(){if(e.data!==this.heartbeatMessage&&(yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId),!this.isClosed)){let t;try{t=JSON.parse(e.data)}catch(e){throw new errors_1.TonConnectError(`Bridge message parse failed, message ${e.data}`)}this.listener(t)}}))}}exports.BridgeGateway=BridgeGateway},8889:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BridgeProvider=void 0;const o=r(827),i=r(925),s=r(3824),c=r(8133),a=r(6446);class u{constructor(e,t){this.storage=e,this.walletConnectionSource=t,this.type="http",this.pendingRequests=new Map,this.nextRequestId=0,this.session=null,this.bridge=null,this.listeners=[],this.connectionStorage=new c.BridgeConnectionStorage(e)}static fromStorage(e){return n(this,void 0,void 0,(function*(){const t=new c.BridgeConnectionStorage(e),r=yield t.getHttpConnection();return new u(e,r.session.walletConnectionSource)}))}connect(e){var t;null===(t=this.bridge)||void 0===t||t.close();const r=new o.SessionCrypto;return this.session={sessionCrypto:r,walletConnectionSource:this.walletConnectionSource},this.bridge=new s.BridgeGateway(this.storage,this.walletConnectionSource.bridgeUrl,r.sessionId,this.gatewayListener.bind(this),this.gatewayErrorsListener.bind(this)),this.bridge.registerSession(),this.generateUniversalLink(e)}restoreConnection(){var e;return n(this,void 0,void 0,(function*(){null===(e=this.bridge)||void 0===e||e.close();const t=yield this.connectionStorage.getHttpConnection();t&&(this.session=t.session,this.bridge=new s.BridgeGateway(this.storage,this.walletConnectionSource.bridgeUrl,t.session.sessionCrypto.sessionId,this.gatewayListener.bind(this),this.gatewayErrorsListener.bind(this)),yield this.bridge.registerSession(),this.listeners.forEach((e=>e(t.connectEvent))))}))}sendRequest(e){return new Promise(((t,r)=>{const n=this.nextRequestId;if(this.nextRequestId++,!this.bridge||!this.session||!("walletPublicKey"in this.session))throw new i.TonConnectError("Trying to send bridge request without session");const s=this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({},e),{id:n})),(0,o.hexToByteArray)(this.session.walletPublicKey));this.bridge.send(s,this.session.walletPublicKey).catch(r),this.pendingRequests.set(n.toString(),t)}))}closeConnection(){var e;null===(e=this.bridge)||void 0===e||e.close(),this.listeners=[],this.session=null,this.bridge=null}disconnect(){var e;return null===(e=this.bridge)||void 0===e||e.close(),this.listeners=[],this.removeBridgeAndSession()}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter((t=>t!==e))}gatewayListener(e){return n(this,void 0,void 0,(function*(){const t=JSON.parse(this.session.sessionCrypto.decrypt(o.Base64.decode(e.message).toUint8Array(),(0,o.hexToByteArray)(e.from)));if(!("event"in t)){const e=t.id.toString(),r=this.pendingRequests.get(e);if(!r)throw new i.TonConnectError(`Response id ${e} doesn't match any request's id`);return r(t),void this.pendingRequests.delete(e)}"connect"===t.event&&(yield this.updateSession(t,e.from)),"disconnect"===t.event&&(yield this.removeBridgeAndSession()),this.listeners.forEach((e=>e(t)))}))}gatewayErrorsListener(e){return n(this,void 0,void 0,(function*(){throw new i.TonConnectError(`Bridge error ${JSON.stringify(e)}`)}))}updateSession(e,t){return n(this,void 0,void 0,(function*(){this.session=Object.assign(Object.assign({},this.session),{walletPublicKey:t});const r=e.payload.items.find((e=>"ton_addr"===e.name)),n=Object.assign(Object.assign({},e),{payload:Object.assign(Object.assign({},e.payload),{items:[r]})});yield this.connectionStorage.storeConnection({type:"http",session:this.session,connectEvent:n})}))}removeBridgeAndSession(){return n(this,void 0,void 0,(function*(){this.session=null,this.bridge=null,yield this.connectionStorage.removeConnection()}))}generateUniversalLink(e){const t=new URL(this.walletConnectionSource.universalLink);return t.searchParams.append("v",a.PROTOCOL_VERSION.toString()),t.searchParams.append("id",this.session.sessionCrypto.sessionId),t.searchParams.append("r",JSON.stringify(e)),t.toString()}}t.BridgeProvider=u},7544:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.InjectedProvider=void 0;const o=r(6557),i=r(8133),s=r(5684),c=r(6446);class a{constructor(e,t){this.injectedWalletKey=t,this.type="injected",this.unsubscribeCallback=null,this.listenSubscriptions=!1,this.listeners=[];const r=a.window;if(!a.isWindowContainsWallet(r,t))throw new o.WalletNotInjectedError;this.connectionStorage=new i.BridgeConnectionStorage(e),this.injectedWallet=r[t].tonconnect}static fromStorage(e){return n(this,void 0,void 0,(function*(){const t=new i.BridgeConnectionStorage(e),r=yield t.getInjectedConnection();return new a(e,r.jsBridgeKey)}))}static isWalletInjected(e){return a.isWindowContainsWallet(this.window,e)}static isInsideWalletBrowser(e){return!!a.isWindowContainsWallet(this.window,e)&&this.window[e].tonconnect.isWalletBrowser}static isWindowContainsWallet(e,t){return!!e&&t in e&&"object"==typeof e[t]&&"tonconnect"in e[t]}connect(e){this._connect(c.PROTOCOL_VERSION,e)}restoreConnection(){return n(this,void 0,void 0,(function*(){try{const e=yield this.injectedWallet.restoreConnection();"connect"===e.event?(this.makeSubscriptions(),this.listeners.forEach((t=>t(e)))):yield this.connectionStorage.removeConnection()}catch(e){yield this.connectionStorage.removeConnection(),console.error(e)}}))}closeConnection(){this.listenSubscriptions&&this.injectedWallet.disconnect(),this.closeAllListeners()}disconnect(){return this.closeAllListeners(),this.injectedWallet.disconnect(),this.connectionStorage.removeConnection()}closeAllListeners(){var e;this.listenSubscriptions=!1,this.listeners=[],null===(e=this.unsubscribeCallback)||void 0===e||e.call(this)}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter((t=>t!==e))}sendRequest(e){return n(this,void 0,void 0,(function*(){return this.injectedWallet.send(Object.assign(Object.assign({},e),{id:"0"}))}))}_connect(e,t){return n(this,void 0,void 0,(function*(){try{const r=yield this.injectedWallet.connect(e,t);"connect"===r.event&&(yield this.updateSession(),this.makeSubscriptions()),this.listeners.forEach((e=>e(r)))}catch(e){console.debug(e);const t={event:"connect_error",payload:{code:0,message:null==e?void 0:e.toString()}};this.listeners.forEach((e=>e(t)))}}))}makeSubscriptions(){this.listenSubscriptions=!0,this.unsubscribeCallback=this.injectedWallet.listen((e=>{this.listenSubscriptions&&this.listeners.forEach((t=>t(e))),"disconnect"===e.event&&this.disconnect()}))}updateSession(){return this.connectionStorage.storeConnection({type:"injected",jsBridgeKey:this.injectedWalletKey})}}t.InjectedProvider=a,a.window=(0,s.getWindow)()},6446:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PROTOCOL_VERSION=void 0,t.PROTOCOL_VERSION=2},8133:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BridgeConnectionStorage=void 0;const o=r(827),i=r(7016);t.BridgeConnectionStorage=class{constructor(e){this.storage=e,this.storeKey="ton-connect-storage_bridge-connection"}storeConnection(e){return n(this,void 0,void 0,(function*(){if("injected"===e.type)return this.storage.setItem(this.storeKey,JSON.stringify(e));const t={sessionKeyPair:e.session.sessionCrypto.stringifyKeypair(),walletPublicKey:e.session.walletPublicKey,walletConnectionSource:e.session.walletConnectionSource},r={type:"http",connectEvent:e.connectEvent,session:t};return this.storage.setItem(this.storeKey,JSON.stringify(r))}))}removeConnection(){return n(this,void 0,void 0,(function*(){return this.storage.removeItem(this.storeKey)}))}getConnection(){return n(this,void 0,void 0,(function*(){const e=yield this.storage.getItem(this.storeKey);if(!e)return null;const t=JSON.parse(e);if("injected"===t.type)return t;const r=new o.SessionCrypto(t.session.sessionKeyPair);return{type:"http",connectEvent:t.connectEvent,session:{sessionCrypto:r,walletConnectionSource:t.session.walletConnectionSource,walletPublicKey:t.session.walletPublicKey}}}))}getHttpConnection(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();if(!e)throw new i.TonConnectError("Trying to read HTTP connection source while nothing is stored");if("injected"===e.type)throw new i.TonConnectError("Trying to read HTTP connection source while injected connection is stored");return e}))}getInjectedConnection(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();if(!e)throw new i.TonConnectError("Trying to read Injected bridge connection source while nothing is stored");if("http"===(null==e?void 0:e.type))throw new i.TonConnectError("Trying to read Injected bridge connection source while HTTP connection is stored");return e}))}storedConnectionType(){return n(this,void 0,void 0,(function*(){const e=yield this.storage.getItem(this.storeKey);return e?JSON.parse(e).type:null}))}}},408:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultStorage=void 0;const o=r(1306),i=r(5684);t.DefaultStorage=class{constructor(){const e=(0,i.getWindow)();if(!(null==e?void 0:e.localStorage))throw new o.LocalstorageNotFoundError;this.window=e}getItem(e){return n(this,void 0,void 0,(function*(){return Promise.resolve(this.window.localStorage.getItem(e))}))}removeItem(e){return n(this,void 0,void 0,(function*(){return this.window.localStorage.removeItem(e),Promise.resolve()}))}setItem(e,t){return this.window.localStorage.setItem(e,t),Promise.resolve()}}},927:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.HttpBridgeGatewayStorage=void 0,t.HttpBridgeGatewayStorage=class{constructor(e){this.storage=e,this.storeKey="ton-connect-storage_http-bridge-gateway"}storeLastEventId(e){return r(this,void 0,void 0,(function*(){return this.storage.setItem(this.storeKey,e)}))}removeLastEventId(){return r(this,void 0,void 0,(function*(){return this.storage.removeItem(this.storeKey)}))}getLastEventId(){return r(this,void 0,void 0,(function*(){return(yield this.storage.getItem(this.storeKey))||null}))}}},1567:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))},o=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r};Object.defineProperty(t,"__esModule",{value:!0}),t.TonConnect=void 0;const i=r(5186),s=r(432),c=r(5515),a=r(925),u=r(2590),l=r(1087),d=r(5951),h=r(656),f=r(3237),p=r(353),y=r(8889),_=r(7544),v=r(8133),g=r(408),b=r(5684),w=r(1302);class E{constructor(e){if(this.walletsList=new w.WalletsListManager,this._wallet=null,this.provider=null,this.statusChangeSubscriptions=[],this.statusChangeErrorSubscriptions=[],this.dappSettings={manifestUrl:(null==e?void 0:e.manifestUrl)||(0,b.getWebPageManifest)(),storage:(null==e?void 0:e.storage)||new g.DefaultStorage},this.walletsList=new w.WalletsListManager(null==e?void 0:e.walletsListSource),!this.dappSettings.manifestUrl)throw new i.DappMetadataError("Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest");this.bridgeConnectionStorage=new v.BridgeConnectionStorage(this.dappSettings.storage)}static getWallets(){return this.walletsList.getWallets()}get connected(){return null!==this._wallet}get account(){var e;return(null===(e=this._wallet)||void 0===e?void 0:e.account)||null}get wallet(){return this._wallet}set wallet(e){this._wallet=e,this.statusChangeSubscriptions.forEach((e=>e(this._wallet)))}getWallets(){return this.walletsList.getWallets()}onStatusChange(e,t){return this.statusChangeSubscriptions.push(e),t&&this.statusChangeErrorSubscriptions.push(t),()=>{this.statusChangeSubscriptions=this.statusChangeSubscriptions.filter((t=>t!==e)),t&&(this.statusChangeErrorSubscriptions=this.statusChangeErrorSubscriptions.filter((e=>e!==t)))}}connect(e,t){var r;if(this.connected)throw new u.WalletAlreadyConnectedError;return null===(r=this.provider)||void 0===r||r.closeConnection(),this.provider=this.createProvider(e),this.provider.connect(this.createConnectRequest(t))}restoreConnection(){return n(this,void 0,void 0,(function*(){const[e,t]=yield Promise.all([this.bridgeConnectionStorage.storedConnectionType(),this.walletsList.getEmbeddedWallet()]);switch(e){case"http":this.provider=yield y.BridgeProvider.fromStorage(this.dappSettings.storage);break;case"injected":this.provider=yield _.InjectedProvider.fromStorage(this.dappSettings.storage);break;default:if(!t)return;this.provider=yield this.createProvider(t)}return this.provider.listen(this.walletEventsListener.bind(this)),this.provider.restoreConnection()}))}sendTransaction(e){return n(this,void 0,void 0,(function*(){this.checkConnection(),this.checkFeatureSupport("SendTransaction");const{validUntil:t}=e,r=o(e,["validUntil"]),n=yield this.provider.sendRequest(p.sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({},r),{valid_until:t})));return p.sendTransactionParser.isError(n)?p.sendTransactionParser.parseAndThrowError(n):p.sendTransactionParser.convertFromRpcResponse(n)}))}disconnect(){return n(this,void 0,void 0,(function*(){if(!this.connected)throw new l.WalletNotConnectedError;yield this.provider.disconnect(),this.onWalletDisconnected()}))}createProvider(e){let t;return t=(0,h.isWalletConnectionSourceJS)(e)?new _.InjectedProvider(this.dappSettings.storage,e.jsBridgeKey):new y.BridgeProvider(this.dappSettings.storage,e),t.listen(this.walletEventsListener.bind(this)),t}walletEventsListener(e){switch(e.event){case"connect":this.onWalletConnected(e.payload);break;case"connect_error":this.onWalletConnectError(e.payload);break;case"disconnect":this.onWalletDisconnected()}}onWalletConnected(e){const t=e.items.find((e=>"ton_addr"===e.name)),r=e.items.find((e=>"ton_proof"===e.name));if(!t)throw new a.TonConnectError("ton_addr connection item was not found");const n={device:e.device,provider:this.provider.type,account:{address:t.address,chain:t.network,walletStateInit:t.walletStateInit}};r&&(n.connectItems={tonProof:r}),this.wallet=n}onWalletConnectError(e){const t=f.connectErrorsParser.parseError(e);if(this.statusChangeErrorSubscriptions.forEach((e=>e(t))),console.debug(t),t instanceof c.ManifestNotFoundError||t instanceof s.ManifestContentErrorError)throw console.error(t),t}onWalletDisconnected(){this.wallet=null}checkConnection(){if(!this.connected)throw new l.WalletNotConnectedError}checkFeatureSupport(e){var t;if(!(null===(t=this.wallet)||void 0===t?void 0:t.device.features.includes(e)))throw new d.WalletNotSupportFeatureError}createConnectRequest(e){const t=[{name:"ton_addr"}];return(null==e?void 0:e.tonProof)&&t.push({name:"ton_proof",payload:e.tonProof}),{manifestUrl:this.dappSettings.manifestUrl,items:t}}}t.TonConnect=E,E.walletsList=new w.WalletsListManager,E.isWalletInjected=e=>_.InjectedProvider.isWalletInjected(e),E.isInsideWalletBrowser=e=>_.InjectedProvider.isInsideWalletBrowser(e)},4914:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toUserFriendlyAddress=void 0;const n=r(7016),o=r(827);t.toUserFriendlyAddress=function(e,t=!1){const{wc:r,hex:i}=function(e){if(!e.includes(":"))throw new n.WrongAddressError(`Wrong address ${e}. Address must include ":".`);const t=e.split(":");if(2!==t.length)throw new n.WrongAddressError(`Wrong address ${e}. Address must include ":" only once.`);const r=parseInt(t[0]);if(0!==r&&-1!==r)throw new n.WrongAddressError(`Wrong address ${e}. WC must be eq 0 or -1, but ${r} received.`);const o=t[1];if(64!==(null==o?void 0:o.length))throw new n.WrongAddressError(`Wrong address ${e}. Hex part must be 64bytes length, but ${null==o?void 0:o.length} received.`);return{wc:r,hex:s(o)}}(e);let c=17;t&&(c|=128);const a=new Int8Array(34);a[0]=c,a[1]=r,a.set(i,2);const u=new Uint8Array(36);return u.set(a),u.set(function(e){let t=0;const r=new Uint8Array(e.length+2);r.set(e);for(let e of r){let r=128;for(;r>0;)t<<=1,e&r&&(t+=1),r>>=1,t>65535&&(t&=65535,t^=4129)}return new Uint8Array([Math.floor(t/256),t%256])}(a),34),o.Base64.encode(u).replace(/\+/g,"-").replace(/\//g,"_")};const i={};for(let e=0;e<=255;e++){let t=e.toString(16);t.length<2&&(t="0"+t),i[t]=e}function s(e){const t=(e=e.toLowerCase()).length;if(t%2!=0)throw new n.ParseHexError("Hex string must have length a multiple of 2: "+e);const r=t/2,o=new Uint8Array(r);for(let t=0;t<r;t++){const r=2*t,s=e.substring(r,r+2);if(!i.hasOwnProperty(s))throw new n.ParseHexError("Invalid hex character: "+s);o[t]=i[s]}return o}},9372:(e,t)=>{"use strict";function r(e){return"/"===e.slice(-1)?e.slice(0,-1):e}Object.defineProperty(t,"__esModule",{value:!0}),t.addPathToUrl=t.removeUrlLastSlash=void 0,t.removeUrlLastSlash=r,t.addPathToUrl=function(e,t){return r(e)+"/"+t}},5684:(e,t)=>{"use strict";function r(){if("undefined"!=typeof window)return window}Object.defineProperty(t,"__esModule",{value:!0}),t.getWebPageManifest=t.getDocument=t.getWindow=void 0,t.getWindow=r,t.getDocument=function(){if("undefined"!=typeof document)return document},t.getWebPageManifest=function(){var e;const t=null===(e=r())||void 0===e?void 0:e.location.origin;return t?t+"/tonconnect-manifest.json":""}},1302:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,c)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.WalletsListManager=void 0;const o=r(6897),i=r(5910),s=r(7544);t.WalletsListManager=class{constructor(e){this.walletsListCache=null,this.walletsListSource="https://raw.githubusercontent.com/ton-connect/wallets-list/main/wallets.json",e&&(this.walletsListSource=e)}getWallets(){return n(this,void 0,void 0,(function*(){return this.walletsListCache||(this.walletsListCache=this.fetchWalletsList(),this.walletsListCache.catch((()=>this.walletsListCache=null))),this.walletsListCache}))}getEmbeddedWallet(){return n(this,void 0,void 0,(function*(){const e=(yield this.getWallets()).filter((e=>(0,i.isWalletInfoInjected)(e)&&e.embedded));return 1!==e.length?null:e[0]}))}fetchWalletsList(){return n(this,void 0,void 0,(function*(){try{const e=yield fetch(this.walletsListSource),t=yield e.json();if(!Array.isArray(t)||!t.every((e=>this.isCorrectWalletConfigDTO(e))))throw new o.FetchWalletsError("Wrong wallets list format");return this.walletConfigDTOListToWalletConfigList(t)}catch(e){throw new o.FetchWalletsError(e)}}))}walletConfigDTOListToWalletConfigList(e){return e.map((e=>{const t={name:e.name,imageUrl:e.image,aboutUrl:e.about_url,tondns:e.tondns};return e.bridge.forEach((r=>{if("sse"===r.type&&(t.bridgeUrl=r.url,t.universalLink=e.universal_url,t.deepLink=e.deepLink),"js"===r.type){const e=r.key;t.jsBridgeKey=e,t.injected=s.InjectedProvider.isWalletInjected(e),t.embedded=s.InjectedProvider.isInsideWalletBrowser(e)}})),t}))}isCorrectWalletConfigDTO(e){if(!e||"object"!=typeof e)return!1;if(!("name"in e)||!("image"in e)||!("about_url"in e))return!1;if(!("bridge"in e)||!Array.isArray(e.bridge)||!e.bridge.length)return!1;const t=e.bridge;if(t.some((e=>!e||"object"!=typeof e||!("type"in e))))return!1;const r=t.find((e=>"sse"===e.type));if(r&&(!("url"in r)||!r.url||!e.universal_url))return!1;const n=t.find((e=>"js"===e.type));return!!(!n||"key"in n&&n.key)}}},251:function(e){!function(t,r){"use strict";e.exports?e.exports=r():(t.nacl||(t.nacl={}),t.nacl.util=r())}(this,(function(){"use strict";var e={};function t(e){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e))throw new TypeError("invalid encoding")}return e.decodeUTF8=function(e){if("string"!=typeof e)throw new TypeError("expected string");var t,r=unescape(encodeURIComponent(e)),n=new Uint8Array(r.length);for(t=0;t<r.length;t++)n[t]=r.charCodeAt(t);return n},e.encodeUTF8=function(e){var t,r=[];for(t=0;t<e.length;t++)r.push(String.fromCharCode(e[t]));return decodeURIComponent(escape(r.join("")))},"undefined"==typeof atob?void 0!==Buffer.from?(e.encodeBase64=function(e){return Buffer.from(e).toString("base64")},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(Buffer.from(e,"base64"),0))}):(e.encodeBase64=function(e){return new Buffer(e).toString("base64")},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(new Buffer(e,"base64"),0))}):(e.encodeBase64=function(e){var t,r=[],n=e.length;for(t=0;t<n;t++)r.push(String.fromCharCode(e[t]));return btoa(r.join(""))},e.decodeBase64=function(e){t(e);var r,n=atob(e),o=new Uint8Array(n.length);for(r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return o}),e}))},717:(e,t,r)=>{!function(e){"use strict";var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},n=function(){throw new Error("no PRNG")},o=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var s=t(),c=t([1]),a=t([56129,1]),u=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),l=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),f=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function p(e,t,r,n){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function y(e,t,r,n,o){var i,s=0;for(i=0;i<o;i++)s|=e[t+i]^r[n+i];return(1&s-1>>>8)-1}function _(e,t,r,n){return y(e,t,r,n,16)}function v(e,t,r,n){return y(e,t,r,n,32)}function g(e,t,r,n){!function(e,t,r,n){for(var o,i=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,s=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,c=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,a=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,u=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,l=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,d=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,h=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,f=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,y=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,_=255&r[16]|(255&r[17])<<8|(255&r[18])<<16|(255&r[19])<<24,v=255&r[20]|(255&r[21])<<8|(255&r[22])<<16|(255&r[23])<<24,g=255&r[24]|(255&r[25])<<8|(255&r[26])<<16|(255&r[27])<<24,b=255&r[28]|(255&r[29])<<8|(255&r[30])<<16|(255&r[31])<<24,w=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,E=i,O=s,S=c,R=a,C=u,P=l,j=d,m=h,T=f,N=p,A=y,U=_,M=v,x=g,W=b,I=w,B=0;B<20;B+=2)E^=(o=(M^=(o=(T^=(o=(C^=(o=E+M|0)<<7|o>>>25)+E|0)<<9|o>>>23)+C|0)<<13|o>>>19)+T|0)<<18|o>>>14,P^=(o=(O^=(o=(x^=(o=(N^=(o=P+O|0)<<7|o>>>25)+P|0)<<9|o>>>23)+N|0)<<13|o>>>19)+x|0)<<18|o>>>14,A^=(o=(j^=(o=(S^=(o=(W^=(o=A+j|0)<<7|o>>>25)+A|0)<<9|o>>>23)+W|0)<<13|o>>>19)+S|0)<<18|o>>>14,I^=(o=(U^=(o=(m^=(o=(R^=(o=I+U|0)<<7|o>>>25)+I|0)<<9|o>>>23)+R|0)<<13|o>>>19)+m|0)<<18|o>>>14,E^=(o=(R^=(o=(S^=(o=(O^=(o=E+R|0)<<7|o>>>25)+E|0)<<9|o>>>23)+O|0)<<13|o>>>19)+S|0)<<18|o>>>14,P^=(o=(C^=(o=(m^=(o=(j^=(o=P+C|0)<<7|o>>>25)+P|0)<<9|o>>>23)+j|0)<<13|o>>>19)+m|0)<<18|o>>>14,A^=(o=(N^=(o=(T^=(o=(U^=(o=A+N|0)<<7|o>>>25)+A|0)<<9|o>>>23)+U|0)<<13|o>>>19)+T|0)<<18|o>>>14,I^=(o=(W^=(o=(x^=(o=(M^=(o=I+W|0)<<7|o>>>25)+I|0)<<9|o>>>23)+M|0)<<13|o>>>19)+x|0)<<18|o>>>14;E=E+i|0,O=O+s|0,S=S+c|0,R=R+a|0,C=C+u|0,P=P+l|0,j=j+d|0,m=m+h|0,T=T+f|0,N=N+p|0,A=A+y|0,U=U+_|0,M=M+v|0,x=x+g|0,W=W+b|0,I=I+w|0,e[0]=E>>>0&255,e[1]=E>>>8&255,e[2]=E>>>16&255,e[3]=E>>>24&255,e[4]=O>>>0&255,e[5]=O>>>8&255,e[6]=O>>>16&255,e[7]=O>>>24&255,e[8]=S>>>0&255,e[9]=S>>>8&255,e[10]=S>>>16&255,e[11]=S>>>24&255,e[12]=R>>>0&255,e[13]=R>>>8&255,e[14]=R>>>16&255,e[15]=R>>>24&255,e[16]=C>>>0&255,e[17]=C>>>8&255,e[18]=C>>>16&255,e[19]=C>>>24&255,e[20]=P>>>0&255,e[21]=P>>>8&255,e[22]=P>>>16&255,e[23]=P>>>24&255,e[24]=j>>>0&255,e[25]=j>>>8&255,e[26]=j>>>16&255,e[27]=j>>>24&255,e[28]=m>>>0&255,e[29]=m>>>8&255,e[30]=m>>>16&255,e[31]=m>>>24&255,e[32]=T>>>0&255,e[33]=T>>>8&255,e[34]=T>>>16&255,e[35]=T>>>24&255,e[36]=N>>>0&255,e[37]=N>>>8&255,e[38]=N>>>16&255,e[39]=N>>>24&255,e[40]=A>>>0&255,e[41]=A>>>8&255,e[42]=A>>>16&255,e[43]=A>>>24&255,e[44]=U>>>0&255,e[45]=U>>>8&255,e[46]=U>>>16&255,e[47]=U>>>24&255,e[48]=M>>>0&255,e[49]=M>>>8&255,e[50]=M>>>16&255,e[51]=M>>>24&255,e[52]=x>>>0&255,e[53]=x>>>8&255,e[54]=x>>>16&255,e[55]=x>>>24&255,e[56]=W>>>0&255,e[57]=W>>>8&255,e[58]=W>>>16&255,e[59]=W>>>24&255,e[60]=I>>>0&255,e[61]=I>>>8&255,e[62]=I>>>16&255,e[63]=I>>>24&255}(e,t,r,n)}function b(e,t,r,n){!function(e,t,r,n){for(var o,i=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,s=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,c=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,a=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,u=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,l=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,d=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,h=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,f=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,y=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,_=255&r[16]|(255&r[17])<<8|(255&r[18])<<16|(255&r[19])<<24,v=255&r[20]|(255&r[21])<<8|(255&r[22])<<16|(255&r[23])<<24,g=255&r[24]|(255&r[25])<<8|(255&r[26])<<16|(255&r[27])<<24,b=255&r[28]|(255&r[29])<<8|(255&r[30])<<16|(255&r[31])<<24,w=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,E=0;E<20;E+=2)i^=(o=(v^=(o=(f^=(o=(u^=(o=i+v|0)<<7|o>>>25)+i|0)<<9|o>>>23)+u|0)<<13|o>>>19)+f|0)<<18|o>>>14,l^=(o=(s^=(o=(g^=(o=(p^=(o=l+s|0)<<7|o>>>25)+l|0)<<9|o>>>23)+p|0)<<13|o>>>19)+g|0)<<18|o>>>14,y^=(o=(d^=(o=(c^=(o=(b^=(o=y+d|0)<<7|o>>>25)+y|0)<<9|o>>>23)+b|0)<<13|o>>>19)+c|0)<<18|o>>>14,w^=(o=(_^=(o=(h^=(o=(a^=(o=w+_|0)<<7|o>>>25)+w|0)<<9|o>>>23)+a|0)<<13|o>>>19)+h|0)<<18|o>>>14,i^=(o=(a^=(o=(c^=(o=(s^=(o=i+a|0)<<7|o>>>25)+i|0)<<9|o>>>23)+s|0)<<13|o>>>19)+c|0)<<18|o>>>14,l^=(o=(u^=(o=(h^=(o=(d^=(o=l+u|0)<<7|o>>>25)+l|0)<<9|o>>>23)+d|0)<<13|o>>>19)+h|0)<<18|o>>>14,y^=(o=(p^=(o=(f^=(o=(_^=(o=y+p|0)<<7|o>>>25)+y|0)<<9|o>>>23)+_|0)<<13|o>>>19)+f|0)<<18|o>>>14,w^=(o=(b^=(o=(g^=(o=(v^=(o=w+b|0)<<7|o>>>25)+w|0)<<9|o>>>23)+v|0)<<13|o>>>19)+g|0)<<18|o>>>14;e[0]=i>>>0&255,e[1]=i>>>8&255,e[2]=i>>>16&255,e[3]=i>>>24&255,e[4]=l>>>0&255,e[5]=l>>>8&255,e[6]=l>>>16&255,e[7]=l>>>24&255,e[8]=y>>>0&255,e[9]=y>>>8&255,e[10]=y>>>16&255,e[11]=y>>>24&255,e[12]=w>>>0&255,e[13]=w>>>8&255,e[14]=w>>>16&255,e[15]=w>>>24&255,e[16]=d>>>0&255,e[17]=d>>>8&255,e[18]=d>>>16&255,e[19]=d>>>24&255,e[20]=h>>>0&255,e[21]=h>>>8&255,e[22]=h>>>16&255,e[23]=h>>>24&255,e[24]=f>>>0&255,e[25]=f>>>8&255,e[26]=f>>>16&255,e[27]=f>>>24&255,e[28]=p>>>0&255,e[29]=p>>>8&255,e[30]=p>>>16&255,e[31]=p>>>24&255}(e,t,r,n)}var w=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function E(e,t,r,n,o,i,s){var c,a,u=new Uint8Array(16),l=new Uint8Array(64);for(a=0;a<16;a++)u[a]=0;for(a=0;a<8;a++)u[a]=i[a];for(;o>=64;){for(g(l,u,s,w),a=0;a<64;a++)e[t+a]=r[n+a]^l[a];for(c=1,a=8;a<16;a++)c=c+(255&u[a])|0,u[a]=255&c,c>>>=8;o-=64,t+=64,n+=64}if(o>0)for(g(l,u,s,w),a=0;a<o;a++)e[t+a]=r[n+a]^l[a];return 0}function O(e,t,r,n,o){var i,s,c=new Uint8Array(16),a=new Uint8Array(64);for(s=0;s<16;s++)c[s]=0;for(s=0;s<8;s++)c[s]=n[s];for(;r>=64;){for(g(a,c,o,w),s=0;s<64;s++)e[t+s]=a[s];for(i=1,s=8;s<16;s++)i=i+(255&c[s])|0,c[s]=255&i,i>>>=8;r-=64,t+=64}if(r>0)for(g(a,c,o,w),s=0;s<r;s++)e[t+s]=a[s];return 0}function S(e,t,r,n,o){var i=new Uint8Array(32);b(i,n,o,w);for(var s=new Uint8Array(8),c=0;c<8;c++)s[c]=n[c+16];return O(e,t,r,s,i)}function R(e,t,r,n,o,i,s){var c=new Uint8Array(32);b(c,i,s,w);for(var a=new Uint8Array(8),u=0;u<8;u++)a[u]=i[u+16];return E(e,t,r,n,o,a,c)}var C=function(e){var t,r,n,o,i,s,c,a;this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0,t=255&e[0]|(255&e[1])<<8,this.r[0]=8191&t,r=255&e[2]|(255&e[3])<<8,this.r[1]=8191&(t>>>13|r<<3),n=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(r>>>10|n<<6),o=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(n>>>7|o<<9),i=255&e[8]|(255&e[9])<<8,this.r[4]=255&(o>>>4|i<<12),this.r[5]=i>>>1&8190,s=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(i>>>14|s<<2),c=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(s>>>11|c<<5),a=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(c>>>8|a<<8),this.r[9]=a>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};function P(e,t,r,n,o,i){var s=new C(i);return s.update(r,n,o),s.finish(e,t),0}function j(e,t,r,n,o,i){var s=new Uint8Array(16);return P(s,0,r,n,o,i),_(e,t,s,0)}function m(e,t,r,n,o){var i;if(r<32)return-1;for(R(e,0,t,0,r,n,o),P(e,16,e,32,r-32,e),i=0;i<16;i++)e[i]=0;return 0}function T(e,t,r,n,o){var i,s=new Uint8Array(32);if(r<32)return-1;if(S(s,0,32,n,o),0!==j(t,16,t,32,r-32,s))return-1;for(R(e,0,t,0,r,n,o),i=0;i<32;i++)e[i]=0;return 0}function N(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function A(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function U(e,t,r){for(var n,o=~(r-1),i=0;i<16;i++)n=o&(e[i]^t[i]),e[i]^=n,t[i]^=n}function M(e,r){var n,o,i,s=t(),c=t();for(n=0;n<16;n++)c[n]=r[n];for(A(c),A(c),A(c),o=0;o<2;o++){for(s[0]=c[0]-65517,n=1;n<15;n++)s[n]=c[n]-65535-(s[n-1]>>16&1),s[n-1]&=65535;s[15]=c[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,U(c,s,1-i)}for(n=0;n<16;n++)e[2*n]=255&c[n],e[2*n+1]=c[n]>>8}function x(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return M(r,e),M(n,t),v(r,0,n,0)}function W(e){var t=new Uint8Array(32);return M(t,e),1&t[0]}function I(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function B(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function k(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function D(e,t,r){var n,o,i=0,s=0,c=0,a=0,u=0,l=0,d=0,h=0,f=0,p=0,y=0,_=0,v=0,g=0,b=0,w=0,E=0,O=0,S=0,R=0,C=0,P=0,j=0,m=0,T=0,N=0,A=0,U=0,M=0,x=0,W=0,I=r[0],B=r[1],k=r[2],D=r[3],L=r[4],K=r[5],F=r[6],H=r[7],q=r[8],J=r[9],Y=r[10],V=r[11],z=r[12],G=r[13],$=r[14],Z=r[15];i+=(n=t[0])*I,s+=n*B,c+=n*k,a+=n*D,u+=n*L,l+=n*K,d+=n*F,h+=n*H,f+=n*q,p+=n*J,y+=n*Y,_+=n*V,v+=n*z,g+=n*G,b+=n*$,w+=n*Z,s+=(n=t[1])*I,c+=n*B,a+=n*k,u+=n*D,l+=n*L,d+=n*K,h+=n*F,f+=n*H,p+=n*q,y+=n*J,_+=n*Y,v+=n*V,g+=n*z,b+=n*G,w+=n*$,E+=n*Z,c+=(n=t[2])*I,a+=n*B,u+=n*k,l+=n*D,d+=n*L,h+=n*K,f+=n*F,p+=n*H,y+=n*q,_+=n*J,v+=n*Y,g+=n*V,b+=n*z,w+=n*G,E+=n*$,O+=n*Z,a+=(n=t[3])*I,u+=n*B,l+=n*k,d+=n*D,h+=n*L,f+=n*K,p+=n*F,y+=n*H,_+=n*q,v+=n*J,g+=n*Y,b+=n*V,w+=n*z,E+=n*G,O+=n*$,S+=n*Z,u+=(n=t[4])*I,l+=n*B,d+=n*k,h+=n*D,f+=n*L,p+=n*K,y+=n*F,_+=n*H,v+=n*q,g+=n*J,b+=n*Y,w+=n*V,E+=n*z,O+=n*G,S+=n*$,R+=n*Z,l+=(n=t[5])*I,d+=n*B,h+=n*k,f+=n*D,p+=n*L,y+=n*K,_+=n*F,v+=n*H,g+=n*q,b+=n*J,w+=n*Y,E+=n*V,O+=n*z,S+=n*G,R+=n*$,C+=n*Z,d+=(n=t[6])*I,h+=n*B,f+=n*k,p+=n*D,y+=n*L,_+=n*K,v+=n*F,g+=n*H,b+=n*q,w+=n*J,E+=n*Y,O+=n*V,S+=n*z,R+=n*G,C+=n*$,P+=n*Z,h+=(n=t[7])*I,f+=n*B,p+=n*k,y+=n*D,_+=n*L,v+=n*K,g+=n*F,b+=n*H,w+=n*q,E+=n*J,O+=n*Y,S+=n*V,R+=n*z,C+=n*G,P+=n*$,j+=n*Z,f+=(n=t[8])*I,p+=n*B,y+=n*k,_+=n*D,v+=n*L,g+=n*K,b+=n*F,w+=n*H,E+=n*q,O+=n*J,S+=n*Y,R+=n*V,C+=n*z,P+=n*G,j+=n*$,m+=n*Z,p+=(n=t[9])*I,y+=n*B,_+=n*k,v+=n*D,g+=n*L,b+=n*K,w+=n*F,E+=n*H,O+=n*q,S+=n*J,R+=n*Y,C+=n*V,P+=n*z,j+=n*G,m+=n*$,T+=n*Z,y+=(n=t[10])*I,_+=n*B,v+=n*k,g+=n*D,b+=n*L,w+=n*K,E+=n*F,O+=n*H,S+=n*q,R+=n*J,C+=n*Y,P+=n*V,j+=n*z,m+=n*G,T+=n*$,N+=n*Z,_+=(n=t[11])*I,v+=n*B,g+=n*k,b+=n*D,w+=n*L,E+=n*K,O+=n*F,S+=n*H,R+=n*q,C+=n*J,P+=n*Y,j+=n*V,m+=n*z,T+=n*G,N+=n*$,A+=n*Z,v+=(n=t[12])*I,g+=n*B,b+=n*k,w+=n*D,E+=n*L,O+=n*K,S+=n*F,R+=n*H,C+=n*q,P+=n*J,j+=n*Y,m+=n*V,T+=n*z,N+=n*G,A+=n*$,U+=n*Z,g+=(n=t[13])*I,b+=n*B,w+=n*k,E+=n*D,O+=n*L,S+=n*K,R+=n*F,C+=n*H,P+=n*q,j+=n*J,m+=n*Y,T+=n*V,N+=n*z,A+=n*G,U+=n*$,M+=n*Z,b+=(n=t[14])*I,w+=n*B,E+=n*k,O+=n*D,S+=n*L,R+=n*K,C+=n*F,P+=n*H,j+=n*q,m+=n*J,T+=n*Y,N+=n*V,A+=n*z,U+=n*G,M+=n*$,x+=n*Z,w+=(n=t[15])*I,s+=38*(O+=n*k),c+=38*(S+=n*D),a+=38*(R+=n*L),u+=38*(C+=n*K),l+=38*(P+=n*F),d+=38*(j+=n*H),h+=38*(m+=n*q),f+=38*(T+=n*J),p+=38*(N+=n*Y),y+=38*(A+=n*V),_+=38*(U+=n*z),v+=38*(M+=n*G),g+=38*(x+=n*$),b+=38*(W+=n*Z),i=(n=(i+=38*(E+=n*B))+(o=1)+65535)-65536*(o=Math.floor(n/65536)),s=(n=s+o+65535)-65536*(o=Math.floor(n/65536)),c=(n=c+o+65535)-65536*(o=Math.floor(n/65536)),a=(n=a+o+65535)-65536*(o=Math.floor(n/65536)),u=(n=u+o+65535)-65536*(o=Math.floor(n/65536)),l=(n=l+o+65535)-65536*(o=Math.floor(n/65536)),d=(n=d+o+65535)-65536*(o=Math.floor(n/65536)),h=(n=h+o+65535)-65536*(o=Math.floor(n/65536)),f=(n=f+o+65535)-65536*(o=Math.floor(n/65536)),p=(n=p+o+65535)-65536*(o=Math.floor(n/65536)),y=(n=y+o+65535)-65536*(o=Math.floor(n/65536)),_=(n=_+o+65535)-65536*(o=Math.floor(n/65536)),v=(n=v+o+65535)-65536*(o=Math.floor(n/65536)),g=(n=g+o+65535)-65536*(o=Math.floor(n/65536)),b=(n=b+o+65535)-65536*(o=Math.floor(n/65536)),w=(n=w+o+65535)-65536*(o=Math.floor(n/65536)),i=(n=(i+=o-1+37*(o-1))+(o=1)+65535)-65536*(o=Math.floor(n/65536)),s=(n=s+o+65535)-65536*(o=Math.floor(n/65536)),c=(n=c+o+65535)-65536*(o=Math.floor(n/65536)),a=(n=a+o+65535)-65536*(o=Math.floor(n/65536)),u=(n=u+o+65535)-65536*(o=Math.floor(n/65536)),l=(n=l+o+65535)-65536*(o=Math.floor(n/65536)),d=(n=d+o+65535)-65536*(o=Math.floor(n/65536)),h=(n=h+o+65535)-65536*(o=Math.floor(n/65536)),f=(n=f+o+65535)-65536*(o=Math.floor(n/65536)),p=(n=p+o+65535)-65536*(o=Math.floor(n/65536)),y=(n=y+o+65535)-65536*(o=Math.floor(n/65536)),_=(n=_+o+65535)-65536*(o=Math.floor(n/65536)),v=(n=v+o+65535)-65536*(o=Math.floor(n/65536)),g=(n=g+o+65535)-65536*(o=Math.floor(n/65536)),b=(n=b+o+65535)-65536*(o=Math.floor(n/65536)),w=(n=w+o+65535)-65536*(o=Math.floor(n/65536)),i+=o-1+37*(o-1),e[0]=i,e[1]=s,e[2]=c,e[3]=a,e[4]=u,e[5]=l,e[6]=d,e[7]=h,e[8]=f,e[9]=p,e[10]=y,e[11]=_,e[12]=v,e[13]=g,e[14]=b,e[15]=w}function L(e,t){D(e,t,t)}function K(e,r){var n,o=t();for(n=0;n<16;n++)o[n]=r[n];for(n=253;n>=0;n--)L(o,o),2!==n&&4!==n&&D(o,o,r);for(n=0;n<16;n++)e[n]=o[n]}function F(e,r){var n,o=t();for(n=0;n<16;n++)o[n]=r[n];for(n=250;n>=0;n--)L(o,o),1!==n&&D(o,o,r);for(n=0;n<16;n++)e[n]=o[n]}function H(e,r,n){var o,i,s=new Uint8Array(32),c=new Float64Array(80),u=t(),l=t(),d=t(),h=t(),f=t(),p=t();for(i=0;i<31;i++)s[i]=r[i];for(s[31]=127&r[31]|64,s[0]&=248,I(c,n),i=0;i<16;i++)l[i]=c[i],h[i]=u[i]=d[i]=0;for(u[0]=h[0]=1,i=254;i>=0;--i)U(u,l,o=s[i>>>3]>>>(7&i)&1),U(d,h,o),B(f,u,d),k(u,u,d),B(d,l,h),k(l,l,h),L(h,f),L(p,u),D(u,d,u),D(d,l,f),B(f,u,d),k(u,u,d),L(l,u),k(d,h,p),D(u,d,a),B(u,u,h),D(d,d,u),D(u,h,p),D(h,l,c),L(l,f),U(u,l,o),U(d,h,o);for(i=0;i<16;i++)c[i+16]=u[i],c[i+32]=d[i],c[i+48]=l[i],c[i+64]=h[i];var y=c.subarray(32),_=c.subarray(16);return K(y,y),D(_,_,y),M(e,_),0}function q(e,t){return H(e,t,i)}function J(e,t){return n(t,32),q(e,t)}function Y(e,t,r){var n=new Uint8Array(32);return H(n,r,t),b(e,o,n,w)}C.prototype.blocks=function(e,t,r){for(var n,o,i,s,c,a,u,l,d,h,f,p,y,_,v,g,b,w,E,O=this.fin?0:2048,S=this.h[0],R=this.h[1],C=this.h[2],P=this.h[3],j=this.h[4],m=this.h[5],T=this.h[6],N=this.h[7],A=this.h[8],U=this.h[9],M=this.r[0],x=this.r[1],W=this.r[2],I=this.r[3],B=this.r[4],k=this.r[5],D=this.r[6],L=this.r[7],K=this.r[8],F=this.r[9];r>=16;)h=d=0,h+=(S+=8191&(n=255&e[t+0]|(255&e[t+1])<<8))*M,h+=(R+=8191&(n>>>13|(o=255&e[t+2]|(255&e[t+3])<<8)<<3))*(5*F),h+=(C+=8191&(o>>>10|(i=255&e[t+4]|(255&e[t+5])<<8)<<6))*(5*K),h+=(P+=8191&(i>>>7|(s=255&e[t+6]|(255&e[t+7])<<8)<<9))*(5*L),d=(h+=(j+=8191&(s>>>4|(c=255&e[t+8]|(255&e[t+9])<<8)<<12))*(5*D))>>>13,h&=8191,h+=(m+=c>>>1&8191)*(5*k),h+=(T+=8191&(c>>>14|(a=255&e[t+10]|(255&e[t+11])<<8)<<2))*(5*B),h+=(N+=8191&(a>>>11|(u=255&e[t+12]|(255&e[t+13])<<8)<<5))*(5*I),h+=(A+=8191&(u>>>8|(l=255&e[t+14]|(255&e[t+15])<<8)<<8))*(5*W),f=d+=(h+=(U+=l>>>5|O)*(5*x))>>>13,f+=S*x,f+=R*M,f+=C*(5*F),f+=P*(5*K),d=(f+=j*(5*L))>>>13,f&=8191,f+=m*(5*D),f+=T*(5*k),f+=N*(5*B),f+=A*(5*I),d+=(f+=U*(5*W))>>>13,f&=8191,p=d,p+=S*W,p+=R*x,p+=C*M,p+=P*(5*F),d=(p+=j*(5*K))>>>13,p&=8191,p+=m*(5*L),p+=T*(5*D),p+=N*(5*k),p+=A*(5*B),y=d+=(p+=U*(5*I))>>>13,y+=S*I,y+=R*W,y+=C*x,y+=P*M,d=(y+=j*(5*F))>>>13,y&=8191,y+=m*(5*K),y+=T*(5*L),y+=N*(5*D),y+=A*(5*k),_=d+=(y+=U*(5*B))>>>13,_+=S*B,_+=R*I,_+=C*W,_+=P*x,d=(_+=j*M)>>>13,_&=8191,_+=m*(5*F),_+=T*(5*K),_+=N*(5*L),_+=A*(5*D),v=d+=(_+=U*(5*k))>>>13,v+=S*k,v+=R*B,v+=C*I,v+=P*W,d=(v+=j*x)>>>13,v&=8191,v+=m*M,v+=T*(5*F),v+=N*(5*K),v+=A*(5*L),g=d+=(v+=U*(5*D))>>>13,g+=S*D,g+=R*k,g+=C*B,g+=P*I,d=(g+=j*W)>>>13,g&=8191,g+=m*x,g+=T*M,g+=N*(5*F),g+=A*(5*K),b=d+=(g+=U*(5*L))>>>13,b+=S*L,b+=R*D,b+=C*k,b+=P*B,d=(b+=j*I)>>>13,b&=8191,b+=m*W,b+=T*x,b+=N*M,b+=A*(5*F),w=d+=(b+=U*(5*K))>>>13,w+=S*K,w+=R*L,w+=C*D,w+=P*k,d=(w+=j*B)>>>13,w&=8191,w+=m*I,w+=T*W,w+=N*x,w+=A*M,E=d+=(w+=U*(5*F))>>>13,E+=S*F,E+=R*K,E+=C*L,E+=P*D,d=(E+=j*k)>>>13,E&=8191,E+=m*B,E+=T*I,E+=N*W,E+=A*x,S=h=8191&(d=(d=((d+=(E+=U*M)>>>13)<<2)+d|0)+(h&=8191)|0),R=f+=d>>>=13,C=p&=8191,P=y&=8191,j=_&=8191,m=v&=8191,T=g&=8191,N=b&=8191,A=w&=8191,U=E&=8191,t+=16,r-=16;this.h[0]=S,this.h[1]=R,this.h[2]=C,this.h[3]=P,this.h[4]=j,this.h[5]=m,this.h[6]=T,this.h[7]=N,this.h[8]=A,this.h[9]=U},C.prototype.finish=function(e,t){var r,n,o,i,s=new Uint16Array(10);if(this.leftover){for(i=this.leftover,this.buffer[i++]=1;i<16;i++)this.buffer[i]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(r=this.h[1]>>>13,this.h[1]&=8191,i=2;i<10;i++)this.h[i]+=r,r=this.h[i]>>>13,this.h[i]&=8191;for(this.h[0]+=5*r,r=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=r,r=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=r,s[0]=this.h[0]+5,r=s[0]>>>13,s[0]&=8191,i=1;i<10;i++)s[i]=this.h[i]+r,r=s[i]>>>13,s[i]&=8191;for(s[9]-=8192,n=(1^r)-1,i=0;i<10;i++)s[i]&=n;for(n=~n,i=0;i<10;i++)this.h[i]=this.h[i]&n|s[i];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),o=this.h[0]+this.pad[0],this.h[0]=65535&o,i=1;i<8;i++)o=(this.h[i]+this.pad[i]|0)+(o>>>16)|0,this.h[i]=65535&o;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},C.prototype.update=function(e,t,r){var n,o;if(this.leftover){for((o=16-this.leftover)>r&&(o=r),n=0;n<o;n++)this.buffer[this.leftover+n]=e[t+n];if(r-=o,t+=o,this.leftover+=o,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(r>=16&&(o=r-r%16,this.blocks(e,t,o),t+=o,r-=o),r){for(n=0;n<r;n++)this.buffer[this.leftover+n]=e[t+n];this.leftover+=r}};var V=m,z=T,G=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function $(e,t,r,n){for(var o,i,s,c,a,u,l,d,h,f,p,y,_,v,g,b,w,E,O,S,R,C,P,j,m,T,N=new Int32Array(16),A=new Int32Array(16),U=e[0],M=e[1],x=e[2],W=e[3],I=e[4],B=e[5],k=e[6],D=e[7],L=t[0],K=t[1],F=t[2],H=t[3],q=t[4],J=t[5],Y=t[6],V=t[7],z=0;n>=128;){for(O=0;O<16;O++)S=8*O+z,N[O]=r[S+0]<<24|r[S+1]<<16|r[S+2]<<8|r[S+3],A[O]=r[S+4]<<24|r[S+5]<<16|r[S+6]<<8|r[S+7];for(O=0;O<80;O++)if(o=U,i=M,s=x,c=W,a=I,u=B,l=k,h=L,f=K,p=F,y=H,_=q,v=J,g=Y,P=65535&(C=V),j=C>>>16,m=65535&(R=D),T=R>>>16,P+=65535&(C=(q>>>14|I<<18)^(q>>>18|I<<14)^(I>>>9|q<<23)),j+=C>>>16,m+=65535&(R=(I>>>14|q<<18)^(I>>>18|q<<14)^(q>>>9|I<<23)),T+=R>>>16,P+=65535&(C=q&J^~q&Y),j+=C>>>16,m+=65535&(R=I&B^~I&k),T+=R>>>16,P+=65535&(C=G[2*O+1]),j+=C>>>16,m+=65535&(R=G[2*O]),T+=R>>>16,R=N[O%16],j+=(C=A[O%16])>>>16,m+=65535&R,T+=R>>>16,m+=(j+=(P+=65535&C)>>>16)>>>16,P=65535&(C=E=65535&P|j<<16),j=C>>>16,m=65535&(R=w=65535&m|(T+=m>>>16)<<16),T=R>>>16,P+=65535&(C=(L>>>28|U<<4)^(U>>>2|L<<30)^(U>>>7|L<<25)),j+=C>>>16,m+=65535&(R=(U>>>28|L<<4)^(L>>>2|U<<30)^(L>>>7|U<<25)),T+=R>>>16,j+=(C=L&K^L&F^K&F)>>>16,m+=65535&(R=U&M^U&x^M&x),T+=R>>>16,d=65535&(m+=(j+=(P+=65535&C)>>>16)>>>16)|(T+=m>>>16)<<16,b=65535&P|j<<16,P=65535&(C=y),j=C>>>16,m=65535&(R=c),T=R>>>16,j+=(C=E)>>>16,m+=65535&(R=w),T+=R>>>16,M=o,x=i,W=s,I=c=65535&(m+=(j+=(P+=65535&C)>>>16)>>>16)|(T+=m>>>16)<<16,B=a,k=u,D=l,U=d,K=h,F=f,H=p,q=y=65535&P|j<<16,J=_,Y=v,V=g,L=b,O%16==15)for(S=0;S<16;S++)R=N[S],P=65535&(C=A[S]),j=C>>>16,m=65535&R,T=R>>>16,R=N[(S+9)%16],P+=65535&(C=A[(S+9)%16]),j+=C>>>16,m+=65535&R,T+=R>>>16,w=N[(S+1)%16],P+=65535&(C=((E=A[(S+1)%16])>>>1|w<<31)^(E>>>8|w<<24)^(E>>>7|w<<25)),j+=C>>>16,m+=65535&(R=(w>>>1|E<<31)^(w>>>8|E<<24)^w>>>7),T+=R>>>16,w=N[(S+14)%16],j+=(C=((E=A[(S+14)%16])>>>19|w<<13)^(w>>>29|E<<3)^(E>>>6|w<<26))>>>16,m+=65535&(R=(w>>>19|E<<13)^(E>>>29|w<<3)^w>>>6),T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,N[S]=65535&m|T<<16,A[S]=65535&P|j<<16;P=65535&(C=L),j=C>>>16,m=65535&(R=U),T=R>>>16,R=e[0],j+=(C=t[0])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[0]=U=65535&m|T<<16,t[0]=L=65535&P|j<<16,P=65535&(C=K),j=C>>>16,m=65535&(R=M),T=R>>>16,R=e[1],j+=(C=t[1])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[1]=M=65535&m|T<<16,t[1]=K=65535&P|j<<16,P=65535&(C=F),j=C>>>16,m=65535&(R=x),T=R>>>16,R=e[2],j+=(C=t[2])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[2]=x=65535&m|T<<16,t[2]=F=65535&P|j<<16,P=65535&(C=H),j=C>>>16,m=65535&(R=W),T=R>>>16,R=e[3],j+=(C=t[3])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[3]=W=65535&m|T<<16,t[3]=H=65535&P|j<<16,P=65535&(C=q),j=C>>>16,m=65535&(R=I),T=R>>>16,R=e[4],j+=(C=t[4])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[4]=I=65535&m|T<<16,t[4]=q=65535&P|j<<16,P=65535&(C=J),j=C>>>16,m=65535&(R=B),T=R>>>16,R=e[5],j+=(C=t[5])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[5]=B=65535&m|T<<16,t[5]=J=65535&P|j<<16,P=65535&(C=Y),j=C>>>16,m=65535&(R=k),T=R>>>16,R=e[6],j+=(C=t[6])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[6]=k=65535&m|T<<16,t[6]=Y=65535&P|j<<16,P=65535&(C=V),j=C>>>16,m=65535&(R=D),T=R>>>16,R=e[7],j+=(C=t[7])>>>16,m+=65535&R,T+=R>>>16,T+=(m+=(j+=(P+=65535&C)>>>16)>>>16)>>>16,e[7]=D=65535&m|T<<16,t[7]=V=65535&P|j<<16,z+=128,n-=128}return n}function Z(e,t,r){var n,o=new Int32Array(8),i=new Int32Array(8),s=new Uint8Array(256),c=r;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,i[0]=4089235720,i[1]=2227873595,i[2]=4271175723,i[3]=1595750129,i[4]=2917565137,i[5]=725511199,i[6]=4215389547,i[7]=327033209,$(o,i,t,r),r%=128,n=0;n<r;n++)s[n]=t[c-r+n];for(s[r]=128,s[(r=256-128*(r<112?1:0))-9]=0,p(s,r-8,c/536870912|0,c<<3),$(o,i,s,r),n=0;n<8;n++)p(e,8*n,o[n],i[n]);return 0}function Q(e,r){var n=t(),o=t(),i=t(),s=t(),c=t(),a=t(),u=t(),d=t(),h=t();k(n,e[1],e[0]),k(h,r[1],r[0]),D(n,n,h),B(o,e[0],e[1]),B(h,r[0],r[1]),D(o,o,h),D(i,e[3],r[3]),D(i,i,l),D(s,e[2],r[2]),B(s,s,s),k(c,o,n),k(a,s,i),B(u,s,i),B(d,o,n),D(e[0],c,a),D(e[1],d,u),D(e[2],u,a),D(e[3],c,d)}function X(e,t,r){var n;for(n=0;n<4;n++)U(e[n],t[n],r)}function ee(e,r){var n=t(),o=t(),i=t();K(i,r[2]),D(n,r[0],i),D(o,r[1],i),M(e,o),e[31]^=W(n)<<7}function te(e,t,r){var n,o;for(N(e[0],s),N(e[1],c),N(e[2],c),N(e[3],s),o=255;o>=0;--o)X(e,t,n=r[o/8|0]>>(7&o)&1),Q(t,e),Q(e,e),X(e,t,n)}function re(e,r){var n=[t(),t(),t(),t()];N(n[0],d),N(n[1],h),N(n[2],c),D(n[3],d,h),te(e,n,r)}function ne(e,r,o){var i,s=new Uint8Array(64),c=[t(),t(),t(),t()];for(o||n(r,32),Z(s,r,32),s[0]&=248,s[31]&=127,s[31]|=64,re(c,s),ee(e,c),i=0;i<32;i++)r[i+32]=e[i];return 0}var oe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ie(e,t){var r,n,o,i;for(n=63;n>=32;--n){for(r=0,o=n-32,i=n-12;o<i;++o)t[o]+=r-16*t[n]*oe[o-(n-32)],r=Math.floor((t[o]+128)/256),t[o]-=256*r;t[o]+=r,t[n]=0}for(r=0,o=0;o<32;o++)t[o]+=r-(t[31]>>4)*oe[o],r=t[o]>>8,t[o]&=255;for(o=0;o<32;o++)t[o]-=r*oe[o];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function se(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;ie(e,r)}function ce(e,r,n,o){var i,s,c=new Uint8Array(64),a=new Uint8Array(64),u=new Uint8Array(64),l=new Float64Array(64),d=[t(),t(),t(),t()];Z(c,o,32),c[0]&=248,c[31]&=127,c[31]|=64;var h=n+64;for(i=0;i<n;i++)e[64+i]=r[i];for(i=0;i<32;i++)e[32+i]=c[32+i];for(Z(u,e.subarray(32),n+32),se(u),re(d,u),ee(e,d),i=32;i<64;i++)e[i]=o[i];for(Z(a,e,n+64),se(a),i=0;i<64;i++)l[i]=0;for(i=0;i<32;i++)l[i]=u[i];for(i=0;i<32;i++)for(s=0;s<32;s++)l[i+s]+=a[i]*c[s];return ie(e.subarray(32),l),h}function ae(e,r,n,o){var i,a=new Uint8Array(32),l=new Uint8Array(64),d=[t(),t(),t(),t()],h=[t(),t(),t(),t()];if(n<64)return-1;if(function(e,r){var n=t(),o=t(),i=t(),a=t(),l=t(),d=t(),h=t();return N(e[2],c),I(e[1],r),L(i,e[1]),D(a,i,u),k(i,i,e[2]),B(a,e[2],a),L(l,a),L(d,l),D(h,d,l),D(n,h,i),D(n,n,a),F(n,n),D(n,n,i),D(n,n,a),D(n,n,a),D(e[0],n,a),L(o,e[0]),D(o,o,a),x(o,i)&&D(e[0],e[0],f),L(o,e[0]),D(o,o,a),x(o,i)?-1:(W(e[0])===r[31]>>7&&k(e[0],s,e[0]),D(e[3],e[0],e[1]),0)}(h,o))return-1;for(i=0;i<n;i++)e[i]=r[i];for(i=0;i<32;i++)e[i+32]=o[i];if(Z(l,e,n),se(l),te(d,h,l),re(h,r.subarray(32)),Q(d,h),ee(a,d),n-=64,v(r,0,a,0)){for(i=0;i<n;i++)e[i]=0;return-1}for(i=0;i<n;i++)e[i]=r[i+64];return n}var ue=64,le=32,de=64;function he(e,t){if(32!==e.length)throw new Error("bad key size");if(24!==t.length)throw new Error("bad nonce size")}function fe(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function pe(e){for(var t=0;t<e.length;t++)e[t]=0}e.lowlevel={crypto_core_hsalsa20:b,crypto_stream_xor:R,crypto_stream:S,crypto_stream_salsa20_xor:E,crypto_stream_salsa20:O,crypto_onetimeauth:P,crypto_onetimeauth_verify:j,crypto_verify_16:_,crypto_verify_32:v,crypto_secretbox:m,crypto_secretbox_open:T,crypto_scalarmult:H,crypto_scalarmult_base:q,crypto_box_beforenm:Y,crypto_box_afternm:V,crypto_box:function(e,t,r,n,o,i){var s=new Uint8Array(32);return Y(s,o,i),V(e,t,r,n,s)},crypto_box_open:function(e,t,r,n,o,i){var s=new Uint8Array(32);return Y(s,o,i),z(e,t,r,n,s)},crypto_box_keypair:J,crypto_hash:Z,crypto_sign:ce,crypto_sign_keypair:ne,crypto_sign_open:ae,crypto_secretbox_KEYBYTES:32,crypto_secretbox_NONCEBYTES:24,crypto_secretbox_ZEROBYTES:32,crypto_secretbox_BOXZEROBYTES:16,crypto_scalarmult_BYTES:32,crypto_scalarmult_SCALARBYTES:32,crypto_box_PUBLICKEYBYTES:32,crypto_box_SECRETKEYBYTES:32,crypto_box_BEFORENMBYTES:32,crypto_box_NONCEBYTES:24,crypto_box_ZEROBYTES:32,crypto_box_BOXZEROBYTES:16,crypto_sign_BYTES:ue,crypto_sign_PUBLICKEYBYTES:le,crypto_sign_SECRETKEYBYTES:de,crypto_sign_SEEDBYTES:32,crypto_hash_BYTES:64,gf:t,D:u,L:oe,pack25519:M,unpack25519:I,M:D,A:B,S:L,Z:k,pow2523:F,add:Q,set25519:N,modL:ie,scalarmult:te,scalarbase:re},e.randomBytes=function(e){var t=new Uint8Array(e);return n(t,e),t},e.secretbox=function(e,t,r){fe(e,t,r),he(r,t);for(var n=new Uint8Array(32+e.length),o=new Uint8Array(n.length),i=0;i<e.length;i++)n[i+32]=e[i];return m(o,n,n.length,t,r),o.subarray(16)},e.secretbox.open=function(e,t,r){fe(e,t,r),he(r,t);for(var n=new Uint8Array(16+e.length),o=new Uint8Array(n.length),i=0;i<e.length;i++)n[i+16]=e[i];return n.length<32||0!==T(o,n,n.length,t,r)?null:o.subarray(32)},e.secretbox.keyLength=32,e.secretbox.nonceLength=24,e.secretbox.overheadLength=16,e.scalarMult=function(e,t){if(fe(e,t),32!==e.length)throw new Error("bad n size");if(32!==t.length)throw new Error("bad p size");var r=new Uint8Array(32);return H(r,e,t),r},e.scalarMult.base=function(e){if(fe(e),32!==e.length)throw new Error("bad n size");var t=new Uint8Array(32);return q(t,e),t},e.scalarMult.scalarLength=32,e.scalarMult.groupElementLength=32,e.box=function(t,r,n,o){var i=e.box.before(n,o);return e.secretbox(t,r,i)},e.box.before=function(e,t){fe(e,t),function(e,t){if(32!==e.length)throw new Error("bad public key size");if(32!==t.length)throw new Error("bad secret key size")}(e,t);var r=new Uint8Array(32);return Y(r,e,t),r},e.box.after=e.secretbox,e.box.open=function(t,r,n,o){var i=e.box.before(n,o);return e.secretbox.open(t,r,i)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(32);return J(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if(fe(e),32!==e.length)throw new Error("bad secret key size");var t=new Uint8Array(32);return q(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=32,e.box.secretKeyLength=32,e.box.sharedKeyLength=32,e.box.nonceLength=24,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if(fe(e,t),t.length!==de)throw new Error("bad secret key size");var r=new Uint8Array(ue+e.length);return ce(r,e,e.length,t),r},e.sign.open=function(e,t){if(fe(e,t),t.length!==le)throw new Error("bad public key size");var r=new Uint8Array(e.length),n=ae(r,e,e.length,t);if(n<0)return null;for(var o=new Uint8Array(n),i=0;i<o.length;i++)o[i]=r[i];return o},e.sign.detached=function(t,r){for(var n=e.sign(t,r),o=new Uint8Array(ue),i=0;i<o.length;i++)o[i]=n[i];return o},e.sign.detached.verify=function(e,t,r){if(fe(e,t,r),t.length!==ue)throw new Error("bad signature size");if(r.length!==le)throw new Error("bad public key size");var n,o=new Uint8Array(ue+e.length),i=new Uint8Array(ue+e.length);for(n=0;n<ue;n++)o[n]=t[n];for(n=0;n<e.length;n++)o[n+ue]=e[n];return ae(i,o,o.length,r)>=0},e.sign.keyPair=function(){var e=new Uint8Array(le),t=new Uint8Array(de);return ne(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(fe(e),e.length!==de)throw new Error("bad secret key size");for(var t=new Uint8Array(le),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(fe(e),32!==e.length)throw new Error("bad seed size");for(var t=new Uint8Array(le),r=new Uint8Array(de),n=0;n<32;n++)r[n]=e[n];return ne(t,r,!0),{publicKey:t,secretKey:r}},e.sign.publicKeyLength=le,e.sign.secretKeyLength=de,e.sign.seedLength=32,e.sign.signatureLength=ue,e.hash=function(e){fe(e);var t=new Uint8Array(64);return Z(t,e,e.length),t},e.hash.hashLength=64,e.verify=function(e,t){return fe(e,t),0!==e.length&&0!==t.length&&e.length===t.length&&0===y(e,0,t,0,e.length)},e.setPRNG=function(e){n=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;t&&t.getRandomValues?e.setPRNG((function(e,r){var n,o=new Uint8Array(r);for(n=0;n<r;n+=65536)t.getRandomValues(o.subarray(n,n+Math.min(r-n,65536)));for(n=0;n<r;n++)e[n]=o[n];pe(o)})):(t=r(5338))&&t.randomBytes&&e.setPRNG((function(e,r){var n,o=t.randomBytes(r);for(n=0;n<r;n++)e[n]=o[n];pe(o)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})},8058:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionCrypto=void 0;var n=r(6196);Object.defineProperty(t,"SessionCrypto",{enumerable:!0,get:function(){return n.SessionCrypto}})},6196:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SessionCrypto=void 0;const utils_1=__webpack_require__(4586),tweetnacl_1=__importDefault(__webpack_require__(717));if((0,utils_1.isNode)())try{eval("global.crypto = require('crypto').webcrypto")}catch(e){}class SessionCrypto{constructor(e){this.nonceLength=24,this.keyPair=e?this.createKeypairFromString(e):this.createKeypair(),this.sessionId=(0,utils_1.toHexString)(this.keyPair.publicKey)}createKeypair(){return tweetnacl_1.default.box.keyPair()}createKeypairFromString(e){return{publicKey:(0,utils_1.hexToByteArray)(e.publicKey),secretKey:(0,utils_1.hexToByteArray)(e.secretKey)}}createNonce(){const e=new Uint8Array(this.nonceLength);return crypto.getRandomValues(e)}encrypt(e,t){const r=(new TextEncoder).encode(e),n=this.createNonce(),o=tweetnacl_1.default.box(r,n,t,this.keyPair.secretKey);return(0,utils_1.concatUint8Arrays)(n,o)}decrypt(e,t){const[r,n]=(0,utils_1.splitToUint8Arrays)(e,this.nonceLength),o=tweetnacl_1.default.box.open(n,r,t,this.keyPair.secretKey);if(!o)throw new Error(`Decryption error: \n message: ${e.toString()} \n sender pubkey: ${t.toString()} \n keypair pubkey: ${this.keyPair.publicKey.toString()} \n keypair secretkey: ${this.keyPair.secretKey.toString()}`);return(new TextDecoder).decode(o)}stringifyKeypair(){return{publicKey:(0,utils_1.toHexString)(this.keyPair.publicKey),secretKey:(0,utils_1.toHexString)(this.keyPair.secretKey)}}}exports.SessionCrypto=SessionCrypto},827:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(9855),t),o(r(8058),t),o(r(4586),t)},7929:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CHAIN=void 0,(r=t.CHAIN||(t.CHAIN={})).MAINNET="-239",r.TESTNET="-3"},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},992:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(2859),t),o(r(4469),t)},2859:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9855:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.CHAIN=void 0,o(r(992),t),o(r(7250),t);var i=r(7929);Object.defineProperty(t,"CHAIN",{enumerable:!0,get:function(){return i.CHAIN}})},7250:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(6910),t),o(r(1712),t)},7395:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.CONNECT_ITEM_ERROR_CODES=t.CONNECT_EVENT_ERROR_CODES=void 0,(n=t.CONNECT_EVENT_ERROR_CODES||(t.CONNECT_EVENT_ERROR_CODES={}))[n.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",n[n.BAD_REQUEST_ERROR=1]="BAD_REQUEST_ERROR",n[n.MANIFEST_NOT_FOUND_ERROR=2]="MANIFEST_NOT_FOUND_ERROR",n[n.MANIFEST_CONTENT_ERROR=3]="MANIFEST_CONTENT_ERROR",n[n.UNKNOWN_APP_ERROR=100]="UNKNOWN_APP_ERROR",n[n.USER_REJECTS_ERROR=300]="USER_REJECTS_ERROR",n[n.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED",(r=t.CONNECT_ITEM_ERROR_CODES||(t.CONNECT_ITEM_ERROR_CODES={}))[r.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",r[r.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED"},6910:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CONNECT_EVENT_ERROR_CODES=void 0;var n=r(7395);Object.defineProperty(t,"CONNECT_EVENT_ERROR_CODES",{enumerable:!0,get:function(){return n.CONNECT_EVENT_ERROR_CODES}})},1712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SEND_TRANSACTION_ERROR_CODES=void 0;var n=r(7487);Object.defineProperty(t,"SEND_TRANSACTION_ERROR_CODES",{enumerable:!0,get:function(){return n.SEND_TRANSACTION_ERROR_CODES}})},7487:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.SEND_TRANSACTION_ERROR_CODES=void 0,(r=t.SEND_TRANSACTION_ERROR_CODES||(t.SEND_TRANSACTION_ERROR_CODES={}))[r.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",r[r.BAD_REQUEST_ERROR=1]="BAD_REQUEST_ERROR",r[r.UNKNOWN_APP_ERROR=100]="UNKNOWN_APP_ERROR",r[r.USER_REJECTS_ERROR=300]="USER_REJECTS_ERROR",r[r.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED"},4444:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Base64=void 0;const o=n(r(251));t.Base64={encode:function(e,t=!1){let r;return e instanceof Uint8Array?r=e:("string"!=typeof e&&(e=JSON.stringify(e)),r=o.default.decodeUTF8(e)),function(e,t){const r=o.default.encodeBase64(e);return t?encodeURIComponent(r):r}(r,t)},decode:function(e,t=!1){const r=function(e,t){return t&&(e=decodeURIComponent(e)),o.default.decodeBase64(e)}(e,t);return{toString:()=>o.default.encodeUTF8(r),toObject(){try{return JSON.parse(o.default.encodeUTF8(r))}catch(e){return null}},toUint8Array:()=>r}}}},6650:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hexToByteArray=t.toHexString=t.splitToUint8Arrays=t.concatUint8Arrays=void 0,t.concatUint8Arrays=function(e,t){const r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r},t.splitToUint8Arrays=function(e,t){if(t>=e.length)throw new Error("Index is out of buffer");return[e.slice(0,t),e.slice(t)]},t.toHexString=function(e){let t="";return e.forEach((e=>{t+=("0"+(255&e).toString(16)).slice(-2)})),t},t.hexToByteArray=function(e){if(e.length%2!=0)throw new Error(`Cannot convert ${e} to bytesArray`);const t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=parseInt(e.slice(r,r+2),16);return t}},4586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNode=t.hexToByteArray=t.toHexString=t.splitToUint8Arrays=t.concatUint8Arrays=t.Base64=void 0;var n=r(4444);Object.defineProperty(t,"Base64",{enumerable:!0,get:function(){return n.Base64}});var o=r(6650);Object.defineProperty(t,"concatUint8Arrays",{enumerable:!0,get:function(){return o.concatUint8Arrays}}),Object.defineProperty(t,"splitToUint8Arrays",{enumerable:!0,get:function(){return o.splitToUint8Arrays}}),Object.defineProperty(t,"toHexString",{enumerable:!0,get:function(){return o.toHexString}}),Object.defineProperty(t,"hexToByteArray",{enumerable:!0,get:function(){return o.hexToByteArray}});var i=r(3308);Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return i.isNode}})},3308:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNode=void 0,t.isNode=function(){return"undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node}},5338:()=>{}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__(4027);TonConnectSDK=__webpack_exports__})();
|
|
1
|
+
var TonConnectSDK;(()=>{var e={614:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrongAddressError=void 0;var n=r(3748);Object.defineProperty(t,"WrongAddressError",{enumerable:!0,get:function(){return n.WrongAddressError}})},3748:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrongAddressError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Passed address is in incorrect format."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WrongAddressError=o},9499:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseHexError=void 0;var n=r(3020);Object.defineProperty(t,"ParseHexError",{enumerable:!0,get:function(){return n.ParseHexError}})},3020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseHexError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Passed hex is in incorrect format."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.ParseHexError=o},1068:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DappMetadataError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Passed DappMetadata is in incorrect format."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.DappMetadataError=o},2764:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownError=t.TonConnectError=void 0,o(r(2205),t),o(r(8474),t),o(r(3536),t),o(r(3847),t),o(r(614),t),o(r(9499),t);var i=r(6473);Object.defineProperty(t,"TonConnectError",{enumerable:!0,get:function(){return i.TonConnectError}});var s=r(3861);Object.defineProperty(t,"UnknownError",{enumerable:!0,get:function(){return s.UnknownError}})},8674:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserRejectsError=void 0;var n=r(657);Object.defineProperty(t,"UserRejectsError",{enumerable:!0,get:function(){return n.UserRejectsError}})},8351:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestContentErrorError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Passed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest"}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.ManifestContentErrorError=o},3008:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestNotFoundError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Manifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest"}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.ManifestNotFoundError=o},657:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserRejectsError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"User rejects the action in the wallet."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.UserRejectsError=o},3283:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(8674),t)},2205:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(3283),t),o(r(354),t)},3031:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BadRequestError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Request to the wallet contains errors."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.BadRequestError=o},354:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownAppError=t.BadRequestError=void 0;var n=r(3031);Object.defineProperty(t,"BadRequestError",{enumerable:!0,get:function(){return n.BadRequestError}});var o=r(801);Object.defineProperty(t,"UnknownAppError",{enumerable:!0,get:function(){return o.UnknownAppError}})},801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownAppError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"App tries to send rpc request to the injected wallet while not connected."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.UnknownAppError=o},3536:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalstorageNotFoundError=void 0;var n=r(7701);Object.defineProperty(t,"LocalstorageNotFoundError",{enumerable:!0,get:function(){return n.LocalstorageNotFoundError}})},7701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalstorageNotFoundError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Storage was not specified in the `DappMetadata` and default `localStorage` was not detected in the environment."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.LocalstorageNotFoundError=o},6473:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TonConnectError=void 0;class r extends Error{constructor(e,t){super(e,t),this.message=`${r.prefix} ${this.constructor.name}${this.info?": "+this.info:""}${e?"\n"+e:""}`,Object.setPrototypeOf(this,r.prototype)}get info(){return""}}t.TonConnectError=r,r.prefix="[TON_CONNECT_SDK_ERROR]"},3861:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnknownError=void 0;const n=r(6473);class o extends n.TonConnectError{constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.UnknownError=o},8474:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotInjectedError=t.WalletNotConnectedError=t.WalletAlreadyConnectedError=void 0;var n=r(4512);Object.defineProperty(t,"WalletAlreadyConnectedError",{enumerable:!0,get:function(){return n.WalletAlreadyConnectedError}});var o=r(5268);Object.defineProperty(t,"WalletNotConnectedError",{enumerable:!0,get:function(){return o.WalletNotConnectedError}});var i=r(6067);Object.defineProperty(t,"WalletNotInjectedError",{enumerable:!0,get:function(){return i.WalletNotInjectedError}})},4512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletAlreadyConnectedError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Wallet connection called but wallet already connected. To avoid the error, disconnect the wallet before doing a new connection."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletAlreadyConnectedError=o},5268:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotConnectedError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Send transaction or other protocol methods called while wallet is not connected."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletNotConnectedError=o},6067:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotInjectedError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"There is an attempt to connect to the injected wallet while it is not exists in the webpage."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletNotInjectedError=o},4610:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalletNotSupportFeatureError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"Wallet doesn't support requested feature method."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.WalletNotSupportFeatureError=o},8814:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchWalletsError=void 0;const n=r(6473);class o extends n.TonConnectError{get info(){return"An error occurred while fetching the wallets list."}constructor(...e){super(...e),Object.setPrototypeOf(this,o.prototype)}}t.FetchWalletsError=o},3847:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchWalletsError=void 0;var n=r(8814);Object.defineProperty(t,"FetchWalletsError",{enumerable:!0,get:function(){return n.FetchWalletsError}})},1920:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.toUserFriendlyAddress=t.CONNECT_ITEM_ERROR_CODES=t.CHAIN=t.default=void 0,o(r(8884),t),o(r(5622),t),o(r(2764),t);var i=r(8884);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i.TonConnect}});var s=r(9461);Object.defineProperty(t,"CHAIN",{enumerable:!0,get:function(){return s.CHAIN}}),Object.defineProperty(t,"CONNECT_ITEM_ERROR_CODES",{enumerable:!0,get:function(){return s.CONNECT_ITEM_ERROR_CODES}});var a=r(6754);Object.defineProperty(t,"toUserFriendlyAddress",{enumerable:!0,get:function(){return a.toUserFriendlyAddress}})},5622:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(75),t),o(r(2913),t)},4354:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2913:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(4354),t),o(r(3989),t)},3989:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},75:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWalletInfoInjected=t.isWalletInfoRemote=t.isWalletInfoInjectable=t.isWalletInfoCurrentlyEmbedded=t.isWalletInfoCurrentlyInjected=void 0;var n=r(9546);Object.defineProperty(t,"isWalletInfoCurrentlyInjected",{enumerable:!0,get:function(){return n.isWalletInfoCurrentlyInjected}}),Object.defineProperty(t,"isWalletInfoCurrentlyEmbedded",{enumerable:!0,get:function(){return n.isWalletInfoCurrentlyEmbedded}}),Object.defineProperty(t,"isWalletInfoInjectable",{enumerable:!0,get:function(){return n.isWalletInfoInjectable}}),Object.defineProperty(t,"isWalletInfoRemote",{enumerable:!0,get:function(){return n.isWalletInfoRemote}}),Object.defineProperty(t,"isWalletInfoInjected",{enumerable:!0,get:function(){return n.isWalletInfoInjected}})},1431:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWalletConnectionSourceJS=void 0,t.isWalletConnectionSourceJS=function(e){return"jsBridgeKey"in e}},9546:(e,t)=>{"use strict";function r(e){return n(e)&&e.injected}function n(e){return"jsBridgeKey"in e}Object.defineProperty(t,"__esModule",{value:!0}),t.isWalletInfoInjected=t.isWalletInfoRemote=t.isWalletInfoInjectable=t.isWalletInfoCurrentlyEmbedded=t.isWalletInfoCurrentlyInjected=void 0,t.isWalletInfoCurrentlyInjected=r,t.isWalletInfoCurrentlyEmbedded=function(e){return r(e)&&e.embedded},t.isWalletInfoInjectable=n,t.isWalletInfoRemote=function(e){return"bridgeUrl"in e},t.isWalletInfoInjected=function(e){return"jsBridgeKey"in e}},4527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.connectErrorsParser=void 0;const n=r(2764),o=r(8351),i=r(3008),s=r(3861),a=r(9461),c={[a.CONNECT_EVENT_ERROR_CODES.UNKNOWN_ERROR]:s.UnknownError,[a.CONNECT_EVENT_ERROR_CODES.USER_REJECTS_ERROR]:n.UserRejectsError,[a.CONNECT_EVENT_ERROR_CODES.BAD_REQUEST_ERROR]:n.BadRequestError,[a.CONNECT_EVENT_ERROR_CODES.UNKNOWN_APP_ERROR]:n.UnknownAppError,[a.CONNECT_EVENT_ERROR_CODES.MANIFEST_NOT_FOUND_ERROR]:i.ManifestNotFoundError,[a.CONNECT_EVENT_ERROR_CODES.MANIFEST_CONTENT_ERROR]:o.ManifestContentErrorError};t.connectErrorsParser=new class{parseError(e){let t=s.UnknownError;return e.code in c&&(t=c[e.code]||s.UnknownError),new t(e.message)}}},2437:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RpcParser=void 0,t.RpcParser=class{isError(e){return"error"in e}}},7791:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sendTransactionParser=void 0;const n=r(9461),o=r(2764),i=r(3861),s=r(2437),a={[n.SEND_TRANSACTION_ERROR_CODES.UNKNOWN_ERROR]:i.UnknownError,[n.SEND_TRANSACTION_ERROR_CODES.USER_REJECTS_ERROR]:o.UserRejectsError,[n.SEND_TRANSACTION_ERROR_CODES.BAD_REQUEST_ERROR]:o.BadRequestError,[n.SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]:o.UnknownAppError};class c extends s.RpcParser{convertToRpcRequest(e){return{method:"sendTransaction",params:[JSON.stringify(e)]}}parseAndThrowError(e){let t=i.UnknownError;throw e.error.code in a&&(t=a[e.error.code]||i.UnknownError),new t(e.error.message)}convertFromRpcResponse(e){return{boc:e.result}}}t.sendTransactionParser=new c},9478:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BridgeGateway=void 0;const o=r(9461),i=r(2764),s=r(9493),a=r(5370);r(618),r(3783),t.BridgeGateway=class{constructor(e,t,r,n,o){this.bridgeUrl=t,this.sessionId=r,this.listener=n,this.errorsListener=o,this.ssePath="events",this.postPath="message",this.heartbeatMessage="heartbeat",this.defaultTtl=300,this.isClosed=!1,this.bridgeGatewayStorage=new s.HttpBridgeGatewayStorage(e,t)}registerSession(){return n(this,void 0,void 0,(function*(){const e=new URL((0,a.addPathToUrl)(this.bridgeUrl,this.ssePath));e.searchParams.append("client_id",this.sessionId);const t=yield this.bridgeGatewayStorage.getLastEventId();if(!this.isClosed)return t&&e.searchParams.append("last_event_id",t),this.eventSource=new EventSource(e.toString()),new Promise(((e,t)=>{this.eventSource.onerror=t,this.eventSource.onopen=()=>{this.eventSource.onerror=this.errorsHandler.bind(this),this.eventSource.onmessage=this.messagesHandler.bind(this),e()}}))}))}send(e,t,r,i){return n(this,void 0,void 0,(function*(){const n=new URL((0,a.addPathToUrl)(this.bridgeUrl,this.postPath));n.searchParams.append("client_id",this.sessionId),n.searchParams.append("to",t),n.searchParams.append("ttl",(i||this.defaultTtl).toString()),n.searchParams.append("topic",r),yield fetch(n,{method:"post",body:o.Base64.encode(e)})}))}pause(){var e;null===(e=this.eventSource)||void 0===e||e.close()}unPause(){return this.registerSession()}close(){var e;this.isClosed=!0,null===(e=this.eventSource)||void 0===e||e.close()}setListener(e){this.listener=e}setErrorsListener(e){this.errorsListener=e}errorsHandler(e){var t,r;if(!this.isClosed){if((null===(t=this.eventSource)||void 0===t?void 0:t.readyState)===EventSource.CLOSED)return this.eventSource.close(),void this.registerSession();if((null===(r=this.eventSource)||void 0===r?void 0:r.readyState)===EventSource.CONNECTING)return void console.debug("[TON_CONNET_SDK_ERROR]: Bridge error",JSON.stringify(e));this.errorsListener(e)}}messagesHandler(e){return n(this,void 0,void 0,(function*(){if(e.data!==this.heartbeatMessage&&(yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId),!this.isClosed)){let t;try{t=JSON.parse(e.data)}catch(e){throw new i.TonConnectError(`Bridge message parse failed, message ${e.data}`)}this.listener(t)}}))}}},8977:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BridgeProvider=void 0;const o=r(9461),i=r(6473),s=r(9478),a=r(6180),c=r(3160),l=r(1583);class u{constructor(e,t){this.storage=e,this.walletConnectionSource=t,this.type="http",this.standardUniversalLink="tc://",this.pendingRequests=new Map,this.session=null,this.gateway=null,this.pendingGateways=[],this.listeners=[],this.connectionStorage=new a.BridgeConnectionStorage(e)}static fromStorage(e){return n(this,void 0,void 0,(function*(){const t=new a.BridgeConnectionStorage(e),r=yield t.getHttpConnection();return new u(e,{bridgeUrl:r.session.bridgeUrl})}))}connect(e){this.closeGateways();const t=new o.SessionCrypto;let r="",n=this.standardUniversalLink;return Array.isArray(this.walletConnectionSource)?(this.pendingGateways=this.walletConnectionSource.map((e=>{const r=new s.BridgeGateway(this.storage,e.bridgeUrl,t.sessionId,(()=>{}),(e=>{console.error(e)}));return r.setListener((t=>this.pendingGatewaysListener(r,e.bridgeUrl,t))),r})),this.pendingGateways.forEach((e=>e.registerSession()))):(r=this.walletConnectionSource.bridgeUrl,this.walletConnectionSource.universalLink&&(n=this.walletConnectionSource.universalLink),this.gateway=new s.BridgeGateway(this.storage,this.walletConnectionSource.bridgeUrl,t.sessionId,this.gatewayListener.bind(this),this.gatewayErrorsListener.bind(this)),this.gateway.registerSession()),this.session={sessionCrypto:t,bridgeUrl:r},this.generateUniversalLink(n,e)}restoreConnection(){return n(this,void 0,void 0,(function*(){if(Array.isArray(this.walletConnectionSource))throw new i.TonConnectError("Internal error. Connection source is array while WalletConnectionSourceHTTP was expected.");this.closeGateways();const e=yield this.connectionStorage.getHttpConnection();e&&(this.session=e.session,this.gateway=new s.BridgeGateway(this.storage,this.walletConnectionSource.bridgeUrl,e.session.sessionCrypto.sessionId,this.gatewayListener.bind(this),this.gatewayErrorsListener.bind(this)),yield this.gateway.registerSession(),this.listeners.forEach((t=>t(e.connectEvent))))}))}sendRequest(e,t){return new Promise(((r,s)=>n(this,void 0,void 0,(function*(){if(!this.gateway||!this.session||!("walletPublicKey"in this.session))throw new i.TonConnectError("Trying to send bridge request without session");const n=(yield this.connectionStorage.getNextRpcRequestId()).toString();yield this.connectionStorage.increaseNextRpcRequestId(),(0,l.logDebug)("Send http-bridge request:",Object.assign(Object.assign({},e),{id:n}));const a=this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({},e),{id:n})),(0,o.hexToByteArray)(this.session.walletPublicKey));this.gateway.send(a,this.session.walletPublicKey,e.method).catch(s),this.pendingRequests.set(n.toString(),r),null==t||t()}))))}closeConnection(){this.closeGateways(),this.listeners=[],this.session=null,this.gateway=null}disconnect(){return n(this,void 0,void 0,(function*(){return new Promise((e=>n(this,void 0,void 0,(function*(){let t=!1;const r=()=>{t=!0,this.removeBridgeAndSession().then(e)};try{yield this.sendRequest({method:"disconnect",params:[]},r)}catch(r){console.debug(r),t||this.removeBridgeAndSession().then(e)}}))))}))}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter((t=>t!==e))}pause(){var e;null===(e=this.gateway)||void 0===e||e.pause(),this.pendingGateways.forEach((e=>e.pause()))}unPause(){return n(this,void 0,void 0,(function*(){const e=this.pendingGateways.map((e=>e.unPause()));this.gateway&&e.push(this.gateway.unPause()),yield Promise.all(e)}))}pendingGatewaysListener(e,t,r){return n(this,void 0,void 0,(function*(){if(this.pendingGateways.includes(e))return this.closeGateways({except:e}),this.session.bridgeUrl=t,this.gateway=e,this.gateway.setErrorsListener(this.gatewayErrorsListener.bind(this)),this.gateway.setListener(this.gatewayListener.bind(this)),this.gatewayListener(r);e.close()}))}gatewayListener(e){return n(this,void 0,void 0,(function*(){const t=JSON.parse(this.session.sessionCrypto.decrypt(o.Base64.decode(e.message).toUint8Array(),(0,o.hexToByteArray)(e.from)));if((0,l.logDebug)("Wallet message received:",t),!("event"in t)){const e=t.id.toString(),r=this.pendingRequests.get(e);return r?(r(t),void this.pendingRequests.delete(e)):void(0,l.logDebug)(`Response id ${e} doesn't match any request's id`)}if(void 0!==t.id){const e=yield this.connectionStorage.getLastWalletEventId();if(void 0!==e&&t.id<=e)return void(0,l.logError)(`Received event id (=${t.id}) must be greater than stored last wallet event id (=${e}) `);"connect"!==t.event&&(yield this.connectionStorage.storeLastWalletEventId(t.id))}const r=this.listeners;"connect"===t.event&&(yield this.updateSession(t,e.from)),"disconnect"===t.event&&(yield this.removeBridgeAndSession()),r.forEach((e=>e(t)))}))}gatewayErrorsListener(e){return n(this,void 0,void 0,(function*(){throw new i.TonConnectError(`Bridge error ${JSON.stringify(e)}`)}))}updateSession(e,t){return n(this,void 0,void 0,(function*(){this.session=Object.assign(Object.assign({},this.session),{walletPublicKey:t});const r=e.payload.items.find((e=>"ton_addr"===e.name)),n=Object.assign(Object.assign({},e),{payload:Object.assign(Object.assign({},e.payload),{items:[r]})});yield this.connectionStorage.storeConnection({type:"http",session:this.session,lastWalletEventId:e.id,connectEvent:n,nextRpcRequestId:0})}))}removeBridgeAndSession(){return n(this,void 0,void 0,(function*(){this.closeConnection(),yield this.connectionStorage.removeConnection()}))}generateUniversalLink(e,t){const r=new URL(e);return r.searchParams.append("v",c.PROTOCOL_VERSION.toString()),r.searchParams.append("id",this.session.sessionCrypto.sessionId),r.searchParams.append("r",JSON.stringify(t)),r.toString()}closeGateways(e){var t;null===(t=this.gateway)||void 0===t||t.close(),this.pendingGateways.filter((t=>t!==(null==e?void 0:e.except))).forEach((e=>e.close())),this.pendingGateways=[]}}t.BridgeProvider=u},1328:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.InjectedProvider=void 0;const o=r(6067),i=r(5283),s=r(6180),a=r(9590),c=r(3160),l=r(1583);class u{constructor(e,t){this.injectedWalletKey=t,this.type="injected",this.unsubscribeCallback=null,this.listenSubscriptions=!1,this.listeners=[];const r=u.window;if(!u.isWindowContainsWallet(r,t))throw new o.WalletNotInjectedError;this.connectionStorage=new s.BridgeConnectionStorage(e),this.injectedWallet=r[t].tonconnect}static fromStorage(e){return n(this,void 0,void 0,(function*(){const t=new s.BridgeConnectionStorage(e),r=yield t.getInjectedConnection();return new u(e,r.jsBridgeKey)}))}static isWalletInjected(e){return u.isWindowContainsWallet(this.window,e)}static isInsideWalletBrowser(e){return!!u.isWindowContainsWallet(this.window,e)&&this.window[e].tonconnect.isWalletBrowser}static getCurrentlyInjectedWallets(){return this.window?Object.entries(this.window).filter((([e,t])=>(0,i.isJSBridgeWithMetadata)(t))).map((([e,t])=>({name:t.tonconnect.walletInfo.name,aboutUrl:t.tonconnect.walletInfo.about_url,imageUrl:t.tonconnect.walletInfo.image,tondns:t.tonconnect.walletInfo.tondns,jsBridgeKey:e,injected:!0,embedded:t.tonconnect.isWalletBrowser}))):[]}static isWindowContainsWallet(e,t){return!!e&&t in e&&"object"==typeof e[t]&&"tonconnect"in e[t]}connect(e){this._connect(c.PROTOCOL_VERSION,e)}restoreConnection(){return n(this,void 0,void 0,(function*(){try{(0,l.logDebug)("Injected Provider restoring connection...");const e=yield this.injectedWallet.restoreConnection();(0,l.logDebug)("Injected Provider restoring connection response",e),"connect"===e.event?(this.makeSubscriptions(),this.listeners.forEach((t=>t(e)))):yield this.connectionStorage.removeConnection()}catch(e){yield this.connectionStorage.removeConnection(),console.error(e)}}))}closeConnection(){this.listenSubscriptions&&this.injectedWallet.disconnect(),this.closeAllListeners()}disconnect(){return n(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{this.closeAllListeners(),this.connectionStorage.removeConnection().then(e)};try{this.injectedWallet.disconnect(),t()}catch(e){(0,l.logDebug)(e),this.sendRequest({method:"disconnect",params:[]},t)}}))}))}closeAllListeners(){var e;this.listenSubscriptions=!1,this.listeners=[],null===(e=this.unsubscribeCallback)||void 0===e||e.call(this)}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter((t=>t!==e))}sendRequest(e,t){return n(this,void 0,void 0,(function*(){const r=(yield this.connectionStorage.getNextRpcRequestId()).toString();yield this.connectionStorage.increaseNextRpcRequestId(),(0,l.logDebug)("Send injected-bridge request:",Object.assign(Object.assign({},e),{id:r}));const n=this.injectedWallet.send(Object.assign(Object.assign({},e),{id:r}));return n.then((e=>(0,l.logDebug)("Wallet message received:",e))),null==t||t(),n}))}_connect(e,t){return n(this,void 0,void 0,(function*(){try{(0,l.logDebug)(`Injected Provider connect request: protocolVersion: ${e}, message:`,t);const r=yield this.injectedWallet.connect(e,t);(0,l.logDebug)("Injected Provider connect response:",r),"connect"===r.event&&(yield this.updateSession(),this.makeSubscriptions()),this.listeners.forEach((e=>e(r)))}catch(e){(0,l.logDebug)(e);const t={event:"connect_error",payload:{code:0,message:null==e?void 0:e.toString()}};this.listeners.forEach((e=>e(t)))}}))}makeSubscriptions(){this.listenSubscriptions=!0,this.unsubscribeCallback=this.injectedWallet.listen((e=>{(0,l.logDebug)("Wallet message received:",e),this.listenSubscriptions&&this.listeners.forEach((t=>t(e))),"disconnect"===e.event&&this.disconnect()}))}updateSession(){return this.connectionStorage.storeConnection({type:"injected",jsBridgeKey:this.injectedWalletKey,nextRpcRequestId:0})}}t.InjectedProvider=u,u.window=(0,a.getWindow)()},5283:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isJSBridgeWithMetadata=void 0;const n=r(6415);t.isJSBridgeWithMetadata=function(e){try{return!(!(0,n.hasProperty)(e,"tonconnect")||!(0,n.hasProperty)(e.tonconnect,"walletInfo"))&&(0,n.hasProperties)(e.tonconnect.walletInfo,["name","image","about_url"])}catch(e){return!1}}},3160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PROTOCOL_VERSION=void 0,t.PROTOCOL_VERSION=2},6180:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BridgeConnectionStorage=void 0;const o=r(9461),i=r(2764);t.BridgeConnectionStorage=class{constructor(e){this.storage=e,this.storeKey="ton-connect-storage_bridge-connection"}storeConnection(e){return n(this,void 0,void 0,(function*(){if("injected"===e.type)return this.storage.setItem(this.storeKey,JSON.stringify(e));const t={sessionKeyPair:e.session.sessionCrypto.stringifyKeypair(),walletPublicKey:e.session.walletPublicKey,bridgeUrl:e.session.bridgeUrl},r={type:"http",connectEvent:e.connectEvent,session:t,lastWalletEventId:e.lastWalletEventId,nextRpcRequestId:e.nextRpcRequestId};return this.storage.setItem(this.storeKey,JSON.stringify(r))}))}removeConnection(){return n(this,void 0,void 0,(function*(){return this.storage.removeItem(this.storeKey)}))}getConnection(){return n(this,void 0,void 0,(function*(){const e=yield this.storage.getItem(this.storeKey);if(!e)return null;const t=JSON.parse(e);if("injected"===t.type)return t;const r=new o.SessionCrypto(t.session.sessionKeyPair);return{type:"http",connectEvent:t.connectEvent,lastWalletEventId:t.lastWalletEventId,nextRpcRequestId:t.nextRpcRequestId,session:{sessionCrypto:r,bridgeUrl:t.session.bridgeUrl,walletPublicKey:t.session.walletPublicKey}}}))}getHttpConnection(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();if(!e)throw new i.TonConnectError("Trying to read HTTP connection source while nothing is stored");if("injected"===e.type)throw new i.TonConnectError("Trying to read HTTP connection source while injected connection is stored");return e}))}getInjectedConnection(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();if(!e)throw new i.TonConnectError("Trying to read Injected bridge connection source while nothing is stored");if("http"===(null==e?void 0:e.type))throw new i.TonConnectError("Trying to read Injected bridge connection source while HTTP connection is stored");return e}))}storedConnectionType(){return n(this,void 0,void 0,(function*(){const e=yield this.storage.getItem(this.storeKey);return e?JSON.parse(e).type:null}))}storeLastWalletEventId(e){return n(this,void 0,void 0,(function*(){const t=yield this.getConnection();if(t&&"http"===t.type)return t.lastWalletEventId=e,this.storeConnection(t)}))}getLastWalletEventId(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();if(e&&"lastWalletEventId"in e)return e.lastWalletEventId}))}increaseNextRpcRequestId(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();if(e){const t=e.nextRpcRequestId||0;return e.nextRpcRequestId=t+1,this.storeConnection(e)}}))}getNextRpcRequestId(){return n(this,void 0,void 0,(function*(){const e=yield this.getConnection();return e&&e.nextRpcRequestId||0}))}}},2245:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultStorage=void 0;const o=r(7701),i=r(9590);t.DefaultStorage=class{constructor(){const e=(0,i.getWindow)();if(!(null==e?void 0:e.localStorage))throw new o.LocalstorageNotFoundError;this.window=e}getItem(e){return n(this,void 0,void 0,(function*(){return Promise.resolve(this.window.localStorage.getItem(e))}))}removeItem(e){return n(this,void 0,void 0,(function*(){return this.window.localStorage.removeItem(e),Promise.resolve()}))}setItem(e,t){return this.window.localStorage.setItem(e,t),Promise.resolve()}}},9493:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.HttpBridgeGatewayStorage=void 0,t.HttpBridgeGatewayStorage=class{constructor(e,t){this.storage=e,this.storeKey="ton-connect-storage_http-bridge-gateway::"+t}storeLastEventId(e){return r(this,void 0,void 0,(function*(){return this.storage.setItem(this.storeKey,e)}))}removeLastEventId(){return r(this,void 0,void 0,(function*(){return this.storage.removeItem(this.storeKey)}))}getLastEventId(){return r(this,void 0,void 0,(function*(){return(yield this.storage.getItem(this.storeKey))||null}))}}},8884:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r};Object.defineProperty(t,"__esModule",{value:!0}),t.TonConnect=void 0;const i=r(1068),s=r(8351),a=r(3008),c=r(6473),l=r(4512),u=r(5268),d=r(1431),h=r(4527),f=r(7791),p=r(8977),y=r(1328),g=r(6180),v=r(2245),E=r(9590),w=r(7419),b=r(1002);class _{constructor(e){if(this.walletsList=new w.WalletsListManager,this._wallet=null,this.provider=null,this.statusChangeSubscriptions=[],this.statusChangeErrorSubscriptions=[],this.dappSettings={manifestUrl:(null==e?void 0:e.manifestUrl)||(0,E.getWebPageManifest)(),storage:(null==e?void 0:e.storage)||new v.DefaultStorage},this.walletsList=new w.WalletsListManager(null==e?void 0:e.walletsListSource),!this.dappSettings.manifestUrl)throw new i.DappMetadataError("Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest");this.bridgeConnectionStorage=new g.BridgeConnectionStorage(this.dappSettings.storage),(null==e?void 0:e.disableAutoPauseConnection)||this.addWindowFocusAndBlurSubscriptions()}static getWallets(){return this.walletsList.getWallets()}get connected(){return null!==this._wallet}get account(){var e;return(null===(e=this._wallet)||void 0===e?void 0:e.account)||null}get wallet(){return this._wallet}set wallet(e){this._wallet=e,this.statusChangeSubscriptions.forEach((e=>e(this._wallet)))}getWallets(){return this.walletsList.getWallets()}onStatusChange(e,t){return this.statusChangeSubscriptions.push(e),t&&this.statusChangeErrorSubscriptions.push(t),()=>{this.statusChangeSubscriptions=this.statusChangeSubscriptions.filter((t=>t!==e)),t&&(this.statusChangeErrorSubscriptions=this.statusChangeErrorSubscriptions.filter((e=>e!==t)))}}connect(e,t){var r;if(this.connected)throw new l.WalletAlreadyConnectedError;return null===(r=this.provider)||void 0===r||r.closeConnection(),this.provider=this.createProvider(e),this.provider.connect(this.createConnectRequest(t))}restoreConnection(){return n(this,void 0,void 0,(function*(){const[e,t]=yield Promise.all([this.bridgeConnectionStorage.storedConnectionType(),this.walletsList.getEmbeddedWallet()]);try{switch(e){case"http":this.provider=yield p.BridgeProvider.fromStorage(this.dappSettings.storage);break;case"injected":this.provider=yield y.InjectedProvider.fromStorage(this.dappSettings.storage);break;default:if(!t)return;this.provider=yield this.createProvider(t)}}catch(e){return yield this.bridgeConnectionStorage.removeConnection(),void(this.provider=null)}return this.provider.listen(this.walletEventsListener.bind(this)),this.provider.restoreConnection()}))}sendTransaction(e){return n(this,void 0,void 0,(function*(){this.checkConnection(),(0,b.checkSendTransactionSupport)(this.wallet.device.features,{requiredMessagesNumber:e.messages.length});const{validUntil:t}=e,r=o(e,["validUntil"]),n=e.from||this.account.address,i=e.network||this.account.chain,s=yield this.provider.sendRequest(f.sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({},r),{valid_until:t,from:n,network:i})));return f.sendTransactionParser.isError(s)?f.sendTransactionParser.parseAndThrowError(s):f.sendTransactionParser.convertFromRpcResponse(s)}))}disconnect(){return n(this,void 0,void 0,(function*(){if(!this.connected)throw new u.WalletNotConnectedError;yield this.provider.disconnect(),this.onWalletDisconnected()}))}pauseConnection(){var e;"http"===(null===(e=this.provider)||void 0===e?void 0:e.type)&&this.provider.pause()}unPauseConnection(){var e;return"http"!==(null===(e=this.provider)||void 0===e?void 0:e.type)?Promise.resolve():this.provider.unPause()}addWindowFocusAndBlurSubscriptions(){const e=(0,E.getDocument)();if(e)try{e.addEventListener("visibilitychange",(()=>{e.hidden?this.pauseConnection():this.unPauseConnection()}))}catch(e){console.error("Cannot subscribe to the document.visibilitychange: ",e)}}createProvider(e){let t;return t=!Array.isArray(e)&&(0,d.isWalletConnectionSourceJS)(e)?new y.InjectedProvider(this.dappSettings.storage,e.jsBridgeKey):new p.BridgeProvider(this.dappSettings.storage,e),t.listen(this.walletEventsListener.bind(this)),t}walletEventsListener(e){switch(e.event){case"connect":this.onWalletConnected(e.payload);break;case"connect_error":this.onWalletConnectError(e.payload);break;case"disconnect":this.onWalletDisconnected()}}onWalletConnected(e){const t=e.items.find((e=>"ton_addr"===e.name)),r=e.items.find((e=>"ton_proof"===e.name));if(!t)throw new c.TonConnectError("ton_addr connection item was not found");const n={device:e.device,provider:this.provider.type,account:{address:t.address,chain:t.network,walletStateInit:t.walletStateInit,publicKey:t.publicKey}};r&&(n.connectItems={tonProof:r}),this.wallet=n}onWalletConnectError(e){const t=h.connectErrorsParser.parseError(e);if(this.statusChangeErrorSubscriptions.forEach((e=>e(t))),console.debug(t),t instanceof a.ManifestNotFoundError||t instanceof s.ManifestContentErrorError)throw console.error(t),t}onWalletDisconnected(){this.wallet=null}checkConnection(){if(!this.connected)throw new u.WalletNotConnectedError}createConnectRequest(e){const t=[{name:"ton_addr"}];return(null==e?void 0:e.tonProof)&&t.push({name:"ton_proof",payload:e.tonProof}),{manifestUrl:this.dappSettings.manifestUrl,items:t}}}t.TonConnect=_,_.walletsList=new w.WalletsListManager,_.isWalletInjected=e=>y.InjectedProvider.isWalletInjected(e),_.isInsideWalletBrowser=e=>y.InjectedProvider.isInsideWalletBrowser(e)},6754:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toUserFriendlyAddress=void 0;const n=r(2764),o=r(9461);t.toUserFriendlyAddress=function(e,t=!1){const{wc:r,hex:i}=function(e){if(!e.includes(":"))throw new n.WrongAddressError(`Wrong address ${e}. Address must include ":".`);const t=e.split(":");if(2!==t.length)throw new n.WrongAddressError(`Wrong address ${e}. Address must include ":" only once.`);const r=parseInt(t[0]);if(0!==r&&-1!==r)throw new n.WrongAddressError(`Wrong address ${e}. WC must be eq 0 or -1, but ${r} received.`);const o=t[1];if(64!==(null==o?void 0:o.length))throw new n.WrongAddressError(`Wrong address ${e}. Hex part must be 64bytes length, but ${null==o?void 0:o.length} received.`);return{wc:r,hex:s(o)}}(e);let a=17;t&&(a|=128);const c=new Int8Array(34);c[0]=a,c[1]=r,c.set(i,2);const l=new Uint8Array(36);return l.set(c),l.set(function(e){let t=0;const r=new Uint8Array(e.length+2);r.set(e);for(let e of r){let r=128;for(;r>0;)t<<=1,e&r&&(t+=1),r>>=1,t>65535&&(t&=65535,t^=4129)}return new Uint8Array([Math.floor(t/256),t%256])}(c),34),o.Base64.encode(l).replace(/\+/g,"-").replace(/\//g,"_")};const i={};for(let e=0;e<=255;e++){let t=e.toString(16);t.length<2&&(t="0"+t),i[t]=e}function s(e){const t=(e=e.toLowerCase()).length;if(t%2!=0)throw new n.ParseHexError("Hex string must have length a multiple of 2: "+e);const r=t/2,o=new Uint8Array(r);for(let t=0;t<r;t++){const r=2*t,s=e.substring(r,r+2);if(!i.hasOwnProperty(s))throw new n.ParseHexError("Invalid hex character: "+s);o[t]=i[s]}return o}},1002:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkSendTransactionSupport=void 0;const n=r(1583),o=r(4610);t.checkSendTransactionSupport=function(e,t){const r=e.includes("SendTransaction"),i=e.find((e=>e&&"object"==typeof e&&"SendTransaction"===e.name));if(!r&&!i)throw new o.WalletNotSupportFeatureError("Wallet doesn't support SendTransaction feature.");if(i&&void 0!==i.maxMessages){if(i.maxMessages<t.requiredMessagesNumber)throw new o.WalletNotSupportFeatureError(`Wallet is not able to handle such SendTransaction request. Max support messages number is ${i.maxMessages}, but ${t.requiredMessagesNumber} is required.`)}else(0,n.logWarning)("Connected wallet didn't provide information about max allowed messages in the SendTransaction request. Request may be rejected by the wallet.")}},1583:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.logWarning=t.logError=t.logDebug=void 0,t.logDebug=function(...e){try{console.debug("[TON_CONNECT_SDK]",...e)}catch(e){}},t.logError=function(...e){try{console.error("[TON_CONNECT_SDK]",...e)}catch(e){}},t.logWarning=function(...e){try{console.warn("[TON_CONNECT_SDK]",...e)}catch(e){}}},6415:(e,t)=>{"use strict";function r(e,t){return!(!e||"object"!=typeof e)&&t.every((t=>t in e))}Object.defineProperty(t,"__esModule",{value:!0}),t.hasProperties=t.hasProperty=void 0,t.hasProperty=function(e,t){return r(e,[t])},t.hasProperties=r},5370:(e,t)=>{"use strict";function r(e){return"/"===e.slice(-1)?e.slice(0,-1):e}Object.defineProperty(t,"__esModule",{value:!0}),t.addPathToUrl=t.removeUrlLastSlash=void 0,t.removeUrlLastSlash=r,t.addPathToUrl=function(e,t){return r(e)+"/"+t}},9590:(e,t)=>{"use strict";function r(){if("undefined"!=typeof window)return window}Object.defineProperty(t,"__esModule",{value:!0}),t.getWebPageManifest=t.getDocument=t.getWindow=void 0,t.getWindow=r,t.getDocument=function(){if("undefined"!=typeof document)return document},t.getWebPageManifest=function(){var e;const t=null===(e=r())||void 0===e?void 0:e.location.origin;return t?t+"/tonconnect-manifest.json":""}},7419:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.WalletsListManager=void 0;const o=r(8814),i=r(9546),s=r(1328);t.WalletsListManager=class{constructor(e){this.walletsListCache=null,this.walletsListSource="https://raw.githubusercontent.com/ton-blockchain/wallets-list/main/wallets.json",e&&(this.walletsListSource=e)}getWallets(){return n(this,void 0,void 0,(function*(){return this.walletsListCache||(this.walletsListCache=this.fetchWalletsList(),this.walletsListCache.catch((()=>this.walletsListCache=null))),this.walletsListCache}))}getEmbeddedWallet(){return n(this,void 0,void 0,(function*(){const e=(yield this.getWallets()).filter(i.isWalletInfoCurrentlyEmbedded);return 1!==e.length?null:e[0]}))}fetchWalletsList(){return n(this,void 0,void 0,(function*(){try{const e=yield fetch(this.walletsListSource),t=yield e.json();if(!Array.isArray(t)||!t.every((e=>this.isCorrectWalletConfigDTO(e))))throw new o.FetchWalletsError("Wrong wallets list format");const r=s.InjectedProvider.getCurrentlyInjectedWallets();return this.mergeWalletsLists(this.walletConfigDTOListToWalletConfigList(t),r)}catch(e){throw new o.FetchWalletsError(e)}}))}walletConfigDTOListToWalletConfigList(e){return e.map((e=>{const t={name:e.name,imageUrl:e.image,aboutUrl:e.about_url,tondns:e.tondns};return e.bridge.forEach((r=>{if("sse"===r.type&&(t.bridgeUrl=r.url,t.universalLink=e.universal_url,t.deepLink=e.deepLink),"js"===r.type){const e=r.key;t.jsBridgeKey=e,t.injected=s.InjectedProvider.isWalletInjected(e),t.embedded=s.InjectedProvider.isInsideWalletBrowser(e)}})),t}))}mergeWalletsLists(e,t){return[...new Set(e.concat(t).map((e=>e.name))).values()].map((r=>{const n=e.find((e=>e.name===r)),o=t.find((e=>e.name===r));return Object.assign(Object.assign({},n&&Object.assign({},n)),o&&Object.assign({},o))}))}isCorrectWalletConfigDTO(e){if(!e||"object"!=typeof e)return!1;if(!("name"in e)||!("image"in e)||!("about_url"in e))return!1;if(!("bridge"in e)||!Array.isArray(e.bridge)||!e.bridge.length)return!1;const t=e.bridge;if(t.some((e=>!e||"object"!=typeof e||!("type"in e))))return!1;const r=t.find((e=>"sse"===e.type));if(r&&(!("url"in r)||!r.url||!e.universal_url))return!1;const n=t.find((e=>"js"===e.type));return!!(!n||"key"in n&&n.key)}}},251:function(e){!function(t,r){"use strict";e.exports?e.exports=r():(t.nacl||(t.nacl={}),t.nacl.util=r())}(this,(function(){"use strict";var e={};function t(e){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e))throw new TypeError("invalid encoding")}return e.decodeUTF8=function(e){if("string"!=typeof e)throw new TypeError("expected string");var t,r=unescape(encodeURIComponent(e)),n=new Uint8Array(r.length);for(t=0;t<r.length;t++)n[t]=r.charCodeAt(t);return n},e.encodeUTF8=function(e){var t,r=[];for(t=0;t<e.length;t++)r.push(String.fromCharCode(e[t]));return decodeURIComponent(escape(r.join("")))},"undefined"==typeof atob?void 0!==Buffer.from?(e.encodeBase64=function(e){return Buffer.from(e).toString("base64")},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(Buffer.from(e,"base64"),0))}):(e.encodeBase64=function(e){return new Buffer(e).toString("base64")},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(new Buffer(e,"base64"),0))}):(e.encodeBase64=function(e){var t,r=[],n=e.length;for(t=0;t<n;t++)r.push(String.fromCharCode(e[t]));return btoa(r.join(""))},e.decodeBase64=function(e){t(e);var r,n=atob(e),o=new Uint8Array(n.length);for(r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return o}),e}))},717:(e,t,r)=>{!function(e){"use strict";var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},n=function(){throw new Error("no PRNG")},o=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var s=t(),a=t([1]),c=t([56129,1]),l=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),u=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),f=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function p(e,t,r,n){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function y(e,t,r,n,o){var i,s=0;for(i=0;i<o;i++)s|=e[t+i]^r[n+i];return(1&s-1>>>8)-1}function g(e,t,r,n){return y(e,t,r,n,16)}function v(e,t,r,n){return y(e,t,r,n,32)}function E(e,t,r,n){!function(e,t,r,n){for(var o,i=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,s=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,a=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,c=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,l=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,u=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,d=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,h=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,f=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,y=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,g=255&r[16]|(255&r[17])<<8|(255&r[18])<<16|(255&r[19])<<24,v=255&r[20]|(255&r[21])<<8|(255&r[22])<<16|(255&r[23])<<24,E=255&r[24]|(255&r[25])<<8|(255&r[26])<<16|(255&r[27])<<24,w=255&r[28]|(255&r[29])<<8|(255&r[30])<<16|(255&r[31])<<24,b=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,_=i,O=s,R=a,S=c,C=l,P=u,m=d,N=h,T=f,j=p,U=y,A=g,I=v,W=E,M=w,x=b,D=0;D<20;D+=2)_^=(o=(I^=(o=(T^=(o=(C^=(o=_+I|0)<<7|o>>>25)+_|0)<<9|o>>>23)+C|0)<<13|o>>>19)+T|0)<<18|o>>>14,P^=(o=(O^=(o=(W^=(o=(j^=(o=P+O|0)<<7|o>>>25)+P|0)<<9|o>>>23)+j|0)<<13|o>>>19)+W|0)<<18|o>>>14,U^=(o=(m^=(o=(R^=(o=(M^=(o=U+m|0)<<7|o>>>25)+U|0)<<9|o>>>23)+M|0)<<13|o>>>19)+R|0)<<18|o>>>14,x^=(o=(A^=(o=(N^=(o=(S^=(o=x+A|0)<<7|o>>>25)+x|0)<<9|o>>>23)+S|0)<<13|o>>>19)+N|0)<<18|o>>>14,_^=(o=(S^=(o=(R^=(o=(O^=(o=_+S|0)<<7|o>>>25)+_|0)<<9|o>>>23)+O|0)<<13|o>>>19)+R|0)<<18|o>>>14,P^=(o=(C^=(o=(N^=(o=(m^=(o=P+C|0)<<7|o>>>25)+P|0)<<9|o>>>23)+m|0)<<13|o>>>19)+N|0)<<18|o>>>14,U^=(o=(j^=(o=(T^=(o=(A^=(o=U+j|0)<<7|o>>>25)+U|0)<<9|o>>>23)+A|0)<<13|o>>>19)+T|0)<<18|o>>>14,x^=(o=(M^=(o=(W^=(o=(I^=(o=x+M|0)<<7|o>>>25)+x|0)<<9|o>>>23)+I|0)<<13|o>>>19)+W|0)<<18|o>>>14;_=_+i|0,O=O+s|0,R=R+a|0,S=S+c|0,C=C+l|0,P=P+u|0,m=m+d|0,N=N+h|0,T=T+f|0,j=j+p|0,U=U+y|0,A=A+g|0,I=I+v|0,W=W+E|0,M=M+w|0,x=x+b|0,e[0]=_>>>0&255,e[1]=_>>>8&255,e[2]=_>>>16&255,e[3]=_>>>24&255,e[4]=O>>>0&255,e[5]=O>>>8&255,e[6]=O>>>16&255,e[7]=O>>>24&255,e[8]=R>>>0&255,e[9]=R>>>8&255,e[10]=R>>>16&255,e[11]=R>>>24&255,e[12]=S>>>0&255,e[13]=S>>>8&255,e[14]=S>>>16&255,e[15]=S>>>24&255,e[16]=C>>>0&255,e[17]=C>>>8&255,e[18]=C>>>16&255,e[19]=C>>>24&255,e[20]=P>>>0&255,e[21]=P>>>8&255,e[22]=P>>>16&255,e[23]=P>>>24&255,e[24]=m>>>0&255,e[25]=m>>>8&255,e[26]=m>>>16&255,e[27]=m>>>24&255,e[28]=N>>>0&255,e[29]=N>>>8&255,e[30]=N>>>16&255,e[31]=N>>>24&255,e[32]=T>>>0&255,e[33]=T>>>8&255,e[34]=T>>>16&255,e[35]=T>>>24&255,e[36]=j>>>0&255,e[37]=j>>>8&255,e[38]=j>>>16&255,e[39]=j>>>24&255,e[40]=U>>>0&255,e[41]=U>>>8&255,e[42]=U>>>16&255,e[43]=U>>>24&255,e[44]=A>>>0&255,e[45]=A>>>8&255,e[46]=A>>>16&255,e[47]=A>>>24&255,e[48]=I>>>0&255,e[49]=I>>>8&255,e[50]=I>>>16&255,e[51]=I>>>24&255,e[52]=W>>>0&255,e[53]=W>>>8&255,e[54]=W>>>16&255,e[55]=W>>>24&255,e[56]=M>>>0&255,e[57]=M>>>8&255,e[58]=M>>>16&255,e[59]=M>>>24&255,e[60]=x>>>0&255,e[61]=x>>>8&255,e[62]=x>>>16&255,e[63]=x>>>24&255}(e,t,r,n)}function w(e,t,r,n){!function(e,t,r,n){for(var o,i=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,s=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,a=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,c=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,l=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,u=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,d=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,h=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,f=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,p=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,y=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,g=255&r[16]|(255&r[17])<<8|(255&r[18])<<16|(255&r[19])<<24,v=255&r[20]|(255&r[21])<<8|(255&r[22])<<16|(255&r[23])<<24,E=255&r[24]|(255&r[25])<<8|(255&r[26])<<16|(255&r[27])<<24,w=255&r[28]|(255&r[29])<<8|(255&r[30])<<16|(255&r[31])<<24,b=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,_=0;_<20;_+=2)i^=(o=(v^=(o=(f^=(o=(l^=(o=i+v|0)<<7|o>>>25)+i|0)<<9|o>>>23)+l|0)<<13|o>>>19)+f|0)<<18|o>>>14,u^=(o=(s^=(o=(E^=(o=(p^=(o=u+s|0)<<7|o>>>25)+u|0)<<9|o>>>23)+p|0)<<13|o>>>19)+E|0)<<18|o>>>14,y^=(o=(d^=(o=(a^=(o=(w^=(o=y+d|0)<<7|o>>>25)+y|0)<<9|o>>>23)+w|0)<<13|o>>>19)+a|0)<<18|o>>>14,b^=(o=(g^=(o=(h^=(o=(c^=(o=b+g|0)<<7|o>>>25)+b|0)<<9|o>>>23)+c|0)<<13|o>>>19)+h|0)<<18|o>>>14,i^=(o=(c^=(o=(a^=(o=(s^=(o=i+c|0)<<7|o>>>25)+i|0)<<9|o>>>23)+s|0)<<13|o>>>19)+a|0)<<18|o>>>14,u^=(o=(l^=(o=(h^=(o=(d^=(o=u+l|0)<<7|o>>>25)+u|0)<<9|o>>>23)+d|0)<<13|o>>>19)+h|0)<<18|o>>>14,y^=(o=(p^=(o=(f^=(o=(g^=(o=y+p|0)<<7|o>>>25)+y|0)<<9|o>>>23)+g|0)<<13|o>>>19)+f|0)<<18|o>>>14,b^=(o=(w^=(o=(E^=(o=(v^=(o=b+w|0)<<7|o>>>25)+b|0)<<9|o>>>23)+v|0)<<13|o>>>19)+E|0)<<18|o>>>14;e[0]=i>>>0&255,e[1]=i>>>8&255,e[2]=i>>>16&255,e[3]=i>>>24&255,e[4]=u>>>0&255,e[5]=u>>>8&255,e[6]=u>>>16&255,e[7]=u>>>24&255,e[8]=y>>>0&255,e[9]=y>>>8&255,e[10]=y>>>16&255,e[11]=y>>>24&255,e[12]=b>>>0&255,e[13]=b>>>8&255,e[14]=b>>>16&255,e[15]=b>>>24&255,e[16]=d>>>0&255,e[17]=d>>>8&255,e[18]=d>>>16&255,e[19]=d>>>24&255,e[20]=h>>>0&255,e[21]=h>>>8&255,e[22]=h>>>16&255,e[23]=h>>>24&255,e[24]=f>>>0&255,e[25]=f>>>8&255,e[26]=f>>>16&255,e[27]=f>>>24&255,e[28]=p>>>0&255,e[29]=p>>>8&255,e[30]=p>>>16&255,e[31]=p>>>24&255}(e,t,r,n)}var b=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function _(e,t,r,n,o,i,s){var a,c,l=new Uint8Array(16),u=new Uint8Array(64);for(c=0;c<16;c++)l[c]=0;for(c=0;c<8;c++)l[c]=i[c];for(;o>=64;){for(E(u,l,s,b),c=0;c<64;c++)e[t+c]=r[n+c]^u[c];for(a=1,c=8;c<16;c++)a=a+(255&l[c])|0,l[c]=255&a,a>>>=8;o-=64,t+=64,n+=64}if(o>0)for(E(u,l,s,b),c=0;c<o;c++)e[t+c]=r[n+c]^u[c];return 0}function O(e,t,r,n,o){var i,s,a=new Uint8Array(16),c=new Uint8Array(64);for(s=0;s<16;s++)a[s]=0;for(s=0;s<8;s++)a[s]=n[s];for(;r>=64;){for(E(c,a,o,b),s=0;s<64;s++)e[t+s]=c[s];for(i=1,s=8;s<16;s++)i=i+(255&a[s])|0,a[s]=255&i,i>>>=8;r-=64,t+=64}if(r>0)for(E(c,a,o,b),s=0;s<r;s++)e[t+s]=c[s];return 0}function R(e,t,r,n,o){var i=new Uint8Array(32);w(i,n,o,b);for(var s=new Uint8Array(8),a=0;a<8;a++)s[a]=n[a+16];return O(e,t,r,s,i)}function S(e,t,r,n,o,i,s){var a=new Uint8Array(32);w(a,i,s,b);for(var c=new Uint8Array(8),l=0;l<8;l++)c[l]=i[l+16];return _(e,t,r,n,o,c,a)}var C=function(e){var t,r,n,o,i,s,a,c;this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0,t=255&e[0]|(255&e[1])<<8,this.r[0]=8191&t,r=255&e[2]|(255&e[3])<<8,this.r[1]=8191&(t>>>13|r<<3),n=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(r>>>10|n<<6),o=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(n>>>7|o<<9),i=255&e[8]|(255&e[9])<<8,this.r[4]=255&(o>>>4|i<<12),this.r[5]=i>>>1&8190,s=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(i>>>14|s<<2),a=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(s>>>11|a<<5),c=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};function P(e,t,r,n,o,i){var s=new C(i);return s.update(r,n,o),s.finish(e,t),0}function m(e,t,r,n,o,i){var s=new Uint8Array(16);return P(s,0,r,n,o,i),g(e,t,s,0)}function N(e,t,r,n,o){var i;if(r<32)return-1;for(S(e,0,t,0,r,n,o),P(e,16,e,32,r-32,e),i=0;i<16;i++)e[i]=0;return 0}function T(e,t,r,n,o){var i,s=new Uint8Array(32);if(r<32)return-1;if(R(s,0,32,n,o),0!==m(t,16,t,32,r-32,s))return-1;for(S(e,0,t,0,r,n,o),i=0;i<32;i++)e[i]=0;return 0}function j(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function U(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function A(e,t,r){for(var n,o=~(r-1),i=0;i<16;i++)n=o&(e[i]^t[i]),e[i]^=n,t[i]^=n}function I(e,r){var n,o,i,s=t(),a=t();for(n=0;n<16;n++)a[n]=r[n];for(U(a),U(a),U(a),o=0;o<2;o++){for(s[0]=a[0]-65517,n=1;n<15;n++)s[n]=a[n]-65535-(s[n-1]>>16&1),s[n-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,A(a,s,1-i)}for(n=0;n<16;n++)e[2*n]=255&a[n],e[2*n+1]=a[n]>>8}function W(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return I(r,e),I(n,t),v(r,0,n,0)}function M(e){var t=new Uint8Array(32);return I(t,e),1&t[0]}function x(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function D(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function B(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function L(e,t,r){var n,o,i=0,s=0,a=0,c=0,l=0,u=0,d=0,h=0,f=0,p=0,y=0,g=0,v=0,E=0,w=0,b=0,_=0,O=0,R=0,S=0,C=0,P=0,m=0,N=0,T=0,j=0,U=0,A=0,I=0,W=0,M=0,x=r[0],D=r[1],B=r[2],L=r[3],K=r[4],k=r[5],q=r[6],F=r[7],H=r[8],G=r[9],J=r[10],$=r[11],Y=r[12],z=r[13],V=r[14],Q=r[15];i+=(n=t[0])*x,s+=n*D,a+=n*B,c+=n*L,l+=n*K,u+=n*k,d+=n*q,h+=n*F,f+=n*H,p+=n*G,y+=n*J,g+=n*$,v+=n*Y,E+=n*z,w+=n*V,b+=n*Q,s+=(n=t[1])*x,a+=n*D,c+=n*B,l+=n*L,u+=n*K,d+=n*k,h+=n*q,f+=n*F,p+=n*H,y+=n*G,g+=n*J,v+=n*$,E+=n*Y,w+=n*z,b+=n*V,_+=n*Q,a+=(n=t[2])*x,c+=n*D,l+=n*B,u+=n*L,d+=n*K,h+=n*k,f+=n*q,p+=n*F,y+=n*H,g+=n*G,v+=n*J,E+=n*$,w+=n*Y,b+=n*z,_+=n*V,O+=n*Q,c+=(n=t[3])*x,l+=n*D,u+=n*B,d+=n*L,h+=n*K,f+=n*k,p+=n*q,y+=n*F,g+=n*H,v+=n*G,E+=n*J,w+=n*$,b+=n*Y,_+=n*z,O+=n*V,R+=n*Q,l+=(n=t[4])*x,u+=n*D,d+=n*B,h+=n*L,f+=n*K,p+=n*k,y+=n*q,g+=n*F,v+=n*H,E+=n*G,w+=n*J,b+=n*$,_+=n*Y,O+=n*z,R+=n*V,S+=n*Q,u+=(n=t[5])*x,d+=n*D,h+=n*B,f+=n*L,p+=n*K,y+=n*k,g+=n*q,v+=n*F,E+=n*H,w+=n*G,b+=n*J,_+=n*$,O+=n*Y,R+=n*z,S+=n*V,C+=n*Q,d+=(n=t[6])*x,h+=n*D,f+=n*B,p+=n*L,y+=n*K,g+=n*k,v+=n*q,E+=n*F,w+=n*H,b+=n*G,_+=n*J,O+=n*$,R+=n*Y,S+=n*z,C+=n*V,P+=n*Q,h+=(n=t[7])*x,f+=n*D,p+=n*B,y+=n*L,g+=n*K,v+=n*k,E+=n*q,w+=n*F,b+=n*H,_+=n*G,O+=n*J,R+=n*$,S+=n*Y,C+=n*z,P+=n*V,m+=n*Q,f+=(n=t[8])*x,p+=n*D,y+=n*B,g+=n*L,v+=n*K,E+=n*k,w+=n*q,b+=n*F,_+=n*H,O+=n*G,R+=n*J,S+=n*$,C+=n*Y,P+=n*z,m+=n*V,N+=n*Q,p+=(n=t[9])*x,y+=n*D,g+=n*B,v+=n*L,E+=n*K,w+=n*k,b+=n*q,_+=n*F,O+=n*H,R+=n*G,S+=n*J,C+=n*$,P+=n*Y,m+=n*z,N+=n*V,T+=n*Q,y+=(n=t[10])*x,g+=n*D,v+=n*B,E+=n*L,w+=n*K,b+=n*k,_+=n*q,O+=n*F,R+=n*H,S+=n*G,C+=n*J,P+=n*$,m+=n*Y,N+=n*z,T+=n*V,j+=n*Q,g+=(n=t[11])*x,v+=n*D,E+=n*B,w+=n*L,b+=n*K,_+=n*k,O+=n*q,R+=n*F,S+=n*H,C+=n*G,P+=n*J,m+=n*$,N+=n*Y,T+=n*z,j+=n*V,U+=n*Q,v+=(n=t[12])*x,E+=n*D,w+=n*B,b+=n*L,_+=n*K,O+=n*k,R+=n*q,S+=n*F,C+=n*H,P+=n*G,m+=n*J,N+=n*$,T+=n*Y,j+=n*z,U+=n*V,A+=n*Q,E+=(n=t[13])*x,w+=n*D,b+=n*B,_+=n*L,O+=n*K,R+=n*k,S+=n*q,C+=n*F,P+=n*H,m+=n*G,N+=n*J,T+=n*$,j+=n*Y,U+=n*z,A+=n*V,I+=n*Q,w+=(n=t[14])*x,b+=n*D,_+=n*B,O+=n*L,R+=n*K,S+=n*k,C+=n*q,P+=n*F,m+=n*H,N+=n*G,T+=n*J,j+=n*$,U+=n*Y,A+=n*z,I+=n*V,W+=n*Q,b+=(n=t[15])*x,s+=38*(O+=n*B),a+=38*(R+=n*L),c+=38*(S+=n*K),l+=38*(C+=n*k),u+=38*(P+=n*q),d+=38*(m+=n*F),h+=38*(N+=n*H),f+=38*(T+=n*G),p+=38*(j+=n*J),y+=38*(U+=n*$),g+=38*(A+=n*Y),v+=38*(I+=n*z),E+=38*(W+=n*V),w+=38*(M+=n*Q),i=(n=(i+=38*(_+=n*D))+(o=1)+65535)-65536*(o=Math.floor(n/65536)),s=(n=s+o+65535)-65536*(o=Math.floor(n/65536)),a=(n=a+o+65535)-65536*(o=Math.floor(n/65536)),c=(n=c+o+65535)-65536*(o=Math.floor(n/65536)),l=(n=l+o+65535)-65536*(o=Math.floor(n/65536)),u=(n=u+o+65535)-65536*(o=Math.floor(n/65536)),d=(n=d+o+65535)-65536*(o=Math.floor(n/65536)),h=(n=h+o+65535)-65536*(o=Math.floor(n/65536)),f=(n=f+o+65535)-65536*(o=Math.floor(n/65536)),p=(n=p+o+65535)-65536*(o=Math.floor(n/65536)),y=(n=y+o+65535)-65536*(o=Math.floor(n/65536)),g=(n=g+o+65535)-65536*(o=Math.floor(n/65536)),v=(n=v+o+65535)-65536*(o=Math.floor(n/65536)),E=(n=E+o+65535)-65536*(o=Math.floor(n/65536)),w=(n=w+o+65535)-65536*(o=Math.floor(n/65536)),b=(n=b+o+65535)-65536*(o=Math.floor(n/65536)),i=(n=(i+=o-1+37*(o-1))+(o=1)+65535)-65536*(o=Math.floor(n/65536)),s=(n=s+o+65535)-65536*(o=Math.floor(n/65536)),a=(n=a+o+65535)-65536*(o=Math.floor(n/65536)),c=(n=c+o+65535)-65536*(o=Math.floor(n/65536)),l=(n=l+o+65535)-65536*(o=Math.floor(n/65536)),u=(n=u+o+65535)-65536*(o=Math.floor(n/65536)),d=(n=d+o+65535)-65536*(o=Math.floor(n/65536)),h=(n=h+o+65535)-65536*(o=Math.floor(n/65536)),f=(n=f+o+65535)-65536*(o=Math.floor(n/65536)),p=(n=p+o+65535)-65536*(o=Math.floor(n/65536)),y=(n=y+o+65535)-65536*(o=Math.floor(n/65536)),g=(n=g+o+65535)-65536*(o=Math.floor(n/65536)),v=(n=v+o+65535)-65536*(o=Math.floor(n/65536)),E=(n=E+o+65535)-65536*(o=Math.floor(n/65536)),w=(n=w+o+65535)-65536*(o=Math.floor(n/65536)),b=(n=b+o+65535)-65536*(o=Math.floor(n/65536)),i+=o-1+37*(o-1),e[0]=i,e[1]=s,e[2]=a,e[3]=c,e[4]=l,e[5]=u,e[6]=d,e[7]=h,e[8]=f,e[9]=p,e[10]=y,e[11]=g,e[12]=v,e[13]=E,e[14]=w,e[15]=b}function K(e,t){L(e,t,t)}function k(e,r){var n,o=t();for(n=0;n<16;n++)o[n]=r[n];for(n=253;n>=0;n--)K(o,o),2!==n&&4!==n&&L(o,o,r);for(n=0;n<16;n++)e[n]=o[n]}function q(e,r){var n,o=t();for(n=0;n<16;n++)o[n]=r[n];for(n=250;n>=0;n--)K(o,o),1!==n&&L(o,o,r);for(n=0;n<16;n++)e[n]=o[n]}function F(e,r,n){var o,i,s=new Uint8Array(32),a=new Float64Array(80),l=t(),u=t(),d=t(),h=t(),f=t(),p=t();for(i=0;i<31;i++)s[i]=r[i];for(s[31]=127&r[31]|64,s[0]&=248,x(a,n),i=0;i<16;i++)u[i]=a[i],h[i]=l[i]=d[i]=0;for(l[0]=h[0]=1,i=254;i>=0;--i)A(l,u,o=s[i>>>3]>>>(7&i)&1),A(d,h,o),D(f,l,d),B(l,l,d),D(d,u,h),B(u,u,h),K(h,f),K(p,l),L(l,d,l),L(d,u,f),D(f,l,d),B(l,l,d),K(u,l),B(d,h,p),L(l,d,c),D(l,l,h),L(d,d,l),L(l,h,p),L(h,u,a),K(u,f),A(l,u,o),A(d,h,o);for(i=0;i<16;i++)a[i+16]=l[i],a[i+32]=d[i],a[i+48]=u[i],a[i+64]=h[i];var y=a.subarray(32),g=a.subarray(16);return k(y,y),L(g,g,y),I(e,g),0}function H(e,t){return F(e,t,i)}function G(e,t){return n(t,32),H(e,t)}function J(e,t,r){var n=new Uint8Array(32);return F(n,r,t),w(e,o,n,b)}C.prototype.blocks=function(e,t,r){for(var n,o,i,s,a,c,l,u,d,h,f,p,y,g,v,E,w,b,_,O=this.fin?0:2048,R=this.h[0],S=this.h[1],C=this.h[2],P=this.h[3],m=this.h[4],N=this.h[5],T=this.h[6],j=this.h[7],U=this.h[8],A=this.h[9],I=this.r[0],W=this.r[1],M=this.r[2],x=this.r[3],D=this.r[4],B=this.r[5],L=this.r[6],K=this.r[7],k=this.r[8],q=this.r[9];r>=16;)h=d=0,h+=(R+=8191&(n=255&e[t+0]|(255&e[t+1])<<8))*I,h+=(S+=8191&(n>>>13|(o=255&e[t+2]|(255&e[t+3])<<8)<<3))*(5*q),h+=(C+=8191&(o>>>10|(i=255&e[t+4]|(255&e[t+5])<<8)<<6))*(5*k),h+=(P+=8191&(i>>>7|(s=255&e[t+6]|(255&e[t+7])<<8)<<9))*(5*K),d=(h+=(m+=8191&(s>>>4|(a=255&e[t+8]|(255&e[t+9])<<8)<<12))*(5*L))>>>13,h&=8191,h+=(N+=a>>>1&8191)*(5*B),h+=(T+=8191&(a>>>14|(c=255&e[t+10]|(255&e[t+11])<<8)<<2))*(5*D),h+=(j+=8191&(c>>>11|(l=255&e[t+12]|(255&e[t+13])<<8)<<5))*(5*x),h+=(U+=8191&(l>>>8|(u=255&e[t+14]|(255&e[t+15])<<8)<<8))*(5*M),f=d+=(h+=(A+=u>>>5|O)*(5*W))>>>13,f+=R*W,f+=S*I,f+=C*(5*q),f+=P*(5*k),d=(f+=m*(5*K))>>>13,f&=8191,f+=N*(5*L),f+=T*(5*B),f+=j*(5*D),f+=U*(5*x),d+=(f+=A*(5*M))>>>13,f&=8191,p=d,p+=R*M,p+=S*W,p+=C*I,p+=P*(5*q),d=(p+=m*(5*k))>>>13,p&=8191,p+=N*(5*K),p+=T*(5*L),p+=j*(5*B),p+=U*(5*D),y=d+=(p+=A*(5*x))>>>13,y+=R*x,y+=S*M,y+=C*W,y+=P*I,d=(y+=m*(5*q))>>>13,y&=8191,y+=N*(5*k),y+=T*(5*K),y+=j*(5*L),y+=U*(5*B),g=d+=(y+=A*(5*D))>>>13,g+=R*D,g+=S*x,g+=C*M,g+=P*W,d=(g+=m*I)>>>13,g&=8191,g+=N*(5*q),g+=T*(5*k),g+=j*(5*K),g+=U*(5*L),v=d+=(g+=A*(5*B))>>>13,v+=R*B,v+=S*D,v+=C*x,v+=P*M,d=(v+=m*W)>>>13,v&=8191,v+=N*I,v+=T*(5*q),v+=j*(5*k),v+=U*(5*K),E=d+=(v+=A*(5*L))>>>13,E+=R*L,E+=S*B,E+=C*D,E+=P*x,d=(E+=m*M)>>>13,E&=8191,E+=N*W,E+=T*I,E+=j*(5*q),E+=U*(5*k),w=d+=(E+=A*(5*K))>>>13,w+=R*K,w+=S*L,w+=C*B,w+=P*D,d=(w+=m*x)>>>13,w&=8191,w+=N*M,w+=T*W,w+=j*I,w+=U*(5*q),b=d+=(w+=A*(5*k))>>>13,b+=R*k,b+=S*K,b+=C*L,b+=P*B,d=(b+=m*D)>>>13,b&=8191,b+=N*x,b+=T*M,b+=j*W,b+=U*I,_=d+=(b+=A*(5*q))>>>13,_+=R*q,_+=S*k,_+=C*K,_+=P*L,d=(_+=m*B)>>>13,_&=8191,_+=N*D,_+=T*x,_+=j*M,_+=U*W,R=h=8191&(d=(d=((d+=(_+=A*I)>>>13)<<2)+d|0)+(h&=8191)|0),S=f+=d>>>=13,C=p&=8191,P=y&=8191,m=g&=8191,N=v&=8191,T=E&=8191,j=w&=8191,U=b&=8191,A=_&=8191,t+=16,r-=16;this.h[0]=R,this.h[1]=S,this.h[2]=C,this.h[3]=P,this.h[4]=m,this.h[5]=N,this.h[6]=T,this.h[7]=j,this.h[8]=U,this.h[9]=A},C.prototype.finish=function(e,t){var r,n,o,i,s=new Uint16Array(10);if(this.leftover){for(i=this.leftover,this.buffer[i++]=1;i<16;i++)this.buffer[i]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(r=this.h[1]>>>13,this.h[1]&=8191,i=2;i<10;i++)this.h[i]+=r,r=this.h[i]>>>13,this.h[i]&=8191;for(this.h[0]+=5*r,r=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=r,r=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=r,s[0]=this.h[0]+5,r=s[0]>>>13,s[0]&=8191,i=1;i<10;i++)s[i]=this.h[i]+r,r=s[i]>>>13,s[i]&=8191;for(s[9]-=8192,n=(1^r)-1,i=0;i<10;i++)s[i]&=n;for(n=~n,i=0;i<10;i++)this.h[i]=this.h[i]&n|s[i];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),o=this.h[0]+this.pad[0],this.h[0]=65535&o,i=1;i<8;i++)o=(this.h[i]+this.pad[i]|0)+(o>>>16)|0,this.h[i]=65535&o;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},C.prototype.update=function(e,t,r){var n,o;if(this.leftover){for((o=16-this.leftover)>r&&(o=r),n=0;n<o;n++)this.buffer[this.leftover+n]=e[t+n];if(r-=o,t+=o,this.leftover+=o,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(r>=16&&(o=r-r%16,this.blocks(e,t,o),t+=o,r-=o),r){for(n=0;n<r;n++)this.buffer[this.leftover+n]=e[t+n];this.leftover+=r}};var $=N,Y=T,z=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function V(e,t,r,n){for(var o,i,s,a,c,l,u,d,h,f,p,y,g,v,E,w,b,_,O,R,S,C,P,m,N,T,j=new Int32Array(16),U=new Int32Array(16),A=e[0],I=e[1],W=e[2],M=e[3],x=e[4],D=e[5],B=e[6],L=e[7],K=t[0],k=t[1],q=t[2],F=t[3],H=t[4],G=t[5],J=t[6],$=t[7],Y=0;n>=128;){for(O=0;O<16;O++)R=8*O+Y,j[O]=r[R+0]<<24|r[R+1]<<16|r[R+2]<<8|r[R+3],U[O]=r[R+4]<<24|r[R+5]<<16|r[R+6]<<8|r[R+7];for(O=0;O<80;O++)if(o=A,i=I,s=W,a=M,c=x,l=D,u=B,h=K,f=k,p=q,y=F,g=H,v=G,E=J,P=65535&(C=$),m=C>>>16,N=65535&(S=L),T=S>>>16,P+=65535&(C=(H>>>14|x<<18)^(H>>>18|x<<14)^(x>>>9|H<<23)),m+=C>>>16,N+=65535&(S=(x>>>14|H<<18)^(x>>>18|H<<14)^(H>>>9|x<<23)),T+=S>>>16,P+=65535&(C=H&G^~H&J),m+=C>>>16,N+=65535&(S=x&D^~x&B),T+=S>>>16,S=z[2*O],P+=65535&(C=z[2*O+1]),m+=C>>>16,N+=65535&S,T+=S>>>16,S=j[O%16],m+=(C=U[O%16])>>>16,N+=65535&S,T+=S>>>16,N+=(m+=(P+=65535&C)>>>16)>>>16,P=65535&(C=_=65535&P|m<<16),m=C>>>16,N=65535&(S=b=65535&N|(T+=N>>>16)<<16),T=S>>>16,P+=65535&(C=(K>>>28|A<<4)^(A>>>2|K<<30)^(A>>>7|K<<25)),m+=C>>>16,N+=65535&(S=(A>>>28|K<<4)^(K>>>2|A<<30)^(K>>>7|A<<25)),T+=S>>>16,m+=(C=K&k^K&q^k&q)>>>16,N+=65535&(S=A&I^A&W^I&W),T+=S>>>16,d=65535&(N+=(m+=(P+=65535&C)>>>16)>>>16)|(T+=N>>>16)<<16,w=65535&P|m<<16,P=65535&(C=y),m=C>>>16,N=65535&(S=a),T=S>>>16,m+=(C=_)>>>16,N+=65535&(S=b),T+=S>>>16,I=o,W=i,M=s,x=a=65535&(N+=(m+=(P+=65535&C)>>>16)>>>16)|(T+=N>>>16)<<16,D=c,B=l,L=u,A=d,k=h,q=f,F=p,H=y=65535&P|m<<16,G=g,J=v,$=E,K=w,O%16==15)for(R=0;R<16;R++)S=j[R],P=65535&(C=U[R]),m=C>>>16,N=65535&S,T=S>>>16,S=j[(R+9)%16],P+=65535&(C=U[(R+9)%16]),m+=C>>>16,N+=65535&S,T+=S>>>16,b=j[(R+1)%16],P+=65535&(C=((_=U[(R+1)%16])>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)),m+=C>>>16,N+=65535&(S=(b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7),T+=S>>>16,b=j[(R+14)%16],m+=(C=((_=U[(R+14)%16])>>>19|b<<13)^(b>>>29|_<<3)^(_>>>6|b<<26))>>>16,N+=65535&(S=(b>>>19|_<<13)^(_>>>29|b<<3)^b>>>6),T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,j[R]=65535&N|T<<16,U[R]=65535&P|m<<16;P=65535&(C=K),m=C>>>16,N=65535&(S=A),T=S>>>16,S=e[0],m+=(C=t[0])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[0]=A=65535&N|T<<16,t[0]=K=65535&P|m<<16,P=65535&(C=k),m=C>>>16,N=65535&(S=I),T=S>>>16,S=e[1],m+=(C=t[1])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[1]=I=65535&N|T<<16,t[1]=k=65535&P|m<<16,P=65535&(C=q),m=C>>>16,N=65535&(S=W),T=S>>>16,S=e[2],m+=(C=t[2])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[2]=W=65535&N|T<<16,t[2]=q=65535&P|m<<16,P=65535&(C=F),m=C>>>16,N=65535&(S=M),T=S>>>16,S=e[3],m+=(C=t[3])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[3]=M=65535&N|T<<16,t[3]=F=65535&P|m<<16,P=65535&(C=H),m=C>>>16,N=65535&(S=x),T=S>>>16,S=e[4],m+=(C=t[4])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[4]=x=65535&N|T<<16,t[4]=H=65535&P|m<<16,P=65535&(C=G),m=C>>>16,N=65535&(S=D),T=S>>>16,S=e[5],m+=(C=t[5])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[5]=D=65535&N|T<<16,t[5]=G=65535&P|m<<16,P=65535&(C=J),m=C>>>16,N=65535&(S=B),T=S>>>16,S=e[6],m+=(C=t[6])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[6]=B=65535&N|T<<16,t[6]=J=65535&P|m<<16,P=65535&(C=$),m=C>>>16,N=65535&(S=L),T=S>>>16,S=e[7],m+=(C=t[7])>>>16,N+=65535&S,T+=S>>>16,T+=(N+=(m+=(P+=65535&C)>>>16)>>>16)>>>16,e[7]=L=65535&N|T<<16,t[7]=$=65535&P|m<<16,Y+=128,n-=128}return n}function Q(e,t,r){var n,o=new Int32Array(8),i=new Int32Array(8),s=new Uint8Array(256),a=r;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,i[0]=4089235720,i[1]=2227873595,i[2]=4271175723,i[3]=1595750129,i[4]=2917565137,i[5]=725511199,i[6]=4215389547,i[7]=327033209,V(o,i,t,r),r%=128,n=0;n<r;n++)s[n]=t[a-r+n];for(s[r]=128,s[(r=256-128*(r<112?1:0))-9]=0,p(s,r-8,a/536870912|0,a<<3),V(o,i,s,r),n=0;n<8;n++)p(e,8*n,o[n],i[n]);return 0}function Z(e,r){var n=t(),o=t(),i=t(),s=t(),a=t(),c=t(),l=t(),d=t(),h=t();B(n,e[1],e[0]),B(h,r[1],r[0]),L(n,n,h),D(o,e[0],e[1]),D(h,r[0],r[1]),L(o,o,h),L(i,e[3],r[3]),L(i,i,u),L(s,e[2],r[2]),D(s,s,s),B(a,o,n),B(c,s,i),D(l,s,i),D(d,o,n),L(e[0],a,c),L(e[1],d,l),L(e[2],l,c),L(e[3],a,d)}function X(e,t,r){var n;for(n=0;n<4;n++)A(e[n],t[n],r)}function ee(e,r){var n=t(),o=t(),i=t();k(i,r[2]),L(n,r[0],i),L(o,r[1],i),I(e,o),e[31]^=M(n)<<7}function te(e,t,r){var n,o;for(j(e[0],s),j(e[1],a),j(e[2],a),j(e[3],s),o=255;o>=0;--o)X(e,t,n=r[o/8|0]>>(7&o)&1),Z(t,e),Z(e,e),X(e,t,n)}function re(e,r){var n=[t(),t(),t(),t()];j(n[0],d),j(n[1],h),j(n[2],a),L(n[3],d,h),te(e,n,r)}function ne(e,r,o){var i,s=new Uint8Array(64),a=[t(),t(),t(),t()];for(o||n(r,32),Q(s,r,32),s[0]&=248,s[31]&=127,s[31]|=64,re(a,s),ee(e,a),i=0;i<32;i++)r[i+32]=e[i];return 0}var oe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ie(e,t){var r,n,o,i;for(n=63;n>=32;--n){for(r=0,o=n-32,i=n-12;o<i;++o)t[o]+=r-16*t[n]*oe[o-(n-32)],r=Math.floor((t[o]+128)/256),t[o]-=256*r;t[o]+=r,t[n]=0}for(r=0,o=0;o<32;o++)t[o]+=r-(t[31]>>4)*oe[o],r=t[o]>>8,t[o]&=255;for(o=0;o<32;o++)t[o]-=r*oe[o];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function se(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;ie(e,r)}function ae(e,r,n,o){var i,s,a=new Uint8Array(64),c=new Uint8Array(64),l=new Uint8Array(64),u=new Float64Array(64),d=[t(),t(),t(),t()];Q(a,o,32),a[0]&=248,a[31]&=127,a[31]|=64;var h=n+64;for(i=0;i<n;i++)e[64+i]=r[i];for(i=0;i<32;i++)e[32+i]=a[32+i];for(Q(l,e.subarray(32),n+32),se(l),re(d,l),ee(e,d),i=32;i<64;i++)e[i]=o[i];for(Q(c,e,n+64),se(c),i=0;i<64;i++)u[i]=0;for(i=0;i<32;i++)u[i]=l[i];for(i=0;i<32;i++)for(s=0;s<32;s++)u[i+s]+=c[i]*a[s];return ie(e.subarray(32),u),h}function ce(e,r,n,o){var i,c=new Uint8Array(32),u=new Uint8Array(64),d=[t(),t(),t(),t()],h=[t(),t(),t(),t()];if(n<64)return-1;if(function(e,r){var n=t(),o=t(),i=t(),c=t(),u=t(),d=t(),h=t();return j(e[2],a),x(e[1],r),K(i,e[1]),L(c,i,l),B(i,i,e[2]),D(c,e[2],c),K(u,c),K(d,u),L(h,d,u),L(n,h,i),L(n,n,c),q(n,n),L(n,n,i),L(n,n,c),L(n,n,c),L(e[0],n,c),K(o,e[0]),L(o,o,c),W(o,i)&&L(e[0],e[0],f),K(o,e[0]),L(o,o,c),W(o,i)?-1:(M(e[0])===r[31]>>7&&B(e[0],s,e[0]),L(e[3],e[0],e[1]),0)}(h,o))return-1;for(i=0;i<n;i++)e[i]=r[i];for(i=0;i<32;i++)e[i+32]=o[i];if(Q(u,e,n),se(u),te(d,h,u),re(h,r.subarray(32)),Z(d,h),ee(c,d),n-=64,v(r,0,c,0)){for(i=0;i<n;i++)e[i]=0;return-1}for(i=0;i<n;i++)e[i]=r[i+64];return n}var le,ue=32,de=24,he=de,fe=64,pe=32,ye=64;function ge(e,t){if(e.length!==ue)throw new Error("bad key size");if(t.length!==de)throw new Error("bad nonce size")}function ve(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function Ee(e){for(var t=0;t<e.length;t++)e[t]=0}e.lowlevel={crypto_core_hsalsa20:w,crypto_stream_xor:S,crypto_stream:R,crypto_stream_salsa20_xor:_,crypto_stream_salsa20:O,crypto_onetimeauth:P,crypto_onetimeauth_verify:m,crypto_verify_16:g,crypto_verify_32:v,crypto_secretbox:N,crypto_secretbox_open:T,crypto_scalarmult:F,crypto_scalarmult_base:H,crypto_box_beforenm:J,crypto_box_afternm:$,crypto_box:function(e,t,r,n,o,i){var s=new Uint8Array(32);return J(s,o,i),$(e,t,r,n,s)},crypto_box_open:function(e,t,r,n,o,i){var s=new Uint8Array(32);return J(s,o,i),Y(e,t,r,n,s)},crypto_box_keypair:G,crypto_hash:Q,crypto_sign:ae,crypto_sign_keypair:ne,crypto_sign_open:ce,crypto_secretbox_KEYBYTES:ue,crypto_secretbox_NONCEBYTES:de,crypto_secretbox_ZEROBYTES:32,crypto_secretbox_BOXZEROBYTES:16,crypto_scalarmult_BYTES:32,crypto_scalarmult_SCALARBYTES:32,crypto_box_PUBLICKEYBYTES:32,crypto_box_SECRETKEYBYTES:32,crypto_box_BEFORENMBYTES:32,crypto_box_NONCEBYTES:he,crypto_box_ZEROBYTES:32,crypto_box_BOXZEROBYTES:16,crypto_sign_BYTES:fe,crypto_sign_PUBLICKEYBYTES:pe,crypto_sign_SECRETKEYBYTES:ye,crypto_sign_SEEDBYTES:32,crypto_hash_BYTES:64,gf:t,D:l,L:oe,pack25519:I,unpack25519:x,M:L,A:D,S:K,Z:B,pow2523:q,add:Z,set25519:j,modL:ie,scalarmult:te,scalarbase:re},e.randomBytes=function(e){var t=new Uint8Array(e);return n(t,e),t},e.secretbox=function(e,t,r){ve(e,t,r),ge(r,t);for(var n=new Uint8Array(32+e.length),o=new Uint8Array(n.length),i=0;i<e.length;i++)n[i+32]=e[i];return N(o,n,n.length,t,r),o.subarray(16)},e.secretbox.open=function(e,t,r){ve(e,t,r),ge(r,t);for(var n=new Uint8Array(16+e.length),o=new Uint8Array(n.length),i=0;i<e.length;i++)n[i+16]=e[i];return n.length<32||0!==T(o,n,n.length,t,r)?null:o.subarray(32)},e.secretbox.keyLength=ue,e.secretbox.nonceLength=de,e.secretbox.overheadLength=16,e.scalarMult=function(e,t){if(ve(e,t),32!==e.length)throw new Error("bad n size");if(32!==t.length)throw new Error("bad p size");var r=new Uint8Array(32);return F(r,e,t),r},e.scalarMult.base=function(e){if(ve(e),32!==e.length)throw new Error("bad n size");var t=new Uint8Array(32);return H(t,e),t},e.scalarMult.scalarLength=32,e.scalarMult.groupElementLength=32,e.box=function(t,r,n,o){var i=e.box.before(n,o);return e.secretbox(t,r,i)},e.box.before=function(e,t){ve(e,t),function(e,t){if(32!==e.length)throw new Error("bad public key size");if(32!==t.length)throw new Error("bad secret key size")}(e,t);var r=new Uint8Array(32);return J(r,e,t),r},e.box.after=e.secretbox,e.box.open=function(t,r,n,o){var i=e.box.before(n,o);return e.secretbox.open(t,r,i)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(32);return G(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if(ve(e),32!==e.length)throw new Error("bad secret key size");var t=new Uint8Array(32);return H(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=32,e.box.secretKeyLength=32,e.box.sharedKeyLength=32,e.box.nonceLength=he,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if(ve(e,t),t.length!==ye)throw new Error("bad secret key size");var r=new Uint8Array(fe+e.length);return ae(r,e,e.length,t),r},e.sign.open=function(e,t){if(ve(e,t),t.length!==pe)throw new Error("bad public key size");var r=new Uint8Array(e.length),n=ce(r,e,e.length,t);if(n<0)return null;for(var o=new Uint8Array(n),i=0;i<o.length;i++)o[i]=r[i];return o},e.sign.detached=function(t,r){for(var n=e.sign(t,r),o=new Uint8Array(fe),i=0;i<o.length;i++)o[i]=n[i];return o},e.sign.detached.verify=function(e,t,r){if(ve(e,t,r),t.length!==fe)throw new Error("bad signature size");if(r.length!==pe)throw new Error("bad public key size");var n,o=new Uint8Array(fe+e.length),i=new Uint8Array(fe+e.length);for(n=0;n<fe;n++)o[n]=t[n];for(n=0;n<e.length;n++)o[n+fe]=e[n];return ce(i,o,o.length,r)>=0},e.sign.keyPair=function(){var e=new Uint8Array(pe),t=new Uint8Array(ye);return ne(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(ve(e),e.length!==ye)throw new Error("bad secret key size");for(var t=new Uint8Array(pe),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(ve(e),32!==e.length)throw new Error("bad seed size");for(var t=new Uint8Array(pe),r=new Uint8Array(ye),n=0;n<32;n++)r[n]=e[n];return ne(t,r,!0),{publicKey:t,secretKey:r}},e.sign.publicKeyLength=pe,e.sign.secretKeyLength=ye,e.sign.seedLength=32,e.sign.signatureLength=fe,e.hash=function(e){ve(e);var t=new Uint8Array(64);return Q(t,e,e.length),t},e.hash.hashLength=64,e.verify=function(e,t){return ve(e,t),0!==e.length&&0!==t.length&&e.length===t.length&&0===y(e,0,t,0,e.length)},e.setPRNG=function(e){n=e},(le="undefined"!=typeof self?self.crypto||self.msCrypto:null)&&le.getRandomValues?e.setPRNG((function(e,t){var r,n=new Uint8Array(t);for(r=0;r<t;r+=65536)le.getRandomValues(n.subarray(r,r+Math.min(t-r,65536)));for(r=0;r<t;r++)e[r]=n[r];Ee(n)})):(le=r(5338))&&le.randomBytes&&e.setPRNG((function(e,t){var r,n=le.randomBytes(t);for(r=0;r<t;r++)e[r]=n[r];Ee(n)}))}(e.exports?e.exports:self.nacl=self.nacl||{})},618:()=>{},3783:()=>{},5338:()=>{},9461:(e,t,r)=>{"use strict";var n,o,i,s,a,c,l=r(251),u=r(717);t.CONNECT_EVENT_ERROR_CODES=void 0,(n=t.CONNECT_EVENT_ERROR_CODES||(t.CONNECT_EVENT_ERROR_CODES={}))[n.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",n[n.BAD_REQUEST_ERROR=1]="BAD_REQUEST_ERROR",n[n.MANIFEST_NOT_FOUND_ERROR=2]="MANIFEST_NOT_FOUND_ERROR",n[n.MANIFEST_CONTENT_ERROR=3]="MANIFEST_CONTENT_ERROR",n[n.UNKNOWN_APP_ERROR=100]="UNKNOWN_APP_ERROR",n[n.USER_REJECTS_ERROR=300]="USER_REJECTS_ERROR",n[n.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED",t.CONNECT_ITEM_ERROR_CODES=void 0,(o=t.CONNECT_ITEM_ERROR_CODES||(t.CONNECT_ITEM_ERROR_CODES={}))[o.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",o[o.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED",t.SEND_TRANSACTION_ERROR_CODES=void 0,(i=t.SEND_TRANSACTION_ERROR_CODES||(t.SEND_TRANSACTION_ERROR_CODES={}))[i.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",i[i.BAD_REQUEST_ERROR=1]="BAD_REQUEST_ERROR",i[i.UNKNOWN_APP_ERROR=100]="UNKNOWN_APP_ERROR",i[i.USER_REJECTS_ERROR=300]="USER_REJECTS_ERROR",i[i.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED",t.SIGN_DATA_ERROR_CODES=void 0,(s=t.SIGN_DATA_ERROR_CODES||(t.SIGN_DATA_ERROR_CODES={}))[s.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",s[s.BAD_REQUEST_ERROR=1]="BAD_REQUEST_ERROR",s[s.UNKNOWN_APP_ERROR=100]="UNKNOWN_APP_ERROR",s[s.USER_REJECTS_ERROR=300]="USER_REJECTS_ERROR",s[s.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED",t.DISCONNECT_ERROR_CODES=void 0,(a=t.DISCONNECT_ERROR_CODES||(t.DISCONNECT_ERROR_CODES={}))[a.UNKNOWN_ERROR=0]="UNKNOWN_ERROR",a[a.BAD_REQUEST_ERROR=1]="BAD_REQUEST_ERROR",a[a.UNKNOWN_APP_ERROR=100]="UNKNOWN_APP_ERROR",a[a.METHOD_NOT_SUPPORTED=400]="METHOD_NOT_SUPPORTED",t.CHAIN=void 0,(c=t.CHAIN||(t.CHAIN={})).MAINNET="-239",c.TESTNET="-3";const d={encode:function(e,t=!1){let r;return e instanceof Uint8Array?r=e:("string"!=typeof e&&(e=JSON.stringify(e)),r=l.decodeUTF8(e)),function(e,t){const r=l.encodeBase64(e);return t?encodeURIComponent(r):r}(r,t)},decode:function(e,t=!1){const r=function(e,t){return t&&(e=decodeURIComponent(e)),l.decodeBase64(e)}(e,t);return{toString:()=>l.encodeUTF8(r),toObject(){try{return JSON.parse(l.encodeUTF8(r))}catch(e){return null}},toUint8Array:()=>r}}};function h(e,t){const r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}function f(e,t){if(t>=e.length)throw new Error("Index is out of buffer");return[e.slice(0,t),e.slice(t)]}function p(e){let t="";return e.forEach((e=>{t+=("0"+(255&e).toString(16)).slice(-2)})),t}function y(e){if(e.length%2!=0)throw new Error(`Cannot convert ${e} to bytesArray`);const t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=parseInt(e.slice(r,r+2),16);return t}t.Base64=d,t.SessionCrypto=class{constructor(e){this.nonceLength=24,this.keyPair=e?this.createKeypairFromString(e):this.createKeypair(),this.sessionId=p(this.keyPair.publicKey)}createKeypair(){return u.box.keyPair()}createKeypairFromString(e){return{publicKey:y(e.publicKey),secretKey:y(e.secretKey)}}createNonce(){return u.randomBytes(this.nonceLength)}encrypt(e,t){const r=(new TextEncoder).encode(e),n=this.createNonce();return h(n,u.box(r,n,t,this.keyPair.secretKey))}decrypt(e,t){const[r,n]=f(e,this.nonceLength),o=u.box.open(n,r,t,this.keyPair.secretKey);if(!o)throw new Error(`Decryption error: \n message: ${e.toString()} \n sender pubkey: ${t.toString()} \n keypair pubkey: ${this.keyPair.publicKey.toString()} \n keypair secretkey: ${this.keyPair.secretKey.toString()}`);return(new TextDecoder).decode(o)}stringifyKeypair(){return{publicKey:p(this.keyPair.publicKey),secretKey:p(this.keyPair.secretKey)}}},t.concatUint8Arrays=h,t.hexToByteArray=y,t.isNode=function(){return"undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node},t.splitToUint8Arrays=f,t.toHexString=p}},t={},r=function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}(1920);TonConnectSDK=r})();
|
|
2
2
|
//# sourceMappingURL=tonconnect-sdk.min.js.map
|