@dynamic-labs-sdk/sui 0.1.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SuiNetworkProvider.types.d.ts.map +1 -0
- package/dist/SuiWalletAccount.types.d.ts.map +1 -0
- package/dist/SuiWalletProvider.types.d.ts.map +1 -0
- package/{src → dist}/addSuiExtension/addSuiExtension.d.ts +1 -1
- package/dist/addSuiExtension/addSuiExtension.d.ts.map +1 -0
- package/dist/addSuiExtension/index.d.ts.map +1 -0
- package/dist/addSuiWalletStandardExtension-CsaAXmct.esm.js +197 -0
- package/dist/addSuiWalletStandardExtension-CsaAXmct.esm.js.map +1 -0
- package/dist/addSuiWalletStandardExtension-rcQSzsTf.cjs.js +202 -0
- package/dist/addSuiWalletStandardExtension-rcQSzsTf.cjs.js.map +1 -0
- package/dist/addWaasSuiExtension-BiqnHHuw.esm.js +122 -0
- package/dist/addWaasSuiExtension-BiqnHHuw.esm.js.map +1 -0
- package/dist/addWaasSuiExtension-CxlX_a8e.cjs.js +127 -0
- package/dist/addWaasSuiExtension-CxlX_a8e.cjs.js.map +1 -0
- package/dist/errors/NotSuiProviderError/NotSuiProviderError.d.ts.map +1 -0
- package/dist/errors/NotSuiProviderError/index.d.ts.map +1 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/dist/exports/waas.d.ts.map +1 -0
- package/dist/exports/walletStandard.d.ts.map +1 -0
- package/{src → dist}/getSuiClient/getSuiClient.d.ts +1 -1
- package/dist/getSuiClient/getSuiClient.d.ts.map +1 -0
- package/dist/getSuiClient/index.d.ts.map +1 -0
- package/dist/index.cjs.js +182 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +174 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/isSuiNetworkProvider/index.d.ts.map +1 -0
- package/dist/isSuiNetworkProvider/isSuiNetworkProvider.d.ts.map +1 -0
- package/dist/isSuiWalletAccount/index.d.ts.map +1 -0
- package/dist/isSuiWalletAccount/isSuiWalletAccount.d.ts.map +1 -0
- package/dist/isSuiWalletProvider/index.d.ts.map +1 -0
- package/dist/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +1 -0
- package/dist/registerSuiNetworkProviderBuilder/index.d.ts.map +1 -0
- package/dist/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +1 -0
- package/dist/registerSuiNetworkProviderBuilder-9cPYr6qc.esm.js +44 -0
- package/dist/registerSuiNetworkProviderBuilder-9cPYr6qc.esm.js.map +1 -0
- package/dist/registerSuiNetworkProviderBuilder-CgFK-0xS.cjs.js +61 -0
- package/dist/registerSuiNetworkProviderBuilder-CgFK-0xS.cjs.js.map +1 -0
- package/dist/signAndExecuteTransaction/index.d.ts.map +1 -0
- package/{src → dist}/signAndExecuteTransaction/signAndExecuteTransaction.d.ts +1 -1
- package/dist/signAndExecuteTransaction/signAndExecuteTransaction.d.ts.map +1 -0
- package/dist/signAndExecuteTransactionBlock/index.d.ts.map +1 -0
- package/{src → dist}/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts +1 -1
- package/dist/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts.map +1 -0
- package/dist/signTransaction/index.d.ts.map +1 -0
- package/{src → dist}/signTransaction/signTransaction.d.ts +1 -1
- package/dist/signTransaction/signTransaction.d.ts.map +1 -0
- package/dist/signTransactionBlock/index.d.ts.map +1 -0
- package/{src → dist}/signTransactionBlock/signTransactionBlock.d.ts +1 -1
- package/dist/signTransactionBlock/signTransactionBlock.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +1 -0
- package/dist/utils/createSuiNetworkProvider/index.d.ts.map +1 -0
- package/dist/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +1 -0
- package/dist/utils/fetchSuiBalance/index.d.ts.map +1 -0
- package/dist/waas/WaasSuiWalletProvider.types.d.ts.map +1 -0
- package/{src → dist}/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts +1 -1
- package/dist/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts.map +1 -0
- package/dist/waas/addWaasSuiExtension/index.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasSui/index.d.ts.map +1 -0
- package/dist/waas.cjs.js +10 -0
- package/dist/waas.cjs.js.map +1 -0
- package/dist/waas.esm.js +10 -0
- package/dist/waas.esm.js.map +1 -0
- package/{src → dist}/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts +1 -1
- package/dist/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts.map +1 -0
- package/dist/walletStandard/addSuiWalletStandardExtension/index.d.ts.map +1 -0
- package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +1 -0
- package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts.map +1 -0
- package/dist/walletStandard.cjs.js +10 -0
- package/dist/walletStandard.cjs.js.map +1 -0
- package/dist/walletStandard.esm.js +10 -0
- package/dist/walletStandard.esm.js.map +1 -0
- package/package.json +30 -18
- package/CHANGELOG.md +0 -606
- package/addSuiWalletStandardExtension.cjs.js +0 -264
- package/addSuiWalletStandardExtension.esm.js +0 -262
- package/addWaasSuiExtension.cjs.js +0 -141
- package/addWaasSuiExtension.esm.js +0 -139
- package/index.cjs.d.ts +0 -1
- package/index.cjs.js +0 -193
- package/index.esm.d.ts +0 -1
- package/index.esm.js +0 -183
- package/registerSuiNetworkProviderBuilder.cjs.js +0 -62
- package/registerSuiNetworkProviderBuilder.esm.js +0 -57
- package/src/SuiNetworkProvider.types.d.ts.map +0 -1
- package/src/SuiWalletAccount.types.d.ts.map +0 -1
- package/src/SuiWalletProvider.types.d.ts.map +0 -1
- package/src/addSuiExtension/addSuiExtension.d.ts.map +0 -1
- package/src/addSuiExtension/index.d.ts.map +0 -1
- package/src/errors/NotSuiProviderError/NotSuiProviderError.d.ts.map +0 -1
- package/src/errors/NotSuiProviderError/index.d.ts.map +0 -1
- package/src/exports/index.d.ts.map +0 -1
- package/src/exports/waas.d.ts.map +0 -1
- package/src/exports/walletStandard.d.ts.map +0 -1
- package/src/getSuiClient/getSuiClient.d.ts.map +0 -1
- package/src/getSuiClient/index.d.ts.map +0 -1
- package/src/isSuiNetworkProvider/index.d.ts.map +0 -1
- package/src/isSuiNetworkProvider/isSuiNetworkProvider.d.ts.map +0 -1
- package/src/isSuiWalletAccount/index.d.ts.map +0 -1
- package/src/isSuiWalletAccount/isSuiWalletAccount.d.ts.map +0 -1
- package/src/isSuiWalletProvider/index.d.ts.map +0 -1
- package/src/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +0 -1
- package/src/registerSuiNetworkProviderBuilder/index.d.ts.map +0 -1
- package/src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +0 -1
- package/src/signAndExecuteTransaction/index.d.ts.map +0 -1
- package/src/signAndExecuteTransaction/signAndExecuteTransaction.d.ts.map +0 -1
- package/src/signAndExecuteTransactionBlock/index.d.ts.map +0 -1
- package/src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts.map +0 -1
- package/src/signTransaction/index.d.ts.map +0 -1
- package/src/signTransaction/signTransaction.d.ts.map +0 -1
- package/src/signTransactionBlock/index.d.ts.map +0 -1
- package/src/signTransactionBlock/signTransactionBlock.d.ts.map +0 -1
- package/src/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +0 -1
- package/src/utils/createSuiNetworkProvider/index.d.ts.map +0 -1
- package/src/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +0 -1
- package/src/utils/fetchSuiBalance/index.d.ts.map +0 -1
- package/src/waas/WaasSuiWalletProvider.types.d.ts.map +0 -1
- package/src/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts.map +0 -1
- package/src/waas/addWaasSuiExtension/index.d.ts.map +0 -1
- package/src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +0 -1
- package/src/waas/utils/createWalletProviderForWaasSui/index.d.ts.map +0 -1
- package/src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts.map +0 -1
- package/src/walletStandard/addSuiWalletStandardExtension/index.d.ts.map +0 -1
- package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +0 -1
- package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts.map +0 -1
- package/waas.cjs.d.ts +0 -1
- package/waas.cjs.js +0 -15
- package/waas.esm.d.ts +0 -1
- package/waas.esm.js +0 -11
- package/walletStandard.cjs.d.ts +0 -1
- package/walletStandard.cjs.js +0 -15
- package/walletStandard.esm.d.ts +0 -1
- package/walletStandard.esm.js +0 -11
- /package/{src → dist}/SuiNetworkProvider.types.d.ts +0 -0
- /package/{src → dist}/SuiWalletAccount.types.d.ts +0 -0
- /package/{src → dist}/SuiWalletProvider.types.d.ts +0 -0
- /package/{src → dist}/addSuiExtension/index.d.ts +0 -0
- /package/{src → dist}/errors/NotSuiProviderError/NotSuiProviderError.d.ts +0 -0
- /package/{src → dist}/errors/NotSuiProviderError/index.d.ts +0 -0
- /package/{src → dist}/exports/index.d.ts +0 -0
- /package/{src → dist}/exports/waas.d.ts +0 -0
- /package/{src → dist}/exports/walletStandard.d.ts +0 -0
- /package/{src → dist}/getSuiClient/index.d.ts +0 -0
- /package/{src → dist}/isSuiNetworkProvider/index.d.ts +0 -0
- /package/{src → dist}/isSuiNetworkProvider/isSuiNetworkProvider.d.ts +0 -0
- /package/{src → dist}/isSuiWalletAccount/index.d.ts +0 -0
- /package/{src → dist}/isSuiWalletAccount/isSuiWalletAccount.d.ts +0 -0
- /package/{src → dist}/isSuiWalletProvider/index.d.ts +0 -0
- /package/{src → dist}/isSuiWalletProvider/isSuiWalletProvider.d.ts +0 -0
- /package/{src → dist}/registerSuiNetworkProviderBuilder/index.d.ts +0 -0
- /package/{src → dist}/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts +0 -0
- /package/{src → dist}/signAndExecuteTransaction/index.d.ts +0 -0
- /package/{src → dist}/signAndExecuteTransactionBlock/index.d.ts +0 -0
- /package/{src → dist}/signTransaction/index.d.ts +0 -0
- /package/{src → dist}/signTransactionBlock/index.d.ts +0 -0
- /package/{src → dist}/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts +0 -0
- /package/{src → dist}/utils/createSuiNetworkProvider/index.d.ts +0 -0
- /package/{src → dist}/utils/fetchSuiBalance/fetchSuiBalance.d.ts +0 -0
- /package/{src → dist}/utils/fetchSuiBalance/index.d.ts +0 -0
- /package/{src → dist}/waas/WaasSuiWalletProvider.types.d.ts +0 -0
- /package/{src → dist}/waas/addWaasSuiExtension/index.d.ts +0 -0
- /package/{src → dist}/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts +0 -0
- /package/{src → dist}/waas/utils/createWalletProviderForWaasSui/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/addSuiWalletStandardExtension/index.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts +0 -0
- /package/{src → dist}/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts +0 -0
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var core = require('@dynamic-labs-sdk/client/core');
|
|
4
|
-
var walletStandard = require('@mysten/wallet-standard');
|
|
5
|
-
var registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder.cjs.js');
|
|
6
|
-
var client = require('@dynamic-labs-sdk/client');
|
|
7
|
-
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
8
|
-
var client$1 = require('@mysten/sui/client');
|
|
9
|
-
|
|
10
|
-
const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStandardWallet })=>{
|
|
11
|
-
const features = walletStandardWallet.features;
|
|
12
|
-
const walletProviderType = sdkApiCore.WalletProviderEnum.BrowserExtension;
|
|
13
|
-
const key = core.formatWalletProviderKey({
|
|
14
|
-
chain: 'SUI',
|
|
15
|
-
displayName: walletStandardWallet.name,
|
|
16
|
-
walletProviderType
|
|
17
|
-
});
|
|
18
|
-
const runConnectFeature = async ({ silent = false } = {})=>{
|
|
19
|
-
var _features_standardconnect, _result_accounts;
|
|
20
|
-
const connectMethod = (_features_standardconnect = features['standard:connect']) == null ? void 0 : _features_standardconnect.connect;
|
|
21
|
-
core.assertDefined(connectMethod, 'connect method not found in wallet features');
|
|
22
|
-
const result = await connectMethod({
|
|
23
|
-
silent
|
|
24
|
-
});
|
|
25
|
-
return {
|
|
26
|
-
addresses: (_result_accounts = result.accounts) == null ? void 0 : _result_accounts.map((account)=>{
|
|
27
|
-
var _account_publicKey;
|
|
28
|
-
return {
|
|
29
|
-
address: account.address,
|
|
30
|
-
publicKey: (_account_publicKey = account.publicKey) == null ? void 0 : _account_publicKey.toString()
|
|
31
|
-
};
|
|
32
|
-
})
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
const connect = async ()=>{
|
|
36
|
-
const autoConnectedAccounts = walletStandardWallet.accounts;
|
|
37
|
-
if ((autoConnectedAccounts == null ? void 0 : autoConnectedAccounts.length) && autoConnectedAccounts[0].address) {
|
|
38
|
-
var _autoConnectedAccounts__publicKey;
|
|
39
|
-
return {
|
|
40
|
-
addresses: [
|
|
41
|
-
{
|
|
42
|
-
address: autoConnectedAccounts[0].address,
|
|
43
|
-
publicKey: (_autoConnectedAccounts__publicKey = autoConnectedAccounts[0].publicKey) == null ? void 0 : _autoConnectedAccounts__publicKey.toString()
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return runConnectFeature();
|
|
49
|
-
};
|
|
50
|
-
const disconnect = async ()=>{
|
|
51
|
-
var _features_standarddisconnect;
|
|
52
|
-
const disconnectMethod = (_features_standarddisconnect = features['standard:disconnect']) == null ? void 0 : _features_standarddisconnect.disconnect;
|
|
53
|
-
core.assertDefined(disconnectMethod, 'disconnect method not found in wallet features');
|
|
54
|
-
await disconnectMethod();
|
|
55
|
-
};
|
|
56
|
-
const getActiveNetworkId = async ()=>core.getActiveNetworkIdFromLastKnownRegistry({
|
|
57
|
-
client: dynamicClient,
|
|
58
|
-
walletProviderKey: key
|
|
59
|
-
});
|
|
60
|
-
const getCurrentAccount = async ()=>{
|
|
61
|
-
var _walletStandardWallet_accounts;
|
|
62
|
-
if (!isConnected()) {
|
|
63
|
-
await runConnectFeature({
|
|
64
|
-
silent: true
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
const account = (_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts[0];
|
|
68
|
-
core.assertDefined(account, 'No connected accounts found');
|
|
69
|
-
return account;
|
|
70
|
-
};
|
|
71
|
-
const getSuiClient = async ({ walletAccount })=>{
|
|
72
|
-
var _activeNetworkData_networkData;
|
|
73
|
-
const activeNetworkData = await client.getActiveNetworkData({
|
|
74
|
-
walletAccount
|
|
75
|
-
}, dynamicClient);
|
|
76
|
-
core.assertDefined(activeNetworkData, 'No active network data found');
|
|
77
|
-
const url = (_activeNetworkData_networkData = activeNetworkData.networkData) == null ? void 0 : _activeNetworkData_networkData.rpcUrls.http[0];
|
|
78
|
-
core.assertDefined(url, 'No RPC URL found for active network');
|
|
79
|
-
const client$2 = new client$1.SuiClient({
|
|
80
|
-
url
|
|
81
|
-
});
|
|
82
|
-
return client$2;
|
|
83
|
-
};
|
|
84
|
-
const isConnected = ()=>{
|
|
85
|
-
var _walletStandardWallet_accounts;
|
|
86
|
-
return ((_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts.length) > 0;
|
|
87
|
-
};
|
|
88
|
-
const getConnectedAddresses = async ()=>{
|
|
89
|
-
if (!isConnected()) {
|
|
90
|
-
await runConnectFeature({
|
|
91
|
-
silent: true
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
return {
|
|
95
|
-
addresses: walletStandardWallet.accounts.map((account)=>account.address)
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
const signAndExecuteTransaction = async ({ transaction, walletAccount })=>{
|
|
99
|
-
var _features_suisignAndExecuteTransaction;
|
|
100
|
-
await client.assertWalletAccountSigningAvailability({
|
|
101
|
-
walletAccount
|
|
102
|
-
}, dynamicClient);
|
|
103
|
-
const signAndExecuteTransactionMethod = (_features_suisignAndExecuteTransaction = features['sui:signAndExecuteTransaction']) == null ? void 0 : _features_suisignAndExecuteTransaction.signAndExecuteTransaction;
|
|
104
|
-
core.assertDefined(signAndExecuteTransactionMethod, 'signAndExecuteTransaction method not found in wallet features');
|
|
105
|
-
const account = await getCurrentAccount();
|
|
106
|
-
return signAndExecuteTransactionMethod({
|
|
107
|
-
account,
|
|
108
|
-
chain: account.chains[0],
|
|
109
|
-
transaction
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
/* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signAndExecuteTransactionBlock = async ({ options, requestType, transactionBlock, walletAccount })=>{
|
|
113
|
-
var _features_suisignAndExecuteTransactionBlock;
|
|
114
|
-
await client.assertWalletAccountSigningAvailability({
|
|
115
|
-
walletAccount
|
|
116
|
-
}, dynamicClient);
|
|
117
|
-
const signAndExecuteTransactionBlockMethod = (_features_suisignAndExecuteTransactionBlock = features['sui:signAndExecuteTransactionBlock']) == null ? void 0 : _features_suisignAndExecuteTransactionBlock.signAndExecuteTransactionBlock;
|
|
118
|
-
core.assertDefined(signAndExecuteTransactionBlockMethod, 'signAndExecuteTransactionBlock method not found in wallet features');
|
|
119
|
-
const account = await getCurrentAccount();
|
|
120
|
-
return signAndExecuteTransactionBlockMethod({
|
|
121
|
-
account,
|
|
122
|
-
chain: account.chains[0],
|
|
123
|
-
options,
|
|
124
|
-
requestType,
|
|
125
|
-
transactionBlock
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
const signMessage = async ({ message, walletAccount })=>{
|
|
129
|
-
var _features_suisignPersonalMessage;
|
|
130
|
-
const signMessageMethod = (_features_suisignPersonalMessage = features['sui:signPersonalMessage']) == null ? void 0 : _features_suisignPersonalMessage.signPersonalMessage;
|
|
131
|
-
core.assertDefined(signMessageMethod, 'signPersonalMessage method not found in wallet features');
|
|
132
|
-
core.assertDefined(walletAccount, 'Wallet account not found');
|
|
133
|
-
await client.assertWalletAccountSigningAvailability({
|
|
134
|
-
walletAccount
|
|
135
|
-
}, dynamicClient);
|
|
136
|
-
const encodedMessage = new TextEncoder().encode(message);
|
|
137
|
-
const account = await getCurrentAccount();
|
|
138
|
-
const { signature } = await signMessageMethod({
|
|
139
|
-
account,
|
|
140
|
-
message: encodedMessage
|
|
141
|
-
});
|
|
142
|
-
return {
|
|
143
|
-
signature
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
const signTransaction = async ({ transaction, walletAccount })=>{
|
|
147
|
-
var _features_suisignTransaction;
|
|
148
|
-
const signTransactionMethod = (_features_suisignTransaction = features['sui:signTransaction']) == null ? void 0 : _features_suisignTransaction.signTransaction;
|
|
149
|
-
core.assertDefined(signTransactionMethod, 'signTransaction method not found in wallet features');
|
|
150
|
-
await client.assertWalletAccountSigningAvailability({
|
|
151
|
-
walletAccount
|
|
152
|
-
}, dynamicClient);
|
|
153
|
-
const account = await getCurrentAccount();
|
|
154
|
-
return signTransactionMethod({
|
|
155
|
-
account,
|
|
156
|
-
chain: account.chains[0],
|
|
157
|
-
transaction
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
|
-
/* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signTransactionBlock = async ({ transactionBlock, walletAccount })=>{
|
|
161
|
-
var _features_suisignTransactionBlock;
|
|
162
|
-
const signTransactionBlockMethod = (_features_suisignTransactionBlock = features['sui:signTransactionBlock']) == null ? void 0 : _features_suisignTransactionBlock.signTransactionBlock;
|
|
163
|
-
core.assertDefined(signTransactionBlockMethod, 'signTransactionBlock method not found in wallet features');
|
|
164
|
-
await client.assertWalletAccountSigningAvailability({
|
|
165
|
-
walletAccount
|
|
166
|
-
}, dynamicClient);
|
|
167
|
-
const account = await getCurrentAccount();
|
|
168
|
-
return signTransactionBlockMethod({
|
|
169
|
-
account,
|
|
170
|
-
chain: account.chains[0],
|
|
171
|
-
transactionBlock
|
|
172
|
-
});
|
|
173
|
-
};
|
|
174
|
-
const switchActiveNetwork = async ({ networkId })=>core.switchActiveNetworkInLastKnownRegistry({
|
|
175
|
-
client: dynamicClient,
|
|
176
|
-
networkId,
|
|
177
|
-
walletProviderKey: key
|
|
178
|
-
});
|
|
179
|
-
const { getEventEmitter, cleanupEventEmitter } = core.createWalletProviderEventEmitter({
|
|
180
|
-
removeEventListeners: ({ setupReturnValue })=>{
|
|
181
|
-
core.assertDefined(setupReturnValue, 'Setup return value not defined');
|
|
182
|
-
setupReturnValue();
|
|
183
|
-
},
|
|
184
|
-
setupEventListeners: ({ handleAccountsChanged })=>{
|
|
185
|
-
const eventsFeature = features['standard:events'];
|
|
186
|
-
return eventsFeature.on('change', ({ accounts })=>{
|
|
187
|
-
var _accounts_map;
|
|
188
|
-
handleAccountsChanged({
|
|
189
|
-
addresses: (_accounts_map = accounts == null ? void 0 : accounts.map((account)=>account.address)) != null ? _accounts_map : []
|
|
190
|
-
});
|
|
191
|
-
});
|
|
192
|
-
},
|
|
193
|
-
supportedEvents: [
|
|
194
|
-
'accountsChanged'
|
|
195
|
-
]
|
|
196
|
-
});
|
|
197
|
-
const terminate = async ()=>{
|
|
198
|
-
cleanupEventEmitter();
|
|
199
|
-
};
|
|
200
|
-
const walletProvider = {
|
|
201
|
-
chain: 'SUI',
|
|
202
|
-
connect,
|
|
203
|
-
disconnect,
|
|
204
|
-
get events () {
|
|
205
|
-
return getEventEmitter();
|
|
206
|
-
},
|
|
207
|
-
getActiveNetworkId,
|
|
208
|
-
getConnectedAddresses,
|
|
209
|
-
getSuiClient,
|
|
210
|
-
groupKey: core.formatWalletProviderGroupKey(walletStandardWallet.name),
|
|
211
|
-
key,
|
|
212
|
-
metadata: {
|
|
213
|
-
displayName: walletStandardWallet.name,
|
|
214
|
-
icon: walletStandardWallet.icon
|
|
215
|
-
},
|
|
216
|
-
signAndExecuteTransaction,
|
|
217
|
-
signAndExecuteTransactionBlock,
|
|
218
|
-
signMessage,
|
|
219
|
-
signTransaction,
|
|
220
|
-
signTransactionBlock,
|
|
221
|
-
switchActiveNetwork,
|
|
222
|
-
terminate,
|
|
223
|
-
walletProviderType
|
|
224
|
-
};
|
|
225
|
-
return walletProvider;
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
const SUI_WALLET_STANDARD_EXTENSION_KEY = 'suiWalletStandard';
|
|
229
|
-
/**
|
|
230
|
-
* Adds the Sui Wallet Standard extension to the Dynamic client.
|
|
231
|
-
*
|
|
232
|
-
* This extension enables integration with wallets that implement the Sui Wallet Standard,
|
|
233
|
-
* automatically detecting and registering compatible wallets for use with the Dynamic SDK.
|
|
234
|
-
*
|
|
235
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
236
|
-
*/ const addSuiWalletStandardExtension = (client = core.getDefaultClient())=>{
|
|
237
|
-
if (core.hasExtension({
|
|
238
|
-
extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
|
|
239
|
-
}, client)) {
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
core.registerExtension({
|
|
243
|
-
extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
|
|
244
|
-
}, client);
|
|
245
|
-
registerSuiNetworkProviderBuilder.registerSuiNetworkProviderBuilder(client);
|
|
246
|
-
const walletProviderRegistry = core.getWalletProviderRegistry(client);
|
|
247
|
-
const walletStandardWallets = walletStandard.getWallets().get().filter((wallet)=>walletStandard.isWalletWithRequiredFeatureSet(wallet, [
|
|
248
|
-
'standard:events',
|
|
249
|
-
'standard:connect',
|
|
250
|
-
'sui:signPersonalMessage'
|
|
251
|
-
]));
|
|
252
|
-
walletStandardWallets.forEach((walletStandardWallet)=>{
|
|
253
|
-
const walletProvider = createWalletProviderFromSuiStandardWallet({
|
|
254
|
-
dynamicClient: client,
|
|
255
|
-
walletStandardWallet
|
|
256
|
-
});
|
|
257
|
-
walletProviderRegistry.register({
|
|
258
|
-
priority: core.WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,
|
|
259
|
-
walletProvider
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
exports.addSuiWalletStandardExtension = addSuiWalletStandardExtension;
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
import { formatWalletProviderKey, createWalletProviderEventEmitter, assertDefined, formatWalletProviderGroupKey, switchActiveNetworkInLastKnownRegistry, getActiveNetworkIdFromLastKnownRegistry, getDefaultClient, hasExtension, registerExtension, getWalletProviderRegistry, WalletProviderPriority } from '@dynamic-labs-sdk/client/core';
|
|
2
|
-
import { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';
|
|
3
|
-
import { r as registerSuiNetworkProviderBuilder } from './registerSuiNetworkProviderBuilder.esm.js';
|
|
4
|
-
import { assertWalletAccountSigningAvailability, getActiveNetworkData } from '@dynamic-labs-sdk/client';
|
|
5
|
-
import { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
6
|
-
import { SuiClient } from '@mysten/sui/client';
|
|
7
|
-
|
|
8
|
-
const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStandardWallet })=>{
|
|
9
|
-
const features = walletStandardWallet.features;
|
|
10
|
-
const walletProviderType = WalletProviderEnum.BrowserExtension;
|
|
11
|
-
const key = formatWalletProviderKey({
|
|
12
|
-
chain: 'SUI',
|
|
13
|
-
displayName: walletStandardWallet.name,
|
|
14
|
-
walletProviderType
|
|
15
|
-
});
|
|
16
|
-
const runConnectFeature = async ({ silent = false } = {})=>{
|
|
17
|
-
var _features_standardconnect, _result_accounts;
|
|
18
|
-
const connectMethod = (_features_standardconnect = features['standard:connect']) == null ? void 0 : _features_standardconnect.connect;
|
|
19
|
-
assertDefined(connectMethod, 'connect method not found in wallet features');
|
|
20
|
-
const result = await connectMethod({
|
|
21
|
-
silent
|
|
22
|
-
});
|
|
23
|
-
return {
|
|
24
|
-
addresses: (_result_accounts = result.accounts) == null ? void 0 : _result_accounts.map((account)=>{
|
|
25
|
-
var _account_publicKey;
|
|
26
|
-
return {
|
|
27
|
-
address: account.address,
|
|
28
|
-
publicKey: (_account_publicKey = account.publicKey) == null ? void 0 : _account_publicKey.toString()
|
|
29
|
-
};
|
|
30
|
-
})
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
const connect = async ()=>{
|
|
34
|
-
const autoConnectedAccounts = walletStandardWallet.accounts;
|
|
35
|
-
if ((autoConnectedAccounts == null ? void 0 : autoConnectedAccounts.length) && autoConnectedAccounts[0].address) {
|
|
36
|
-
var _autoConnectedAccounts__publicKey;
|
|
37
|
-
return {
|
|
38
|
-
addresses: [
|
|
39
|
-
{
|
|
40
|
-
address: autoConnectedAccounts[0].address,
|
|
41
|
-
publicKey: (_autoConnectedAccounts__publicKey = autoConnectedAccounts[0].publicKey) == null ? void 0 : _autoConnectedAccounts__publicKey.toString()
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
return runConnectFeature();
|
|
47
|
-
};
|
|
48
|
-
const disconnect = async ()=>{
|
|
49
|
-
var _features_standarddisconnect;
|
|
50
|
-
const disconnectMethod = (_features_standarddisconnect = features['standard:disconnect']) == null ? void 0 : _features_standarddisconnect.disconnect;
|
|
51
|
-
assertDefined(disconnectMethod, 'disconnect method not found in wallet features');
|
|
52
|
-
await disconnectMethod();
|
|
53
|
-
};
|
|
54
|
-
const getActiveNetworkId = async ()=>getActiveNetworkIdFromLastKnownRegistry({
|
|
55
|
-
client: dynamicClient,
|
|
56
|
-
walletProviderKey: key
|
|
57
|
-
});
|
|
58
|
-
const getCurrentAccount = async ()=>{
|
|
59
|
-
var _walletStandardWallet_accounts;
|
|
60
|
-
if (!isConnected()) {
|
|
61
|
-
await runConnectFeature({
|
|
62
|
-
silent: true
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
const account = (_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts[0];
|
|
66
|
-
assertDefined(account, 'No connected accounts found');
|
|
67
|
-
return account;
|
|
68
|
-
};
|
|
69
|
-
const getSuiClient = async ({ walletAccount })=>{
|
|
70
|
-
var _activeNetworkData_networkData;
|
|
71
|
-
const activeNetworkData = await getActiveNetworkData({
|
|
72
|
-
walletAccount
|
|
73
|
-
}, dynamicClient);
|
|
74
|
-
assertDefined(activeNetworkData, 'No active network data found');
|
|
75
|
-
const url = (_activeNetworkData_networkData = activeNetworkData.networkData) == null ? void 0 : _activeNetworkData_networkData.rpcUrls.http[0];
|
|
76
|
-
assertDefined(url, 'No RPC URL found for active network');
|
|
77
|
-
const client = new SuiClient({
|
|
78
|
-
url
|
|
79
|
-
});
|
|
80
|
-
return client;
|
|
81
|
-
};
|
|
82
|
-
const isConnected = ()=>{
|
|
83
|
-
var _walletStandardWallet_accounts;
|
|
84
|
-
return ((_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts.length) > 0;
|
|
85
|
-
};
|
|
86
|
-
const getConnectedAddresses = async ()=>{
|
|
87
|
-
if (!isConnected()) {
|
|
88
|
-
await runConnectFeature({
|
|
89
|
-
silent: true
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
addresses: walletStandardWallet.accounts.map((account)=>account.address)
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
const signAndExecuteTransaction = async ({ transaction, walletAccount })=>{
|
|
97
|
-
var _features_suisignAndExecuteTransaction;
|
|
98
|
-
await assertWalletAccountSigningAvailability({
|
|
99
|
-
walletAccount
|
|
100
|
-
}, dynamicClient);
|
|
101
|
-
const signAndExecuteTransactionMethod = (_features_suisignAndExecuteTransaction = features['sui:signAndExecuteTransaction']) == null ? void 0 : _features_suisignAndExecuteTransaction.signAndExecuteTransaction;
|
|
102
|
-
assertDefined(signAndExecuteTransactionMethod, 'signAndExecuteTransaction method not found in wallet features');
|
|
103
|
-
const account = await getCurrentAccount();
|
|
104
|
-
return signAndExecuteTransactionMethod({
|
|
105
|
-
account,
|
|
106
|
-
chain: account.chains[0],
|
|
107
|
-
transaction
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
/* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signAndExecuteTransactionBlock = async ({ options, requestType, transactionBlock, walletAccount })=>{
|
|
111
|
-
var _features_suisignAndExecuteTransactionBlock;
|
|
112
|
-
await assertWalletAccountSigningAvailability({
|
|
113
|
-
walletAccount
|
|
114
|
-
}, dynamicClient);
|
|
115
|
-
const signAndExecuteTransactionBlockMethod = (_features_suisignAndExecuteTransactionBlock = features['sui:signAndExecuteTransactionBlock']) == null ? void 0 : _features_suisignAndExecuteTransactionBlock.signAndExecuteTransactionBlock;
|
|
116
|
-
assertDefined(signAndExecuteTransactionBlockMethod, 'signAndExecuteTransactionBlock method not found in wallet features');
|
|
117
|
-
const account = await getCurrentAccount();
|
|
118
|
-
return signAndExecuteTransactionBlockMethod({
|
|
119
|
-
account,
|
|
120
|
-
chain: account.chains[0],
|
|
121
|
-
options,
|
|
122
|
-
requestType,
|
|
123
|
-
transactionBlock
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
const signMessage = async ({ message, walletAccount })=>{
|
|
127
|
-
var _features_suisignPersonalMessage;
|
|
128
|
-
const signMessageMethod = (_features_suisignPersonalMessage = features['sui:signPersonalMessage']) == null ? void 0 : _features_suisignPersonalMessage.signPersonalMessage;
|
|
129
|
-
assertDefined(signMessageMethod, 'signPersonalMessage method not found in wallet features');
|
|
130
|
-
assertDefined(walletAccount, 'Wallet account not found');
|
|
131
|
-
await assertWalletAccountSigningAvailability({
|
|
132
|
-
walletAccount
|
|
133
|
-
}, dynamicClient);
|
|
134
|
-
const encodedMessage = new TextEncoder().encode(message);
|
|
135
|
-
const account = await getCurrentAccount();
|
|
136
|
-
const { signature } = await signMessageMethod({
|
|
137
|
-
account,
|
|
138
|
-
message: encodedMessage
|
|
139
|
-
});
|
|
140
|
-
return {
|
|
141
|
-
signature
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
const signTransaction = async ({ transaction, walletAccount })=>{
|
|
145
|
-
var _features_suisignTransaction;
|
|
146
|
-
const signTransactionMethod = (_features_suisignTransaction = features['sui:signTransaction']) == null ? void 0 : _features_suisignTransaction.signTransaction;
|
|
147
|
-
assertDefined(signTransactionMethod, 'signTransaction method not found in wallet features');
|
|
148
|
-
await assertWalletAccountSigningAvailability({
|
|
149
|
-
walletAccount
|
|
150
|
-
}, dynamicClient);
|
|
151
|
-
const account = await getCurrentAccount();
|
|
152
|
-
return signTransactionMethod({
|
|
153
|
-
account,
|
|
154
|
-
chain: account.chains[0],
|
|
155
|
-
transaction
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
/* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signTransactionBlock = async ({ transactionBlock, walletAccount })=>{
|
|
159
|
-
var _features_suisignTransactionBlock;
|
|
160
|
-
const signTransactionBlockMethod = (_features_suisignTransactionBlock = features['sui:signTransactionBlock']) == null ? void 0 : _features_suisignTransactionBlock.signTransactionBlock;
|
|
161
|
-
assertDefined(signTransactionBlockMethod, 'signTransactionBlock method not found in wallet features');
|
|
162
|
-
await assertWalletAccountSigningAvailability({
|
|
163
|
-
walletAccount
|
|
164
|
-
}, dynamicClient);
|
|
165
|
-
const account = await getCurrentAccount();
|
|
166
|
-
return signTransactionBlockMethod({
|
|
167
|
-
account,
|
|
168
|
-
chain: account.chains[0],
|
|
169
|
-
transactionBlock
|
|
170
|
-
});
|
|
171
|
-
};
|
|
172
|
-
const switchActiveNetwork = async ({ networkId })=>switchActiveNetworkInLastKnownRegistry({
|
|
173
|
-
client: dynamicClient,
|
|
174
|
-
networkId,
|
|
175
|
-
walletProviderKey: key
|
|
176
|
-
});
|
|
177
|
-
const { getEventEmitter, cleanupEventEmitter } = createWalletProviderEventEmitter({
|
|
178
|
-
removeEventListeners: ({ setupReturnValue })=>{
|
|
179
|
-
assertDefined(setupReturnValue, 'Setup return value not defined');
|
|
180
|
-
setupReturnValue();
|
|
181
|
-
},
|
|
182
|
-
setupEventListeners: ({ handleAccountsChanged })=>{
|
|
183
|
-
const eventsFeature = features['standard:events'];
|
|
184
|
-
return eventsFeature.on('change', ({ accounts })=>{
|
|
185
|
-
var _accounts_map;
|
|
186
|
-
handleAccountsChanged({
|
|
187
|
-
addresses: (_accounts_map = accounts == null ? void 0 : accounts.map((account)=>account.address)) != null ? _accounts_map : []
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
},
|
|
191
|
-
supportedEvents: [
|
|
192
|
-
'accountsChanged'
|
|
193
|
-
]
|
|
194
|
-
});
|
|
195
|
-
const terminate = async ()=>{
|
|
196
|
-
cleanupEventEmitter();
|
|
197
|
-
};
|
|
198
|
-
const walletProvider = {
|
|
199
|
-
chain: 'SUI',
|
|
200
|
-
connect,
|
|
201
|
-
disconnect,
|
|
202
|
-
get events () {
|
|
203
|
-
return getEventEmitter();
|
|
204
|
-
},
|
|
205
|
-
getActiveNetworkId,
|
|
206
|
-
getConnectedAddresses,
|
|
207
|
-
getSuiClient,
|
|
208
|
-
groupKey: formatWalletProviderGroupKey(walletStandardWallet.name),
|
|
209
|
-
key,
|
|
210
|
-
metadata: {
|
|
211
|
-
displayName: walletStandardWallet.name,
|
|
212
|
-
icon: walletStandardWallet.icon
|
|
213
|
-
},
|
|
214
|
-
signAndExecuteTransaction,
|
|
215
|
-
signAndExecuteTransactionBlock,
|
|
216
|
-
signMessage,
|
|
217
|
-
signTransaction,
|
|
218
|
-
signTransactionBlock,
|
|
219
|
-
switchActiveNetwork,
|
|
220
|
-
terminate,
|
|
221
|
-
walletProviderType
|
|
222
|
-
};
|
|
223
|
-
return walletProvider;
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
const SUI_WALLET_STANDARD_EXTENSION_KEY = 'suiWalletStandard';
|
|
227
|
-
/**
|
|
228
|
-
* Adds the Sui Wallet Standard extension to the Dynamic client.
|
|
229
|
-
*
|
|
230
|
-
* This extension enables integration with wallets that implement the Sui Wallet Standard,
|
|
231
|
-
* automatically detecting and registering compatible wallets for use with the Dynamic SDK.
|
|
232
|
-
*
|
|
233
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
234
|
-
*/ const addSuiWalletStandardExtension = (client = getDefaultClient())=>{
|
|
235
|
-
if (hasExtension({
|
|
236
|
-
extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
|
|
237
|
-
}, client)) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
registerExtension({
|
|
241
|
-
extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
|
|
242
|
-
}, client);
|
|
243
|
-
registerSuiNetworkProviderBuilder(client);
|
|
244
|
-
const walletProviderRegistry = getWalletProviderRegistry(client);
|
|
245
|
-
const walletStandardWallets = getWallets().get().filter((wallet)=>isWalletWithRequiredFeatureSet(wallet, [
|
|
246
|
-
'standard:events',
|
|
247
|
-
'standard:connect',
|
|
248
|
-
'sui:signPersonalMessage'
|
|
249
|
-
]));
|
|
250
|
-
walletStandardWallets.forEach((walletStandardWallet)=>{
|
|
251
|
-
const walletProvider = createWalletProviderFromSuiStandardWallet({
|
|
252
|
-
dynamicClient: client,
|
|
253
|
-
walletStandardWallet
|
|
254
|
-
});
|
|
255
|
-
walletProviderRegistry.register({
|
|
256
|
-
priority: WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,
|
|
257
|
-
walletProvider
|
|
258
|
-
});
|
|
259
|
-
});
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
export { addSuiWalletStandardExtension as a };
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var core = require('@dynamic-labs-sdk/client/core');
|
|
4
|
-
var registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder.cjs.js');
|
|
5
|
-
var client = require('@dynamic-labs-sdk/client');
|
|
6
|
-
var core$1 = require('@dynamic-labs-sdk/client/waas/core');
|
|
7
|
-
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
8
|
-
var client$1 = require('@mysten/sui/client');
|
|
9
|
-
|
|
10
|
-
const createWalletProviderForWaasSui = (sdkClient)=>{
|
|
11
|
-
const chain = 'SUI';
|
|
12
|
-
const walletProviderType = sdkApiCore.WalletProviderEnum.EmbeddedWallet;
|
|
13
|
-
const key = core.formatWalletProviderKey({
|
|
14
|
-
chain,
|
|
15
|
-
displayName: core$1.DYNAMIC_WAAS_METADATA.displayName,
|
|
16
|
-
walletProviderType
|
|
17
|
-
});
|
|
18
|
-
const waasProvider = core$1.createWaasProvider({
|
|
19
|
-
chain,
|
|
20
|
-
sdkClient
|
|
21
|
-
});
|
|
22
|
-
const getActiveNetworkId = async ()=>core.getActiveNetworkIdFromLastKnownRegistry({
|
|
23
|
-
client: sdkClient,
|
|
24
|
-
walletProviderKey: key
|
|
25
|
-
});
|
|
26
|
-
const getSuiClient = async ({ walletAccount })=>{
|
|
27
|
-
var _activeNetworkData_networkData;
|
|
28
|
-
const activeNetworkData = await client.getActiveNetworkData({
|
|
29
|
-
walletAccount
|
|
30
|
-
}, sdkClient);
|
|
31
|
-
core.assertDefined(activeNetworkData, 'No active network data found');
|
|
32
|
-
const url = (_activeNetworkData_networkData = activeNetworkData.networkData) == null ? void 0 : _activeNetworkData_networkData.rpcUrls.http[0];
|
|
33
|
-
core.assertDefined(url, 'No RPC URL found for active network');
|
|
34
|
-
return new client$1.SuiClient({
|
|
35
|
-
url
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
const switchActiveNetwork = async ({ networkId })=>core.switchActiveNetworkInLastKnownRegistry({
|
|
39
|
-
client: sdkClient,
|
|
40
|
-
networkId,
|
|
41
|
-
walletProviderKey: key
|
|
42
|
-
});
|
|
43
|
-
const getConnectedAddresses = async ()=>{
|
|
44
|
-
const waasSolanaAddresses = core$1.getAllUserWaasAddressesForChain({
|
|
45
|
-
chain
|
|
46
|
-
}, sdkClient);
|
|
47
|
-
return {
|
|
48
|
-
addresses: waasSolanaAddresses
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
const signAndExecuteTransaction = async ({ transaction, walletAccount })=>{
|
|
52
|
-
var _response_effects;
|
|
53
|
-
const { bytes, signature } = await signTransaction({
|
|
54
|
-
transaction,
|
|
55
|
-
walletAccount
|
|
56
|
-
});
|
|
57
|
-
const suiClient = await getSuiClient({
|
|
58
|
-
walletAccount
|
|
59
|
-
});
|
|
60
|
-
const response = await suiClient.executeTransactionBlock({
|
|
61
|
-
signature,
|
|
62
|
-
transactionBlock: bytes
|
|
63
|
-
});
|
|
64
|
-
var _response_effects_toString;
|
|
65
|
-
return registerSuiNetworkProviderBuilder._extends({}, response, {
|
|
66
|
-
bytes,
|
|
67
|
-
effects: (_response_effects_toString = (_response_effects = response.effects) == null ? void 0 : _response_effects.toString()) != null ? _response_effects_toString : '',
|
|
68
|
-
signature
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
const signTransaction = async ({ transaction, walletAccount })=>{
|
|
72
|
-
const suiClient = await getSuiClient({
|
|
73
|
-
walletAccount
|
|
74
|
-
});
|
|
75
|
-
const txBytes = await transaction.build({
|
|
76
|
-
client: suiClient
|
|
77
|
-
});
|
|
78
|
-
const txBytesBase64 = core.getBuffer().from(txBytes).toString('base64');
|
|
79
|
-
const txString = core.getBuffer().from(txBytes).toString('hex');
|
|
80
|
-
const { signature } = await waasProvider.signSerializedTransaction({
|
|
81
|
-
serializedTransaction: txString,
|
|
82
|
-
walletAccount
|
|
83
|
-
});
|
|
84
|
-
return {
|
|
85
|
-
bytes: txBytesBase64,
|
|
86
|
-
signature
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
const signMessage = async ({ message, walletAccount })=>{
|
|
90
|
-
core.assertDefined(walletAccount, 'Wallet account is required');
|
|
91
|
-
return waasProvider.signMessage({
|
|
92
|
-
message,
|
|
93
|
-
walletAccount
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
return registerSuiNetworkProviderBuilder._extends({}, waasProvider, {
|
|
97
|
-
chain,
|
|
98
|
-
getActiveNetworkId,
|
|
99
|
-
getConnectedAddresses,
|
|
100
|
-
getSuiClient,
|
|
101
|
-
groupKey: core.formatWalletProviderGroupKey(core$1.DYNAMIC_WAAS_METADATA.displayName),
|
|
102
|
-
key,
|
|
103
|
-
metadata: {
|
|
104
|
-
displayName: core$1.DYNAMIC_WAAS_METADATA.displayName,
|
|
105
|
-
icon: core$1.DYNAMIC_WAAS_METADATA.icon
|
|
106
|
-
},
|
|
107
|
-
signAndExecuteTransaction,
|
|
108
|
-
signMessage,
|
|
109
|
-
signTransaction,
|
|
110
|
-
switchActiveNetwork,
|
|
111
|
-
walletProviderType
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
const WAAS_SUI_EXTENSION_KEY = 'waasSui';
|
|
116
|
-
/**
|
|
117
|
-
* Adds the Dynamic WaaS (Wallet as a Service) Sui extension to the Dynamic client.
|
|
118
|
-
*
|
|
119
|
-
* This extension enables embedded wallet functionality for Sui blockchain,
|
|
120
|
-
* allowing users to have wallets managed by Dynamic's infrastructure.
|
|
121
|
-
*
|
|
122
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
123
|
-
*/ const addWaasSuiExtension = (client = core.getDefaultClient())=>{
|
|
124
|
-
if (core.hasExtension({
|
|
125
|
-
extensionKey: WAAS_SUI_EXTENSION_KEY
|
|
126
|
-
}, client)) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
core.registerExtension({
|
|
130
|
-
extensionKey: WAAS_SUI_EXTENSION_KEY
|
|
131
|
-
}, client);
|
|
132
|
-
registerSuiNetworkProviderBuilder.registerSuiNetworkProviderBuilder(client);
|
|
133
|
-
const walletProviderRegistry = core.getWalletProviderRegistry(client);
|
|
134
|
-
const walletProvider = createWalletProviderForWaasSui(client);
|
|
135
|
-
walletProviderRegistry.register({
|
|
136
|
-
priority: core.WalletProviderPriority.WALLET_SDK,
|
|
137
|
-
walletProvider
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
exports.addWaasSuiExtension = addWaasSuiExtension;
|