UniswapV2Router02.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973
  1. [
  2. {
  3. "inputs": [
  4. {
  5. "internalType": "address",
  6. "name": "tokenA",
  7. "type": "address"
  8. },
  9. {
  10. "internalType": "address",
  11. "name": "tokenB",
  12. "type": "address"
  13. },
  14. {
  15. "internalType": "uint256",
  16. "name": "amountADesired",
  17. "type": "uint256"
  18. },
  19. {
  20. "internalType": "uint256",
  21. "name": "amountBDesired",
  22. "type": "uint256"
  23. },
  24. {
  25. "internalType": "uint256",
  26. "name": "amountAMin",
  27. "type": "uint256"
  28. },
  29. {
  30. "internalType": "uint256",
  31. "name": "amountBMin",
  32. "type": "uint256"
  33. },
  34. {
  35. "internalType": "address",
  36. "name": "to",
  37. "type": "address"
  38. },
  39. {
  40. "internalType": "uint256",
  41. "name": "deadline",
  42. "type": "uint256"
  43. }
  44. ],
  45. "name": "addLiquidity",
  46. "outputs": [
  47. {
  48. "internalType": "uint256",
  49. "name": "amountA",
  50. "type": "uint256"
  51. },
  52. {
  53. "internalType": "uint256",
  54. "name": "amountB",
  55. "type": "uint256"
  56. },
  57. {
  58. "internalType": "uint256",
  59. "name": "liquidity",
  60. "type": "uint256"
  61. }
  62. ],
  63. "stateMutability": "nonpayable",
  64. "type": "function"
  65. },
  66. {
  67. "inputs": [
  68. {
  69. "internalType": "address",
  70. "name": "token",
  71. "type": "address"
  72. },
  73. {
  74. "internalType": "uint256",
  75. "name": "amountTokenDesired",
  76. "type": "uint256"
  77. },
  78. {
  79. "internalType": "uint256",
  80. "name": "amountTokenMin",
  81. "type": "uint256"
  82. },
  83. {
  84. "internalType": "uint256",
  85. "name": "amountETHMin",
  86. "type": "uint256"
  87. },
  88. {
  89. "internalType": "address",
  90. "name": "to",
  91. "type": "address"
  92. },
  93. {
  94. "internalType": "uint256",
  95. "name": "deadline",
  96. "type": "uint256"
  97. }
  98. ],
  99. "name": "addLiquidityETH",
  100. "outputs": [
  101. {
  102. "internalType": "uint256",
  103. "name": "amountToken",
  104. "type": "uint256"
  105. },
  106. {
  107. "internalType": "uint256",
  108. "name": "amountETH",
  109. "type": "uint256"
  110. },
  111. {
  112. "internalType": "uint256",
  113. "name": "liquidity",
  114. "type": "uint256"
  115. }
  116. ],
  117. "stateMutability": "payable",
  118. "type": "function"
  119. },
  120. {
  121. "inputs": [
  122. {
  123. "internalType": "address",
  124. "name": "tokenA",
  125. "type": "address"
  126. },
  127. {
  128. "internalType": "address",
  129. "name": "tokenB",
  130. "type": "address"
  131. },
  132. {
  133. "internalType": "uint256",
  134. "name": "liquidity",
  135. "type": "uint256"
  136. },
  137. {
  138. "internalType": "uint256",
  139. "name": "amountAMin",
  140. "type": "uint256"
  141. },
  142. {
  143. "internalType": "uint256",
  144. "name": "amountBMin",
  145. "type": "uint256"
  146. },
  147. {
  148. "internalType": "address",
  149. "name": "to",
  150. "type": "address"
  151. },
  152. {
  153. "internalType": "uint256",
  154. "name": "deadline",
  155. "type": "uint256"
  156. }
  157. ],
  158. "name": "removeLiquidity",
  159. "outputs": [
  160. {
  161. "internalType": "uint256",
  162. "name": "amountA",
  163. "type": "uint256"
  164. },
  165. {
  166. "internalType": "uint256",
  167. "name": "amountB",
  168. "type": "uint256"
  169. }
  170. ],
  171. "stateMutability": "nonpayable",
  172. "type": "function"
  173. },
  174. {
  175. "inputs": [
  176. {
  177. "internalType": "address",
  178. "name": "token",
  179. "type": "address"
  180. },
  181. {
  182. "internalType": "uint256",
  183. "name": "liquidity",
  184. "type": "uint256"
  185. },
  186. {
  187. "internalType": "uint256",
  188. "name": "amountTokenMin",
  189. "type": "uint256"
  190. },
  191. {
  192. "internalType": "uint256",
  193. "name": "amountETHMin",
  194. "type": "uint256"
  195. },
  196. {
  197. "internalType": "address",
  198. "name": "to",
  199. "type": "address"
  200. },
  201. {
  202. "internalType": "uint256",
  203. "name": "deadline",
  204. "type": "uint256"
  205. }
  206. ],
  207. "name": "removeLiquidityETH",
  208. "outputs": [
  209. {
  210. "internalType": "uint256",
  211. "name": "amountToken",
  212. "type": "uint256"
  213. },
  214. {
  215. "internalType": "uint256",
  216. "name": "amountETH",
  217. "type": "uint256"
  218. }
  219. ],
  220. "stateMutability": "nonpayable",
  221. "type": "function"
  222. },
  223. {
  224. "inputs": [
  225. {
  226. "internalType": "address",
  227. "name": "token",
  228. "type": "address"
  229. },
  230. {
  231. "internalType": "uint256",
  232. "name": "liquidity",
  233. "type": "uint256"
  234. },
  235. {
  236. "internalType": "uint256",
  237. "name": "amountTokenMin",
  238. "type": "uint256"
  239. },
  240. {
  241. "internalType": "uint256",
  242. "name": "amountETHMin",
  243. "type": "uint256"
  244. },
  245. {
  246. "internalType": "address",
  247. "name": "to",
  248. "type": "address"
  249. },
  250. {
  251. "internalType": "uint256",
  252. "name": "deadline",
  253. "type": "uint256"
  254. }
  255. ],
  256. "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
  257. "outputs": [
  258. {
  259. "internalType": "uint256",
  260. "name": "amountETH",
  261. "type": "uint256"
  262. }
  263. ],
  264. "stateMutability": "nonpayable",
  265. "type": "function"
  266. },
  267. {
  268. "inputs": [
  269. {
  270. "internalType": "address",
  271. "name": "token",
  272. "type": "address"
  273. },
  274. {
  275. "internalType": "uint256",
  276. "name": "liquidity",
  277. "type": "uint256"
  278. },
  279. {
  280. "internalType": "uint256",
  281. "name": "amountTokenMin",
  282. "type": "uint256"
  283. },
  284. {
  285. "internalType": "uint256",
  286. "name": "amountETHMin",
  287. "type": "uint256"
  288. },
  289. {
  290. "internalType": "address",
  291. "name": "to",
  292. "type": "address"
  293. },
  294. {
  295. "internalType": "uint256",
  296. "name": "deadline",
  297. "type": "uint256"
  298. },
  299. {
  300. "internalType": "bool",
  301. "name": "approveMax",
  302. "type": "bool"
  303. },
  304. {
  305. "internalType": "uint8",
  306. "name": "v",
  307. "type": "uint8"
  308. },
  309. {
  310. "internalType": "bytes32",
  311. "name": "r",
  312. "type": "bytes32"
  313. },
  314. {
  315. "internalType": "bytes32",
  316. "name": "s",
  317. "type": "bytes32"
  318. }
  319. ],
  320. "name": "removeLiquidityETHWithPermit",
  321. "outputs": [
  322. {
  323. "internalType": "uint256",
  324. "name": "amountToken",
  325. "type": "uint256"
  326. },
  327. {
  328. "internalType": "uint256",
  329. "name": "amountETH",
  330. "type": "uint256"
  331. }
  332. ],
  333. "stateMutability": "nonpayable",
  334. "type": "function"
  335. },
  336. {
  337. "inputs": [
  338. {
  339. "internalType": "address",
  340. "name": "token",
  341. "type": "address"
  342. },
  343. {
  344. "internalType": "uint256",
  345. "name": "liquidity",
  346. "type": "uint256"
  347. },
  348. {
  349. "internalType": "uint256",
  350. "name": "amountTokenMin",
  351. "type": "uint256"
  352. },
  353. {
  354. "internalType": "uint256",
  355. "name": "amountETHMin",
  356. "type": "uint256"
  357. },
  358. {
  359. "internalType": "address",
  360. "name": "to",
  361. "type": "address"
  362. },
  363. {
  364. "internalType": "uint256",
  365. "name": "deadline",
  366. "type": "uint256"
  367. },
  368. {
  369. "internalType": "bool",
  370. "name": "approveMax",
  371. "type": "bool"
  372. },
  373. {
  374. "internalType": "uint8",
  375. "name": "v",
  376. "type": "uint8"
  377. },
  378. {
  379. "internalType": "bytes32",
  380. "name": "r",
  381. "type": "bytes32"
  382. },
  383. {
  384. "internalType": "bytes32",
  385. "name": "s",
  386. "type": "bytes32"
  387. }
  388. ],
  389. "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
  390. "outputs": [
  391. {
  392. "internalType": "uint256",
  393. "name": "amountETH",
  394. "type": "uint256"
  395. }
  396. ],
  397. "stateMutability": "nonpayable",
  398. "type": "function"
  399. },
  400. {
  401. "inputs": [
  402. {
  403. "internalType": "address",
  404. "name": "tokenA",
  405. "type": "address"
  406. },
  407. {
  408. "internalType": "address",
  409. "name": "tokenB",
  410. "type": "address"
  411. },
  412. {
  413. "internalType": "uint256",
  414. "name": "liquidity",
  415. "type": "uint256"
  416. },
  417. {
  418. "internalType": "uint256",
  419. "name": "amountAMin",
  420. "type": "uint256"
  421. },
  422. {
  423. "internalType": "uint256",
  424. "name": "amountBMin",
  425. "type": "uint256"
  426. },
  427. {
  428. "internalType": "address",
  429. "name": "to",
  430. "type": "address"
  431. },
  432. {
  433. "internalType": "uint256",
  434. "name": "deadline",
  435. "type": "uint256"
  436. },
  437. {
  438. "internalType": "bool",
  439. "name": "approveMax",
  440. "type": "bool"
  441. },
  442. {
  443. "internalType": "uint8",
  444. "name": "v",
  445. "type": "uint8"
  446. },
  447. {
  448. "internalType": "bytes32",
  449. "name": "r",
  450. "type": "bytes32"
  451. },
  452. {
  453. "internalType": "bytes32",
  454. "name": "s",
  455. "type": "bytes32"
  456. }
  457. ],
  458. "name": "removeLiquidityWithPermit",
  459. "outputs": [
  460. {
  461. "internalType": "uint256",
  462. "name": "amountA",
  463. "type": "uint256"
  464. },
  465. {
  466. "internalType": "uint256",
  467. "name": "amountB",
  468. "type": "uint256"
  469. }
  470. ],
  471. "stateMutability": "nonpayable",
  472. "type": "function"
  473. },
  474. {
  475. "inputs": [
  476. {
  477. "internalType": "uint256",
  478. "name": "amountOut",
  479. "type": "uint256"
  480. },
  481. {
  482. "internalType": "address[]",
  483. "name": "path",
  484. "type": "address[]"
  485. },
  486. {
  487. "internalType": "address",
  488. "name": "to",
  489. "type": "address"
  490. },
  491. {
  492. "internalType": "uint256",
  493. "name": "deadline",
  494. "type": "uint256"
  495. }
  496. ],
  497. "name": "swapETHForExactTokens",
  498. "outputs": [
  499. {
  500. "internalType": "uint256[]",
  501. "name": "amounts",
  502. "type": "uint256[]"
  503. }
  504. ],
  505. "stateMutability": "payable",
  506. "type": "function"
  507. },
  508. {
  509. "inputs": [
  510. {
  511. "internalType": "uint256",
  512. "name": "amountOutMin",
  513. "type": "uint256"
  514. },
  515. {
  516. "internalType": "address[]",
  517. "name": "path",
  518. "type": "address[]"
  519. },
  520. {
  521. "internalType": "address",
  522. "name": "to",
  523. "type": "address"
  524. },
  525. {
  526. "internalType": "uint256",
  527. "name": "deadline",
  528. "type": "uint256"
  529. }
  530. ],
  531. "name": "swapExactETHForTokens",
  532. "outputs": [
  533. {
  534. "internalType": "uint256[]",
  535. "name": "amounts",
  536. "type": "uint256[]"
  537. }
  538. ],
  539. "stateMutability": "payable",
  540. "type": "function"
  541. },
  542. {
  543. "inputs": [
  544. {
  545. "internalType": "uint256",
  546. "name": "amountOutMin",
  547. "type": "uint256"
  548. },
  549. {
  550. "internalType": "address[]",
  551. "name": "path",
  552. "type": "address[]"
  553. },
  554. {
  555. "internalType": "address",
  556. "name": "to",
  557. "type": "address"
  558. },
  559. {
  560. "internalType": "uint256",
  561. "name": "deadline",
  562. "type": "uint256"
  563. }
  564. ],
  565. "name": "swapExactETHForTokensSupportingFeeOnTransferTokens",
  566. "outputs": [],
  567. "stateMutability": "payable",
  568. "type": "function"
  569. },
  570. {
  571. "inputs": [
  572. {
  573. "internalType": "uint256",
  574. "name": "amountIn",
  575. "type": "uint256"
  576. },
  577. {
  578. "internalType": "uint256",
  579. "name": "amountOutMin",
  580. "type": "uint256"
  581. },
  582. {
  583. "internalType": "address[]",
  584. "name": "path",
  585. "type": "address[]"
  586. },
  587. {
  588. "internalType": "address",
  589. "name": "to",
  590. "type": "address"
  591. },
  592. {
  593. "internalType": "uint256",
  594. "name": "deadline",
  595. "type": "uint256"
  596. }
  597. ],
  598. "name": "swapExactTokensForETH",
  599. "outputs": [
  600. {
  601. "internalType": "uint256[]",
  602. "name": "amounts",
  603. "type": "uint256[]"
  604. }
  605. ],
  606. "stateMutability": "nonpayable",
  607. "type": "function"
  608. },
  609. {
  610. "inputs": [
  611. {
  612. "internalType": "uint256",
  613. "name": "amountIn",
  614. "type": "uint256"
  615. },
  616. {
  617. "internalType": "uint256",
  618. "name": "amountOutMin",
  619. "type": "uint256"
  620. },
  621. {
  622. "internalType": "address[]",
  623. "name": "path",
  624. "type": "address[]"
  625. },
  626. {
  627. "internalType": "address",
  628. "name": "to",
  629. "type": "address"
  630. },
  631. {
  632. "internalType": "uint256",
  633. "name": "deadline",
  634. "type": "uint256"
  635. }
  636. ],
  637. "name": "swapExactTokensForETHSupportingFeeOnTransferTokens",
  638. "outputs": [],
  639. "stateMutability": "nonpayable",
  640. "type": "function"
  641. },
  642. {
  643. "inputs": [
  644. {
  645. "internalType": "uint256",
  646. "name": "amountIn",
  647. "type": "uint256"
  648. },
  649. {
  650. "internalType": "uint256",
  651. "name": "amountOutMin",
  652. "type": "uint256"
  653. },
  654. {
  655. "internalType": "address[]",
  656. "name": "path",
  657. "type": "address[]"
  658. },
  659. {
  660. "internalType": "address",
  661. "name": "to",
  662. "type": "address"
  663. },
  664. {
  665. "internalType": "uint256",
  666. "name": "deadline",
  667. "type": "uint256"
  668. }
  669. ],
  670. "name": "swapExactTokensForTokens",
  671. "outputs": [
  672. {
  673. "internalType": "uint256[]",
  674. "name": "amounts",
  675. "type": "uint256[]"
  676. }
  677. ],
  678. "stateMutability": "nonpayable",
  679. "type": "function"
  680. },
  681. {
  682. "inputs": [
  683. {
  684. "internalType": "uint256",
  685. "name": "amountIn",
  686. "type": "uint256"
  687. },
  688. {
  689. "internalType": "uint256",
  690. "name": "amountOutMin",
  691. "type": "uint256"
  692. },
  693. {
  694. "internalType": "address[]",
  695. "name": "path",
  696. "type": "address[]"
  697. },
  698. {
  699. "internalType": "address",
  700. "name": "to",
  701. "type": "address"
  702. },
  703. {
  704. "internalType": "uint256",
  705. "name": "deadline",
  706. "type": "uint256"
  707. }
  708. ],
  709. "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens",
  710. "outputs": [],
  711. "stateMutability": "nonpayable",
  712. "type": "function"
  713. },
  714. {
  715. "inputs": [
  716. {
  717. "internalType": "uint256",
  718. "name": "amountOut",
  719. "type": "uint256"
  720. },
  721. {
  722. "internalType": "uint256",
  723. "name": "amountInMax",
  724. "type": "uint256"
  725. },
  726. {
  727. "internalType": "address[]",
  728. "name": "path",
  729. "type": "address[]"
  730. },
  731. {
  732. "internalType": "address",
  733. "name": "to",
  734. "type": "address"
  735. },
  736. {
  737. "internalType": "uint256",
  738. "name": "deadline",
  739. "type": "uint256"
  740. }
  741. ],
  742. "name": "swapTokensForExactETH",
  743. "outputs": [
  744. {
  745. "internalType": "uint256[]",
  746. "name": "amounts",
  747. "type": "uint256[]"
  748. }
  749. ],
  750. "stateMutability": "nonpayable",
  751. "type": "function"
  752. },
  753. {
  754. "inputs": [
  755. {
  756. "internalType": "uint256",
  757. "name": "amountOut",
  758. "type": "uint256"
  759. },
  760. {
  761. "internalType": "uint256",
  762. "name": "amountInMax",
  763. "type": "uint256"
  764. },
  765. {
  766. "internalType": "address[]",
  767. "name": "path",
  768. "type": "address[]"
  769. },
  770. {
  771. "internalType": "address",
  772. "name": "to",
  773. "type": "address"
  774. },
  775. {
  776. "internalType": "uint256",
  777. "name": "deadline",
  778. "type": "uint256"
  779. }
  780. ],
  781. "name": "swapTokensForExactTokens",
  782. "outputs": [
  783. {
  784. "internalType": "uint256[]",
  785. "name": "amounts",
  786. "type": "uint256[]"
  787. }
  788. ],
  789. "stateMutability": "nonpayable",
  790. "type": "function"
  791. },
  792. {
  793. "inputs": [
  794. {
  795. "internalType": "address",
  796. "name": "_factory",
  797. "type": "address"
  798. },
  799. {
  800. "internalType": "address",
  801. "name": "_WETH",
  802. "type": "address"
  803. }
  804. ],
  805. "stateMutability": "nonpayable",
  806. "type": "constructor"
  807. },
  808. {
  809. "stateMutability": "payable",
  810. "type": "receive"
  811. },
  812. {
  813. "inputs": [],
  814. "name": "factory",
  815. "outputs": [
  816. {
  817. "internalType": "address",
  818. "name": "",
  819. "type": "address"
  820. }
  821. ],
  822. "stateMutability": "view",
  823. "type": "function"
  824. },
  825. {
  826. "inputs": [
  827. {
  828. "internalType": "uint256",
  829. "name": "amountOut",
  830. "type": "uint256"
  831. },
  832. {
  833. "internalType": "uint256",
  834. "name": "reserveIn",
  835. "type": "uint256"
  836. },
  837. {
  838. "internalType": "uint256",
  839. "name": "reserveOut",
  840. "type": "uint256"
  841. }
  842. ],
  843. "name": "getAmountIn",
  844. "outputs": [
  845. {
  846. "internalType": "uint256",
  847. "name": "amountIn",
  848. "type": "uint256"
  849. }
  850. ],
  851. "stateMutability": "pure",
  852. "type": "function"
  853. },
  854. {
  855. "inputs": [
  856. {
  857. "internalType": "uint256",
  858. "name": "amountIn",
  859. "type": "uint256"
  860. },
  861. {
  862. "internalType": "uint256",
  863. "name": "reserveIn",
  864. "type": "uint256"
  865. },
  866. {
  867. "internalType": "uint256",
  868. "name": "reserveOut",
  869. "type": "uint256"
  870. }
  871. ],
  872. "name": "getAmountOut",
  873. "outputs": [
  874. {
  875. "internalType": "uint256",
  876. "name": "amountOut",
  877. "type": "uint256"
  878. }
  879. ],
  880. "stateMutability": "pure",
  881. "type": "function"
  882. },
  883. {
  884. "inputs": [
  885. {
  886. "internalType": "uint256",
  887. "name": "amountOut",
  888. "type": "uint256"
  889. },
  890. {
  891. "internalType": "address[]",
  892. "name": "path",
  893. "type": "address[]"
  894. }
  895. ],
  896. "name": "getAmountsIn",
  897. "outputs": [
  898. {
  899. "internalType": "uint256[]",
  900. "name": "amounts",
  901. "type": "uint256[]"
  902. }
  903. ],
  904. "stateMutability": "view",
  905. "type": "function"
  906. },
  907. {
  908. "inputs": [
  909. {
  910. "internalType": "uint256",
  911. "name": "amountIn",
  912. "type": "uint256"
  913. },
  914. {
  915. "internalType": "address[]",
  916. "name": "path",
  917. "type": "address[]"
  918. }
  919. ],
  920. "name": "getAmountsOut",
  921. "outputs": [
  922. {
  923. "internalType": "uint256[]",
  924. "name": "amounts",
  925. "type": "uint256[]"
  926. }
  927. ],
  928. "stateMutability": "view",
  929. "type": "function"
  930. },
  931. {
  932. "inputs": [
  933. {
  934. "internalType": "uint256",
  935. "name": "amountA",
  936. "type": "uint256"
  937. },
  938. {
  939. "internalType": "uint256",
  940. "name": "reserveA",
  941. "type": "uint256"
  942. },
  943. {
  944. "internalType": "uint256",
  945. "name": "reserveB",
  946. "type": "uint256"
  947. }
  948. ],
  949. "name": "quote",
  950. "outputs": [
  951. {
  952. "internalType": "uint256",
  953. "name": "amountB",
  954. "type": "uint256"
  955. }
  956. ],
  957. "stateMutability": "pure",
  958. "type": "function"
  959. },
  960. {
  961. "inputs": [],
  962. "name": "WETH",
  963. "outputs": [
  964. {
  965. "internalType": "address",
  966. "name": "",
  967. "type": "address"
  968. }
  969. ],
  970. "stateMutability": "view",
  971. "type": "function"
  972. }
  973. ]