@tonconnect/sdk 2.0.6 → 2.1.0
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 +1613 -0
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/esm/index.mjs +1583 -0
- package/lib/esm/index.mjs.map +1 -0
- package/lib/types/index.d.ts +597 -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
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { SessionCrypto } from '@tonconnect/protocol';
|
|
11
|
-
import { TonConnectError } from "../errors";
|
|
12
|
-
export class BridgeConnectionStorage {
|
|
13
|
-
constructor(storage) {
|
|
14
|
-
this.storage = storage;
|
|
15
|
-
this.storeKey = 'ton-connect-storage_bridge-connection';
|
|
16
|
-
}
|
|
17
|
-
storeConnection(connection) {
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
if (connection.type === 'injected') {
|
|
20
|
-
return this.storage.setItem(this.storeKey, JSON.stringify(connection));
|
|
21
|
-
}
|
|
22
|
-
const rawSession = {
|
|
23
|
-
sessionKeyPair: connection.session.sessionCrypto.stringifyKeypair(),
|
|
24
|
-
walletPublicKey: connection.session.walletPublicKey,
|
|
25
|
-
walletConnectionSource: connection.session.walletConnectionSource
|
|
26
|
-
};
|
|
27
|
-
const rawConnection = {
|
|
28
|
-
type: 'http',
|
|
29
|
-
connectEvent: connection.connectEvent,
|
|
30
|
-
session: rawSession
|
|
31
|
-
};
|
|
32
|
-
return this.storage.setItem(this.storeKey, JSON.stringify(rawConnection));
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
removeConnection() {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
return this.storage.removeItem(this.storeKey);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
getConnection() {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const stored = yield this.storage.getItem(this.storeKey);
|
|
43
|
-
if (!stored) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
const connection = JSON.parse(stored);
|
|
47
|
-
if (connection.type === 'injected') {
|
|
48
|
-
return connection;
|
|
49
|
-
}
|
|
50
|
-
const sessionCrypto = new SessionCrypto(connection.session.sessionKeyPair);
|
|
51
|
-
return {
|
|
52
|
-
type: 'http',
|
|
53
|
-
connectEvent: connection.connectEvent,
|
|
54
|
-
session: {
|
|
55
|
-
sessionCrypto,
|
|
56
|
-
walletConnectionSource: connection.session.walletConnectionSource,
|
|
57
|
-
walletPublicKey: connection.session.walletPublicKey
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
getHttpConnection() {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
const connection = yield this.getConnection();
|
|
65
|
-
if (!connection) {
|
|
66
|
-
throw new TonConnectError('Trying to read HTTP connection source while nothing is stored');
|
|
67
|
-
}
|
|
68
|
-
if (connection.type === 'injected') {
|
|
69
|
-
throw new TonConnectError('Trying to read HTTP connection source while injected connection is stored');
|
|
70
|
-
}
|
|
71
|
-
return connection;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
getInjectedConnection() {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
const connection = yield this.getConnection();
|
|
77
|
-
if (!connection) {
|
|
78
|
-
throw new TonConnectError('Trying to read Injected bridge connection source while nothing is stored');
|
|
79
|
-
}
|
|
80
|
-
if ((connection === null || connection === void 0 ? void 0 : connection.type) === 'http') {
|
|
81
|
-
throw new TonConnectError('Trying to read Injected bridge connection source while HTTP connection is stored');
|
|
82
|
-
}
|
|
83
|
-
return connection;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
storedConnectionType() {
|
|
87
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
const stored = yield this.storage.getItem(this.storeKey);
|
|
89
|
-
if (!stored) {
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
const connection = JSON.parse(stored);
|
|
93
|
-
return connection.type;
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=bridge-connection-storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-connection-storage.js","sourceRoot":"","sources":["../../../src/storage/bridge-connection-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { LocalstorageNotFoundError } from "../errors/storage/localstorage-not-found.error";
|
|
11
|
-
import { getWindow } from "../utils/web-api";
|
|
12
|
-
export class DefaultStorage {
|
|
13
|
-
constructor() {
|
|
14
|
-
const window = getWindow();
|
|
15
|
-
if (!(window === null || window === void 0 ? void 0 : window.localStorage)) {
|
|
16
|
-
throw new LocalstorageNotFoundError();
|
|
17
|
-
}
|
|
18
|
-
this.window = window;
|
|
19
|
-
}
|
|
20
|
-
getItem(key) {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
return Promise.resolve(this.window.localStorage.getItem(key));
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
removeItem(key) {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
this.window.localStorage.removeItem(key);
|
|
28
|
-
return Promise.resolve();
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
setItem(key, value) {
|
|
32
|
-
this.window.localStorage.setItem(key, value);
|
|
33
|
-
return Promise.resolve();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=default-storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-storage.js","sourceRoot":"","sources":["../../../src/storage/default-storage.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,yBAAyB,EAAE,uDAAwD;AAE5F,OAAO,EAAE,SAAS,EAAE,yBAA0B;AAE9C,MAAM,OAAO,cAAc;IAGvB;QACI,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAA,EAAE;YACvB,MAAM,IAAI,yBAAyB,EAAE,CAAC;SACzC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEY,OAAO,CAAC,GAAW;;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;KAAA;IAEY,UAAU,CAAC,GAAW;;YAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAED,OAAO,CAAC,GAAW,EAAE,KAAa;QAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
export class HttpBridgeGatewayStorage {
|
|
11
|
-
constructor(storage) {
|
|
12
|
-
this.storage = storage;
|
|
13
|
-
this.storeKey = 'ton-connect-storage_http-bridge-gateway';
|
|
14
|
-
}
|
|
15
|
-
storeLastEventId(lastEventId) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
return this.storage.setItem(this.storeKey, lastEventId);
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
removeLastEventId() {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
return this.storage.removeItem(this.storeKey);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
getLastEventId() {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const stored = yield this.storage.getItem(this.storeKey);
|
|
28
|
-
if (!stored) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
return stored;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=http-bridge-gateway-storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-bridge-gateway-storage.js","sourceRoot":"","sources":["../../../src/storage/http-bridge-gateway-storage.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAM,OAAO,wBAAwB;IAGjC,YAA6B,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAF7B,aAAQ,GAAG,yCAAyC,CAAC;IAErB,CAAC;IAErC,gBAAgB,CAAC,WAAmB;;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEY,iBAAiB;;YAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;KAAA;IAEY,cAAc;;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,IAAI,CAAC;aACf;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.interface.js","sourceRoot":"","sources":["../../../../src/storage/models/storage.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ton-connect.interface.js","sourceRoot":"","sources":["../../src/ton-connect.interface.ts"],"names":[],"mappings":""}
|
package/lib/esm/ton-connect.js
DELETED
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
-
var t = {};
|
|
12
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
-
t[p] = s[p];
|
|
14
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
-
t[p[i]] = s[p[i]];
|
|
18
|
-
}
|
|
19
|
-
return t;
|
|
20
|
-
};
|
|
21
|
-
import { DappMetadataError } from "./errors/dapp/dapp-metadata.error";
|
|
22
|
-
import { ManifestContentErrorError } from "./errors/protocol/events/connect/manifest-content-error.error";
|
|
23
|
-
import { ManifestNotFoundError } from "./errors/protocol/events/connect/manifest-not-found.error";
|
|
24
|
-
import { TonConnectError } from "./errors/ton-connect.error";
|
|
25
|
-
import { WalletAlreadyConnectedError } from "./errors/wallet/wallet-already-connected.error";
|
|
26
|
-
import { WalletNotConnectedError } from "./errors/wallet/wallet-not-connected.error";
|
|
27
|
-
import { WalletNotSupportFeatureError } from "./errors/wallet/wallet-not-support-feature.error";
|
|
28
|
-
import { isWalletConnectionSourceJS } from "./models/wallet/wallet-connection-source";
|
|
29
|
-
import { connectErrorsParser } from "./parsers/connect-errors-parser";
|
|
30
|
-
import { sendTransactionParser } from "./parsers/send-transaction-parser";
|
|
31
|
-
import { BridgeProvider } from "./provider/bridge/bridge-provider";
|
|
32
|
-
import { InjectedProvider } from "./provider/injected/injected-provider";
|
|
33
|
-
import { BridgeConnectionStorage } from "./storage/bridge-connection-storage";
|
|
34
|
-
import { DefaultStorage } from "./storage/default-storage";
|
|
35
|
-
import { getWebPageManifest } from "./utils/web-api";
|
|
36
|
-
import { WalletsListManager } from "./wallets-list-manager";
|
|
37
|
-
export class TonConnect {
|
|
38
|
-
constructor(options) {
|
|
39
|
-
this.walletsList = new WalletsListManager();
|
|
40
|
-
this._wallet = null;
|
|
41
|
-
this.provider = null;
|
|
42
|
-
this.statusChangeSubscriptions = [];
|
|
43
|
-
this.statusChangeErrorSubscriptions = [];
|
|
44
|
-
this.dappSettings = {
|
|
45
|
-
manifestUrl: (options === null || options === void 0 ? void 0 : options.manifestUrl) || getWebPageManifest(),
|
|
46
|
-
storage: (options === null || options === void 0 ? void 0 : options.storage) || new DefaultStorage()
|
|
47
|
-
};
|
|
48
|
-
this.walletsList = new WalletsListManager(options === null || options === void 0 ? void 0 : options.walletsListSource);
|
|
49
|
-
if (!this.dappSettings.manifestUrl) {
|
|
50
|
-
throw new 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');
|
|
51
|
-
}
|
|
52
|
-
this.bridgeConnectionStorage = new BridgeConnectionStorage(this.dappSettings.storage);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Returns available wallets list.
|
|
56
|
-
*/
|
|
57
|
-
static getWallets() {
|
|
58
|
-
return this.walletsList.getWallets();
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Shows if the wallet is connected right now.
|
|
62
|
-
*/
|
|
63
|
-
get connected() {
|
|
64
|
-
return this._wallet !== null;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Current connected account or null if no account is connected.
|
|
68
|
-
*/
|
|
69
|
-
get account() {
|
|
70
|
-
var _a;
|
|
71
|
-
return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.account) || null;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Current connected wallet or null if no account is connected.
|
|
75
|
-
*/
|
|
76
|
-
get wallet() {
|
|
77
|
-
return this._wallet;
|
|
78
|
-
}
|
|
79
|
-
set wallet(value) {
|
|
80
|
-
this._wallet = value;
|
|
81
|
-
this.statusChangeSubscriptions.forEach(callback => callback(this._wallet));
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Returns available wallets list.
|
|
85
|
-
*/
|
|
86
|
-
getWallets() {
|
|
87
|
-
return this.walletsList.getWallets();
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Allows to subscribe to connection status changes and handle connection errors.
|
|
91
|
-
* @param callback will be called after connections status changes with actual wallet or null.
|
|
92
|
-
* @param errorsHandler (optional) will be called with some instance of TonConnectError when connect error is received.
|
|
93
|
-
* @returns unsubscribe callback.
|
|
94
|
-
*/
|
|
95
|
-
onStatusChange(callback, errorsHandler) {
|
|
96
|
-
this.statusChangeSubscriptions.push(callback);
|
|
97
|
-
if (errorsHandler) {
|
|
98
|
-
this.statusChangeErrorSubscriptions.push(errorsHandler);
|
|
99
|
-
}
|
|
100
|
-
return () => {
|
|
101
|
-
this.statusChangeSubscriptions = this.statusChangeSubscriptions.filter(item => item !== callback);
|
|
102
|
-
if (errorsHandler) {
|
|
103
|
-
this.statusChangeErrorSubscriptions = this.statusChangeErrorSubscriptions.filter(item => item !== errorsHandler);
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
connect(wallet, request) {
|
|
108
|
-
var _a;
|
|
109
|
-
if (this.connected) {
|
|
110
|
-
throw new WalletAlreadyConnectedError();
|
|
111
|
-
}
|
|
112
|
-
(_a = this.provider) === null || _a === void 0 ? void 0 : _a.closeConnection();
|
|
113
|
-
this.provider = this.createProvider(wallet);
|
|
114
|
-
return this.provider.connect(this.createConnectRequest(request));
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Try to restore existing session and reconnect to the corresponding wallet. Call it immediately when your app is loaded.
|
|
118
|
-
*/
|
|
119
|
-
restoreConnection() {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
const [bridgeConnectionType, embeddedWallet] = yield Promise.all([
|
|
122
|
-
this.bridgeConnectionStorage.storedConnectionType(),
|
|
123
|
-
this.walletsList.getEmbeddedWallet()
|
|
124
|
-
]);
|
|
125
|
-
switch (bridgeConnectionType) {
|
|
126
|
-
case 'http':
|
|
127
|
-
this.provider = yield BridgeProvider.fromStorage(this.dappSettings.storage);
|
|
128
|
-
break;
|
|
129
|
-
case 'injected':
|
|
130
|
-
this.provider = yield InjectedProvider.fromStorage(this.dappSettings.storage);
|
|
131
|
-
break;
|
|
132
|
-
default:
|
|
133
|
-
if (embeddedWallet) {
|
|
134
|
-
this.provider = yield this.createProvider(embeddedWallet);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
this.provider.listen(this.walletEventsListener.bind(this));
|
|
141
|
-
return this.provider.restoreConnection();
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Asks connected wallet to sign and send the transaction.
|
|
146
|
-
* @param transaction transaction to send.
|
|
147
|
-
* @returns signed transaction boc that allows you to find the transaction in the blockchain.
|
|
148
|
-
* If user rejects transaction, method will throw the corresponding error.
|
|
149
|
-
*/
|
|
150
|
-
sendTransaction(transaction) {
|
|
151
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
this.checkConnection();
|
|
153
|
-
this.checkFeatureSupport('SendTransaction');
|
|
154
|
-
const { validUntil } = transaction, tx = __rest(transaction, ["validUntil"]);
|
|
155
|
-
const response = yield this.provider.sendRequest(sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })));
|
|
156
|
-
if (sendTransactionParser.isError(response)) {
|
|
157
|
-
return sendTransactionParser.parseAndThrowError(response);
|
|
158
|
-
}
|
|
159
|
-
return sendTransactionParser.convertFromRpcResponse(response);
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Disconnect form thw connected wallet and drop current session.
|
|
164
|
-
*/
|
|
165
|
-
disconnect() {
|
|
166
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
-
if (!this.connected) {
|
|
168
|
-
throw new WalletNotConnectedError();
|
|
169
|
-
}
|
|
170
|
-
yield this.provider.disconnect();
|
|
171
|
-
this.onWalletDisconnected();
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
createProvider(wallet) {
|
|
175
|
-
let provider;
|
|
176
|
-
if (isWalletConnectionSourceJS(wallet)) {
|
|
177
|
-
provider = new InjectedProvider(this.dappSettings.storage, wallet.jsBridgeKey);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
provider = new BridgeProvider(this.dappSettings.storage, wallet);
|
|
181
|
-
}
|
|
182
|
-
provider.listen(this.walletEventsListener.bind(this));
|
|
183
|
-
return provider;
|
|
184
|
-
}
|
|
185
|
-
walletEventsListener(e) {
|
|
186
|
-
switch (e.event) {
|
|
187
|
-
case 'connect':
|
|
188
|
-
this.onWalletConnected(e.payload);
|
|
189
|
-
break;
|
|
190
|
-
case 'connect_error':
|
|
191
|
-
this.onWalletConnectError(e.payload);
|
|
192
|
-
break;
|
|
193
|
-
case 'disconnect':
|
|
194
|
-
this.onWalletDisconnected();
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
onWalletConnected(connectEvent) {
|
|
198
|
-
const tonAccountItem = connectEvent.items.find(item => item.name === 'ton_addr');
|
|
199
|
-
const tonProofItem = connectEvent.items.find(item => item.name === 'ton_proof');
|
|
200
|
-
if (!tonAccountItem) {
|
|
201
|
-
throw new TonConnectError('ton_addr connection item was not found');
|
|
202
|
-
}
|
|
203
|
-
const wallet = {
|
|
204
|
-
device: connectEvent.device,
|
|
205
|
-
provider: this.provider.type,
|
|
206
|
-
account: {
|
|
207
|
-
address: tonAccountItem.address,
|
|
208
|
-
chain: tonAccountItem.network,
|
|
209
|
-
walletStateInit: tonAccountItem.walletStateInit
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
if (tonProofItem) {
|
|
213
|
-
wallet.connectItems = {
|
|
214
|
-
tonProof: tonProofItem
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
this.wallet = wallet;
|
|
218
|
-
}
|
|
219
|
-
onWalletConnectError(connectEventError) {
|
|
220
|
-
const error = connectErrorsParser.parseError(connectEventError);
|
|
221
|
-
this.statusChangeErrorSubscriptions.forEach(errorsHandler => errorsHandler(error));
|
|
222
|
-
console.debug(error);
|
|
223
|
-
if (error instanceof ManifestNotFoundError || error instanceof ManifestContentErrorError) {
|
|
224
|
-
console.error(error);
|
|
225
|
-
throw error;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
onWalletDisconnected() {
|
|
229
|
-
this.wallet = null;
|
|
230
|
-
}
|
|
231
|
-
checkConnection() {
|
|
232
|
-
if (!this.connected) {
|
|
233
|
-
throw new WalletNotConnectedError();
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
checkFeatureSupport(feature) {
|
|
237
|
-
var _a;
|
|
238
|
-
if (!((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.device.features.includes(feature))) {
|
|
239
|
-
throw new WalletNotSupportFeatureError();
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
createConnectRequest(request) {
|
|
243
|
-
const items = [
|
|
244
|
-
{
|
|
245
|
-
name: 'ton_addr'
|
|
246
|
-
}
|
|
247
|
-
];
|
|
248
|
-
if (request === null || request === void 0 ? void 0 : request.tonProof) {
|
|
249
|
-
items.push({
|
|
250
|
-
name: 'ton_proof',
|
|
251
|
-
payload: request.tonProof
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
return {
|
|
255
|
-
manifestUrl: this.dappSettings.manifestUrl,
|
|
256
|
-
items
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
TonConnect.walletsList = new WalletsListManager();
|
|
261
|
-
/**
|
|
262
|
-
* Check if specified wallet is injected and available to use with the app.
|
|
263
|
-
* @param walletJSKey target wallet's js bridge key.
|
|
264
|
-
*/
|
|
265
|
-
TonConnect.isWalletInjected = (walletJSKey) => InjectedProvider.isWalletInjected(walletJSKey);
|
|
266
|
-
/**
|
|
267
|
-
* Check if the app is opened inside specified wallet's browser.
|
|
268
|
-
* @param walletJSKey target wallet's js bridge key.
|
|
269
|
-
*/
|
|
270
|
-
TonConnect.isInsideWalletBrowser = (walletJSKey) => InjectedProvider.isInsideWalletBrowser(walletJSKey);
|
|
271
|
-
//# sourceMappingURL=ton-connect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ton-connect.js","sourceRoot":"","sources":["../../src/ton-connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAWA,OAAO,EAAE,iBAAiB,EAAE,0CAA4C;AACxE,OAAO,EAAE,yBAAyB,EAAE,sEAAwE;AAC5G,OAAO,EAAE,qBAAqB,EAAE,kEAAoE;AACpG,OAAO,EAAE,eAAe,EAAE,mCAAqC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,uDAAyD;AAC/F,OAAO,EAAE,uBAAuB,EAAE,mDAAqD;AACvF,OAAO,EAAE,4BAA4B,EAAE,yDAA2D;AAKlG,OAAO,EACH,0BAA0B,EAE7B,iDAAmD;AACpD,OAAO,EAAE,mBAAmB,EAAE,wCAA0C;AACxE,OAAO,EAAE,qBAAqB,EAAE,0CAA4C;AAC5E,OAAO,EAAE,cAAc,EAAE,0CAA4C;AACrE,OAAO,EAAE,gBAAgB,EAAE,8CAAgD;AAE3E,OAAO,EAAE,uBAAuB,EAAE,4CAA8C;AAChF,OAAO,EAAE,cAAc,EAAE,kCAAoC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,wBAA0B;AACvD,OAAO,EAAE,kBAAkB,EAAE,+BAAiC;AAE9D,MAAM,OAAO,UAAU;IAgEnB,YAAY,OAA2B;QAxCtB,gBAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAMhD,YAAO,GAAkB,IAAI,CAAC;QAE9B,aAAQ,GAAoB,IAAI,CAAC;QAEjC,8BAAyB,GAA4C,EAAE,CAAC;QAExE,mCAA8B,GAAuC,EAAE,CAAC;QA6B5E,IAAI,CAAC,YAAY,GAAG;YAChB,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,kBAAkB,EAAE;YACzD,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,IAAI,cAAc,EAAE;SACpD,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAChC,MAAM,IAAI,iBAAiB,CACvB,mLAAmL,CACtL,CAAC;SACL;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC1F,CAAC;IA9DD;;OAEG;IACI,MAAM,CAAC,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAgBD;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;;QACd,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAAI,IAAI,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAY,MAAM,CAAC,KAAoB;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAmBD;;OAEG;IACI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CACjB,QAAyC,EACzC,aAA8C;QAE9C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC3D;QAED,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAClE,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAC5B,CAAC;YACF,IAAI,aAAa,EAAE;gBACf,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAC5E,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,CACjC,CAAC;aACL;QACL,CAAC,CAAC;IACN,CAAC;IAYM,OAAO,CACV,MAA8B,EAC9B,OAAkC;;QAElC,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,IAAI,2BAA2B,EAAE,CAAC;SAC3C;QAED,MAAA,IAAI,CAAC,QAAQ,0CAAE,eAAe,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACU,iBAAiB;;YAC1B,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7D,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,EAAE;gBACnD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;aACvC,CAAC,CAAC;YAEH,QAAQ,oBAAoB,EAAE;gBAC1B,KAAK,MAAM;oBACP,IAAI,CAAC,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC5E,MAAM;gBACV,KAAK,UAAU;oBACX,IAAI,CAAC,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC9E,MAAM;gBACV;oBACI,IAAI,cAAc,EAAE;wBAChB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;qBAC7D;yBAAM;wBACH,OAAO;qBACV;aACR;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC7C,CAAC;KAAA;IAED;;;;;OAKG;IACU,eAAe,CACxB,WAAmC;;YAEnC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YAE5C,MAAM,EAAE,UAAU,KAAY,WAAW,EAAlB,EAAE,UAAK,WAAW,EAAnC,cAAqB,CAAc,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,WAAW,CAC7C,qBAAqB,CAAC,mBAAmB,iCAAM,EAAE,KAAE,WAAW,EAAE,UAAU,IAAG,CAChF,CAAC;YAEF,IAAI,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACzC,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC7D;YAED,OAAO,qBAAqB,CAAC,sBAAsB,CAC/C,QAA6C,CAChD,CAAC;QACN,CAAC;KAAA;IAED;;OAEG;IACU,UAAU;;YACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,MAAM,IAAI,uBAAuB,EAAE,CAAC;aACvC;YACD,MAAM,IAAI,CAAC,QAAS,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;KAAA;IAEO,cAAc,CAAC,MAA8B;QACjD,IAAI,QAAkB,CAAC;QAEvB,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE;YACpC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;SAClF;aAAM;YACH,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACpE;QAED,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,oBAAoB,CAAC,CAAc;QACvC,QAAQ,CAAC,CAAC,KAAK,EAAE;YACb,KAAK,SAAS;gBACV,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM;YACV,KAAK,eAAe;gBAChB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,YAAY;gBACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACnC;IACL,CAAC;IAEO,iBAAiB,CAAC,YAA4C;QAClE,MAAM,cAAc,GAAoC,YAAY,CAAC,KAAK,CAAC,IAAI,CAC3E,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CACA,CAAC;QAErC,MAAM,YAAY,GAAkC,YAAY,CAAC,KAAK,CAAC,IAAI,CACvE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CACH,CAAC;QAEnC,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,eAAe,CAAC,wCAAwC,CAAC,CAAC;SACvE;QAED,MAAM,MAAM,GAAW;YACnB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAS,CAAC,IAAI;YAC7B,OAAO,EAAE;gBACL,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,KAAK,EAAE,cAAc,CAAC,OAAO;gBAC7B,eAAe,EAAE,cAAc,CAAC,eAAe;aAClD;SACJ,CAAC;QAEF,IAAI,YAAY,EAAE;YACd,MAAM,CAAC,YAAY,GAAG;gBAClB,QAAQ,EAAE,YAAY;aACzB,CAAC;SACL;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEO,oBAAoB,CAAC,iBAA+C;QACxE,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,yBAAyB,EAAE;YACtF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,uBAAuB,EAAE,CAAC;SACvC;IACL,CAAC;IAEO,mBAAmB,CAAC,OAAgB;;QACxC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA,EAAE;YACjD,MAAM,IAAI,4BAA4B,EAAE,CAAC;SAC5C;IACL,CAAC;IAEO,oBAAoB,CAAC,OAAkC;QAC3D,MAAM,KAAK,GAAkB;YACzB;gBACI,IAAI,EAAE,UAAU;aACnB;SACJ,CAAC;QAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,QAAQ;aAC5B,CAAC,CAAC;SACN;QAED,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;YAC1C,KAAK;SACR,CAAC;IACN,CAAC;;AAnTuB,sBAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAE/D;;;GAGG;AACW,2BAAgB,GAAG,CAAC,WAAmB,EAAW,EAAE,CAC9D,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAEnD;;;GAGG;AACW,gCAAqB,GAAG,CAAC,WAAmB,EAAW,EAAE,CACnE,gBAAgB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC"}
|
package/lib/esm/utils/address.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { WrongAddressError, ParseHexError } from "../errors";
|
|
2
|
-
import { Base64 } from '@tonconnect/protocol';
|
|
3
|
-
const bounceableTag = 0x11;
|
|
4
|
-
const testOnlyTag = 0x80;
|
|
5
|
-
/**
|
|
6
|
-
* Converts raw TON address to bounceable user-friendly format. [See details]{@link https://ton.org/docs/learn/overviews/addresses#user-friendly-address}
|
|
7
|
-
* @param hexAddress raw TON address formatted as "0:<hex string without 0x>".
|
|
8
|
-
* @param [testOnly=false] convert address to test-only form. [See details]{@link https://ton.org/docs/learn/overviews/addresses#user-friendly-address}
|
|
9
|
-
*/
|
|
10
|
-
export function toUserFriendlyAddress(hexAddress, testOnly = false) {
|
|
11
|
-
const { wc, hex } = parseHexAddress(hexAddress);
|
|
12
|
-
let tag = bounceableTag;
|
|
13
|
-
if (testOnly) {
|
|
14
|
-
tag |= testOnlyTag;
|
|
15
|
-
}
|
|
16
|
-
const addr = new Int8Array(34);
|
|
17
|
-
addr[0] = tag;
|
|
18
|
-
addr[1] = wc;
|
|
19
|
-
addr.set(hex, 2);
|
|
20
|
-
const addressWithChecksum = new Uint8Array(36);
|
|
21
|
-
addressWithChecksum.set(addr);
|
|
22
|
-
addressWithChecksum.set(crc16(addr), 34);
|
|
23
|
-
let addressBase64 = Base64.encode(addressWithChecksum);
|
|
24
|
-
return addressBase64.replace(/\+/g, '-').replace(/\//g, '_');
|
|
25
|
-
}
|
|
26
|
-
function parseHexAddress(hexAddress) {
|
|
27
|
-
if (!hexAddress.includes(':')) {
|
|
28
|
-
throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include ":".`);
|
|
29
|
-
}
|
|
30
|
-
const parts = hexAddress.split(':');
|
|
31
|
-
if (parts.length !== 2) {
|
|
32
|
-
throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include ":" only once.`);
|
|
33
|
-
}
|
|
34
|
-
const wc = parseInt(parts[0]);
|
|
35
|
-
if (wc !== 0 && wc !== -1) {
|
|
36
|
-
throw new WrongAddressError(`Wrong address ${hexAddress}. WC must be eq 0 or -1, but ${wc} received.`);
|
|
37
|
-
}
|
|
38
|
-
const hex = parts[1];
|
|
39
|
-
if ((hex === null || hex === void 0 ? void 0 : hex.length) !== 64) {
|
|
40
|
-
throw new WrongAddressError(`Wrong address ${hexAddress}. Hex part must be 64bytes length, but ${hex === null || hex === void 0 ? void 0 : hex.length} received.`);
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
wc,
|
|
44
|
-
hex: hexToBytes(hex)
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function crc16(data) {
|
|
48
|
-
const poly = 0x1021;
|
|
49
|
-
let reg = 0;
|
|
50
|
-
const message = new Uint8Array(data.length + 2);
|
|
51
|
-
message.set(data);
|
|
52
|
-
for (let byte of message) {
|
|
53
|
-
let mask = 0x80;
|
|
54
|
-
while (mask > 0) {
|
|
55
|
-
reg <<= 1;
|
|
56
|
-
if (byte & mask) {
|
|
57
|
-
reg += 1;
|
|
58
|
-
}
|
|
59
|
-
mask >>= 1;
|
|
60
|
-
if (reg > 0xffff) {
|
|
61
|
-
reg &= 0xffff;
|
|
62
|
-
reg ^= poly;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return new Uint8Array([Math.floor(reg / 256), reg % 256]);
|
|
67
|
-
}
|
|
68
|
-
const toByteMap = {};
|
|
69
|
-
for (let ord = 0; ord <= 0xff; ord++) {
|
|
70
|
-
let s = ord.toString(16);
|
|
71
|
-
if (s.length < 2) {
|
|
72
|
-
s = '0' + s;
|
|
73
|
-
}
|
|
74
|
-
toByteMap[s] = ord;
|
|
75
|
-
}
|
|
76
|
-
function hexToBytes(hex) {
|
|
77
|
-
hex = hex.toLowerCase();
|
|
78
|
-
const length2 = hex.length;
|
|
79
|
-
if (length2 % 2 !== 0) {
|
|
80
|
-
throw new ParseHexError('Hex string must have length a multiple of 2: ' + hex);
|
|
81
|
-
}
|
|
82
|
-
const length = length2 / 2;
|
|
83
|
-
const result = new Uint8Array(length);
|
|
84
|
-
for (let i = 0; i < length; i++) {
|
|
85
|
-
const doubled = i * 2;
|
|
86
|
-
const hexSubstring = hex.substring(doubled, doubled + 2);
|
|
87
|
-
if (!toByteMap.hasOwnProperty(hexSubstring)) {
|
|
88
|
-
throw new ParseHexError('Invalid hex character: ' + hexSubstring);
|
|
89
|
-
}
|
|
90
|
-
result[i] = toByteMap[hexSubstring];
|
|
91
|
-
}
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=address.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/utils/address.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils/options.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import deepmerge from 'deepmerge';
|
|
2
|
-
export function mergeOptions(options, defaultOptions) {
|
|
3
|
-
if (!options) {
|
|
4
|
-
return defaultOptions;
|
|
5
|
-
}
|
|
6
|
-
const overwriteMerge = (_, sourceArray, __) => sourceArray;
|
|
7
|
-
return deepmerge(defaultOptions, options, { arrayMerge: overwriteMerge });
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=options.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/utils/options.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,YAAY,CAAI,OAAsC,EAAE,cAAiB;IACrF,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,cAAc,CAAC;KACzB;IAED,MAAM,cAAc,GAAG,CAAC,CAAY,EAAE,WAAsB,EAAE,EAAW,EAAa,EAAE,CACpF,WAAW,CAAC;IAEhB,OAAO,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;AAC9E,CAAC"}
|
package/lib/esm/utils/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":""}
|
package/lib/esm/utils/url.js
DELETED
package/lib/esm/utils/url.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACvB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC3B;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,IAAY;IAClD,OAAO,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AAChD,CAAC"}
|
package/lib/esm/utils/web-api.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export function getWindow() {
|
|
2
|
-
if (typeof window === 'undefined') {
|
|
3
|
-
return undefined;
|
|
4
|
-
}
|
|
5
|
-
return window;
|
|
6
|
-
}
|
|
7
|
-
export function getDocument() {
|
|
8
|
-
if (typeof document === 'undefined') {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
return document;
|
|
12
|
-
}
|
|
13
|
-
export function getWebPageManifest() {
|
|
14
|
-
var _a;
|
|
15
|
-
const origin = (_a = getWindow()) === null || _a === void 0 ? void 0 : _a.location.origin;
|
|
16
|
-
if (origin) {
|
|
17
|
-
return origin + '/tonconnect-manifest.json';
|
|
18
|
-
}
|
|
19
|
-
return '';
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=web-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-api.js","sourceRoot":"","sources":["../../../src/utils/web-api.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAC/B,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACjC,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB;;IAC9B,MAAM,MAAM,GAAG,MAAA,SAAS,EAAE,0CAAE,QAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,MAAM,EAAE;QACR,OAAO,MAAM,GAAG,2BAA2B,CAAC;KAC/C;IAED,OAAO,EAAE,CAAC;AACd,CAAC"}
|