@layerswap/widget 0.1.4 → 0.1.15

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 (266) hide show
  1. package/README.md +78 -3
  2. package/dist/Models/Theme.d.ts +7 -6
  3. package/dist/Models/Theme.js +7 -7
  4. package/dist/Models/WalletProvider.d.ts +0 -4
  5. package/dist/Models/WalletProvider.js +2 -0
  6. package/dist/components/Buttons/copyButton.js +4 -3
  7. package/dist/components/ColorSchema.js +79 -45
  8. package/dist/components/Common/AddressIcon.js +1 -0
  9. package/dist/components/Common/AverageCompletionTime.js +1 -1
  10. package/dist/components/Common/CountDownTimer.js +2 -2
  11. package/dist/components/Common/FormattedAverageCompletionTime.js +1 -1
  12. package/dist/components/HeaderWithMenu/index.js +1 -8
  13. package/dist/components/Input/Address/AddressNote.js +3 -2
  14. package/dist/components/Input/Address/AddressPicker/AddressWithIcon.js +2 -2
  15. package/dist/components/Input/Address/AddressPicker/ConnectedWallets/ConnectWalletButton.js +12 -5
  16. package/dist/components/Input/Address/AddressPicker/ExchangeNote.d.ts +1 -1
  17. package/dist/components/Input/Address/AddressPicker/ExchangeNote.js +1 -1
  18. package/dist/components/Input/RouteIcon.js +1 -1
  19. package/dist/components/LayerswapMenu/MenuList.js +2 -56
  20. package/dist/components/Pages/404/index.js +1 -0
  21. package/dist/components/Pages/Auth/Steps/CodeStep/VerifyEmailCode.js +1 -0
  22. package/dist/components/Pages/Auth/index.d.ts +1 -1
  23. package/dist/components/Pages/Auth/index.js +3 -2
  24. package/dist/components/Pages/Campaigns/Details/Leaderboard.js +1 -0
  25. package/dist/components/Pages/Campaigns/Details/index.d.ts +1 -1
  26. package/dist/components/Pages/Campaigns/Details/index.js +3 -2
  27. package/dist/components/Pages/Campaigns/index.d.ts +1 -1
  28. package/dist/components/Pages/Campaigns/index.js +3 -2
  29. package/dist/components/Pages/Maintanance/index.js +1 -0
  30. package/dist/components/Pages/NoCookies/index.js +2 -1
  31. package/dist/components/Pages/SwapHistory/History.js +1 -2
  32. package/dist/components/Pages/SwapHistory/index.d.ts +1 -1
  33. package/dist/components/Pages/SwapHistory/index.js +4 -3
  34. package/dist/components/Pages/SwapPages/Form/FeeDetails/Campaign.js +1 -0
  35. package/dist/components/Pages/SwapPages/Form/Form.js +1 -4
  36. package/dist/components/Pages/SwapPages/Form/SecondaryComponents/ValidationError.js +1 -1
  37. package/dist/components/Pages/SwapPages/Form/Select/Popover/PopoverSelect.js +1 -1
  38. package/dist/components/Pages/SwapPages/Form/index.js +1 -0
  39. package/dist/components/Pages/SwapPages/Withdraw/Coinbase/Carousel.js +8 -6
  40. package/dist/components/Pages/SwapPages/Withdraw/Processing/Processing.js +2 -2
  41. package/dist/components/Pages/SwapPages/Withdraw/Wallet/FuelWalletWithdrawal.d.ts +0 -4
  42. package/dist/components/Pages/SwapPages/Withdraw/Wallet/FuelWalletWithdrawal.js +159 -125
  43. package/dist/components/Pages/SwapPages/Withdraw/Wallet/ImtblxWalletWithdrawStep.d.ts +0 -4
  44. package/dist/components/Pages/SwapPages/Withdraw/Wallet/ImtblxWalletWithdrawStep.js +69 -51
  45. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/ActivationTokentPicker.d.ts +0 -8
  46. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/ActivationTokentPicker.js +87 -45
  47. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/hooks.d.ts +0 -40
  48. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/hooks.js +73 -46
  49. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/index.d.ts +0 -4
  50. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/index.js +175 -128
  51. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/index.d.ts +0 -7
  52. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/index.js +138 -116
  53. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/transactionSender.d.ts +0 -8
  54. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/transactionSender.js +96 -75
  55. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SophonWalletWithdraw.js +2 -2
  56. package/dist/components/Pages/SwapPages/Withdraw/Wallet/StarknetWalletWithdraw.d.ts +0 -4
  57. package/dist/components/Pages/SwapPages/Withdraw/Wallet/StarknetWalletWithdraw.js +88 -71
  58. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TonWalletWithdraw.d.ts +0 -4
  59. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TonWalletWithdraw.js +146 -136
  60. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TronWalletWithdraw.d.ts +0 -4
  61. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TronWalletWithdraw.js +120 -99
  62. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/TransferToken.js +3 -3
  63. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/buttons.js +1 -0
  64. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/index.js +1 -1
  65. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/transactionMessage.js +2 -2
  66. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransferContent.js +101 -33
  67. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Evm.d.ts +0 -4
  68. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Evm.js +60 -55
  69. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Starknet.d.ts +0 -4
  70. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Starknet.js +71 -55
  71. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/buttons.js +1 -0
  72. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/index.d.ts +0 -4
  73. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/index.js +56 -52
  74. package/dist/components/Pages/SwapPages/Withdraw/index.d.ts +1 -1
  75. package/dist/components/Pages/SwapPages/Withdraw/index.js +3 -2
  76. package/dist/components/Wallet/WalletModal/Connector.js +1 -1
  77. package/dist/components/Wallet/WalletProviders/FuelProvider.d.ts +0 -5
  78. package/dist/components/Wallet/WalletProviders/FuelProvider.js +25 -20
  79. package/dist/components/Wallet/WalletProviders/ImtblPassportProvider.d.ts +0 -5
  80. package/dist/components/Wallet/WalletProviders/ImtblPassportProvider.js +39 -36
  81. package/dist/components/Wallet/WalletProviders/SolanaProvider.d.ts +0 -5
  82. package/dist/components/Wallet/WalletProviders/SolanaProvider.js +49 -38
  83. package/dist/components/Wallet/WalletProviders/StarknetProvider.d.ts +0 -5
  84. package/dist/components/Wallet/WalletProviders/StarknetProvider.js +112 -117
  85. package/dist/components/Wallet/WalletProviders/TonConnectProvider.d.ts +0 -6
  86. package/dist/components/Wallet/WalletProviders/TonConnectProvider.js +58 -50
  87. package/dist/components/Wallet/WalletProviders/TronProvider.d.ts +0 -3
  88. package/dist/components/Wallet/WalletProviders/TronProvider.js +23 -15
  89. package/dist/components/Wallet/WalletProviders/Wagmi.d.ts +1 -1
  90. package/dist/components/Wallet/WalletProviders/Wagmi.js +20 -10
  91. package/dist/components/Wallet/WalletProviders/index.js +13 -6
  92. package/dist/components/Widget/Footer.d.ts +2 -1
  93. package/dist/components/Widget/Footer.js +13 -4
  94. package/dist/components/Widget/Index.d.ts +1 -1
  95. package/dist/components/Widget/Index.js +1 -1
  96. package/dist/components/WidgetLoading.d.ts +1 -0
  97. package/dist/components/WidgetLoading.js +5 -0
  98. package/dist/components/Wizard/Wizard.js +1 -1
  99. package/dist/components/shadcn/command.js +1 -1
  100. package/dist/components/themeWrapper.js +4 -3
  101. package/dist/context/{LayerswapContext.d.ts → LayerswapProvider.d.ts} +3 -8
  102. package/dist/context/{LayerswapContext.js → LayerswapProvider.js} +8 -9
  103. package/dist/context/authContext.js +1 -0
  104. package/dist/context/walletHooksProvider.js +1 -0
  105. package/dist/hooks/useWallet.js +10 -14
  106. package/dist/index.css +1 -1
  107. package/dist/index.d.ts +3 -5
  108. package/dist/index.js +2 -4
  109. package/dist/index.mjs +19 -0
  110. package/dist/lib/AppSettings.d.ts +7 -3
  111. package/dist/lib/AppSettings.js +8 -7
  112. package/dist/lib/address/formatter/index.js +8 -9
  113. package/dist/lib/address/validator/index.js +18 -20
  114. package/dist/lib/axiosInterceptor.js +1 -2
  115. package/dist/lib/balances/balanceResolver.js +16 -16
  116. package/dist/lib/balances/providers/evmBalanceProvider.js +3 -3
  117. package/dist/lib/balances/providers/loopringBalanceProvider.d.ts +0 -6
  118. package/dist/lib/balances/providers/loopringBalanceProvider.js +56 -43
  119. package/dist/lib/balances/providers/paradexBalanceProvider.d.ts +0 -6
  120. package/dist/lib/balances/providers/paradexBalanceProvider.js +42 -42
  121. package/dist/lib/balances/providers/solanaBalanceProvider.d.ts +0 -6
  122. package/dist/lib/balances/providers/solanaBalanceProvider.js +70 -71
  123. package/dist/lib/balances/providers/starknetBalanceProvider.d.ts +0 -6
  124. package/dist/lib/balances/providers/starknetBalanceProvider.js +48 -45
  125. package/dist/lib/balances/providers/tonBalanceProvider.d.ts +0 -18
  126. package/dist/lib/balances/providers/tonBalanceProvider.js +104 -100
  127. package/dist/lib/balances/providers/tronBalanceResolver.js +2 -3
  128. package/dist/lib/fuels/common/FakeAccount.d.ts +0 -24
  129. package/dist/lib/fuels/common/FakeAccount.js +58 -36
  130. package/dist/lib/fuels/common/PredicateConnector.d.ts +0 -54
  131. package/dist/lib/fuels/common/PredicateConnector.js +292 -205
  132. package/dist/lib/fuels/common/PredicateFactory.d.ts +0 -29
  133. package/dist/lib/fuels/common/PredicateFactory.js +123 -76
  134. package/dist/lib/fuels/common/PredicateWalletAdapter.d.ts +0 -17
  135. package/dist/lib/fuels/common/PredicateWalletAdapter.js +44 -29
  136. package/dist/lib/fuels/common/index.d.ts +0 -4
  137. package/dist/lib/fuels/common/index.js +4 -4
  138. package/dist/lib/fuels/connectors/fuel-wallet/FuelWalletConnector.d.ts +0 -51
  139. package/dist/lib/fuels/connectors/fuel-wallet/FuelWalletConnector.js +268 -234
  140. package/dist/lib/fuels/connectors/fuel-wallet/index.d.ts +0 -2
  141. package/dist/lib/fuels/connectors/fuel-wallet/index.js +2 -2
  142. package/dist/lib/fuels/connectors/fuel-wallet/types.d.ts +0 -50
  143. package/dist/lib/fuels/connectors/fuel-wallet/types.js +53 -9
  144. package/dist/lib/fuels/connectors/fuelet-wallet/FueletWalletConnector.d.ts +0 -7
  145. package/dist/lib/fuels/connectors/fuelet-wallet/FueletWalletConnector.js +20 -19
  146. package/dist/lib/fuels/connectors/fuelet-wallet/index.d.ts +0 -1
  147. package/dist/lib/fuels/connectors/fuelet-wallet/index.js +1 -1
  148. package/dist/lib/gases/gasResolver.d.ts +1 -1
  149. package/dist/lib/gases/gasResolver.js +10 -10
  150. package/dist/lib/gases/providers/evmGasProvider.js +5 -4
  151. package/dist/lib/gases/providers/loopringGasProvider.d.ts +0 -6
  152. package/dist/lib/gases/providers/loopringGasProvider.js +27 -24
  153. package/dist/lib/gases/providers/solanaGasProvider.d.ts +0 -7
  154. package/dist/lib/gases/providers/solanaGasProvider.js +32 -31
  155. package/dist/lib/gases/providers/starknetGasProvider.d.ts +0 -7
  156. package/dist/lib/gases/providers/starknetGasProvider.js +34 -33
  157. package/dist/lib/imtbl.d.ts +0 -69
  158. package/dist/lib/imtbl.js +63 -60
  159. package/dist/lib/internalApiClient.d.ts +0 -2
  160. package/dist/lib/internalApiClient.js +1 -4
  161. package/dist/lib/layerSwapApiClient.js +3 -3
  162. package/dist/lib/logError.js +2 -2
  163. package/dist/lib/nft/nftBalanceResolver.js +1 -2
  164. package/dist/lib/nft/providers/starknetNftProvider.d.ts +0 -6
  165. package/dist/lib/nft/providers/starknetNftProvider.js +49 -50
  166. package/dist/lib/wallets/connectors/useSyncProviders/store.d.ts +1 -4
  167. package/dist/lib/wallets/fuel/Bako.d.ts +0 -15
  168. package/dist/lib/wallets/fuel/Bako.js +34 -29
  169. package/dist/lib/wallets/fuel/Basko.d.ts +0 -15
  170. package/dist/lib/wallets/fuel/Basko.js +34 -29
  171. package/dist/lib/wallets/fuel/useFuel.d.ts +0 -2
  172. package/dist/lib/wallets/fuel/useFuel.js +211 -192
  173. package/dist/lib/wallets/imtblX/useImtblX.d.ts +0 -2
  174. package/dist/lib/wallets/imtblX/useImtblX.js +87 -87
  175. package/dist/lib/wallets/paradex/Authorize/Ethereum.d.ts +0 -2
  176. package/dist/lib/wallets/paradex/Authorize/Ethereum.js +24 -23
  177. package/dist/lib/wallets/paradex/Authorize/Starknet.d.ts +0 -2
  178. package/dist/lib/wallets/paradex/Authorize/Starknet.js +14 -13
  179. package/dist/lib/wallets/paradex/lib/account.d.ts +0 -28
  180. package/dist/lib/wallets/paradex/lib/account.js +102 -53
  181. package/dist/lib/wallets/paradex/lib/index.d.ts +0 -24
  182. package/dist/lib/wallets/paradex/lib/index.js +20 -20
  183. package/dist/lib/wallets/paradex/lib/paraclear-provider.d.ts +0 -6
  184. package/dist/lib/wallets/paradex/lib/paraclear-provider.js +13 -9
  185. package/dist/lib/wallets/paradex/lib/paraclear.d.ts +0 -137
  186. package/dist/lib/wallets/paradex/lib/paraclear.js +258 -131
  187. package/dist/lib/wallets/paradex/lib/starknet-account-support.d.ts +0 -22
  188. package/dist/lib/wallets/paradex/lib/starknet-account-support.js +296 -220
  189. package/dist/lib/wallets/paradex/lib/starknet-signer.d.ts +0 -15
  190. package/dist/lib/wallets/paradex/lib/starknet-signer.js +120 -94
  191. package/dist/lib/wallets/paradex/useParadex.d.ts +0 -7
  192. package/dist/lib/wallets/paradex/useParadex.js +197 -194
  193. package/dist/lib/wallets/solana/transactionBuilder.d.ts +0 -4
  194. package/dist/lib/wallets/solana/transactionBuilder.js +63 -39
  195. package/dist/lib/wallets/solana/useSVM.d.ts +0 -5
  196. package/dist/lib/wallets/solana/useSVM.js +139 -142
  197. package/dist/lib/wallets/starknet/useStarknet.d.ts +0 -2
  198. package/dist/lib/wallets/starknet/useStarknet.js +139 -139
  199. package/dist/lib/wallets/ton/client.d.ts +0 -3
  200. package/dist/lib/wallets/ton/client.js +7 -7
  201. package/dist/lib/wallets/ton/useTON.d.ts +0 -2
  202. package/dist/lib/wallets/ton/useTON.js +121 -122
  203. package/dist/lib/wallets/tron/connectors/bitkeep.d.ts +0 -61
  204. package/dist/lib/wallets/tron/connectors/bitkeep.js +326 -303
  205. package/dist/lib/wallets/tron/connectors/index.d.ts +0 -4
  206. package/dist/lib/wallets/tron/connectors/index.js +4 -4
  207. package/dist/lib/wallets/tron/connectors/okxWallet.d.ts +0 -66
  208. package/dist/lib/wallets/tron/connectors/okxWallet.js +364 -336
  209. package/dist/lib/wallets/tron/connectors/tokenPocket.d.ts +0 -72
  210. package/dist/lib/wallets/tron/connectors/tokenPocket.js +337 -308
  211. package/dist/lib/wallets/tron/connectors/tronLink/index.d.ts +0 -102
  212. package/dist/lib/wallets/tron/connectors/tronLink/index.js +560 -520
  213. package/dist/lib/wallets/tron/connectors/tronLink/types.d.ts +0 -56
  214. package/dist/lib/wallets/tron/connectors/tronLink/types.js +53 -1
  215. package/dist/lib/wallets/tron/connectors/tronLink/utils.d.ts +0 -14
  216. package/dist/lib/wallets/tron/connectors/tronLink/utils.js +64 -61
  217. package/dist/lib/wallets/tron/useTron.d.ts +0 -2
  218. package/dist/lib/wallets/tron/useTron.js +111 -111
  219. package/dist/lib/wallets/utils/resolveWalletIcon.js +1 -0
  220. package/package.json +26 -77
  221. package/dist/hooks/useCopyClipboard.d.ts +0 -1
  222. package/dist/hooks/useCopyClipboard.js +0 -21
  223. package/dist/index.cjs +0 -125
  224. package/dist/lib/abis/ERC20.json +0 -258
  225. package/dist/lib/fuels/connectors/walletConnect/WalletConnectConnector.d.ts +0 -42
  226. package/dist/lib/fuels/connectors/walletConnect/WalletConnectConnector.js +0 -357
  227. package/dist/lib/fuels/connectors/walletConnect/constants.d.ts +0 -6
  228. package/dist/lib/fuels/connectors/walletConnect/constants.js +0 -7
  229. package/dist/lib/fuels/connectors/walletConnect/index.d.ts +0 -3
  230. package/dist/lib/fuels/connectors/walletConnect/index.js +0 -3
  231. package/dist/lib/fuels/connectors/walletConnect/types.d.ts +0 -12
  232. package/dist/lib/fuels/connectors/walletConnect/types.js +0 -1
  233. package/dist/lib/fuels/connectors/walletConnect/utils/index.d.ts +0 -1
  234. package/dist/lib/fuels/connectors/walletConnect/utils/index.js +0 -1
  235. package/dist/lib/fuels/connectors/walletConnect/utils/subscribeAndEnforceChain.d.ts +0 -2
  236. package/dist/lib/fuels/connectors/walletConnect/utils/subscribeAndEnforceChain.js +0 -39
  237. package/dist/lib/fuels/connectors/walletConnect/web3Modal.d.ts +0 -10
  238. package/dist/lib/fuels/connectors/walletConnect/web3Modal.js +0 -38
  239. package/dist/lib/loopring/LoopringAPI.d.ts +0 -12
  240. package/dist/lib/loopring/LoopringAPI.js +0 -13
  241. package/dist/lib/loopring/defs.d.ts +0 -425
  242. package/dist/lib/loopring/defs.js +0 -217
  243. package/dist/lib/loopring/eddsa.d.ts +0 -29
  244. package/dist/lib/loopring/eddsa.js +0 -208
  245. package/dist/lib/loopring/field.d.ts +0 -17
  246. package/dist/lib/loopring/field.js +0 -61
  247. package/dist/lib/loopring/formatter.d.ts +0 -137
  248. package/dist/lib/loopring/formatter.js +0 -516
  249. package/dist/lib/loopring/helpers.d.ts +0 -36
  250. package/dist/lib/loopring/helpers.js +0 -140
  251. package/dist/lib/loopring/jubjub.d.ts +0 -19
  252. package/dist/lib/loopring/jubjub.js +0 -79
  253. package/dist/lib/loopring/permutation.d.ts +0 -22
  254. package/dist/lib/loopring/permutation.js +0 -198
  255. package/dist/lib/loopring/poseidon/EDDSAUtil.d.ts +0 -14
  256. package/dist/lib/loopring/poseidon/EDDSAUtil.js +0 -61
  257. package/dist/lib/loopring/poseidon/babyJub.d.ts +0 -6
  258. package/dist/lib/loopring/poseidon/babyJub.js +0 -51
  259. package/dist/lib/loopring/poseidon/eddsa.d.ts +0 -29
  260. package/dist/lib/loopring/poseidon/eddsa.js +0 -210
  261. package/dist/lib/loopring/utils.d.ts +0 -76
  262. package/dist/lib/loopring/utils.js +0 -230
  263. package/dist/styles/dialog-transition.css +0 -28
  264. package/dist/styles/globals.css +0 -372
  265. package/dist/styles/manual-trasnfer-svg.css +0 -299
  266. package/dist/styles/vaul.css +0 -256
@@ -1,220 +1,296 @@
1
- import * as Starknet from 'starknet';
2
- export class AccountSupport {
3
- constructor(
4
- /** The contract instance of the account. */
5
- contract,
6
- /** The class hash of the account contract. */
7
- classHash) {
8
- this.contract = contract;
9
- this.classHash = classHash;
10
- this.signatureFormat = null;
11
- this.classHash = Starknet.num.cleanHex(this.classHash);
12
- }
13
- testClassHash(classHash) {
14
- return this.classHash === Starknet.num.cleanHex(classHash);
15
- }
16
- async getFormat() {
17
- if (this.testClassHash('0x1a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003')) {
18
- return 'argent-v0.3.0';
19
- }
20
- if (this.testClassHash('0x29927c8af6bccf3f6fda035981e765a7bdbf18a2dc0d630494f8758aa908e2b')) {
21
- return 'argent-v0.3.1';
22
- }
23
- if (this.testClassHash('0x036078334509b514626504edc9fb252328d1a240e4e948bef8d0c08dff45927f')) {
24
- const ownerTypeResp = (await this.contract.call('get_owner_type'));
25
- const ownerType = ownerTypeResp.activeVariant();
26
- switch (ownerType) {
27
- case 'Starknet':
28
- return 'argent-v0.4.0-starknet-signer';
29
- case 'Secp256k1':
30
- return 'argent-v0.4.0-secp256k1-signer';
31
- case 'Secp256r1':
32
- return 'argent-v0.4.0-secp256r1-signer';
33
- case 'Eip191':
34
- return 'argent-v0.4.0-eip191-signer';
35
- case 'Webauthn':
36
- return 'argent-v0.4.0-webauthn-signer';
37
- default:
38
- return 'unknown';
39
- }
40
- }
41
- if (this.testClassHash('0x0381f14e5e0db5889c981bf050fb034c0fbe0c4f070ee79346a05dbe2bf2af90')) {
42
- return 'argent-multicall';
43
- }
44
- if (this.testClassHash('0x737ee2f87ce571a58c6c8da558ec18a07ceb64a6172d5ec46171fbc80077a48')) {
45
- return 'argent-multisig-v0.1.0';
46
- }
47
- if (this.testClassHash('0x6e150953b26271a740bf2b6e9bca17cc52c68d765f761295de51ceb8526ee72')) {
48
- return 'argent-multisig-v0.1.1';
49
- }
50
- if (this.testClassHash('0x07aeca3456816e3b833506d7cc5c1313d371fbdb0ae95ee70af72a4ddbf42594')) {
51
- return 'argent-multisig-v0.2.0';
52
- }
53
- // https://github.com/myBraavos/braavos-account-cairo/blob/6efdfd597bb051e99c79a512fccd14ee2523c898/README_MOA.md
54
- if (this.testClassHash('0x041bf1e71792aecb9df3e9d04e1540091c5e13122a731e02bec588f71dc1a5c3')) {
55
- return 'braavos-multi-owner-v1.0.0';
56
- }
57
- // https://github.com/myBraavos/braavos-account-cairo/tree/v1.0.0
58
- if (this.testClassHash('0x00816dd0297efc55dc1e7559020a3a825e81ef734b558f03c83325d4da7e6253')) {
59
- const multiSigThreshold = (await this.contract.call('get_multisig_threshold'));
60
- if (multiSigThreshold !== 0n) {
61
- return 'braavos-v1.0.0-multisig';
62
- }
63
- const signers = (await this.contract.call('get_signers'));
64
- if (signers.secp256r1 != null && signers.secp256r1.length > 0)
65
- return 'braavos-v1.0.0-strong-signer';
66
- if (signers.webauthn != null && signers.webauthn.length > 0)
67
- return 'braavos-v1.0.0-strong-signer';
68
- if (signers.stark != null && signers.stark.length === 1)
69
- return 'braavos-v1.0.0-stark-signer';
70
- return 'unknown';
71
- }
72
- // New Braavos account contract, not available on GitHub
73
- // Reported to be an upgrade to the previous Braavos account contract
74
- // https://tradeparadigm.slack.com/archives/C06TRUBLSDB/p1731706968018819?thread_ts=1720108178.898199&cid=C06TRUBLSDB
75
- if (this.testClassHash('0x02c8c7e6fbcfb3e8e15a46648e8914c6aa1fc506fc1e7fb3d1e19630716174bc')) {
76
- const multiSigThreshold = (await this.contract.call('get_multisig_threshold'));
77
- if (multiSigThreshold !== 0n) {
78
- return 'braavos-v1.1.0-multisig';
79
- }
80
- const signers = (await this.contract.call('get_signers'));
81
- if (signers.secp256r1 != null && signers.secp256r1.length > 0)
82
- return 'braavos-v1.1.0-strong-signer';
83
- if (signers.webauthn != null && signers.webauthn.length > 0)
84
- return 'braavos-v1.1.0-strong-signer';
85
- if (signers.stark != null && signers.stark.length === 1)
86
- return 'braavos-v1.1.0-stark-signer';
87
- return 'unknown';
88
- }
89
- return 'unknown';
90
- }
91
- async check() {
92
- this.signatureFormat = await this.getFormat();
93
- switch (this.signatureFormat) {
94
- case 'argent-v0.3.0':
95
- case 'argent-v0.3.1':
96
- case 'argent-v0.4.0-starknet-signer':
97
- case 'braavos-v1.0.0-stark-signer':
98
- case 'braavos-v1.1.0-stark-signer':
99
- return { ok: true };
100
- case 'argent-v0.4.0-secp256k1-signer':
101
- return {
102
- ok: false,
103
- reason: 'Argent Secp256k1Signer is not supported',
104
- };
105
- case 'argent-v0.4.0-secp256r1-signer':
106
- return {
107
- ok: false,
108
- reason: 'Argent Secp256r1Signer is not supported',
109
- };
110
- case 'argent-v0.4.0-eip191-signer':
111
- return {
112
- ok: false,
113
- reason: 'Argent Eip191Signer is not supported',
114
- };
115
- case 'argent-v0.4.0-webauthn-signer':
116
- return {
117
- ok: false,
118
- reason: 'Argent WebauthnSigner is not supported',
119
- };
120
- case 'argent-multicall':
121
- return {
122
- ok: false,
123
- reason: 'Argent multicall is not supported',
124
- };
125
- case 'argent-multisig-v0.1.0':
126
- case 'argent-multisig-v0.1.1':
127
- case 'argent-multisig-v0.2.0':
128
- return {
129
- ok: false,
130
- reason: 'Argent multisig is not supported',
131
- };
132
- case 'braavos-v1.0.0-strong-signer':
133
- case 'braavos-v1.1.0-strong-signer':
134
- return {
135
- ok: false,
136
- reason: 'Braavos strong signer is not supported',
137
- };
138
- case 'braavos-v1.0.0-multisig':
139
- case 'braavos-v1.1.0-multisig':
140
- return {
141
- ok: false,
142
- reason: 'Braavos multisig is not supported',
143
- };
144
- case 'braavos-multi-owner-v1.0.0':
145
- return {
146
- ok: false,
147
- reason: 'Braavos Multi Owner Account is not supported',
148
- };
149
- case 'unknown':
150
- return {
151
- ok: false,
152
- reason: 'Unsupported account contract',
153
- };
154
- // no default
155
- }
156
- }
157
- getSeedFromSignature(signature) {
158
- const segments = Starknet.stark.signatureToHexArray(signature);
159
- if (this.signatureFormat == null) {
160
- throw new Error('Check account contract support first');
161
- }
162
- switch (this.signatureFormat) {
163
- case 'argent-v0.3.0':
164
- case 'argent-v0.3.1': {
165
- const [r, _s] = segments;
166
- if (r == null)
167
- throw new Error('Argent signature is missing R segment');
168
- return r;
169
- }
170
- case 'argent-v0.4.0-starknet-signer': {
171
- if (segments.length === 2 || segments.length === 4) {
172
- const [r, _s] = segments;
173
- if (r == null)
174
- throw new Error('Argent signature is missing R segment');
175
- return r;
176
- }
177
- if (segments.length === 5 || segments.length === 9) {
178
- const [_numSignatures, _sigType, _pubKey, r, _s] = segments;
179
- if (r == null)
180
- throw new Error('Argent signature is missing R segment');
181
- return r;
182
- }
183
- throw new Error('Unsupported Argent signature');
184
- }
185
- case 'braavos-v1.0.0-stark-signer':
186
- case 'braavos-v1.1.0-stark-signer': {
187
- if (segments.length === 2) {
188
- const [r, _s] = segments;
189
- if (r == null)
190
- throw new Error('Braavos signature is missing R segment');
191
- return r;
192
- }
193
- if (segments.length === 3) {
194
- const [_signerType, r, _s] = segments;
195
- if (r == null)
196
- throw new Error('Braavos signature is missing R segment');
197
- return r;
198
- }
199
- throw new Error('Unsupported Braavos signature');
200
- }
201
- case 'argent-v0.4.0-secp256k1-signer':
202
- case 'argent-v0.4.0-secp256r1-signer':
203
- case 'argent-v0.4.0-eip191-signer':
204
- case 'argent-v0.4.0-webauthn-signer':
205
- case 'argent-multicall':
206
- case 'argent-multisig-v0.1.0':
207
- case 'argent-multisig-v0.1.1':
208
- case 'argent-multisig-v0.2.0':
209
- case 'braavos-v1.0.0-strong-signer':
210
- case 'braavos-v1.1.0-strong-signer':
211
- case 'braavos-v1.0.0-multisig':
212
- case 'braavos-v1.1.0-multisig':
213
- case 'braavos-multi-owner-v1.0.0':
214
- throw new Error(`${this.signatureFormat} is not supported`);
215
- case 'unknown':
216
- throw new Error('Unsupported account contract');
217
- // no default
218
- }
219
- }
220
- }
1
+ // import * as Starknet from 'starknet';
2
+ // type SignatureFormat =
3
+ // | 'argent-v0.3.0'
4
+ // | 'argent-v0.3.1'
5
+ // | 'argent-v0.4.0-starknet-signer'
6
+ // | 'argent-v0.4.0-secp256k1-signer'
7
+ // | 'argent-v0.4.0-secp256r1-signer'
8
+ // | 'argent-v0.4.0-eip191-signer'
9
+ // | 'argent-v0.4.0-webauthn-signer'
10
+ // | 'argent-multicall'
11
+ // | 'argent-multisig-v0.1.0'
12
+ // | 'argent-multisig-v0.1.1'
13
+ // | 'argent-multisig-v0.2.0'
14
+ // | 'braavos-v1.0.0-stark-signer'
15
+ // | 'braavos-v1.0.0-strong-signer'
16
+ // | 'braavos-v1.0.0-multisig'
17
+ // | 'braavos-v1.1.0-stark-signer'
18
+ // | 'braavos-v1.1.0-strong-signer'
19
+ // | 'braavos-v1.1.0-multisig'
20
+ // | 'braavos-multi-owner-v1.0.0'
21
+ // | 'unknown';
22
+ // interface CheckResult {
23
+ // readonly ok: boolean;
24
+ // readonly reason?: string;
25
+ // }
26
+ // export class AccountSupport {
27
+ // private signatureFormat: SignatureFormat | null = null;
28
+ // constructor(
29
+ // /** The contract instance of the account. */
30
+ // private readonly contract: Starknet.Contract,
31
+ // /** The class hash of the account contract. */
32
+ // private readonly classHash: string,
33
+ // ) {
34
+ // this.classHash = Starknet.num.cleanHex(this.classHash);
35
+ // }
36
+ // private testClassHash(classHash: string): boolean {
37
+ // return this.classHash === Starknet.num.cleanHex(classHash);
38
+ // }
39
+ // private async getFormat(): Promise<SignatureFormat> {
40
+ // if (
41
+ // this.testClassHash(
42
+ // '0x1a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003',
43
+ // )
44
+ // ) {
45
+ // return 'argent-v0.3.0';
46
+ // }
47
+ // if (
48
+ // this.testClassHash(
49
+ // '0x29927c8af6bccf3f6fda035981e765a7bdbf18a2dc0d630494f8758aa908e2b',
50
+ // )
51
+ // ) {
52
+ // return 'argent-v0.3.1';
53
+ // }
54
+ // if (
55
+ // this.testClassHash(
56
+ // '0x036078334509b514626504edc9fb252328d1a240e4e948bef8d0c08dff45927f',
57
+ // )
58
+ // ) {
59
+ // const ownerTypeResp = (await this.contract.call(
60
+ // 'get_owner_type',
61
+ // )) as Starknet.CairoCustomEnum;
62
+ // const ownerType = ownerTypeResp.activeVariant();
63
+ // switch (ownerType) {
64
+ // case 'Starknet':
65
+ // return 'argent-v0.4.0-starknet-signer';
66
+ // case 'Secp256k1':
67
+ // return 'argent-v0.4.0-secp256k1-signer';
68
+ // case 'Secp256r1':
69
+ // return 'argent-v0.4.0-secp256r1-signer';
70
+ // case 'Eip191':
71
+ // return 'argent-v0.4.0-eip191-signer';
72
+ // case 'Webauthn':
73
+ // return 'argent-v0.4.0-webauthn-signer';
74
+ // default:
75
+ // return 'unknown';
76
+ // }
77
+ // }
78
+ // if (
79
+ // this.testClassHash(
80
+ // '0x0381f14e5e0db5889c981bf050fb034c0fbe0c4f070ee79346a05dbe2bf2af90',
81
+ // )
82
+ // ) {
83
+ // return 'argent-multicall';
84
+ // }
85
+ // if (
86
+ // this.testClassHash(
87
+ // '0x737ee2f87ce571a58c6c8da558ec18a07ceb64a6172d5ec46171fbc80077a48',
88
+ // )
89
+ // ) {
90
+ // return 'argent-multisig-v0.1.0';
91
+ // }
92
+ // if (
93
+ // this.testClassHash(
94
+ // '0x6e150953b26271a740bf2b6e9bca17cc52c68d765f761295de51ceb8526ee72',
95
+ // )
96
+ // ) {
97
+ // return 'argent-multisig-v0.1.1';
98
+ // }
99
+ // if (
100
+ // this.testClassHash(
101
+ // '0x07aeca3456816e3b833506d7cc5c1313d371fbdb0ae95ee70af72a4ddbf42594',
102
+ // )
103
+ // ) {
104
+ // return 'argent-multisig-v0.2.0';
105
+ // }
106
+ // // https://github.com/myBraavos/braavos-account-cairo/blob/6efdfd597bb051e99c79a512fccd14ee2523c898/README_MOA.md
107
+ // if (
108
+ // this.testClassHash(
109
+ // '0x041bf1e71792aecb9df3e9d04e1540091c5e13122a731e02bec588f71dc1a5c3',
110
+ // )
111
+ // ) {
112
+ // return 'braavos-multi-owner-v1.0.0';
113
+ // }
114
+ // // https://github.com/myBraavos/braavos-account-cairo/tree/v1.0.0
115
+ // if (
116
+ // this.testClassHash(
117
+ // '0x00816dd0297efc55dc1e7559020a3a825e81ef734b558f03c83325d4da7e6253',
118
+ // )
119
+ // ) {
120
+ // const multiSigThreshold = (await this.contract.call(
121
+ // 'get_multisig_threshold',
122
+ // )) as bigint;
123
+ // if (multiSigThreshold !== 0n) {
124
+ // return 'braavos-v1.0.0-multisig';
125
+ // }
126
+ // const signers = (await this.contract.call('get_signers')) as {
127
+ // readonly secp256r1?: string[];
128
+ // readonly stark?: string[];
129
+ // readonly webauthn?: string[];
130
+ // };
131
+ // if (signers.secp256r1 != null && signers.secp256r1.length > 0)
132
+ // return 'braavos-v1.0.0-strong-signer';
133
+ // if (signers.webauthn != null && signers.webauthn.length > 0)
134
+ // return 'braavos-v1.0.0-strong-signer';
135
+ // if (signers.stark != null && signers.stark.length === 1)
136
+ // return 'braavos-v1.0.0-stark-signer';
137
+ // return 'unknown';
138
+ // }
139
+ // // New Braavos account contract, not available on GitHub
140
+ // // Reported to be an upgrade to the previous Braavos account contract
141
+ // // https://tradeparadigm.slack.com/archives/C06TRUBLSDB/p1731706968018819?thread_ts=1720108178.898199&cid=C06TRUBLSDB
142
+ // if (
143
+ // this.testClassHash(
144
+ // '0x02c8c7e6fbcfb3e8e15a46648e8914c6aa1fc506fc1e7fb3d1e19630716174bc',
145
+ // )
146
+ // ) {
147
+ // const multiSigThreshold = (await this.contract.call(
148
+ // 'get_multisig_threshold',
149
+ // )) as bigint;
150
+ // if (multiSigThreshold !== 0n) {
151
+ // return 'braavos-v1.1.0-multisig';
152
+ // }
153
+ // const signers = (await this.contract.call('get_signers')) as {
154
+ // readonly secp256r1?: string[];
155
+ // readonly stark?: string[];
156
+ // readonly webauthn?: string[];
157
+ // };
158
+ // if (signers.secp256r1 != null && signers.secp256r1.length > 0)
159
+ // return 'braavos-v1.1.0-strong-signer';
160
+ // if (signers.webauthn != null && signers.webauthn.length > 0)
161
+ // return 'braavos-v1.1.0-strong-signer';
162
+ // if (signers.stark != null && signers.stark.length === 1)
163
+ // return 'braavos-v1.1.0-stark-signer';
164
+ // return 'unknown';
165
+ // }
166
+ // return 'unknown';
167
+ // }
168
+ // async check(): Promise<CheckResult> {
169
+ // this.signatureFormat = await this.getFormat();
170
+ // switch (this.signatureFormat) {
171
+ // case 'argent-v0.3.0':
172
+ // case 'argent-v0.3.1':
173
+ // case 'argent-v0.4.0-starknet-signer':
174
+ // case 'braavos-v1.0.0-stark-signer':
175
+ // case 'braavos-v1.1.0-stark-signer':
176
+ // return { ok: true };
177
+ // case 'argent-v0.4.0-secp256k1-signer':
178
+ // return {
179
+ // ok: false,
180
+ // reason: 'Argent Secp256k1Signer is not supported',
181
+ // };
182
+ // case 'argent-v0.4.0-secp256r1-signer':
183
+ // return {
184
+ // ok: false,
185
+ // reason: 'Argent Secp256r1Signer is not supported',
186
+ // };
187
+ // case 'argent-v0.4.0-eip191-signer':
188
+ // return {
189
+ // ok: false,
190
+ // reason: 'Argent Eip191Signer is not supported',
191
+ // };
192
+ // case 'argent-v0.4.0-webauthn-signer':
193
+ // return {
194
+ // ok: false,
195
+ // reason: 'Argent WebauthnSigner is not supported',
196
+ // };
197
+ // case 'argent-multicall':
198
+ // return {
199
+ // ok: false,
200
+ // reason: 'Argent multicall is not supported',
201
+ // };
202
+ // case 'argent-multisig-v0.1.0':
203
+ // case 'argent-multisig-v0.1.1':
204
+ // case 'argent-multisig-v0.2.0':
205
+ // return {
206
+ // ok: false,
207
+ // reason: 'Argent multisig is not supported',
208
+ // };
209
+ // case 'braavos-v1.0.0-strong-signer':
210
+ // case 'braavos-v1.1.0-strong-signer':
211
+ // return {
212
+ // ok: false,
213
+ // reason: 'Braavos strong signer is not supported',
214
+ // };
215
+ // case 'braavos-v1.0.0-multisig':
216
+ // case 'braavos-v1.1.0-multisig':
217
+ // return {
218
+ // ok: false,
219
+ // reason: 'Braavos multisig is not supported',
220
+ // };
221
+ // case 'braavos-multi-owner-v1.0.0':
222
+ // return {
223
+ // ok: false,
224
+ // reason: 'Braavos Multi Owner Account is not supported',
225
+ // };
226
+ // case 'unknown':
227
+ // return {
228
+ // ok: false,
229
+ // reason: 'Unsupported account contract',
230
+ // };
231
+ // // no default
232
+ // }
233
+ // }
234
+ // getSeedFromSignature(signature: Starknet.Signature): string {
235
+ // const segments = Starknet.stark.signatureToHexArray(signature);
236
+ // if (this.signatureFormat == null) {
237
+ // throw new Error('Check account contract support first');
238
+ // }
239
+ // switch (this.signatureFormat) {
240
+ // case 'argent-v0.3.0':
241
+ // case 'argent-v0.3.1': {
242
+ // const [r, _s] = segments;
243
+ // if (r == null) throw new Error('Argent signature is missing R segment');
244
+ // return r;
245
+ // }
246
+ // case 'argent-v0.4.0-starknet-signer': {
247
+ // if (segments.length === 2 || segments.length === 4) {
248
+ // const [r, _s] = segments;
249
+ // if (r == null)
250
+ // throw new Error('Argent signature is missing R segment');
251
+ // return r;
252
+ // }
253
+ // if (segments.length === 5 || segments.length === 9) {
254
+ // const [_numSignatures, _sigType, _pubKey, r, _s] = segments;
255
+ // if (r == null)
256
+ // throw new Error('Argent signature is missing R segment');
257
+ // return r;
258
+ // }
259
+ // throw new Error('Unsupported Argent signature');
260
+ // }
261
+ // case 'braavos-v1.0.0-stark-signer':
262
+ // case 'braavos-v1.1.0-stark-signer': {
263
+ // if (segments.length === 2) {
264
+ // const [r, _s] = segments;
265
+ // if (r == null)
266
+ // throw new Error('Braavos signature is missing R segment');
267
+ // return r;
268
+ // }
269
+ // if (segments.length === 3) {
270
+ // const [_signerType, r, _s] = segments;
271
+ // if (r == null)
272
+ // throw new Error('Braavos signature is missing R segment');
273
+ // return r;
274
+ // }
275
+ // throw new Error('Unsupported Braavos signature');
276
+ // }
277
+ // case 'argent-v0.4.0-secp256k1-signer':
278
+ // case 'argent-v0.4.0-secp256r1-signer':
279
+ // case 'argent-v0.4.0-eip191-signer':
280
+ // case 'argent-v0.4.0-webauthn-signer':
281
+ // case 'argent-multicall':
282
+ // case 'argent-multisig-v0.1.0':
283
+ // case 'argent-multisig-v0.1.1':
284
+ // case 'argent-multisig-v0.2.0':
285
+ // case 'braavos-v1.0.0-strong-signer':
286
+ // case 'braavos-v1.1.0-strong-signer':
287
+ // case 'braavos-v1.0.0-multisig':
288
+ // case 'braavos-v1.1.0-multisig':
289
+ // case 'braavos-multi-owner-v1.0.0':
290
+ // throw new Error(`${this.signatureFormat} is not supported`);
291
+ // case 'unknown':
292
+ // throw new Error('Unsupported account contract');
293
+ // // no default
294
+ // }
295
+ // }
296
+ // }
@@ -1,15 +0,0 @@
1
- import type { Signature, SignerInterface, TypedData } from 'starknet';
2
- import * as Starknet from 'starknet';
3
- import { AccountSupport } from './starknet-account-support';
4
- export type { SignerInterface as Signer, TypedData, Signature };
5
- export declare function buildStarknetStarkKeyTypedData(starknetChainId: string): TypedData;
6
- type StarknetKeypair = [string, string];
7
- /**
8
- * This function borrows from starkware-crypto-utils's implementation
9
- * of `getPrivateKeyFromEthSignature()` where a deterministic
10
- * signature R segment, is hex encoded as the `keySeed` for
11
- * `grindKey()` along the Stark curve.
12
- */
13
- export declare function getStarkKeypairFromStarknetSignature(signatureR: string): Promise<StarknetKeypair>;
14
- export declare function getAccountSupport(account: Starknet.AccountInterface, starknetProvider: Starknet.ProviderInterface): Promise<AccountSupport>;
15
- export declare function getPublicProvider(chainId: string): Starknet.ProviderInterface;