@dynamic-labs/embedded-wallet-solana 0.0.0-exp20240810.0 → 0.0.0-exp20240827.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +186 -1
  2. package/package.cjs +22 -0
  3. package/package.js +17 -0
  4. package/package.json +15 -12
  5. package/src/lib/TurnkeySolanaWalletConnector/TurnkeySolanaSigner.d.ts +1 -4
  6. package/src/lib/TurnkeySolanaWalletConnector/TurnkeySolanaWalletConnector.cjs +44 -15
  7. package/src/lib/TurnkeySolanaWalletConnector/TurnkeySolanaWalletConnector.d.ts +5 -4
  8. package/src/lib/TurnkeySolanaWalletConnector/TurnkeySolanaWalletConnector.js +39 -10
  9. package/src/lib/utils/api/api.cjs +38 -0
  10. package/src/lib/utils/api/api.d.ts +4 -0
  11. package/src/lib/utils/api/api.js +32 -0
  12. package/src/lib/utils/api/events/DynamicEvents.cjs +14 -0
  13. package/src/lib/utils/api/events/DynamicEvents.d.ts +6 -0
  14. package/src/lib/utils/api/events/DynamicEvents.js +6 -0
  15. package/src/lib/utils/api/events/auth.d.ts +51 -0
  16. package/src/lib/utils/api/utils/ApiEndpoint.cjs +41 -0
  17. package/src/lib/utils/api/utils/ApiEndpoint.d.ts +7 -0
  18. package/src/lib/utils/api/utils/ApiEndpoint.js +39 -0
  19. package/src/lib/utils/api/utils/LocalStorage.cjs +81 -0
  20. package/src/lib/utils/api/utils/LocalStorage.d.ts +26 -0
  21. package/src/lib/utils/api/utils/LocalStorage.js +75 -0
  22. package/src/lib/utils/api/utils/SdkApi.cjs +35 -0
  23. package/src/lib/utils/api/utils/SdkApi.d.ts +2 -0
  24. package/src/lib/utils/api/utils/SdkApi.js +31 -0
  25. package/src/lib/utils/api/utils/helpers.cjs +88 -0
  26. package/src/lib/utils/api/utils/helpers.d.ts +12 -0
  27. package/src/lib/utils/api/utils/helpers.js +77 -0
  28. package/src/lib/utils/api/utils/version.cjs +12 -0
  29. package/src/lib/utils/api/utils/version.d.ts +2 -0
  30. package/src/lib/utils/api/utils/version.js +7 -0
  31. package/src/lib/utils/index.d.ts +0 -1
  32. package/src/lib/constants.cjs +0 -8
  33. package/src/lib/constants.d.ts +0 -1
  34. package/src/lib/constants.js +0 -4
  35. package/src/lib/utils/getGenesisHashLSKey/getGenesisHashLSKey.cjs +0 -10
  36. package/src/lib/utils/getGenesisHashLSKey/getGenesisHashLSKey.d.ts +0 -1
  37. package/src/lib/utils/getGenesisHashLSKey/getGenesisHashLSKey.js +0 -6
  38. package/src/lib/utils/getGenesisHashLSKey/index.d.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,190 @@
1
1
 
2
- ## [0.0.0-exp20240810.0](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.39...v0.0.0-exp20240810.0) (2024-08-09)
2
+ ## [0.0.0-exp20240827.1](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.51...v0.0.0-exp20240827.1) (2024-08-27)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * deprecate getEoaConnector (#6571)
8
+ * limit methods and props returned by wallet.connector (#6540)
9
+ * move generic solana code to solana-core package (#6701)
10
+ * revamp ether v6 interface (#6548)
11
+ * add ethereum wallet specific methods and intercept to sync when needed (#6662)
12
+ * add solana wallet specific methods and intercept to sync when needed (#6608)
13
+ * don't force primary wallet to be connected (#6128)
14
+
15
+ ### Features
16
+
17
+ * add bitcoin wallet specific methods and intercept to sync when needed ([#6663](https://github.com/dynamic-labs/DynamicAuth/issues/6663)) ([ee50002](https://github.com/dynamic-labs/DynamicAuth/commit/ee50002c36689fe55c694778d36e066d273da243))
18
+ * add ethereum wallet specific methods and intercept to sync when needed ([#6662](https://github.com/dynamic-labs/DynamicAuth/issues/6662)) ([16b8038](https://github.com/dynamic-labs/DynamicAuth/commit/16b8038df17406ffee266b67f56ed61244c809ab))
19
+ * add solana wallet specific methods and intercept to sync when needed ([#6608](https://github.com/dynamic-labs/DynamicAuth/issues/6608)) ([eb6518e](https://github.com/dynamic-labs/DynamicAuth/commit/eb6518e687c206f77fec1fe3ce7cb8a0c329787a))
20
+ * add useSmartWallets hook to manage aa wallets ([#6564](https://github.com/dynamic-labs/DynamicAuth/issues/6564)) ([46b3454](https://github.com/dynamic-labs/DynamicAuth/commit/46b34543922417afc6588088f2ebe5ac1b078dcb))
21
+ * don't force primary wallet to be connected ([#6128](https://github.com/dynamic-labs/DynamicAuth/issues/6128)) ([6069d5b](https://github.com/dynamic-labs/DynamicAuth/commit/6069d5bd278d8dedaf863a66f9b55bae52cfb1e2))
22
+ * new prop to enable prompt for linking when account change is detected ([#6713](https://github.com/dynamic-labs/DynamicAuth/issues/6713)) ([6ef5276](https://github.com/dynamic-labs/DynamicAuth/commit/6ef52762611761f772d52abfc29471bc3a296a4b))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * always sync wagmi client with primary wallet ([#6577](https://github.com/dynamic-labs/DynamicAuth/issues/6577)) ([7f728a8](https://github.com/dynamic-labs/DynamicAuth/commit/7f728a8388fe5f79d00519ba2384f58c99363a36))
28
+ * wallet.chain references ([0b124f5](https://github.com/dynamic-labs/DynamicAuth/commit/0b124f50d10b5a932e68260433119a1a36584f2c))
29
+
30
+
31
+ * deprecate getEoaConnector ([#6571](https://github.com/dynamic-labs/DynamicAuth/issues/6571)) ([cdf1ec5](https://github.com/dynamic-labs/DynamicAuth/commit/cdf1ec53876cde60f56554b9bde4bf98c9896eb1))
32
+ * limit methods and props returned by wallet.connector ([#6540](https://github.com/dynamic-labs/DynamicAuth/issues/6540)) ([10b3bb1](https://github.com/dynamic-labs/DynamicAuth/commit/10b3bb1c3f9a9bc35d916d25968d1edda0883e42))
33
+ * move generic solana code to solana-core package ([#6701](https://github.com/dynamic-labs/DynamicAuth/issues/6701)) ([dc9a573](https://github.com/dynamic-labs/DynamicAuth/commit/dc9a5736237e0244a6fa9b897c13679fa0a2a0bd))
34
+ * revamp ether v6 interface ([#6548](https://github.com/dynamic-labs/DynamicAuth/issues/6548)) ([9babdef](https://github.com/dynamic-labs/DynamicAuth/commit/9babdefa53342762b7815a0bdc6c6e6472ec7c69))
35
+
36
+ ## [3.0.0-alpha.51](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.50...v3.0.0-alpha.51) (2024-08-23)
37
+
38
+
39
+ ### ⚠ BREAKING CHANGES
40
+
41
+ * renamed solana-utils package to solana-core ([#6680](https://github.com/dynamic-labs/DynamicAuth/issues/6680)) ([9178d72](https://github.com/dynamic-labs/DynamicAuth/commit/9178d72073911364d1cb311944abaf0c93ada842))
42
+ * removed rpc-provider-solana package and moved methods and types to solana-core package ([#6694](https://github.com/dynamic-labs/DynamicAuth/issues/6694)) ([3486b01](https://github.com/dynamic-labs/DynamicAuth/commit/3486b018f6b199318e501854093d3eb7575bf9e0))
43
+ * removed rpc-provider-ethereum package and moved methods and types to ethereum-core package ([#6689](https://github.com/dynamic-labs/DynamicAuth/issues/6689)) ([83bf769](https://github.com/dynamic-labs/DynamicAuth/commit/83bf769a733cce484cfbc0aced654b811b1535de))
44
+ * renamed rpc-provider-starknet package to starknet-core ([#6695](https://github.com/dynamic-labs/DynamicAuth/issues/6695)) ([3fc6a03](https://github.com/dynamic-labs/DynamicAuth/commit/3fc6a0327f50914d3c28ca2c7d028046632d0002))
45
+
46
+
47
+ ### Features
48
+
49
+ * global wallet sdk ui ([#6626](https://github.com/dynamic-labs/DynamicAuth/issues/6626)) ([e000257](https://github.com/dynamic-labs/DynamicAuth/commit/e0002578eb91597577843c93821318112e36a9f0))
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * zerodev sign message ([#6691](https://github.com/dynamic-labs/DynamicAuth/issues/6691)) ([58c7fba](https://github.com/dynamic-labs/DynamicAuth/commit/58c7fba97c42eacad359e2daefd0f8518b8db28b))
55
+ * fix solana transaction optimization endpoint ([#6702](https://github.com/dynamic-labs/DynamicAuth/issues/6702)) ([f14bef7](https://github.com/dynamic-labs/DynamicAuth/commit/f14bef7994c32d66c3020d8c318bdbb5cac8ae94))
56
+
57
+
58
+ ## [3.0.0-alpha.50](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.49...v3.0.0-alpha.50) (2024-08-22)
59
+
60
+ ## [3.0.0-alpha.49](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.48...v3.0.0-alpha.49) (2024-08-22)
61
+
62
+
63
+ ### ⚠ BREAKING CHANGES
64
+
65
+ * rename viem-utils package to ethereum-core (#6677)
66
+ * remove ethers-v5 package (#6661)
67
+
68
+ ### Bug Fixes
69
+
70
+ * force ui on global transactions and fix zerodev global ([#6673](https://github.com/dynamic-labs/DynamicAuth/issues/6673)) ([7317e44](https://github.com/dynamic-labs/DynamicAuth/commit/7317e449044fe4f87d67714afd36bec596d0cece))
71
+ * remove sync call in getWalletClient getSigner methods ([#6678](https://github.com/dynamic-labs/DynamicAuth/issues/6678)) ([a231337](https://github.com/dynamic-labs/DynamicAuth/commit/a231337f81be54d92715044b7dc8bb35c57087bb))
72
+
73
+
74
+ * remove ethers-v5 package ([#6661](https://github.com/dynamic-labs/DynamicAuth/issues/6661)) ([61cc31b](https://github.com/dynamic-labs/DynamicAuth/commit/61cc31ba4b8346b86a154aabf8842fd38396d632))
75
+ * rename viem-utils package to ethereum-core ([#6677](https://github.com/dynamic-labs/DynamicAuth/issues/6677)) ([ba7fd43](https://github.com/dynamic-labs/DynamicAuth/commit/ba7fd432e332b9f20a4f7aa9403f94722331cde6))
76
+
77
+ ## [3.0.0-alpha.48](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.47...v3.0.0-alpha.48) (2024-08-21)
78
+
79
+
80
+ ### Bug Fixes
81
+
82
+ * collect user data to work when no wallet is selected ([#6670](https://github.com/dynamic-labs/DynamicAuth/issues/6670)) ([b86aae8](https://github.com/dynamic-labs/DynamicAuth/commit/b86aae8e7ceb35793f792941a34cabd19b9e65d4))
83
+ * disable cookie when running on native mobile ([#6668](https://github.com/dynamic-labs/DynamicAuth/issues/6668)) ([e52a3d9](https://github.com/dynamic-labs/DynamicAuth/commit/e52a3d94a9028e36525be2e80a9f0916efad4320))
84
+ * prevent external auth blocking pending user requirements views ([#6669](https://github.com/dynamic-labs/DynamicAuth/issues/6669)) ([848356c](https://github.com/dynamic-labs/DynamicAuth/commit/848356c57e730a8516c642da84274a236e026f40))
85
+
86
+ ## [3.0.0-alpha.47](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.46...v3.0.0-alpha.47) (2024-08-21)
87
+
88
+
89
+ ### ⚠ BREAKING CHANGES
90
+
91
+ * rename useSelectWalletOption to useWalletOptions (#6616)
92
+ * stop exposing walletConnectorOptions from dynamic context (#6622)
93
+
94
+ ### Features
95
+
96
+ * add support for base.eth ens resolution ([#6655](https://github.com/dynamic-labs/DynamicAuth/issues/6655)) ([e2fb1c0](https://github.com/dynamic-labs/DynamicAuth/commit/e2fb1c0ca8410e85b7464d032abc6686bd46149f))
97
+ * expose wallet options from useWalletOptions hook ([#6624](https://github.com/dynamic-labs/DynamicAuth/issues/6624)) ([7287359](https://github.com/dynamic-labs/DynamicAuth/commit/7287359d1564564b87e82bf182edef8ef02c16f1))
98
+ * global wallet chain switching ([#6648](https://github.com/dynamic-labs/DynamicAuth/issues/6648)) ([10179fc](https://github.com/dynamic-labs/DynamicAuth/commit/10179fcddc747977c7dd250abd78bad0ec375f8f))
99
+ * implement Apple Sign-In for mobile ([#6632](https://github.com/dynamic-labs/DynamicAuth/issues/6632)) ([e68b088](https://github.com/dynamic-labs/DynamicAuth/commit/e68b088b1c13c1140b43a6d0c215383455a71a4a))
100
+ * surface mfa rate limit error ([#6658](https://github.com/dynamic-labs/DynamicAuth/issues/6658)) ([5fbcbc2](https://github.com/dynamic-labs/DynamicAuth/commit/5fbcbc2382ebcf2721a308d8e87bc8b2b5cb38cf))
101
+
102
+
103
+ ### Bug Fixes
104
+
105
+ * update bottom nav border radius ([#6651](https://github.com/dynamic-labs/DynamicAuth/issues/6651)) ([79212c2](https://github.com/dynamic-labs/DynamicAuth/commit/79212c26735eb06f31655e8b98a3d9c2c8371489))
106
+
107
+
108
+ * rename useSelectWalletOption to useWalletOptions ([#6616](https://github.com/dynamic-labs/DynamicAuth/issues/6616)) ([3850dad](https://github.com/dynamic-labs/DynamicAuth/commit/3850dad47f847ace84aadc63a84c4e62f84f7df2))
109
+ * stop exposing walletConnectorOptions from dynamic context ([#6622](https://github.com/dynamic-labs/DynamicAuth/issues/6622)) ([b9da7db](https://github.com/dynamic-labs/DynamicAuth/commit/b9da7dbfc4020913ba3d95ec496811e9d8ee17b8))
110
+
111
+ ## [3.0.0-alpha.46](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.45...v3.0.0-alpha.46) (2024-08-19)
112
+
113
+
114
+ ### Features
115
+
116
+ * add overrides for chain info ([#6614](https://github.com/dynamic-labs/DynamicAuth/issues/6614)) ([07b76a0](https://github.com/dynamic-labs/DynamicAuth/commit/07b76a0887d3147a00d93a37bdf49a83bfec0ceb))
117
+ * add use token balances state in global store ([#6598](https://github.com/dynamic-labs/DynamicAuth/issues/6598)) ([05baefe](https://github.com/dynamic-labs/DynamicAuth/commit/05baefe7155f197c048557b15240ad93556a8604))
118
+ * refresh token balances ([#6578](https://github.com/dynamic-labs/DynamicAuth/issues/6578)) ([0768857](https://github.com/dynamic-labs/DynamicAuth/commit/0768857c924ce0e01b736173e50ea85b956ab067))
119
+
120
+
121
+ ### Bug Fixes
122
+
123
+ * createEmbeddedWalletAccount ([#6642](https://github.com/dynamic-labs/DynamicAuth/issues/6642)) ([bce08de](https://github.com/dynamic-labs/DynamicAuth/commit/bce08deaa4a5e1ea0b134efb5c4d252c82af5eec))
124
+ * jwt x error when singing with embedded wallet ([#6633](https://github.com/dynamic-labs/DynamicAuth/issues/6633)) ([7d1a6d4](https://github.com/dynamic-labs/DynamicAuth/commit/7d1a6d432807c5b361ff31e6feac2e10d0145d90))
125
+
126
+ ## [3.0.0-alpha.45](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.44...v3.0.0-alpha.45) (2024-08-16)
127
+
128
+
129
+ ### Bug Fixes
130
+
131
+ * always check for dynamicOauthCode and use during signin or verify ([#6618](https://github.com/dynamic-labs/DynamicAuth/issues/6618)) ([dd33231](https://github.com/dynamic-labs/DynamicAuth/commit/dd332310c9fdfa7bb593b7f567751133a93c6938))
132
+ * display qr code when no primary is selected ([#6605](https://github.com/dynamic-labs/DynamicAuth/issues/6605)) ([406afa3](https://github.com/dynamic-labs/DynamicAuth/commit/406afa32b38a29a2d8ce96803ae45ab35adb5ce3))
133
+
134
+ ## [3.0.0-alpha.44](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.43...v3.0.0-alpha.44) (2024-08-15)
135
+
136
+
137
+ ### Bug Fixes
138
+
139
+ * populate wallet new isPrimary flag ([#6597](https://github.com/dynamic-labs/DynamicAuth/issues/6597)) ([7809f81](https://github.com/dynamic-labs/DynamicAuth/commit/7809f81c9743b8bf7bc27dc34cf45923cf9baf99))
140
+ * twitter should no longer rely polling for oauth flow ([#6603](https://github.com/dynamic-labs/DynamicAuth/issues/6603)) ([09aea8b](https://github.com/dynamic-labs/DynamicAuth/commit/09aea8b3f197c25dcfb5bc72049b90859df246f3))
141
+
142
+ ## [3.0.0-alpha.43](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.42...v3.0.0-alpha.43) (2024-08-15)
143
+
144
+
145
+ ### ⚠ BREAKING CHANGES
146
+
147
+ * removes walletConnector from dynamic context (#6579)
148
+ * removed deprecated props from user profile (#6589)
149
+
150
+ ### Features
151
+
152
+ * optimize solana embedded transactions ([#6582](https://github.com/dynamic-labs/DynamicAuth/issues/6582)) ([419aff9](https://github.com/dynamic-labs/DynamicAuth/commit/419aff96d312892d7db520e94ecc6956b8de771d))
153
+
154
+
155
+ ### Bug Fixes
156
+
157
+ * check if wallet is connected using normalized addresses ([#6594](https://github.com/dynamic-labs/DynamicAuth/issues/6594)) ([44aabae](https://github.com/dynamic-labs/DynamicAuth/commit/44aabae8ee72261bf0f7e308ed4adf0f42760ed2))
158
+ * minor sdk ui updates ([#6590](https://github.com/dynamic-labs/DynamicAuth/issues/6590)) ([8619e40](https://github.com/dynamic-labs/DynamicAuth/commit/8619e40e1afff8d68357138f3b5b9b89989140fd))
159
+
160
+
161
+ * removed deprecated props from user profile ([#6589](https://github.com/dynamic-labs/DynamicAuth/issues/6589)) ([b621da8](https://github.com/dynamic-labs/DynamicAuth/commit/b621da8a0703eb8228a5b10131af2717f314fd2e))
162
+ * removes walletConnector from dynamic context ([#6579](https://github.com/dynamic-labs/DynamicAuth/issues/6579)) ([51d69fe](https://github.com/dynamic-labs/DynamicAuth/commit/51d69feebab71158ad2aa69f11001623a0aaa80a))
163
+
164
+ ## [3.0.0-alpha.42](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.41...v3.0.0-alpha.42) (2024-08-14)
165
+
166
+
167
+ ### Bug Fixes
168
+
169
+ * isEmbeddedWallet condition in AuthProviderIcon ([#6581](https://github.com/dynamic-labs/DynamicAuth/issues/6581)) ([afe33ab](https://github.com/dynamic-labs/DynamicAuth/commit/afe33aba1cc8abefd0566bf4e9c0a4f199d64ef7))
170
+ * update text on MFA backup codes acknowledgement ([#6559](https://github.com/dynamic-labs/DynamicAuth/issues/6559)) ([98b5475](https://github.com/dynamic-labs/DynamicAuth/commit/98b5475df73039061d593318cb26140075de69e1))
171
+
172
+ ## [3.0.0-alpha.41](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.40...v3.0.0-alpha.41) (2024-08-13)
173
+
174
+ ## [3.0.0-alpha.40](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.39...v3.0.0-alpha.40) (2024-08-13)
175
+
176
+
177
+ ### Features
178
+
179
+ * add log out button to mfa screens ([#6557](https://github.com/dynamic-labs/DynamicAuth/issues/6557)) ([a006f6a](https://github.com/dynamic-labs/DynamicAuth/commit/a006f6a3f801a93d305fbd8151a51c7b08b73983))
180
+ * signIn/link using dynamicOauthState ([#6523](https://github.com/dynamic-labs/DynamicAuth/issues/6523)) ([b72e98f](https://github.com/dynamic-labs/DynamicAuth/commit/b72e98f0d243591c1a8ca14c3a4a6e5024560141))
181
+
182
+
183
+ ### Bug Fixes
184
+
185
+ * clicking back on MFA verification view should take you to MFA secure device view ([#6556](https://github.com/dynamic-labs/DynamicAuth/issues/6556)) ([7ae39c9](https://github.com/dynamic-labs/DynamicAuth/commit/7ae39c9b073b42a14d3e77fba28217905a1dbf0c))
186
+ * mfa design feedback ([#6551](https://github.com/dynamic-labs/DynamicAuth/issues/6551)) ([c367e38](https://github.com/dynamic-labs/DynamicAuth/commit/c367e3836e331a2dc24496ea81436b6bd57460a1))
187
+ * remove 2 factor authenticator header unless there is an applicable security option available ([#6545](https://github.com/dynamic-labs/DynamicAuth/issues/6545)) ([11f7f5a](https://github.com/dynamic-labs/DynamicAuth/commit/11f7f5ae87bf26be783c353607b39943e4a2b796))
3
188
 
4
189
  ## [3.0.0-alpha.39](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.38...v3.0.0-alpha.39) (2024-08-09)
5
190
 
package/package.cjs ADDED
@@ -0,0 +1,22 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var version = "0.0.0-exp20240827.1";
7
+ var dependencies = {
8
+ "@dynamic-labs/sdk-api-core": "0.0.519",
9
+ "@dynamic-labs/utils": "0.0.0-exp20240827.1",
10
+ "@dynamic-labs/logger": "0.0.0-exp20240827.1",
11
+ "@dynamic-labs/types": "0.0.0-exp20240827.1",
12
+ eventemitter3: "5.0.1",
13
+ "@solana/spl-token": "0.4.6",
14
+ "@solana/web3.js": "1.92.1",
15
+ "@turnkey/http": "2.12.2",
16
+ "@turnkey/iframe-stamper": "2.0.0",
17
+ "@turnkey/solana": "0.3.9",
18
+ "@turnkey/webauthn-stamper": "0.5.0"
19
+ };
20
+
21
+ exports.dependencies = dependencies;
22
+ exports.version = version;
package/package.js ADDED
@@ -0,0 +1,17 @@
1
+ 'use client'
2
+ var version = "0.0.0-exp20240827.1";
3
+ var dependencies = {
4
+ "@dynamic-labs/sdk-api-core": "0.0.519",
5
+ "@dynamic-labs/utils": "0.0.0-exp20240827.1",
6
+ "@dynamic-labs/logger": "0.0.0-exp20240827.1",
7
+ "@dynamic-labs/types": "0.0.0-exp20240827.1",
8
+ eventemitter3: "5.0.1",
9
+ "@solana/spl-token": "0.4.6",
10
+ "@solana/web3.js": "1.92.1",
11
+ "@turnkey/http": "2.12.2",
12
+ "@turnkey/iframe-stamper": "2.0.0",
13
+ "@turnkey/solana": "0.3.9",
14
+ "@turnkey/webauthn-stamper": "0.5.0"
15
+ };
16
+
17
+ export { dependencies, version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/embedded-wallet-solana",
3
- "version": "0.0.0-exp20240810.0",
3
+ "version": "0.0.0-exp20240827.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -26,21 +26,24 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
- "@dynamic-labs/sdk-api-core": "0.0.509",
29
+ "@dynamic-labs/sdk-api-core": "0.0.519",
30
+ "@dynamic-labs/utils": "0.0.0-exp20240827.1",
31
+ "@dynamic-labs/logger": "0.0.0-exp20240827.1",
32
+ "@dynamic-labs/types": "0.0.0-exp20240827.1",
33
+ "eventemitter3": "5.0.1",
30
34
  "@solana/spl-token": "0.4.6",
31
35
  "@solana/web3.js": "1.92.1",
32
- "@turnkey/http": "2.7.1",
36
+ "@turnkey/http": "2.12.2",
33
37
  "@turnkey/iframe-stamper": "2.0.0",
34
- "@turnkey/solana": "0.3.1",
38
+ "@turnkey/solana": "0.3.9",
35
39
  "@turnkey/webauthn-stamper": "0.5.0",
36
- "@dynamic-labs/embedded-wallet": "0.0.0-exp20240810.0",
37
- "@dynamic-labs/rpc-provider-solana": "0.0.0-exp20240810.0",
38
- "@dynamic-labs/rpc-providers": "0.0.0-exp20240810.0",
39
- "@dynamic-labs/solana-utils": "0.0.0-exp20240810.0",
40
- "@dynamic-labs/types": "0.0.0-exp20240810.0",
41
- "@dynamic-labs/utils": "0.0.0-exp20240810.0",
42
- "@dynamic-labs/wallet-book": "0.0.0-exp20240810.0",
43
- "@dynamic-labs/wallet-connector-core": "0.0.0-exp20240810.0",
40
+ "@dynamic-labs/embedded-wallet": "0.0.0-exp20240827.1",
41
+ "@dynamic-labs/rpc-providers": "0.0.0-exp20240827.1",
42
+ "@dynamic-labs/solana-core": "0.0.0-exp20240827.1",
43
+ "@dynamic-labs/wallet-book": "0.0.0-exp20240827.1",
44
+ "@dynamic-labs/wallet-connector-core": "0.0.0-exp20240827.1",
45
+ "@dynamic-labs/webauthn": "0.0.0-exp20240827.1",
46
+ "react-dom": "18.2.0",
44
47
  "viem": "2.9.25"
45
48
  },
46
49
  "peerDependencies": {}
@@ -1,8 +1,6 @@
1
1
  import { PublicKey, SendOptions, Transaction, TransactionSignature, VersionedTransaction } from '@solana/web3.js';
2
+ import { SignedMessage } from '@dynamic-labs/solana-core';
2
3
  import { TurnkeySolanaWalletConnector } from './TurnkeySolanaWalletConnector';
3
- type SignedMessage = {
4
- signature: Uint8Array;
5
- };
6
4
  export type IEmbeddedWalletSolanaSigner = {
7
5
  publicKey?: {
8
6
  toBytes(): Uint8Array;
@@ -46,4 +44,3 @@ export declare class TurnkeySolanaSigner implements IEmbeddedWalletSolanaSigner
46
44
  } | undefined>;
47
45
  disconnect(): Promise<void>;
48
46
  }
49
- export {};
@@ -9,14 +9,12 @@ var webauthnStamper = require('@turnkey/webauthn-stamper');
9
9
  var http = require('@turnkey/http');
10
10
  var solana = require('@turnkey/solana');
11
11
  var iframeStamper = require('@turnkey/iframe-stamper');
12
- var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
13
- var rpcProviderSolana = require('@dynamic-labs/rpc-provider-solana');
14
12
  var utils = require('@dynamic-labs/utils');
15
- var solanaUtils = require('@dynamic-labs/solana-utils');
13
+ var solanaCore = require('@dynamic-labs/solana-core');
16
14
  var embeddedWallet = require('@dynamic-labs/embedded-wallet');
17
15
  var createSolanaConnection = require('../utils/createSolanaConnection/createSolanaConnection.cjs');
18
- var getGenesisHashLSKey = require('../utils/getGenesisHashLSKey/getGenesisHashLSKey.cjs');
19
16
  var transactionDecoder = require('../utils/transactionDecoder/transactionDecoder.cjs');
17
+ var api = require('../utils/api/api.cjs');
20
18
  var TurnkeySolanaSigner = require('./TurnkeySolanaSigner.cjs');
21
19
 
22
20
  class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnectorBase {
@@ -24,10 +22,27 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
24
22
  var _a;
25
23
  super(nameAndKey, props);
26
24
  // Public fields
27
- this.ChainWallet = walletConnectorCore.Wallet;
25
+ this.ChainWallet = solanaCore.SolanaWallet;
28
26
  this.connectedChain = 'SOL';
29
27
  this.supportedChains = ['SOL'];
30
28
  this.verifiedCredentialChain = 'solana';
29
+ this.getEnvId = () => {
30
+ const dynamicNonce = localStorage.getItem('dynamic_nonce');
31
+ if (dynamicNonce) {
32
+ const parsed = JSON.parse(dynamicNonce);
33
+ if (parsed && parsed.environmentId) {
34
+ return parsed.environmentId;
35
+ }
36
+ }
37
+ const dynamicNonceDemo = localStorage.getItem('dynamic_nonce_demo');
38
+ if (dynamicNonceDemo) {
39
+ const parsed = JSON.parse(dynamicNonceDemo);
40
+ if (parsed && parsed.environmentId) {
41
+ return parsed.environmentId;
42
+ }
43
+ }
44
+ throw new Error('Failed to get environment id');
45
+ };
31
46
  this.stampCreateWalletAccountRequest = (_b) => _tslib.__awaiter(this, [_b], void 0, function* ({ request, }) {
32
47
  const turnkeyClient = this.getTurnkeyClient();
33
48
  return turnkeyClient.stampCreateWalletAccounts(request);
@@ -63,10 +78,10 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
63
78
  getNetwork() {
64
79
  return _tslib.__awaiter(this, void 0, void 0, function* () {
65
80
  const connection = this.getConnection();
66
- let genesisHash = localStorage.getItem(getGenesisHashLSKey.getGenesisHashLSKey(connection.rpcEndpoint));
81
+ let genesisHash = localStorage.getItem(solanaCore.getGenesisHashLSKey(connection.rpcEndpoint));
67
82
  if (!genesisHash) {
68
83
  genesisHash = yield connection.getGenesisHash();
69
- localStorage.setItem(getGenesisHashLSKey.getGenesisHashLSKey(connection.rpcEndpoint), genesisHash);
84
+ localStorage.setItem(solanaCore.getGenesisHashLSKey(connection.rpcEndpoint), genesisHash);
70
85
  }
71
86
  genesisHash = genesisHash.substring(0, 32);
72
87
  // see: https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip2.md
@@ -102,7 +117,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
102
117
  return false;
103
118
  }
104
119
  setVerifiedCredentials(verifiedCredentials) {
105
- const turnkeyVerifiedCredential = embeddedWallet.findTurnkeyVerifiedCredential(verifiedCredentials, rpcProviderSolana.ProviderChain.SOLANA);
120
+ const turnkeyVerifiedCredential = embeddedWallet.findTurnkeyVerifiedCredential(verifiedCredentials, solanaCore.ProviderChain.SOLANA);
106
121
  const didTurnkeyVerifiedCredentialsChanged = JSON.stringify(this.verifiedCredential) !==
107
122
  JSON.stringify(turnkeyVerifiedCredential);
108
123
  if (!didTurnkeyVerifiedCredentialsChanged) {
@@ -116,7 +131,7 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
116
131
  }
117
132
  endSession() {
118
133
  return _tslib.__awaiter(this, void 0, void 0, function* () {
119
- localStorage.removeItem(getGenesisHashLSKey.getGenesisHashLSKey(this.getRpcUrl()));
134
+ localStorage.removeItem(solanaCore.getGenesisHashLSKey(this.getRpcUrl()));
120
135
  });
121
136
  }
122
137
  refreshTurnkeyAccount() {
@@ -291,16 +306,26 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
291
306
  }
292
307
  signAndSendTransaction(transaction, options) {
293
308
  return _tslib.__awaiter(this, void 0, void 0, function* () {
309
+ var _a;
294
310
  if (!this.turnkeyAddress)
295
311
  throw new utils.DynamicError('Solana wallet not found');
296
- const transactionsData = yield transactionDecoder.decodeTransaction(transaction, this.getConnection(), this.turnkeyAddress);
312
+ let optimizedTransaction = transaction;
313
+ try {
314
+ if ((yield this.getNetwork()) === 'mainnet') {
315
+ optimizedTransaction = (yield api.optimizeSolanaTransaction(this.getEnvId(), transaction, (_a = this.turnkeyAddress) !== null && _a !== void 0 ? _a : ''));
316
+ }
317
+ }
318
+ catch (e) {
319
+ embeddedWallet.logger.warn('Failed to optimize transaction', e);
320
+ }
321
+ const transactionsData = yield transactionDecoder.decodeTransaction(optimizedTransaction, this.getConnection(), this.turnkeyAddress);
297
322
  if (!(transactionsData === null || transactionsData === void 0 ? void 0 : transactionsData.length)) {
298
323
  throw new utils.DynamicError('Incorrectly formatted transaction instructions');
299
324
  }
300
325
  let spent;
301
326
  let insufficientFunds = false;
302
327
  try {
303
- spent = yield transactionDecoder.getTotalSolanaSpend(transaction, this.getConnection(), this.turnkeyAddress);
328
+ spent = yield transactionDecoder.getTotalSolanaSpend(optimizedTransaction, this.getConnection(), this.turnkeyAddress);
304
329
  }
305
330
  catch (e) {
306
331
  if (e.message === 'Insufficient funds') {
@@ -308,17 +333,18 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
308
333
  }
309
334
  }
310
335
  const to = transactionDecoder.summarizeTransactionDecodedData(transactionsData);
311
- const uiTransaction = new solanaUtils.SolanaUiTransaction({
336
+ const uiTransaction = new solanaCore.SolanaUiTransaction({
312
337
  connection: this.getConnection(),
313
338
  from: this.turnkeyAddress,
314
- onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(transaction, options); }),
315
- originalTransaction: transaction,
339
+ onSubmit: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(optimizedTransaction, options); }),
340
+ originalTransaction: optimizedTransaction,
316
341
  });
317
342
  uiTransaction.to = to;
318
343
  uiTransaction.value = spent;
319
344
  if (insufficientFunds) {
320
345
  uiTransaction.notEnoughFundsError = true;
321
346
  }
347
+ // TODO: remove this. We should not be passing references to wallet connectors
322
348
  return this.walletUiUtils.sendTransaction(this, uiTransaction);
323
349
  });
324
350
  }
@@ -362,11 +388,14 @@ class TurnkeySolanaWalletConnector extends embeddedWallet.TurnkeyWalletConnector
362
388
  }
363
389
  createUiTransaction(from) {
364
390
  return _tslib.__awaiter(this, void 0, void 0, function* () {
365
- return new solanaUtils.SolanaUiTransaction({
391
+ yield this.validateActiveWallet(from);
392
+ const transaction = new solanaCore.SolanaUiTransaction({
366
393
  connection: this.getConnection(),
367
394
  from,
368
395
  onSubmit: (transaction) => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(transaction); }),
369
396
  });
397
+ transaction.feeDeducted = true;
398
+ return transaction;
370
399
  });
371
400
  }
372
401
  }
@@ -1,24 +1,24 @@
1
1
  import { Commitment, Connection, ConnectionConfig, Transaction, VersionedTransaction, ConfirmOptions, Signer, SendOptions } from '@solana/web3.js';
2
2
  import { TurnkeyApiTypes } from '@turnkey/http';
3
3
  import { GenericNetwork, IUITransaction, WalletUiUtils } from '@dynamic-labs/types';
4
- import { Chain, ISendBalanceWalletConnector, Wallet, WalletConnector } from '@dynamic-labs/wallet-connector-core';
4
+ import { Chain, ISendBalanceWalletConnector, InternalWalletConnector } from '@dynamic-labs/wallet-connector-core';
5
5
  import { WalletBookSchema } from '@dynamic-labs/wallet-book';
6
6
  import { JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
7
- import { IChainRpcProviders } from '@dynamic-labs/rpc-provider-solana';
7
+ import { IChainRpcProviders, SolanaWallet } from '@dynamic-labs/solana-core';
8
8
  import { TurnkeyWalletConnectorBase, TurnkeyWalletConnectorNameAndKey } from '@dynamic-labs/embedded-wallet';
9
9
  import { TurnkeySolanaSigner } from './TurnkeySolanaSigner';
10
10
  type SendTransactionOptions = ConfirmOptions & {
11
11
  signers?: Signer[];
12
12
  };
13
13
  export type TurnkeySolanaConnectorProps = {
14
- walletUiUtils: WalletUiUtils<WalletConnector>;
14
+ walletUiUtils: WalletUiUtils<InternalWalletConnector>;
15
15
  walletBook: WalletBookSchema;
16
16
  solNetworks: GenericNetwork[];
17
17
  appName?: string;
18
18
  chainRpcProviders: IChainRpcProviders;
19
19
  };
20
20
  export declare class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase implements ISendBalanceWalletConnector {
21
- ChainWallet: typeof Wallet;
21
+ ChainWallet: typeof SolanaWallet;
22
22
  connectedChain: Chain;
23
23
  supportedChains: Chain[];
24
24
  solNetworks: GenericNetwork[];
@@ -44,6 +44,7 @@ export declare class TurnkeySolanaWalletConnector extends TurnkeyWalletConnector
44
44
  getSigner(): Promise<TurnkeySolanaSigner | undefined>;
45
45
  getBalance(address: string): Promise<string | undefined>;
46
46
  signUint8ArrayMessage(encodedMessage: Uint8Array): Promise<Uint8Array>;
47
+ getEnvId: () => any;
47
48
  signMessage(messageToSign: string): Promise<string | undefined>;
48
49
  signTransaction<T extends Transaction | VersionedTransaction>(transaction: T): Promise<T>;
49
50
  internalSignAndSendTransaction<T extends Transaction | VersionedTransaction>(transaction: T, options?: SendOptions): Promise<string>;
@@ -5,14 +5,12 @@ import { WebauthnStamper } from '@turnkey/webauthn-stamper';
5
5
  import { TurnkeyClient } from '@turnkey/http';
6
6
  import { TurnkeySigner } from '@turnkey/solana';
7
7
  import { IframeStamper } from '@turnkey/iframe-stamper';
8
- import { Wallet } from '@dynamic-labs/wallet-connector-core';
9
- import { ProviderChain } from '@dynamic-labs/rpc-provider-solana';
10
8
  import { DynamicError, getTLD, PlatformService, bufferToBase64 } from '@dynamic-labs/utils';
11
- import { SolanaUiTransaction } from '@dynamic-labs/solana-utils';
9
+ import { SolanaWallet, ProviderChain, getGenesisHashLSKey, SolanaUiTransaction } from '@dynamic-labs/solana-core';
12
10
  import { TurnkeyWalletConnectorBase, findTurnkeyVerifiedCredential, PasskeyService, TURNKEY_API_BASE_URL, TURNKEY_SDK_SESSION_KEY_RETRYABLE_ERRORS, logger } from '@dynamic-labs/embedded-wallet';
13
11
  import { createSolanaConnection } from '../utils/createSolanaConnection/createSolanaConnection.js';
14
- import { getGenesisHashLSKey } from '../utils/getGenesisHashLSKey/getGenesisHashLSKey.js';
15
12
  import { decodeTransaction, getTotalSolanaSpend, summarizeTransactionDecodedData } from '../utils/transactionDecoder/transactionDecoder.js';
13
+ import { optimizeSolanaTransaction } from '../utils/api/api.js';
16
14
  import { TurnkeySolanaSigner } from './TurnkeySolanaSigner.js';
17
15
 
18
16
  class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
@@ -20,10 +18,27 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
20
18
  var _a;
21
19
  super(nameAndKey, props);
22
20
  // Public fields
23
- this.ChainWallet = Wallet;
21
+ this.ChainWallet = SolanaWallet;
24
22
  this.connectedChain = 'SOL';
25
23
  this.supportedChains = ['SOL'];
26
24
  this.verifiedCredentialChain = 'solana';
25
+ this.getEnvId = () => {
26
+ const dynamicNonce = localStorage.getItem('dynamic_nonce');
27
+ if (dynamicNonce) {
28
+ const parsed = JSON.parse(dynamicNonce);
29
+ if (parsed && parsed.environmentId) {
30
+ return parsed.environmentId;
31
+ }
32
+ }
33
+ const dynamicNonceDemo = localStorage.getItem('dynamic_nonce_demo');
34
+ if (dynamicNonceDemo) {
35
+ const parsed = JSON.parse(dynamicNonceDemo);
36
+ if (parsed && parsed.environmentId) {
37
+ return parsed.environmentId;
38
+ }
39
+ }
40
+ throw new Error('Failed to get environment id');
41
+ };
27
42
  this.stampCreateWalletAccountRequest = (_b) => __awaiter(this, [_b], void 0, function* ({ request, }) {
28
43
  const turnkeyClient = this.getTurnkeyClient();
29
44
  return turnkeyClient.stampCreateWalletAccounts(request);
@@ -287,16 +302,26 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
287
302
  }
288
303
  signAndSendTransaction(transaction, options) {
289
304
  return __awaiter(this, void 0, void 0, function* () {
305
+ var _a;
290
306
  if (!this.turnkeyAddress)
291
307
  throw new DynamicError('Solana wallet not found');
292
- const transactionsData = yield decodeTransaction(transaction, this.getConnection(), this.turnkeyAddress);
308
+ let optimizedTransaction = transaction;
309
+ try {
310
+ if ((yield this.getNetwork()) === 'mainnet') {
311
+ optimizedTransaction = (yield optimizeSolanaTransaction(this.getEnvId(), transaction, (_a = this.turnkeyAddress) !== null && _a !== void 0 ? _a : ''));
312
+ }
313
+ }
314
+ catch (e) {
315
+ logger.warn('Failed to optimize transaction', e);
316
+ }
317
+ const transactionsData = yield decodeTransaction(optimizedTransaction, this.getConnection(), this.turnkeyAddress);
293
318
  if (!(transactionsData === null || transactionsData === void 0 ? void 0 : transactionsData.length)) {
294
319
  throw new DynamicError('Incorrectly formatted transaction instructions');
295
320
  }
296
321
  let spent;
297
322
  let insufficientFunds = false;
298
323
  try {
299
- spent = yield getTotalSolanaSpend(transaction, this.getConnection(), this.turnkeyAddress);
324
+ spent = yield getTotalSolanaSpend(optimizedTransaction, this.getConnection(), this.turnkeyAddress);
300
325
  }
301
326
  catch (e) {
302
327
  if (e.message === 'Insufficient funds') {
@@ -307,14 +332,15 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
307
332
  const uiTransaction = new SolanaUiTransaction({
308
333
  connection: this.getConnection(),
309
334
  from: this.turnkeyAddress,
310
- onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(transaction, options); }),
311
- originalTransaction: transaction,
335
+ onSubmit: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(optimizedTransaction, options); }),
336
+ originalTransaction: optimizedTransaction,
312
337
  });
313
338
  uiTransaction.to = to;
314
339
  uiTransaction.value = spent;
315
340
  if (insufficientFunds) {
316
341
  uiTransaction.notEnoughFundsError = true;
317
342
  }
343
+ // TODO: remove this. We should not be passing references to wallet connectors
318
344
  return this.walletUiUtils.sendTransaction(this, uiTransaction);
319
345
  });
320
346
  }
@@ -358,11 +384,14 @@ class TurnkeySolanaWalletConnector extends TurnkeyWalletConnectorBase {
358
384
  }
359
385
  createUiTransaction(from) {
360
386
  return __awaiter(this, void 0, void 0, function* () {
361
- return new SolanaUiTransaction({
387
+ yield this.validateActiveWallet(from);
388
+ const transaction = new SolanaUiTransaction({
362
389
  connection: this.getConnection(),
363
390
  from,
364
391
  onSubmit: (transaction) => __awaiter(this, void 0, void 0, function* () { return this.internalSignAndSendTransaction(transaction); }),
365
392
  });
393
+ transaction.feeDeducted = true;
394
+ return transaction;
366
395
  });
367
396
  }
368
397
  }
@@ -0,0 +1,38 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var web3_js = require('@solana/web3.js');
8
+ var SdkApi = require('./utils/SdkApi.cjs');
9
+
10
+ const serializeTransaction = (transaction) => {
11
+ if (transaction instanceof web3_js.VersionedTransaction) {
12
+ return Buffer.from(transaction.serialize()).toString('base64');
13
+ }
14
+ else {
15
+ return Buffer.from(transaction.serialize({ verifySignatures: false })).toString('base64');
16
+ }
17
+ };
18
+ const deserializeTransaction = (serializedTransaction) => {
19
+ const transactionBuffer = Buffer.from(serializedTransaction, 'base64');
20
+ return web3_js.VersionedTransaction.deserialize(transactionBuffer);
21
+ };
22
+ const optimizeSolanaTransaction = (environmentId, transaction, address) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
23
+ const serializedTransaction = serializeTransaction(transaction);
24
+ const request = {
25
+ environmentId,
26
+ solanaTransactionOptimizationRequest: {
27
+ address,
28
+ transaction: serializedTransaction,
29
+ },
30
+ };
31
+ const response = yield SdkApi.sdkApi().optimizeTransaction(request);
32
+ const optimizedTransaction = deserializeTransaction(response.transaction);
33
+ return optimizedTransaction;
34
+ });
35
+
36
+ exports.deserializeTransaction = deserializeTransaction;
37
+ exports.optimizeSolanaTransaction = optimizeSolanaTransaction;
38
+ exports.serializeTransaction = serializeTransaction;
@@ -0,0 +1,4 @@
1
+ import { Transaction, VersionedTransaction } from '@solana/web3.js';
2
+ export declare const serializeTransaction: (transaction: Transaction | VersionedTransaction) => string;
3
+ export declare const deserializeTransaction: (serializedTransaction: string) => VersionedTransaction;
4
+ export declare const optimizeSolanaTransaction: (environmentId: string, transaction: Transaction | VersionedTransaction, address: string) => Promise<VersionedTransaction>;