idl.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. {
  2. "version": "3.3.0",
  3. "name": "spl_token",
  4. "instructions": [
  5. {
  6. "name": "initializeMint",
  7. "accounts": [
  8. {
  9. "name": "mint",
  10. "isMut": true,
  11. "isSigner": false
  12. },
  13. {
  14. "name": "rent",
  15. "isMut": false,
  16. "isSigner": false
  17. }
  18. ],
  19. "args": [
  20. {
  21. "name": "decimals",
  22. "type": "u8"
  23. },
  24. {
  25. "name": "mintAuthority",
  26. "type": "publicKey"
  27. },
  28. {
  29. "name": "freezeAuthority",
  30. "type": {
  31. "defined": "COption<Pubkey>"
  32. }
  33. }
  34. ]
  35. },
  36. {
  37. "name": "initializeAccount",
  38. "accounts": [
  39. {
  40. "name": "account",
  41. "isMut": true,
  42. "isSigner": false
  43. },
  44. {
  45. "name": "mint",
  46. "isMut": false,
  47. "isSigner": false
  48. },
  49. {
  50. "name": "owner",
  51. "isMut": false,
  52. "isSigner": false
  53. },
  54. {
  55. "name": "rent",
  56. "isMut": false,
  57. "isSigner": false
  58. }
  59. ],
  60. "args": []
  61. },
  62. {
  63. "name": "initializeMultisig",
  64. "accounts": [
  65. {
  66. "name": "multisig",
  67. "isMut": true,
  68. "isSigner": false
  69. },
  70. {
  71. "name": "rent",
  72. "isMut": false,
  73. "isSigner": false
  74. }
  75. ],
  76. "args": [
  77. {
  78. "name": "m",
  79. "type": "u8"
  80. }
  81. ]
  82. },
  83. {
  84. "name": "transfer",
  85. "accounts": [
  86. {
  87. "name": "source",
  88. "isMut": true,
  89. "isSigner": false
  90. },
  91. {
  92. "name": "destination",
  93. "isMut": true,
  94. "isSigner": false
  95. },
  96. {
  97. "name": "authority",
  98. "isMut": false,
  99. "isSigner": true
  100. }
  101. ],
  102. "args": [
  103. {
  104. "name": "amount",
  105. "type": "u64"
  106. }
  107. ]
  108. },
  109. {
  110. "name": "approve",
  111. "accounts": [
  112. {
  113. "name": "source",
  114. "isMut": true,
  115. "isSigner": false
  116. },
  117. {
  118. "name": "delegate",
  119. "isMut": false,
  120. "isSigner": false
  121. },
  122. {
  123. "name": "owner",
  124. "isMut": false,
  125. "isSigner": true
  126. }
  127. ],
  128. "args": [
  129. {
  130. "name": "amount",
  131. "type": "u64"
  132. }
  133. ]
  134. },
  135. {
  136. "name": "revoke",
  137. "accounts": [
  138. {
  139. "name": "source",
  140. "isMut": true,
  141. "isSigner": false
  142. },
  143. {
  144. "name": "owner",
  145. "isMut": false,
  146. "isSigner": true
  147. }
  148. ],
  149. "args": []
  150. },
  151. {
  152. "name": "setAuthority",
  153. "accounts": [
  154. {
  155. "name": "owned",
  156. "isMut": true,
  157. "isSigner": false
  158. },
  159. {
  160. "name": "owner",
  161. "isMut": false,
  162. "isSigner": true
  163. },
  164. {
  165. "name": "signer",
  166. "isMut": false,
  167. "isSigner": true
  168. }
  169. ],
  170. "args": [
  171. {
  172. "name": "authorityType",
  173. "type": {
  174. "defined": "AuthorityType"
  175. }
  176. },
  177. {
  178. "name": "newAuthority",
  179. "type": {
  180. "defined": "COption<Pubkey>"
  181. }
  182. }
  183. ]
  184. },
  185. {
  186. "name": "mintTo",
  187. "accounts": [
  188. {
  189. "name": "mint",
  190. "isMut": true,
  191. "isSigner": false
  192. },
  193. {
  194. "name": "account",
  195. "isMut": true,
  196. "isSigner": false
  197. },
  198. {
  199. "name": "owner",
  200. "isMut": false,
  201. "isSigner": true
  202. }
  203. ],
  204. "args": [
  205. {
  206. "name": "amount",
  207. "type": "u64"
  208. }
  209. ]
  210. },
  211. {
  212. "name": "burn",
  213. "accounts": [
  214. {
  215. "name": "account",
  216. "isMut": true,
  217. "isSigner": false
  218. },
  219. {
  220. "name": "mint",
  221. "isMut": true,
  222. "isSigner": false
  223. },
  224. {
  225. "name": "authority",
  226. "isMut": false,
  227. "isSigner": true
  228. }
  229. ],
  230. "args": [
  231. {
  232. "name": "amount",
  233. "type": "u64"
  234. }
  235. ]
  236. },
  237. {
  238. "name": "closeAccount",
  239. "accounts": [
  240. {
  241. "name": "account",
  242. "isMut": true,
  243. "isSigner": false
  244. },
  245. {
  246. "name": "destination",
  247. "isMut": true,
  248. "isSigner": false
  249. },
  250. {
  251. "name": "owner",
  252. "isMut": false,
  253. "isSigner": true
  254. }
  255. ],
  256. "args": []
  257. },
  258. {
  259. "name": "freezeAccount",
  260. "accounts": [
  261. {
  262. "name": "account",
  263. "isMut": true,
  264. "isSigner": false
  265. },
  266. {
  267. "name": "mint",
  268. "isMut": false,
  269. "isSigner": false
  270. },
  271. {
  272. "name": "owner",
  273. "isMut": false,
  274. "isSigner": true
  275. }
  276. ],
  277. "args": []
  278. },
  279. {
  280. "name": "thawAccount",
  281. "accounts": [
  282. {
  283. "name": "account",
  284. "isMut": true,
  285. "isSigner": false
  286. },
  287. {
  288. "name": "mint",
  289. "isMut": false,
  290. "isSigner": false
  291. },
  292. {
  293. "name": "owner",
  294. "isMut": false,
  295. "isSigner": true
  296. }
  297. ],
  298. "args": []
  299. },
  300. {
  301. "name": "transferChecked",
  302. "accounts": [
  303. {
  304. "name": "source",
  305. "isMut": true,
  306. "isSigner": false
  307. },
  308. {
  309. "name": "mint",
  310. "isMut": false,
  311. "isSigner": false
  312. },
  313. {
  314. "name": "destination",
  315. "isMut": true,
  316. "isSigner": false
  317. },
  318. {
  319. "name": "authority",
  320. "isMut": false,
  321. "isSigner": true
  322. }
  323. ],
  324. "args": [
  325. {
  326. "name": "amount",
  327. "type": "u64"
  328. },
  329. {
  330. "name": "decimals",
  331. "type": "u8"
  332. }
  333. ]
  334. },
  335. {
  336. "name": "approveChecked",
  337. "accounts": [
  338. {
  339. "name": "source",
  340. "isMut": true,
  341. "isSigner": false
  342. },
  343. {
  344. "name": "mint",
  345. "isMut": false,
  346. "isSigner": false
  347. },
  348. {
  349. "name": "delegate",
  350. "isMut": false,
  351. "isSigner": false
  352. },
  353. {
  354. "name": "owner",
  355. "isMut": false,
  356. "isSigner": true
  357. }
  358. ],
  359. "args": [
  360. {
  361. "name": "amount",
  362. "type": "u64"
  363. },
  364. {
  365. "name": "decimals",
  366. "type": "u8"
  367. }
  368. ]
  369. },
  370. {
  371. "name": "mintToChecked",
  372. "accounts": [
  373. {
  374. "name": "mint",
  375. "isMut": true,
  376. "isSigner": false
  377. },
  378. {
  379. "name": "account",
  380. "isMut": true,
  381. "isSigner": false
  382. },
  383. {
  384. "name": "owner",
  385. "isMut": false,
  386. "isSigner": true
  387. }
  388. ],
  389. "args": [
  390. {
  391. "name": "amount",
  392. "type": "u64"
  393. },
  394. {
  395. "name": "decimals",
  396. "type": "u8"
  397. }
  398. ]
  399. },
  400. {
  401. "name": "burnChecked",
  402. "accounts": [
  403. {
  404. "name": "account",
  405. "isMut": true,
  406. "isSigner": false
  407. },
  408. {
  409. "name": "mint",
  410. "isMut": true,
  411. "isSigner": false
  412. },
  413. {
  414. "name": "authority",
  415. "isMut": false,
  416. "isSigner": true
  417. }
  418. ],
  419. "args": [
  420. {
  421. "name": "amount",
  422. "type": "u64"
  423. },
  424. {
  425. "name": "decimals",
  426. "type": "u8"
  427. }
  428. ]
  429. },
  430. {
  431. "name": "initializeAccount2",
  432. "accounts": [
  433. {
  434. "name": "account",
  435. "isMut": true,
  436. "isSigner": false
  437. },
  438. {
  439. "name": "mint",
  440. "isMut": false,
  441. "isSigner": false
  442. },
  443. {
  444. "name": "rent",
  445. "isMut": false,
  446. "isSigner": false
  447. }
  448. ],
  449. "args": [
  450. {
  451. "name": "owner",
  452. "type": "publicKey"
  453. }
  454. ]
  455. },
  456. {
  457. "name": "syncNative",
  458. "accounts": [
  459. {
  460. "name": "account",
  461. "isMut": true,
  462. "isSigner": false
  463. }
  464. ],
  465. "args": []
  466. },
  467. {
  468. "name": "initializeAccount3",
  469. "accounts": [
  470. {
  471. "name": "account",
  472. "isMut": true,
  473. "isSigner": false
  474. },
  475. {
  476. "name": "mint",
  477. "isMut": false,
  478. "isSigner": false
  479. }
  480. ],
  481. "args": [
  482. {
  483. "name": "owner",
  484. "type": "publicKey"
  485. }
  486. ]
  487. },
  488. {
  489. "name": "initializeMultisig2",
  490. "accounts": [
  491. {
  492. "name": "multisig",
  493. "isMut": true,
  494. "isSigner": false
  495. },
  496. {
  497. "name": "signer",
  498. "isMut": false,
  499. "isSigner": false
  500. }
  501. ],
  502. "args": [
  503. {
  504. "name": "m",
  505. "type": "u8"
  506. }
  507. ]
  508. },
  509. {
  510. "name": "initializeMint2",
  511. "accounts": [
  512. {
  513. "name": "mint",
  514. "isMut": true,
  515. "isSigner": false
  516. }
  517. ],
  518. "args": [
  519. {
  520. "name": "decimals",
  521. "type": "u8"
  522. },
  523. {
  524. "name": "mintAuthority",
  525. "type": "publicKey"
  526. },
  527. {
  528. "name": "freezeAuthority",
  529. "type": {
  530. "defined": "COption<Pubkey>"
  531. }
  532. }
  533. ]
  534. },
  535. {
  536. "name": "getAccountDataSize",
  537. "accounts": [
  538. {
  539. "name": "mint",
  540. "isMut": false,
  541. "isSigner": false
  542. }
  543. ],
  544. "args": []
  545. },
  546. {
  547. "name": "initializeImmutableOwner",
  548. "accounts": [
  549. {
  550. "name": "account",
  551. "isMut": true,
  552. "isSigner": false
  553. }
  554. ],
  555. "args": []
  556. },
  557. {
  558. "name": "amountToUiAmount",
  559. "accounts": [
  560. {
  561. "name": "mint",
  562. "isMut": false,
  563. "isSigner": false
  564. }
  565. ],
  566. "args": [
  567. {
  568. "name": "amount",
  569. "type": "u64"
  570. }
  571. ]
  572. },
  573. {
  574. "name": "uiAmountToAmount",
  575. "accounts": [
  576. {
  577. "name": "mint",
  578. "isMut": false,
  579. "isSigner": false
  580. }
  581. ],
  582. "args": [
  583. {
  584. "name": "uiAmount",
  585. "type": {
  586. "defined": "&'astr"
  587. }
  588. }
  589. ]
  590. }
  591. ],
  592. "accounts": [
  593. {
  594. "name": "Mint",
  595. "type": {
  596. "kind": "struct",
  597. "fields": [
  598. {
  599. "name": "mintAuthority",
  600. "type": {
  601. "defined": "COption<Pubkey>"
  602. }
  603. },
  604. {
  605. "name": "supply",
  606. "type": "u64"
  607. },
  608. {
  609. "name": "decimals",
  610. "type": "u8"
  611. },
  612. {
  613. "name": "isInitialized",
  614. "type": "bool"
  615. },
  616. {
  617. "name": "freezeAuthority",
  618. "type": {
  619. "defined": "COption<Pubkey>"
  620. }
  621. }
  622. ]
  623. }
  624. },
  625. {
  626. "name": "Account",
  627. "type": {
  628. "kind": "struct",
  629. "fields": [
  630. {
  631. "name": "mint",
  632. "type": "publicKey"
  633. },
  634. {
  635. "name": "owner",
  636. "type": "publicKey"
  637. },
  638. {
  639. "name": "amount",
  640. "type": "u64"
  641. },
  642. {
  643. "name": "delegate",
  644. "type": {
  645. "defined": "COption<Pubkey>"
  646. }
  647. },
  648. {
  649. "name": "state",
  650. "type": {
  651. "defined": "AccountState"
  652. }
  653. },
  654. {
  655. "name": "isNative",
  656. "type": {
  657. "defined": "COption<u64>"
  658. }
  659. },
  660. {
  661. "name": "delegatedAmount",
  662. "type": "u64"
  663. },
  664. {
  665. "name": "closeAuthority",
  666. "type": {
  667. "defined": "COption<Pubkey>"
  668. }
  669. }
  670. ]
  671. }
  672. },
  673. {
  674. "name": "Multisig",
  675. "type": {
  676. "kind": "struct",
  677. "fields": [
  678. {
  679. "name": "m",
  680. "type": "u8"
  681. },
  682. {
  683. "name": "n",
  684. "type": "u8"
  685. },
  686. {
  687. "name": "isInitialized",
  688. "type": "bool"
  689. },
  690. {
  691. "name": "signers",
  692. "type": {
  693. "array": [
  694. "publicKey",
  695. 11
  696. ]
  697. }
  698. }
  699. ]
  700. }
  701. }
  702. ],
  703. "types": [
  704. {
  705. "name": "AccountState",
  706. "type": {
  707. "kind": "enum",
  708. "variants": [
  709. {
  710. "name": "Uninitialized"
  711. },
  712. {
  713. "name": "Initialized"
  714. },
  715. {
  716. "name": "Frozen"
  717. }
  718. ]
  719. }
  720. },
  721. {
  722. "name": "AuthorityType",
  723. "type": {
  724. "kind": "enum",
  725. "variants": [
  726. {
  727. "name": "MintTokens"
  728. },
  729. {
  730. "name": "FreezeAccount"
  731. },
  732. {
  733. "name": "AccountOwner"
  734. },
  735. {
  736. "name": "CloseAccount"
  737. }
  738. ]
  739. }
  740. }
  741. ],
  742. "errors": [
  743. {
  744. "code": 0,
  745. "name": "NotRentExempt",
  746. "msg": "Lamport balance below rent-exempt threshold"
  747. },
  748. {
  749. "code": 1,
  750. "name": "InsufficientFunds",
  751. "msg": "Insufficient funds"
  752. },
  753. {
  754. "code": 2,
  755. "name": "InvalidMint",
  756. "msg": "Invalid Mint"
  757. },
  758. {
  759. "code": 3,
  760. "name": "MintMismatch",
  761. "msg": "Account not associated with this Mint"
  762. },
  763. {
  764. "code": 4,
  765. "name": "OwnerMismatch",
  766. "msg": "Owner does not match"
  767. },
  768. {
  769. "code": 5,
  770. "name": "FixedSupply",
  771. "msg": "Fixed supply"
  772. },
  773. {
  774. "code": 6,
  775. "name": "AlreadyInUse",
  776. "msg": "Already in use"
  777. },
  778. {
  779. "code": 7,
  780. "name": "InvalidNumberOfProvidedSigners",
  781. "msg": "Invalid number of provided signers"
  782. },
  783. {
  784. "code": 8,
  785. "name": "InvalidNumberOfRequiredSigners",
  786. "msg": "Invalid number of required signers"
  787. },
  788. {
  789. "code": 9,
  790. "name": "UninitializedState",
  791. "msg": "State is unititialized"
  792. },
  793. {
  794. "code": 10,
  795. "name": "NativeNotSupported",
  796. "msg": "Instruction does not support native tokens"
  797. },
  798. {
  799. "code": 11,
  800. "name": "NonNativeHasBalance",
  801. "msg": "Non-native account can only be closed if its balance is zero"
  802. },
  803. {
  804. "code": 12,
  805. "name": "InvalidInstruction",
  806. "msg": "Invalid instruction"
  807. },
  808. {
  809. "code": 13,
  810. "name": "InvalidState",
  811. "msg": "State is invalid for requested operation"
  812. },
  813. {
  814. "code": 14,
  815. "name": "Overflow",
  816. "msg": "Operation overflowed"
  817. },
  818. {
  819. "code": 15,
  820. "name": "AuthorityTypeNotSupported",
  821. "msg": "Account does not support specified authority type"
  822. },
  823. {
  824. "code": 16,
  825. "name": "MintCannotFreeze",
  826. "msg": "This token mint cannot freeze accounts"
  827. },
  828. {
  829. "code": 17,
  830. "name": "AccountFrozen",
  831. "msg": "Account is frozen"
  832. },
  833. {
  834. "code": 18,
  835. "name": "MintDecimalsMismatch",
  836. "msg": "The provided decimals value different from the Mint decimals"
  837. },
  838. {
  839. "code": 19,
  840. "name": "NonNativeNotSupported",
  841. "msg": "Instruction does not support non-native tokens"
  842. }
  843. ]
  844. }