@layerswap/widget 0.1.4 → 0.1.14

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 (267) 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 +1 -0
  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 +3 -2
  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/EthereumProvider.d.ts +2 -2
  167. package/dist/lib/wallets/connectors/useSyncProviders/store.d.ts +1 -4
  168. package/dist/lib/wallets/fuel/Bako.d.ts +0 -15
  169. package/dist/lib/wallets/fuel/Bako.js +34 -29
  170. package/dist/lib/wallets/fuel/Basko.d.ts +0 -15
  171. package/dist/lib/wallets/fuel/Basko.js +34 -29
  172. package/dist/lib/wallets/fuel/useFuel.d.ts +0 -2
  173. package/dist/lib/wallets/fuel/useFuel.js +211 -192
  174. package/dist/lib/wallets/imtblX/useImtblX.d.ts +0 -2
  175. package/dist/lib/wallets/imtblX/useImtblX.js +87 -87
  176. package/dist/lib/wallets/paradex/Authorize/Ethereum.d.ts +0 -2
  177. package/dist/lib/wallets/paradex/Authorize/Ethereum.js +24 -23
  178. package/dist/lib/wallets/paradex/Authorize/Starknet.d.ts +0 -2
  179. package/dist/lib/wallets/paradex/Authorize/Starknet.js +14 -13
  180. package/dist/lib/wallets/paradex/lib/account.d.ts +0 -28
  181. package/dist/lib/wallets/paradex/lib/account.js +102 -53
  182. package/dist/lib/wallets/paradex/lib/index.d.ts +0 -24
  183. package/dist/lib/wallets/paradex/lib/index.js +20 -20
  184. package/dist/lib/wallets/paradex/lib/paraclear-provider.d.ts +0 -6
  185. package/dist/lib/wallets/paradex/lib/paraclear-provider.js +13 -9
  186. package/dist/lib/wallets/paradex/lib/paraclear.d.ts +0 -137
  187. package/dist/lib/wallets/paradex/lib/paraclear.js +258 -131
  188. package/dist/lib/wallets/paradex/lib/starknet-account-support.d.ts +0 -22
  189. package/dist/lib/wallets/paradex/lib/starknet-account-support.js +296 -220
  190. package/dist/lib/wallets/paradex/lib/starknet-signer.d.ts +0 -15
  191. package/dist/lib/wallets/paradex/lib/starknet-signer.js +120 -94
  192. package/dist/lib/wallets/paradex/useParadex.d.ts +0 -7
  193. package/dist/lib/wallets/paradex/useParadex.js +197 -194
  194. package/dist/lib/wallets/solana/transactionBuilder.d.ts +0 -4
  195. package/dist/lib/wallets/solana/transactionBuilder.js +63 -39
  196. package/dist/lib/wallets/solana/useSVM.d.ts +0 -5
  197. package/dist/lib/wallets/solana/useSVM.js +139 -142
  198. package/dist/lib/wallets/starknet/useStarknet.d.ts +0 -2
  199. package/dist/lib/wallets/starknet/useStarknet.js +139 -139
  200. package/dist/lib/wallets/ton/client.d.ts +0 -3
  201. package/dist/lib/wallets/ton/client.js +7 -7
  202. package/dist/lib/wallets/ton/useTON.d.ts +0 -2
  203. package/dist/lib/wallets/ton/useTON.js +121 -122
  204. package/dist/lib/wallets/tron/connectors/bitkeep.d.ts +0 -61
  205. package/dist/lib/wallets/tron/connectors/bitkeep.js +326 -303
  206. package/dist/lib/wallets/tron/connectors/index.d.ts +0 -4
  207. package/dist/lib/wallets/tron/connectors/index.js +4 -4
  208. package/dist/lib/wallets/tron/connectors/okxWallet.d.ts +0 -66
  209. package/dist/lib/wallets/tron/connectors/okxWallet.js +364 -336
  210. package/dist/lib/wallets/tron/connectors/tokenPocket.d.ts +0 -72
  211. package/dist/lib/wallets/tron/connectors/tokenPocket.js +337 -308
  212. package/dist/lib/wallets/tron/connectors/tronLink/index.d.ts +0 -102
  213. package/dist/lib/wallets/tron/connectors/tronLink/index.js +560 -520
  214. package/dist/lib/wallets/tron/connectors/tronLink/types.d.ts +0 -56
  215. package/dist/lib/wallets/tron/connectors/tronLink/types.js +53 -1
  216. package/dist/lib/wallets/tron/connectors/tronLink/utils.d.ts +0 -14
  217. package/dist/lib/wallets/tron/connectors/tronLink/utils.js +64 -61
  218. package/dist/lib/wallets/tron/useTron.d.ts +0 -2
  219. package/dist/lib/wallets/tron/useTron.js +111 -111
  220. package/dist/lib/wallets/utils/resolveWalletIcon.js +1 -0
  221. package/package.json +26 -77
  222. package/dist/hooks/useCopyClipboard.d.ts +0 -1
  223. package/dist/hooks/useCopyClipboard.js +0 -21
  224. package/dist/index.cjs +0 -125
  225. package/dist/lib/abis/ERC20.json +0 -258
  226. package/dist/lib/fuels/connectors/walletConnect/WalletConnectConnector.d.ts +0 -42
  227. package/dist/lib/fuels/connectors/walletConnect/WalletConnectConnector.js +0 -357
  228. package/dist/lib/fuels/connectors/walletConnect/constants.d.ts +0 -6
  229. package/dist/lib/fuels/connectors/walletConnect/constants.js +0 -7
  230. package/dist/lib/fuels/connectors/walletConnect/index.d.ts +0 -3
  231. package/dist/lib/fuels/connectors/walletConnect/index.js +0 -3
  232. package/dist/lib/fuels/connectors/walletConnect/types.d.ts +0 -12
  233. package/dist/lib/fuels/connectors/walletConnect/types.js +0 -1
  234. package/dist/lib/fuels/connectors/walletConnect/utils/index.d.ts +0 -1
  235. package/dist/lib/fuels/connectors/walletConnect/utils/index.js +0 -1
  236. package/dist/lib/fuels/connectors/walletConnect/utils/subscribeAndEnforceChain.d.ts +0 -2
  237. package/dist/lib/fuels/connectors/walletConnect/utils/subscribeAndEnforceChain.js +0 -39
  238. package/dist/lib/fuels/connectors/walletConnect/web3Modal.d.ts +0 -10
  239. package/dist/lib/fuels/connectors/walletConnect/web3Modal.js +0 -38
  240. package/dist/lib/loopring/LoopringAPI.d.ts +0 -12
  241. package/dist/lib/loopring/LoopringAPI.js +0 -13
  242. package/dist/lib/loopring/defs.d.ts +0 -425
  243. package/dist/lib/loopring/defs.js +0 -217
  244. package/dist/lib/loopring/eddsa.d.ts +0 -29
  245. package/dist/lib/loopring/eddsa.js +0 -208
  246. package/dist/lib/loopring/field.d.ts +0 -17
  247. package/dist/lib/loopring/field.js +0 -61
  248. package/dist/lib/loopring/formatter.d.ts +0 -137
  249. package/dist/lib/loopring/formatter.js +0 -516
  250. package/dist/lib/loopring/helpers.d.ts +0 -36
  251. package/dist/lib/loopring/helpers.js +0 -140
  252. package/dist/lib/loopring/jubjub.d.ts +0 -19
  253. package/dist/lib/loopring/jubjub.js +0 -79
  254. package/dist/lib/loopring/permutation.d.ts +0 -22
  255. package/dist/lib/loopring/permutation.js +0 -198
  256. package/dist/lib/loopring/poseidon/EDDSAUtil.d.ts +0 -14
  257. package/dist/lib/loopring/poseidon/EDDSAUtil.js +0 -61
  258. package/dist/lib/loopring/poseidon/babyJub.d.ts +0 -6
  259. package/dist/lib/loopring/poseidon/babyJub.js +0 -51
  260. package/dist/lib/loopring/poseidon/eddsa.d.ts +0 -29
  261. package/dist/lib/loopring/poseidon/eddsa.js +0 -210
  262. package/dist/lib/loopring/utils.d.ts +0 -76
  263. package/dist/lib/loopring/utils.js +0 -230
  264. package/dist/styles/dialog-transition.css +0 -28
  265. package/dist/styles/globals.css +0 -372
  266. package/dist/styles/manual-trasnfer-svg.css +0 -299
  267. 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;