@trixter-osec/core 0.40.4

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 (487) hide show
  1. package/README.md +10 -0
  2. package/dist/browser/index.js +7217 -0
  3. package/dist/browser/index.js.map +1 -0
  4. package/dist/browser/src/coder/borsh/accounts.d.ts +27 -0
  5. package/dist/browser/src/coder/borsh/accounts.d.ts.map +1 -0
  6. package/dist/browser/src/coder/borsh/event.d.ts +14 -0
  7. package/dist/browser/src/coder/borsh/event.d.ts.map +1 -0
  8. package/dist/browser/src/coder/borsh/idl.d.ts +32 -0
  9. package/dist/browser/src/coder/borsh/idl.d.ts.map +1 -0
  10. package/dist/browser/src/coder/borsh/index.d.ts +33 -0
  11. package/dist/browser/src/coder/borsh/index.d.ts.map +1 -0
  12. package/dist/browser/src/coder/borsh/instruction.d.ts +42 -0
  13. package/dist/browser/src/coder/borsh/instruction.d.ts.map +1 -0
  14. package/dist/browser/src/coder/borsh/types.d.ts +16 -0
  15. package/dist/browser/src/coder/borsh/types.d.ts.map +1 -0
  16. package/dist/browser/src/coder/index.d.ts +43 -0
  17. package/dist/browser/src/coder/index.d.ts.map +1 -0
  18. package/dist/browser/src/coder/system/accounts.d.ts +12 -0
  19. package/dist/browser/src/coder/system/accounts.d.ts.map +1 -0
  20. package/dist/browser/src/coder/system/events.d.ts +9 -0
  21. package/dist/browser/src/coder/system/events.d.ts.map +1 -0
  22. package/dist/browser/src/coder/system/index.d.ts +17 -0
  23. package/dist/browser/src/coder/system/index.d.ts.map +1 -0
  24. package/dist/browser/src/coder/system/instruction.d.ts +8 -0
  25. package/dist/browser/src/coder/system/instruction.d.ts.map +1 -0
  26. package/dist/browser/src/coder/system/types.d.ts +8 -0
  27. package/dist/browser/src/coder/system/types.d.ts.map +1 -0
  28. package/dist/browser/src/error.d.ts +128 -0
  29. package/dist/browser/src/error.d.ts.map +1 -0
  30. package/dist/browser/src/idl.d.ts +215 -0
  31. package/dist/browser/src/idl.d.ts.map +1 -0
  32. package/dist/browser/src/index.d.ts +16 -0
  33. package/dist/browser/src/index.d.ts.map +1 -0
  34. package/dist/browser/src/native/index.d.ts +7 -0
  35. package/dist/browser/src/native/index.d.ts.map +1 -0
  36. package/dist/browser/src/native/system.d.ts +390 -0
  37. package/dist/browser/src/native/system.d.ts.map +1 -0
  38. package/dist/browser/src/nodewallet.d.ts +14 -0
  39. package/dist/browser/src/nodewallet.d.ts.map +1 -0
  40. package/dist/browser/src/program/accounts-resolver.d.ts +63 -0
  41. package/dist/browser/src/program/accounts-resolver.d.ts.map +1 -0
  42. package/dist/browser/src/program/common.d.ts +20 -0
  43. package/dist/browser/src/program/common.d.ts.map +1 -0
  44. package/dist/browser/src/program/context.d.ts +63 -0
  45. package/dist/browser/src/program/context.d.ts.map +1 -0
  46. package/dist/browser/src/program/event.d.ts +59 -0
  47. package/dist/browser/src/program/event.d.ts.map +1 -0
  48. package/dist/browser/src/program/index.d.ts +272 -0
  49. package/dist/browser/src/program/index.d.ts.map +1 -0
  50. package/dist/browser/src/program/namespace/account.d.ts +146 -0
  51. package/dist/browser/src/program/namespace/account.d.ts.map +1 -0
  52. package/dist/browser/src/program/namespace/index.d.ts +35 -0
  53. package/dist/browser/src/program/namespace/index.d.ts.map +1 -0
  54. package/dist/browser/src/program/namespace/instruction.d.ts +57 -0
  55. package/dist/browser/src/program/namespace/instruction.d.ts.map +1 -0
  56. package/dist/browser/src/program/namespace/methods.d.ts +206 -0
  57. package/dist/browser/src/program/namespace/methods.d.ts.map +1 -0
  58. package/dist/browser/src/program/namespace/rpc.d.ts +49 -0
  59. package/dist/browser/src/program/namespace/rpc.d.ts.map +1 -0
  60. package/dist/browser/src/program/namespace/simulate.d.ts +57 -0
  61. package/dist/browser/src/program/namespace/simulate.d.ts.map +1 -0
  62. package/dist/browser/src/program/namespace/transaction.d.ts +42 -0
  63. package/dist/browser/src/program/namespace/transaction.d.ts.map +1 -0
  64. package/dist/browser/src/program/namespace/types.d.ts +153 -0
  65. package/dist/browser/src/program/namespace/types.d.ts.map +1 -0
  66. package/dist/browser/src/program/namespace/views.d.ts +15 -0
  67. package/dist/browser/src/program/namespace/views.d.ts.map +1 -0
  68. package/dist/browser/src/program/token-account-layout.d.ts +2 -0
  69. package/dist/browser/src/program/token-account-layout.d.ts.map +1 -0
  70. package/dist/browser/src/provider.d.ts +104 -0
  71. package/dist/browser/src/provider.d.ts.map +1 -0
  72. package/dist/browser/src/utils/bytes/base64.d.ts +4 -0
  73. package/dist/browser/src/utils/bytes/base64.d.ts.map +1 -0
  74. package/dist/browser/src/utils/bytes/bs58.d.ts +3 -0
  75. package/dist/browser/src/utils/bytes/bs58.d.ts.map +1 -0
  76. package/dist/browser/src/utils/bytes/hex.d.ts +4 -0
  77. package/dist/browser/src/utils/bytes/hex.d.ts.map +1 -0
  78. package/dist/browser/src/utils/bytes/index.d.ts +5 -0
  79. package/dist/browser/src/utils/bytes/index.d.ts.map +1 -0
  80. package/dist/browser/src/utils/bytes/utf8.d.ts +3 -0
  81. package/dist/browser/src/utils/bytes/utf8.d.ts.map +1 -0
  82. package/dist/browser/src/utils/common.d.ts +22 -0
  83. package/dist/browser/src/utils/common.d.ts.map +1 -0
  84. package/dist/browser/src/utils/features.d.ts +3 -0
  85. package/dist/browser/src/utils/features.d.ts.map +1 -0
  86. package/dist/browser/src/utils/index.d.ts +8 -0
  87. package/dist/browser/src/utils/index.d.ts.map +1 -0
  88. package/dist/browser/src/utils/pubkey.d.ts +3 -0
  89. package/dist/browser/src/utils/pubkey.d.ts.map +1 -0
  90. package/dist/browser/src/utils/registry.d.ts +34 -0
  91. package/dist/browser/src/utils/registry.d.ts.map +1 -0
  92. package/dist/browser/src/utils/rpc.d.ts +21 -0
  93. package/dist/browser/src/utils/rpc.d.ts.map +1 -0
  94. package/dist/browser/src/utils/sha256.d.ts +2 -0
  95. package/dist/browser/src/utils/sha256.d.ts.map +1 -0
  96. package/dist/browser/src/utils/token.d.ts +8 -0
  97. package/dist/browser/src/utils/token.d.ts.map +1 -0
  98. package/dist/browser/src/workspace.d.ts +14 -0
  99. package/dist/browser/src/workspace.d.ts.map +1 -0
  100. package/dist/cjs/coder/borsh/accounts.d.ts +27 -0
  101. package/dist/cjs/coder/borsh/accounts.d.ts.map +1 -0
  102. package/dist/cjs/coder/borsh/accounts.js +103 -0
  103. package/dist/cjs/coder/borsh/accounts.js.map +1 -0
  104. package/dist/cjs/coder/borsh/event.d.ts +14 -0
  105. package/dist/cjs/coder/borsh/event.d.ts.map +1 -0
  106. package/dist/cjs/coder/borsh/event.js +78 -0
  107. package/dist/cjs/coder/borsh/event.js.map +1 -0
  108. package/dist/cjs/coder/borsh/idl.d.ts +32 -0
  109. package/dist/cjs/coder/borsh/idl.d.ts.map +1 -0
  110. package/dist/cjs/coder/borsh/idl.js +419 -0
  111. package/dist/cjs/coder/borsh/idl.js.map +1 -0
  112. package/dist/cjs/coder/borsh/index.d.ts +33 -0
  113. package/dist/cjs/coder/borsh/index.d.ts.map +1 -0
  114. package/dist/cjs/coder/borsh/index.js +27 -0
  115. package/dist/cjs/coder/borsh/index.js.map +1 -0
  116. package/dist/cjs/coder/borsh/instruction.d.ts +42 -0
  117. package/dist/cjs/coder/borsh/instruction.d.ts.map +1 -0
  118. package/dist/cjs/coder/borsh/instruction.js +274 -0
  119. package/dist/cjs/coder/borsh/instruction.js.map +1 -0
  120. package/dist/cjs/coder/borsh/types.d.ts +16 -0
  121. package/dist/cjs/coder/borsh/types.d.ts.map +1 -0
  122. package/dist/cjs/coder/borsh/types.js +42 -0
  123. package/dist/cjs/coder/borsh/types.js.map +1 -0
  124. package/dist/cjs/coder/index.d.ts +43 -0
  125. package/dist/cjs/coder/index.d.ts.map +1 -0
  126. package/dist/cjs/coder/index.js +19 -0
  127. package/dist/cjs/coder/index.js.map +1 -0
  128. package/dist/cjs/coder/system/accounts.d.ts +12 -0
  129. package/dist/cjs/coder/system/accounts.d.ts.map +1 -0
  130. package/dist/cjs/coder/system/accounts.js +107 -0
  131. package/dist/cjs/coder/system/accounts.js.map +1 -0
  132. package/dist/cjs/coder/system/events.d.ts +9 -0
  133. package/dist/cjs/coder/system/events.d.ts.map +1 -0
  134. package/dist/cjs/coder/system/events.js +11 -0
  135. package/dist/cjs/coder/system/events.js.map +1 -0
  136. package/dist/cjs/coder/system/index.d.ts +17 -0
  137. package/dist/cjs/coder/system/index.d.ts.map +1 -0
  138. package/dist/cjs/coder/system/index.js +20 -0
  139. package/dist/cjs/coder/system/index.js.map +1 -0
  140. package/dist/cjs/coder/system/instruction.d.ts +8 -0
  141. package/dist/cjs/coder/system/instruction.d.ts.map +1 -0
  142. package/dist/cjs/coder/system/instruction.js +242 -0
  143. package/dist/cjs/coder/system/instruction.js.map +1 -0
  144. package/dist/cjs/coder/system/types.d.ts +8 -0
  145. package/dist/cjs/coder/system/types.d.ts.map +1 -0
  146. package/dist/cjs/coder/system/types.js +14 -0
  147. package/dist/cjs/coder/system/types.js.map +1 -0
  148. package/dist/cjs/error.d.ts +128 -0
  149. package/dist/cjs/error.d.ts.map +1 -0
  150. package/dist/cjs/error.js +568 -0
  151. package/dist/cjs/error.js.map +1 -0
  152. package/dist/cjs/idl.d.ts +215 -0
  153. package/dist/cjs/idl.d.ts.map +1 -0
  154. package/dist/cjs/idl.js +112 -0
  155. package/dist/cjs/idl.js.map +1 -0
  156. package/dist/cjs/index.d.ts +16 -0
  157. package/dist/cjs/index.d.ts.map +1 -0
  158. package/dist/cjs/index.js +51 -0
  159. package/dist/cjs/index.js.map +1 -0
  160. package/dist/cjs/native/index.d.ts +7 -0
  161. package/dist/cjs/native/index.d.ts.map +1 -0
  162. package/dist/cjs/native/index.js +11 -0
  163. package/dist/cjs/native/index.js.map +1 -0
  164. package/dist/cjs/native/system.d.ts +390 -0
  165. package/dist/cjs/native/system.d.ts.map +1 -0
  166. package/dist/cjs/native/system.js +394 -0
  167. package/dist/cjs/native/system.js.map +1 -0
  168. package/dist/cjs/nodewallet.d.ts +14 -0
  169. package/dist/cjs/nodewallet.d.ts.map +1 -0
  170. package/dist/cjs/nodewallet.js +48 -0
  171. package/dist/cjs/nodewallet.js.map +1 -0
  172. package/dist/cjs/program/accounts-resolver.d.ts +63 -0
  173. package/dist/cjs/program/accounts-resolver.d.ts.map +1 -0
  174. package/dist/cjs/program/accounts-resolver.js +437 -0
  175. package/dist/cjs/program/accounts-resolver.js.map +1 -0
  176. package/dist/cjs/program/common.d.ts +20 -0
  177. package/dist/cjs/program/common.d.ts.map +1 -0
  178. package/dist/cjs/program/common.js +49 -0
  179. package/dist/cjs/program/common.js.map +1 -0
  180. package/dist/cjs/program/context.d.ts +63 -0
  181. package/dist/cjs/program/context.d.ts.map +1 -0
  182. package/dist/cjs/program/context.js +16 -0
  183. package/dist/cjs/program/context.js.map +1 -0
  184. package/dist/cjs/program/event.d.ts +59 -0
  185. package/dist/cjs/program/event.d.ts.map +1 -0
  186. package/dist/cjs/program/event.js +227 -0
  187. package/dist/cjs/program/event.js.map +1 -0
  188. package/dist/cjs/program/index.d.ts +272 -0
  189. package/dist/cjs/program/index.d.ts.map +1 -0
  190. package/dist/cjs/program/index.js +177 -0
  191. package/dist/cjs/program/index.js.map +1 -0
  192. package/dist/cjs/program/namespace/account.d.ts +146 -0
  193. package/dist/cjs/program/namespace/account.d.ts.map +1 -0
  194. package/dist/cjs/program/namespace/account.js +257 -0
  195. package/dist/cjs/program/namespace/account.js.map +1 -0
  196. package/dist/cjs/program/namespace/index.d.ts +35 -0
  197. package/dist/cjs/program/namespace/index.d.ts.map +1 -0
  198. package/dist/cjs/program/namespace/index.js +63 -0
  199. package/dist/cjs/program/namespace/index.js.map +1 -0
  200. package/dist/cjs/program/namespace/instruction.d.ts +57 -0
  201. package/dist/cjs/program/namespace/instruction.d.ts.map +1 -0
  202. package/dist/cjs/program/namespace/instruction.js +94 -0
  203. package/dist/cjs/program/namespace/instruction.js.map +1 -0
  204. package/dist/cjs/program/namespace/methods.d.ts +206 -0
  205. package/dist/cjs/program/namespace/methods.d.ts.map +1 -0
  206. package/dist/cjs/program/namespace/methods.js +309 -0
  207. package/dist/cjs/program/namespace/methods.js.map +1 -0
  208. package/dist/cjs/program/namespace/rpc.d.ts +49 -0
  209. package/dist/cjs/program/namespace/rpc.d.ts.map +1 -0
  210. package/dist/cjs/program/namespace/rpc.js +25 -0
  211. package/dist/cjs/program/namespace/rpc.js.map +1 -0
  212. package/dist/cjs/program/namespace/simulate.d.ts +57 -0
  213. package/dist/cjs/program/namespace/simulate.d.ts.map +1 -0
  214. package/dist/cjs/program/namespace/simulate.js +42 -0
  215. package/dist/cjs/program/namespace/simulate.js.map +1 -0
  216. package/dist/cjs/program/namespace/transaction.d.ts +42 -0
  217. package/dist/cjs/program/namespace/transaction.d.ts.map +1 -0
  218. package/dist/cjs/program/namespace/transaction.js +24 -0
  219. package/dist/cjs/program/namespace/transaction.js.map +1 -0
  220. package/dist/cjs/program/namespace/types.d.ts +153 -0
  221. package/dist/cjs/program/namespace/types.d.ts.map +1 -0
  222. package/dist/cjs/program/namespace/types.js +3 -0
  223. package/dist/cjs/program/namespace/types.js.map +1 -0
  224. package/dist/cjs/program/namespace/views.d.ts +15 -0
  225. package/dist/cjs/program/namespace/views.d.ts.map +1 -0
  226. package/dist/cjs/program/namespace/views.js +30 -0
  227. package/dist/cjs/program/namespace/views.js.map +1 -0
  228. package/dist/cjs/program/token-account-layout.d.ts +2 -0
  229. package/dist/cjs/program/token-account-layout.d.ts.map +1 -0
  230. package/dist/cjs/program/token-account-layout.js +136 -0
  231. package/dist/cjs/program/token-account-layout.js.map +1 -0
  232. package/dist/cjs/provider.d.ts +104 -0
  233. package/dist/cjs/provider.d.ts.map +1 -0
  234. package/dist/cjs/provider.js +312 -0
  235. package/dist/cjs/provider.js.map +1 -0
  236. package/dist/cjs/utils/bytes/base64.d.ts +4 -0
  237. package/dist/cjs/utils/bytes/base64.d.ts.map +1 -0
  238. package/dist/cjs/utils/bytes/base64.js +12 -0
  239. package/dist/cjs/utils/bytes/base64.js.map +1 -0
  240. package/dist/cjs/utils/bytes/bs58.d.ts +3 -0
  241. package/dist/cjs/utils/bytes/bs58.d.ts.map +1 -0
  242. package/dist/cjs/utils/bytes/bs58.js +15 -0
  243. package/dist/cjs/utils/bytes/bs58.js.map +1 -0
  244. package/dist/cjs/utils/bytes/hex.d.ts +4 -0
  245. package/dist/cjs/utils/bytes/hex.d.ts.map +1 -0
  246. package/dist/cjs/utils/bytes/hex.js +22 -0
  247. package/dist/cjs/utils/bytes/hex.js.map +1 -0
  248. package/dist/cjs/utils/bytes/index.d.ts +5 -0
  249. package/dist/cjs/utils/bytes/index.d.ts.map +1 -0
  250. package/dist/cjs/utils/bytes/index.js +31 -0
  251. package/dist/cjs/utils/bytes/index.js.map +1 -0
  252. package/dist/cjs/utils/bytes/utf8.d.ts +3 -0
  253. package/dist/cjs/utils/bytes/utf8.d.ts.map +1 -0
  254. package/dist/cjs/utils/bytes/utf8.js +18 -0
  255. package/dist/cjs/utils/bytes/utf8.js.map +1 -0
  256. package/dist/cjs/utils/common.d.ts +22 -0
  257. package/dist/cjs/utils/common.d.ts.map +1 -0
  258. package/dist/cjs/utils/common.js +32 -0
  259. package/dist/cjs/utils/common.js.map +1 -0
  260. package/dist/cjs/utils/features.d.ts +3 -0
  261. package/dist/cjs/utils/features.d.ts.map +1 -0
  262. package/dist/cjs/utils/features.js +16 -0
  263. package/dist/cjs/utils/features.js.map +1 -0
  264. package/dist/cjs/utils/index.d.ts +8 -0
  265. package/dist/cjs/utils/index.d.ts.map +1 -0
  266. package/dist/cjs/utils/index.js +34 -0
  267. package/dist/cjs/utils/index.js.map +1 -0
  268. package/dist/cjs/utils/pubkey.d.ts +3 -0
  269. package/dist/cjs/utils/pubkey.d.ts.map +1 -0
  270. package/dist/cjs/utils/pubkey.js +16 -0
  271. package/dist/cjs/utils/pubkey.js.map +1 -0
  272. package/dist/cjs/utils/registry.d.ts +34 -0
  273. package/dist/cjs/utils/registry.d.ts.map +1 -0
  274. package/dist/cjs/utils/registry.js +88 -0
  275. package/dist/cjs/utils/registry.js.map +1 -0
  276. package/dist/cjs/utils/rpc.d.ts +21 -0
  277. package/dist/cjs/utils/rpc.d.ts.map +1 -0
  278. package/dist/cjs/utils/rpc.js +167 -0
  279. package/dist/cjs/utils/rpc.js.map +1 -0
  280. package/dist/cjs/utils/sha256.d.ts +2 -0
  281. package/dist/cjs/utils/sha256.d.ts.map +1 -0
  282. package/dist/cjs/utils/sha256.js +8 -0
  283. package/dist/cjs/utils/sha256.js.map +1 -0
  284. package/dist/cjs/utils/token.d.ts +8 -0
  285. package/dist/cjs/utils/token.d.ts.map +1 -0
  286. package/dist/cjs/utils/token.js +11 -0
  287. package/dist/cjs/utils/token.js.map +1 -0
  288. package/dist/cjs/workspace.d.ts +14 -0
  289. package/dist/cjs/workspace.d.ts.map +1 -0
  290. package/dist/cjs/workspace.js +98 -0
  291. package/dist/cjs/workspace.js.map +1 -0
  292. package/dist/esm/coder/borsh/accounts.d.ts +27 -0
  293. package/dist/esm/coder/borsh/accounts.d.ts.map +1 -0
  294. package/dist/esm/coder/borsh/accounts.js +96 -0
  295. package/dist/esm/coder/borsh/accounts.js.map +1 -0
  296. package/dist/esm/coder/borsh/event.d.ts +14 -0
  297. package/dist/esm/coder/borsh/event.d.ts.map +1 -0
  298. package/dist/esm/coder/borsh/event.js +51 -0
  299. package/dist/esm/coder/borsh/event.js.map +1 -0
  300. package/dist/esm/coder/borsh/idl.d.ts +32 -0
  301. package/dist/esm/coder/borsh/idl.d.ts.map +1 -0
  302. package/dist/esm/coder/borsh/idl.js +392 -0
  303. package/dist/esm/coder/borsh/idl.js.map +1 -0
  304. package/dist/esm/coder/borsh/index.d.ts +33 -0
  305. package/dist/esm/coder/borsh/index.d.ts.map +1 -0
  306. package/dist/esm/coder/borsh/index.js +20 -0
  307. package/dist/esm/coder/borsh/index.js.map +1 -0
  308. package/dist/esm/coder/borsh/instruction.d.ts +42 -0
  309. package/dist/esm/coder/borsh/instruction.d.ts.map +1 -0
  310. package/dist/esm/coder/borsh/instruction.js +244 -0
  311. package/dist/esm/coder/borsh/instruction.js.map +1 -0
  312. package/dist/esm/coder/borsh/types.d.ts +16 -0
  313. package/dist/esm/coder/borsh/types.d.ts.map +1 -0
  314. package/dist/esm/coder/borsh/types.js +38 -0
  315. package/dist/esm/coder/borsh/types.js.map +1 -0
  316. package/dist/esm/coder/index.d.ts +43 -0
  317. package/dist/esm/coder/index.d.ts.map +1 -0
  318. package/dist/esm/coder/index.js +3 -0
  319. package/dist/esm/coder/index.js.map +1 -0
  320. package/dist/esm/coder/system/accounts.d.ts +12 -0
  321. package/dist/esm/coder/system/accounts.d.ts.map +1 -0
  322. package/dist/esm/coder/system/accounts.js +80 -0
  323. package/dist/esm/coder/system/accounts.js.map +1 -0
  324. package/dist/esm/coder/system/events.d.ts +9 -0
  325. package/dist/esm/coder/system/events.d.ts.map +1 -0
  326. package/dist/esm/coder/system/events.js +7 -0
  327. package/dist/esm/coder/system/events.js.map +1 -0
  328. package/dist/esm/coder/system/index.d.ts +17 -0
  329. package/dist/esm/coder/system/index.d.ts.map +1 -0
  330. package/dist/esm/coder/system/index.js +16 -0
  331. package/dist/esm/coder/system/index.js.map +1 -0
  332. package/dist/esm/coder/system/instruction.d.ts +8 -0
  333. package/dist/esm/coder/system/instruction.d.ts.map +1 -0
  334. package/dist/esm/coder/system/instruction.js +212 -0
  335. package/dist/esm/coder/system/instruction.js.map +1 -0
  336. package/dist/esm/coder/system/types.d.ts +8 -0
  337. package/dist/esm/coder/system/types.d.ts.map +1 -0
  338. package/dist/esm/coder/system/types.js +10 -0
  339. package/dist/esm/coder/system/types.js.map +1 -0
  340. package/dist/esm/error.d.ts +128 -0
  341. package/dist/esm/error.d.ts.map +1 -0
  342. package/dist/esm/error.js +537 -0
  343. package/dist/esm/error.js.map +1 -0
  344. package/dist/esm/idl.d.ts +215 -0
  345. package/dist/esm/idl.d.ts.map +1 -0
  346. package/dist/esm/idl.js +77 -0
  347. package/dist/esm/idl.js.map +1 -0
  348. package/dist/esm/index.d.ts +16 -0
  349. package/dist/esm/index.d.ts.map +1 -0
  350. package/dist/esm/index.js +15 -0
  351. package/dist/esm/index.js.map +1 -0
  352. package/dist/esm/native/index.d.ts +7 -0
  353. package/dist/esm/native/index.d.ts.map +1 -0
  354. package/dist/esm/native/index.js +7 -0
  355. package/dist/esm/native/index.js.map +1 -0
  356. package/dist/esm/native/system.d.ts +390 -0
  357. package/dist/esm/native/system.d.ts.map +1 -0
  358. package/dist/esm/native/system.js +389 -0
  359. package/dist/esm/native/system.js.map +1 -0
  360. package/dist/esm/nodewallet.d.ts +14 -0
  361. package/dist/esm/nodewallet.d.ts.map +1 -0
  362. package/dist/esm/nodewallet.js +45 -0
  363. package/dist/esm/nodewallet.js.map +1 -0
  364. package/dist/esm/program/accounts-resolver.d.ts +63 -0
  365. package/dist/esm/program/accounts-resolver.d.ts.map +1 -0
  366. package/dist/esm/program/accounts-resolver.js +429 -0
  367. package/dist/esm/program/accounts-resolver.js.map +1 -0
  368. package/dist/esm/program/common.d.ts +20 -0
  369. package/dist/esm/program/common.d.ts.map +1 -0
  370. package/dist/esm/program/common.js +43 -0
  371. package/dist/esm/program/common.js.map +1 -0
  372. package/dist/esm/program/context.d.ts +63 -0
  373. package/dist/esm/program/context.d.ts.map +1 -0
  374. package/dist/esm/program/context.js +13 -0
  375. package/dist/esm/program/context.js.map +1 -0
  376. package/dist/esm/program/event.d.ts +59 -0
  377. package/dist/esm/program/event.d.ts.map +1 -0
  378. package/dist/esm/program/event.js +222 -0
  379. package/dist/esm/program/event.js.map +1 -0
  380. package/dist/esm/program/index.d.ts +272 -0
  381. package/dist/esm/program/index.d.ts.map +1 -0
  382. package/dist/esm/program/index.js +156 -0
  383. package/dist/esm/program/index.js.map +1 -0
  384. package/dist/esm/program/namespace/account.d.ts +146 -0
  385. package/dist/esm/program/namespace/account.d.ts.map +1 -0
  386. package/dist/esm/program/namespace/account.js +226 -0
  387. package/dist/esm/program/namespace/account.js.map +1 -0
  388. package/dist/esm/program/namespace/index.d.ts +35 -0
  389. package/dist/esm/program/namespace/index.d.ts.map +1 -0
  390. package/dist/esm/program/namespace/index.js +54 -0
  391. package/dist/esm/program/namespace/index.js.map +1 -0
  392. package/dist/esm/program/namespace/instruction.d.ts +57 -0
  393. package/dist/esm/program/namespace/instruction.d.ts.map +1 -0
  394. package/dist/esm/program/namespace/instruction.js +68 -0
  395. package/dist/esm/program/namespace/instruction.js.map +1 -0
  396. package/dist/esm/program/namespace/methods.d.ts +206 -0
  397. package/dist/esm/program/namespace/methods.d.ts.map +1 -0
  398. package/dist/esm/program/namespace/methods.js +302 -0
  399. package/dist/esm/program/namespace/methods.js.map +1 -0
  400. package/dist/esm/program/namespace/rpc.d.ts +49 -0
  401. package/dist/esm/program/namespace/rpc.d.ts.map +1 -0
  402. package/dist/esm/program/namespace/rpc.js +22 -0
  403. package/dist/esm/program/namespace/rpc.js.map +1 -0
  404. package/dist/esm/program/namespace/simulate.d.ts +57 -0
  405. package/dist/esm/program/namespace/simulate.d.ts.map +1 -0
  406. package/dist/esm/program/namespace/simulate.js +39 -0
  407. package/dist/esm/program/namespace/simulate.js.map +1 -0
  408. package/dist/esm/program/namespace/transaction.d.ts +42 -0
  409. package/dist/esm/program/namespace/transaction.d.ts.map +1 -0
  410. package/dist/esm/program/namespace/transaction.js +21 -0
  411. package/dist/esm/program/namespace/transaction.js.map +1 -0
  412. package/dist/esm/program/namespace/types.d.ts +153 -0
  413. package/dist/esm/program/namespace/types.d.ts.map +1 -0
  414. package/dist/esm/program/namespace/types.js +2 -0
  415. package/dist/esm/program/namespace/types.js.map +1 -0
  416. package/dist/esm/program/namespace/views.d.ts +15 -0
  417. package/dist/esm/program/namespace/views.d.ts.map +1 -0
  418. package/dist/esm/program/namespace/views.js +27 -0
  419. package/dist/esm/program/namespace/views.js.map +1 -0
  420. package/dist/esm/program/token-account-layout.d.ts +2 -0
  421. package/dist/esm/program/token-account-layout.d.ts.map +1 -0
  422. package/dist/esm/program/token-account-layout.js +107 -0
  423. package/dist/esm/program/token-account-layout.js.map +1 -0
  424. package/dist/esm/provider.d.ts +104 -0
  425. package/dist/esm/provider.d.ts.map +1 -0
  426. package/dist/esm/provider.js +306 -0
  427. package/dist/esm/provider.js.map +1 -0
  428. package/dist/esm/utils/bytes/base64.d.ts +4 -0
  429. package/dist/esm/utils/bytes/base64.d.ts.map +1 -0
  430. package/dist/esm/utils/bytes/base64.js +8 -0
  431. package/dist/esm/utils/bytes/base64.js.map +1 -0
  432. package/dist/esm/utils/bytes/bs58.d.ts +3 -0
  433. package/dist/esm/utils/bytes/bs58.d.ts.map +1 -0
  434. package/dist/esm/utils/bytes/bs58.js +8 -0
  435. package/dist/esm/utils/bytes/bs58.js.map +1 -0
  436. package/dist/esm/utils/bytes/hex.d.ts +4 -0
  437. package/dist/esm/utils/bytes/hex.d.ts.map +1 -0
  438. package/dist/esm/utils/bytes/hex.js +18 -0
  439. package/dist/esm/utils/bytes/hex.js.map +1 -0
  440. package/dist/esm/utils/bytes/index.d.ts +5 -0
  441. package/dist/esm/utils/bytes/index.d.ts.map +1 -0
  442. package/dist/esm/utils/bytes/index.js +5 -0
  443. package/dist/esm/utils/bytes/index.js.map +1 -0
  444. package/dist/esm/utils/bytes/utf8.d.ts +3 -0
  445. package/dist/esm/utils/bytes/utf8.d.ts.map +1 -0
  446. package/dist/esm/utils/bytes/utf8.js +14 -0
  447. package/dist/esm/utils/bytes/utf8.js.map +1 -0
  448. package/dist/esm/utils/common.d.ts +22 -0
  449. package/dist/esm/utils/common.d.ts.map +1 -0
  450. package/dist/esm/utils/common.js +27 -0
  451. package/dist/esm/utils/common.js.map +1 -0
  452. package/dist/esm/utils/features.d.ts +3 -0
  453. package/dist/esm/utils/features.d.ts.map +1 -0
  454. package/dist/esm/utils/features.js +12 -0
  455. package/dist/esm/utils/features.js.map +1 -0
  456. package/dist/esm/utils/index.d.ts +8 -0
  457. package/dist/esm/utils/index.d.ts.map +1 -0
  458. package/dist/esm/utils/index.js +8 -0
  459. package/dist/esm/utils/index.js.map +1 -0
  460. package/dist/esm/utils/pubkey.d.ts +3 -0
  461. package/dist/esm/utils/pubkey.d.ts.map +1 -0
  462. package/dist/esm/utils/pubkey.js +13 -0
  463. package/dist/esm/utils/pubkey.js.map +1 -0
  464. package/dist/esm/utils/registry.d.ts +34 -0
  465. package/dist/esm/utils/registry.d.ts.map +1 -0
  466. package/dist/esm/utils/registry.js +57 -0
  467. package/dist/esm/utils/registry.js.map +1 -0
  468. package/dist/esm/utils/rpc.d.ts +21 -0
  469. package/dist/esm/utils/rpc.d.ts.map +1 -0
  470. package/dist/esm/utils/rpc.js +161 -0
  471. package/dist/esm/utils/rpc.js.map +1 -0
  472. package/dist/esm/utils/sha256.d.ts +2 -0
  473. package/dist/esm/utils/sha256.d.ts.map +1 -0
  474. package/dist/esm/utils/sha256.js +5 -0
  475. package/dist/esm/utils/sha256.js.map +1 -0
  476. package/dist/esm/utils/token.d.ts +8 -0
  477. package/dist/esm/utils/token.d.ts.map +1 -0
  478. package/dist/esm/utils/token.js +7 -0
  479. package/dist/esm/utils/token.js.map +1 -0
  480. package/dist/esm/workspace.d.ts +14 -0
  481. package/dist/esm/workspace.d.ts.map +1 -0
  482. package/dist/esm/workspace.js +70 -0
  483. package/dist/esm/workspace.js.map +1 -0
  484. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  485. package/dist/tsconfig.tsbuildinfo +1 -0
  486. package/package.json +84 -0
  487. package/types/buffer-layout/index.d.ts +88 -0
@@ -0,0 +1,35 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { Coder } from "../../coder/index.js";
3
+ import Provider from "../../provider.js";
4
+ import { Idl, IdlInstruction } from "../../idl.js";
5
+ import { InstructionNamespace } from "./instruction.js";
6
+ import { TransactionNamespace } from "./transaction.js";
7
+ import { RpcNamespace } from "./rpc.js";
8
+ import { AccountNamespace } from "./account.js";
9
+ import { SimulateNamespace } from "./simulate.js";
10
+ import { MethodsNamespace } from "./methods";
11
+ import { ViewNamespace } from "./views";
12
+ import { CustomAccountResolver } from "../accounts-resolver.js";
13
+ export { InstructionNamespace, InstructionFn } from "./instruction.js";
14
+ export { TransactionNamespace, TransactionFn } from "./transaction.js";
15
+ export { RpcNamespace, RpcFn } from "./rpc.js";
16
+ export { AccountNamespace, AccountClient, ProgramAccount } from "./account.js";
17
+ export { SimulateNamespace, SimulateFn } from "./simulate.js";
18
+ export { IdlAccounts, IdlTypes, DecodeType, IdlEvents } from "./types.js";
19
+ export { MethodsBuilderFactory, MethodsNamespace } from "./methods";
20
+ export { ViewNamespace, ViewFn } from "./views";
21
+ export default class NamespaceFactory {
22
+ /**
23
+ * Generates all namespaces for a given program.
24
+ */
25
+ static build<IDL extends Idl>(idl: IDL, coder: Coder, programId: PublicKey, provider: Provider, getCustomResolver?: (instruction: IdlInstruction) => CustomAccountResolver<IDL> | undefined): [
26
+ RpcNamespace<IDL>,
27
+ InstructionNamespace<IDL>,
28
+ TransactionNamespace<IDL>,
29
+ AccountNamespace<IDL>,
30
+ SimulateNamespace<IDL>,
31
+ MethodsNamespace<IDL>,
32
+ ViewNamespace<IDL> | undefined
33
+ ];
34
+ }
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAA2B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAA2B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpD,OAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAyB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC;;OAEG;WACW,KAAK,CAAC,GAAG,SAAS,GAAG,EACjC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,CAAC,EAAE,CAClB,WAAW,EAAE,cAAc,KACxB,qBAAqB,CAAC,GAAG,CAAC,GAAG,SAAS,GAC1C;QACD,YAAY,CAAC,GAAG,CAAC;QACjB,oBAAoB,CAAC,GAAG,CAAC;QACzB,oBAAoB,CAAC,GAAG,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC;QACrB,iBAAiB,CAAC,GAAG,CAAC;QACtB,gBAAgB,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS;KAC/B;CAmEF"}
@@ -0,0 +1,57 @@
1
+ import { AccountMeta, PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { Idl, IdlInstructionAccountItem, IdlInstruction } from "../../idl.js";
3
+ import { Accounts } from "../context.js";
4
+ import { AllInstructions, AllInstructionsMap, InstructionContextFn, MakeInstructionsNamespace } from "./types.js";
5
+ export default class InstructionNamespaceFactory {
6
+ static build<IDL extends Idl, I extends AllInstructions<IDL>>(idlIx: I, encodeFn: InstructionEncodeFn<I>, programId: PublicKey): InstructionFn<IDL, I>;
7
+ static accountsArray(ctx: Accounts | undefined, accounts: readonly IdlInstructionAccountItem[], programId: PublicKey, ixName?: string): AccountMeta[];
8
+ }
9
+ /**
10
+ * The namespace provides functions to build [[TransactionInstruction]]
11
+ * objects for each method of a program.
12
+ *
13
+ * ## Usage
14
+ *
15
+ * ```javascript
16
+ * instruction.<method>(...args, ctx);
17
+ * ```
18
+ *
19
+ * ## Parameters
20
+ *
21
+ * 1. `args` - The positional arguments for the program. The type and number
22
+ * of these arguments depend on the program being used.
23
+ * 2. `ctx` - [[Context]] non-argument parameters to pass to the method.
24
+ * Always the last parameter in the method call.
25
+ *
26
+ * ## Example
27
+ *
28
+ * To create an instruction for the `increment` method above,
29
+ *
30
+ * ```javascript
31
+ * const tx = await program.instruction.increment({
32
+ * accounts: {
33
+ * counter,
34
+ * },
35
+ * });
36
+ * ```
37
+ */
38
+ export type InstructionNamespace<IDL extends Idl = Idl, I extends IdlInstruction = AllInstructions<IDL>> = MakeInstructionsNamespace<IDL, I, TransactionInstruction, {
39
+ [M in keyof AllInstructionsMap<IDL>]: {
40
+ accounts: (ctx: Accounts<AllInstructionsMap<IDL>[M]["accounts"][number]>) => unknown;
41
+ };
42
+ }>;
43
+ /**
44
+ * Function to create a `TransactionInstruction` generated from an IDL.
45
+ * Additionally it provides an `accounts` utility method, returning a list
46
+ * of ordered accounts for the instruction.
47
+ */
48
+ export type InstructionFn<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = InstructionContextFn<IDL, I, TransactionInstruction> & IxProps<Accounts<I["accounts"][number]>>;
49
+ type IxProps<A extends Accounts> = {
50
+ /**
51
+ * Returns an ordered list of accounts associated with the instruction.
52
+ */
53
+ accounts: (ctx: A) => AccountMeta[];
54
+ };
55
+ export type InstructionEncodeFn<I extends IdlInstruction = IdlInstruction> = (ixName: I["name"], ix: any) => Buffer;
56
+ export {};
57
+ //# sourceMappingURL=instruction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/instruction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,GAAG,EACH,yBAAyB,EAEzB,cAAc,EAEf,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAE1D,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EAEpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,2BAA2B;WAChC,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjE,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,SAAS,EAAE,SAAS,GACnB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;WA0CV,aAAa,CACzB,GAAG,EAAE,QAAQ,GAAG,SAAS,EACzB,QAAQ,EAAE,SAAS,yBAAyB,EAAE,EAC9C,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,EAAE;CAyCjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,oBAAoB,CAC9B,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,IAC7C,yBAAyB,CAC3B,GAAG,EACH,CAAC,EACD,sBAAsB,EACtB;KACG,CAAC,IAAI,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG;QACpC,QAAQ,EAAE,CACR,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAC1D,OAAO,CAAC;KACd;CACF,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAAE,sBAAsB,CAAC,GACtD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE3C,KAAK,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI;IACjC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,CAC3E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EACjB,EAAE,EAAE,GAAG,KACJ,MAAM,CAAC"}
@@ -0,0 +1,206 @@
1
+ import { AccountMeta, ConfirmOptions, PublicKey, Signer, Transaction, TransactionInstruction, TransactionSignature } from "@solana/web3.js";
2
+ import { Idl, IdlInstructionAccount, IdlInstructionAccountItem, IdlInstructionAccounts, IdlTypeDef } from "../../idl.js";
3
+ import Provider from "../../provider.js";
4
+ import { AccountsGeneric, CustomAccountResolver } from "../accounts-resolver.js";
5
+ import { Address } from "../common.js";
6
+ import { Accounts } from "../context.js";
7
+ import { AccountNamespace } from "./account.js";
8
+ import { InstructionFn } from "./instruction.js";
9
+ import { RpcFn } from "./rpc.js";
10
+ import { SimulateFn, SimulateResponse } from "./simulate.js";
11
+ import { TransactionFn } from "./transaction.js";
12
+ import { AllInstructions, InstructionAccountAddresses, MakeMethodsNamespace, MethodsFn } from "./types.js";
13
+ import { ViewFn } from "./views.js";
14
+ export type MethodsNamespace<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = MakeMethodsNamespace<IDL, I>;
15
+ export declare class MethodsBuilderFactory {
16
+ static build<IDL extends Idl, I extends AllInstructions<IDL>>(provider: Provider, programId: PublicKey, idlIx: AllInstructions<IDL>, ixFn: InstructionFn<IDL>, txFn: TransactionFn<IDL>, rpcFn: RpcFn<IDL>, simulateFn: SimulateFn<IDL>, viewFn: ViewFn<IDL> | undefined, accountNamespace: AccountNamespace<IDL>, idlTypes: IdlTypeDef[], customResolver?: CustomAccountResolver<IDL>): MethodsFn<IDL, I, MethodsBuilder<IDL, I>>;
17
+ }
18
+ type ResolvedAccounts<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = PartialUndefined<ResolvedAccountsRecursive<A>>;
19
+ type ResolvedAccountsRecursive<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = OmitNever<{
20
+ [N in A["name"]]: ResolvedAccount<A & {
21
+ name: N;
22
+ }>;
23
+ }>;
24
+ type ResolvedAccount<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = A extends IdlInstructionAccounts ? ResolvedAccountsRecursive<A["accounts"][number]> : A extends NonNullable<Pick<IdlInstructionAccount, "address">> ? never : A extends NonNullable<Pick<IdlInstructionAccount, "pda">> ? never : A extends NonNullable<Pick<IdlInstructionAccount, "relations">> ? never : A extends {
25
+ signer: true;
26
+ } ? Address | undefined : PartialAccount<A>;
27
+ type PartialUndefined<T, P extends keyof T = {
28
+ [K in keyof T]: undefined extends T[K] ? K : never;
29
+ }[keyof T]> = Partial<Pick<T, P>> & Pick<T, Exclude<keyof T, P>>;
30
+ type OmitNever<T extends Record<string, any>> = {
31
+ [K in keyof T as T[K] extends never ? never : K]: T[K];
32
+ };
33
+ export type PartialAccounts<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = Partial<{
34
+ [N in A["name"]]: PartialAccount<A & {
35
+ name: N;
36
+ }>;
37
+ }>;
38
+ type PartialAccount<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = A extends IdlInstructionAccounts ? PartialAccounts<A["accounts"][number]> : A extends {
39
+ optional: true;
40
+ } ? Address | null : Address;
41
+ export declare function isPartialAccounts(partialAccount: any): partialAccount is PartialAccounts;
42
+ export declare function flattenPartialAccounts<A extends IdlInstructionAccountItem>(partialAccounts: PartialAccounts<A>, throwOnNull: boolean): AccountsGeneric;
43
+ export declare class MethodsBuilder<IDL extends Idl, I extends AllInstructions<IDL>, A extends I["accounts"][number] = I["accounts"][number]> {
44
+ private _args;
45
+ private _ixFn;
46
+ private _txFn;
47
+ private _rpcFn;
48
+ private _simulateFn;
49
+ private _viewFn;
50
+ private _accounts;
51
+ private _remainingAccounts;
52
+ private _signers;
53
+ private _preInstructions;
54
+ private _postInstructions;
55
+ private _accountsResolver;
56
+ private _resolveAccounts;
57
+ constructor(_args: Array<any>, _ixFn: InstructionFn<IDL>, _txFn: TransactionFn<IDL>, _rpcFn: RpcFn<IDL>, _simulateFn: SimulateFn<IDL>, _viewFn: ViewFn<IDL> | undefined, provider: Provider, programId: PublicKey, idlIx: AllInstructions<IDL>, accountNamespace: AccountNamespace<IDL>, idlTypes: IdlTypeDef[], customResolver?: CustomAccountResolver<IDL>);
58
+ args(args: Array<any>): void;
59
+ /**
60
+ * Set instruction accounts with account resolution.
61
+ *
62
+ * This method only accepts accounts that cannot be resolved.
63
+ *
64
+ * See {@link accountsPartial} for overriding the account resolution or
65
+ * {@link accountsStrict} for strictly specifying all accounts.
66
+ */
67
+ accounts(accounts: ResolvedAccounts<A>): this;
68
+ /**
69
+ * Set instruction accounts with account resolution.
70
+ *
71
+ * There is no functional difference between this method and {@link accounts}
72
+ * method, the only difference is this method allows specifying all accounts
73
+ * even if they can be resolved. On the other hand, {@link accounts} method
74
+ * doesn't accept accounts that can be resolved.
75
+ */
76
+ accountsPartial(accounts: PartialAccounts<A>): this;
77
+ /**
78
+ * Set instruction accounts without account resolution.
79
+ *
80
+ * All accounts strictly need to be specified when this method is used.
81
+ *
82
+ * See {@link accounts} and {@link accountsPartial} methods for automatically
83
+ * resolving accounts.
84
+ *
85
+ * @param accounts instruction accounts
86
+ */
87
+ accountsStrict(accounts: Accounts<A>): this;
88
+ /**
89
+ * Set instruction signers.
90
+ *
91
+ * Note that calling this method appends the given signers to the existing
92
+ * signers (instead of overriding them).
93
+ *
94
+ * @param signers signers to append
95
+ */
96
+ signers(signers: Array<Signer>): this;
97
+ /**
98
+ * Set remaining accounts.
99
+ *
100
+ * Note that calling this method appends the given accounts to the existing
101
+ * remaining accounts (instead of overriding them).
102
+ *
103
+ * @param accounts remaining accounts
104
+ */
105
+ remainingAccounts(accounts: Array<AccountMeta>): this;
106
+ /**
107
+ * Set previous instructions.
108
+ *
109
+ * See {@link postInstructions} to set the post instructions instead.
110
+ *
111
+ * @param ixs instructions
112
+ * @param prepend whether to prepend to the existing previous instructions
113
+ */
114
+ preInstructions(ixs: Array<TransactionInstruction>, prepend?: boolean): this;
115
+ /**
116
+ * Set post instructions.
117
+ *
118
+ * See {@link preInstructions} to set the previous instructions instead.
119
+ *
120
+ * @param ixs instructions
121
+ */
122
+ postInstructions(ixs: Array<TransactionInstruction>): this;
123
+ /**
124
+ * Get the public keys of the instruction accounts.
125
+ *
126
+ * The return type is an object with account names as keys and their public
127
+ * keys as their values.
128
+ *
129
+ * Note that an account key is `undefined` if the account hasn't yet been
130
+ * specified or resolved.
131
+ */
132
+ pubkeys(): Promise<Partial<InstructionAccountAddresses<IDL, I>>>;
133
+ /**
134
+ * Create an instruction based on the current configuration.
135
+ *
136
+ * See {@link transaction} to create a transaction instead.
137
+ *
138
+ * @returns the transaction instruction
139
+ */
140
+ instruction(): Promise<TransactionInstruction>;
141
+ /**
142
+ * Create a transaction based on the current configuration.
143
+ *
144
+ * This method doesn't send the created transaction. Use {@link rpc} method
145
+ * to conveniently send an confirm the configured transaction.
146
+ *
147
+ * See {@link instruction} to only create an instruction instead.
148
+ *
149
+ * @returns the transaction
150
+ */
151
+ transaction(): Promise<Transaction>;
152
+ /**
153
+ * Simulate the configured transaction.
154
+ *
155
+ * @param options confirmation options
156
+ * @returns the simulation response
157
+ */
158
+ simulate(options?: ConfirmOptions): Promise<SimulateResponse>;
159
+ /**
160
+ * View the configured transaction.
161
+ *
162
+ * Note that to use this method, the instruction needs to return a value and
163
+ * all its accounts must be read-only.
164
+ *
165
+ * @param options confirmation options
166
+ * @returns the return value of the instruction
167
+ */
168
+ view(options?: ConfirmOptions): Promise<any>;
169
+ /**
170
+ * Send and confirm the configured transaction.
171
+ *
172
+ * See {@link rpcAndKeys} to both send the transaction and get the resolved
173
+ * account public keys.
174
+ *
175
+ * @param options confirmation options
176
+ * @returns the transaction signature
177
+ */
178
+ rpc(options?: ConfirmOptions): Promise<TransactionSignature>;
179
+ /**
180
+ * Conveniently call both {@link rpc} and {@link pubkeys} methods.
181
+ *
182
+ * @param options confirmation options
183
+ * @returns the transaction signature and account public keys
184
+ */
185
+ rpcAndKeys(options?: ConfirmOptions): Promise<{
186
+ signature: TransactionSignature;
187
+ pubkeys: InstructionAccountAddresses<IDL, I>;
188
+ }>;
189
+ /**
190
+ * Get instruction information necessary to include the instruction inside a
191
+ * transaction.
192
+ *
193
+ * # Example
194
+ *
195
+ * ```ts
196
+ * const { instruction, signers, pubkeys } = await method.prepare();
197
+ * ```
198
+ */
199
+ prepare(): Promise<{
200
+ instruction: TransactionInstruction;
201
+ signers: Signer[];
202
+ pubkeys: Partial<InstructionAccountAddresses<IDL, I>>;
203
+ }>;
204
+ }
205
+ export {};
206
+ //# sourceMappingURL=methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/methods.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { TransactionSignature } from "@solana/web3.js";
2
+ import Provider from "../../provider.js";
3
+ import { Idl } from "../../idl.js";
4
+ import { TransactionFn } from "./transaction.js";
5
+ import { AllInstructions, InstructionContextFn, MakeInstructionsNamespace } from "./types.js";
6
+ export default class RpcFactory {
7
+ static build<IDL extends Idl, I extends AllInstructions<IDL>>(idlIx: I, txFn: TransactionFn<IDL, I>, idlErrors: Map<number, string>, provider: Provider): RpcFn;
8
+ }
9
+ /**
10
+ * The namespace provides async methods to send signed transactions for each
11
+ * *non*-state method on Anchor program.
12
+ *
13
+ * Keys are method names, values are RPC functions returning a
14
+ * [[TransactionInstruction]].
15
+ *
16
+ * ## Usage
17
+ *
18
+ * ```javascript
19
+ * rpc.<method>(...args, ctx);
20
+ * ```
21
+ *
22
+ * ## Parameters
23
+ *
24
+ * 1. `args` - The positional arguments for the program. The type and number
25
+ * of these arguments depend on the program being used.
26
+ * 2. `ctx` - [[Context]] non-argument parameters to pass to the method.
27
+ * Always the last parameter in the method call.
28
+ * ```
29
+ *
30
+ * ## Example
31
+ *
32
+ * To send a transaction invoking the `increment` method above,
33
+ *
34
+ * ```javascript
35
+ * const txSignature = await program.rpc.increment({
36
+ * accounts: {
37
+ * counter,
38
+ * authority,
39
+ * },
40
+ * });
41
+ * ```
42
+ */
43
+ export type RpcNamespace<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = MakeInstructionsNamespace<IDL, I, Promise<TransactionSignature>>;
44
+ /**
45
+ * RpcFn is a single RPC method generated from an IDL, sending a transaction
46
+ * paid for and signed by the configured provider.
47
+ */
48
+ export type RpcFn<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = InstructionContextFn<IDL, I, Promise<TransactionSignature>>;
49
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,UAAU;WACf,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjE,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,GACjB,KAAK;CAsBT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,YAAY,CACtB,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,KAAK,CACf,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import Provider from "../../provider.js";
3
+ import { TransactionFn } from "./transaction.js";
4
+ import { Event } from "../event.js";
5
+ import { Coder } from "../../coder/index.js";
6
+ import { Idl } from "../../idl.js";
7
+ import { AllInstructions, InstructionContextFn, MakeInstructionsNamespace } from "./types";
8
+ export default class SimulateFactory {
9
+ static build<IDL extends Idl, I extends AllInstructions<IDL>>(idlIx: AllInstructions<IDL>, txFn: TransactionFn<IDL>, idlErrors: Map<number, string>, provider: Provider, coder: Coder, programId: PublicKey, idl: IDL): SimulateFn<IDL, I>;
10
+ }
11
+ /**
12
+ * The namespace provides functions to simulate transactions for each method
13
+ * of a program, returning a list of deserialized events *and* raw program
14
+ * logs.
15
+ *
16
+ * One can use this to read data calculated from a program on chain, by
17
+ * emitting an event in the program and reading the emitted event client side
18
+ * via the `simulate` namespace.
19
+ *
20
+ * ## Usage
21
+ *
22
+ * ```javascript
23
+ * program.simulate.<method>(...args, ctx);
24
+ * ```
25
+ *
26
+ * ## Parameters
27
+ *
28
+ * 1. `args` - The positional arguments for the program. The type and number
29
+ * of these arguments depend on the program being used.
30
+ * 2. `ctx` - [[Context]] non-argument parameters to pass to the method.
31
+ * Always the last parameter in the method call.
32
+ *
33
+ * ## Example
34
+ *
35
+ * To simulate the `increment` method above,
36
+ *
37
+ * ```javascript
38
+ * const events = await program.simulate.increment({
39
+ * accounts: {
40
+ * counter,
41
+ * },
42
+ * });
43
+ * ```
44
+ */
45
+ export type SimulateNamespace<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = MakeInstructionsNamespace<IDL, I, Promise<SimulateResponse>>;
46
+ /**
47
+ * SimulateFn is a single method generated from an IDL. It simulates a method
48
+ * against a cluster configured by the provider, returning a list of all the
49
+ * events and raw logs that were emitted during the execution of the
50
+ * method.
51
+ */
52
+ export type SimulateFn<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = InstructionContextFn<IDL, I, Promise<SimulateResponse>>;
53
+ export type SimulateResponse = {
54
+ events: readonly Event[];
55
+ raw: readonly string[];
56
+ };
57
+ //# sourceMappingURL=simulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,OAAO,OAAO,eAAe;WACpB,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAC3B,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,GACP,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;CAuCtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,iBAAiB,CAC3B,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CACpB,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAG5D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;CACxB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Transaction } from "@solana/web3.js";
2
+ import { Idl } from "../../idl.js";
3
+ import { InstructionFn } from "./instruction.js";
4
+ import { AllInstructions, InstructionContextFn, MakeInstructionsNamespace } from "./types.js";
5
+ export default class TransactionFactory {
6
+ static build<IDL extends Idl, I extends AllInstructions<IDL>>(idlIx: I, ixFn: InstructionFn<IDL, I>): TransactionFn<IDL, I>;
7
+ }
8
+ /**
9
+ * The namespace provides functions to build [[Transaction]] objects for each
10
+ * method of a program.
11
+ *
12
+ * ## Usage
13
+ *
14
+ * ```javascript
15
+ * program.transaction.<method>(...args, ctx);
16
+ * ```
17
+ *
18
+ * ## Parameters
19
+ *
20
+ * 1. `args` - The positional arguments for the program. The type and number
21
+ * of these arguments depend on the program being used.
22
+ * 2. `ctx` - [[Context]] non-argument parameters to pass to the method.
23
+ * Always the last parameter in the method call.
24
+ *
25
+ * ## Example
26
+ *
27
+ * To create an instruction for the `increment` method above,
28
+ *
29
+ * ```javascript
30
+ * const tx = await program.transaction.increment({
31
+ * accounts: {
32
+ * counter,
33
+ * },
34
+ * });
35
+ * ```
36
+ */
37
+ export type TransactionNamespace<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = MakeInstructionsNamespace<IDL, I, Transaction>;
38
+ /**
39
+ * Tx is a function to create a `Transaction` for a given program instruction.
40
+ */
41
+ export type TransactionFn<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = InstructionContextFn<IDL, I, Transaction>;
42
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,kBAAkB;WACvB,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjE,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAC1B,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;CAgBzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,oBAAoB,CAC9B,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,yBAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,SAAS,GAAG,GAAG,GAAG,EACrB,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IACnD,oBAAoB,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,153 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import BN from "bn.js";
3
+ import { Idl, IdlInstructionAccounts as IdlInstructionAccounts, IdlInstructionAccountItem, IdlField, IdlInstruction, IdlType, IdlTypeDef, IdlTypeDefTyEnum, IdlTypeDefTyStruct, IdlTypeDefTyType, IdlDefinedFields, IdlDefinedFieldsNamed, IdlDefinedFieldsTuple, IdlArrayLen } from "../../idl";
4
+ import { Accounts, Context } from "../context";
5
+ import { MethodsBuilder } from "./methods";
6
+ /**
7
+ * All instructions for an IDL.
8
+ */
9
+ export type AllInstructions<I extends Idl> = I["instructions"][number];
10
+ /**
11
+ * Returns a type of instruction name to the IdlInstruction.
12
+ */
13
+ type InstructionMap<I extends IdlInstruction> = {
14
+ [K in I["name"]]: I & {
15
+ name: K;
16
+ };
17
+ };
18
+ /**
19
+ * Returns a type of instruction name to the IdlInstruction.
20
+ */
21
+ export type AllInstructionsMap<I extends Idl> = InstructionMap<AllInstructions<I>>;
22
+ /**
23
+ * All accounts for an IDL.
24
+ */
25
+ export type AllAccounts<I extends Idl> = ResolveIdlTypePointer<I, "accounts">;
26
+ /**
27
+ * Returns a type of instruction name to the IdlInstruction.
28
+ */
29
+ type AccountMap<I extends IdlTypeDef[]> = {
30
+ [K in I[number]["name"]]: I & {
31
+ name: K;
32
+ };
33
+ };
34
+ /**
35
+ * Returns a type of instruction name to the IdlInstruction.
36
+ */
37
+ export type AllAccountsMap<I extends Idl> = AccountMap<AllAccounts<I>>;
38
+ /**
39
+ * All events for an IDL.
40
+ */
41
+ export type AllEvents<I extends Idl> = ResolveIdlTypePointer<I, "events">;
42
+ export type MakeInstructionsNamespace<IDL extends Idl, I extends IdlInstruction, Ret, Mk extends {
43
+ [M in keyof InstructionMap<I>]: unknown;
44
+ } = {
45
+ [M in keyof InstructionMap<I>]: unknown;
46
+ }> = {
47
+ [M in keyof InstructionMap<I>]: InstructionContextFn<IDL, InstructionMap<I>[M], Ret> & Mk[M];
48
+ };
49
+ export type MakeMethodsNamespace<IDL extends Idl, I extends IdlInstruction> = {
50
+ [M in keyof InstructionMap<I>]: MethodsFn<IDL, InstructionMap<I>[M], MethodsBuilder<IDL, InstructionMap<I>[M]>>;
51
+ };
52
+ export type InstructionContextFn<IDL extends Idl, I extends AllInstructions<IDL>, Ret> = (...args: InstructionContextFnArgs<IDL, I>) => Ret;
53
+ export type InstructionContextFnArgs<IDL extends Idl, I extends IDL["instructions"][number]> = [
54
+ ...ArgsTuple<I["args"], IdlTypes<IDL>>,
55
+ Context<Accounts<I["accounts"][number]>>
56
+ ];
57
+ export type InstructionAccountAddresses<IDL extends Idl, I extends AllInstructions<IDL>> = InstructionAccountsAddresses<I["accounts"][number]>;
58
+ type InstructionAccountsAddresses<A extends IdlInstructionAccountItem = IdlInstructionAccountItem> = {
59
+ [N in A["name"]]: InstructionAccountsAddress<A & {
60
+ name: N;
61
+ }>;
62
+ };
63
+ type InstructionAccountsAddress<A extends IdlInstructionAccountItem> = A extends IdlInstructionAccounts ? InstructionAccountsAddresses<A["accounts"][number]> : PublicKey;
64
+ export type MethodsFn<IDL extends Idl, I extends IDL["instructions"][number], Ret> = (...args: ArgsTuple<I["args"], IdlTypes<IDL>>) => Ret;
65
+ type TypeMap = {
66
+ pubkey: PublicKey;
67
+ bool: boolean;
68
+ string: string;
69
+ bytes: Buffer;
70
+ } & {
71
+ [K in "u8" | "i8" | "u16" | "i16" | "u32" | "i32" | "f32" | "f64"]: number;
72
+ } & {
73
+ [K in "u64" | "i64" | "u128" | "i128" | "u256" | "i256"]: BN;
74
+ };
75
+ export type DecodeType<T extends IdlType, Defined> = IdlType extends T ? unknown : T extends keyof TypeMap ? TypeMap[T] : T extends {
76
+ defined: {
77
+ name: keyof Defined;
78
+ };
79
+ } ? Defined[T["defined"]["name"]] : T extends {
80
+ option: IdlType;
81
+ } ? DecodeType<T["option"], Defined> | null : T extends {
82
+ coption: IdlType;
83
+ } ? DecodeType<T["coption"], Defined> | null : T extends {
84
+ vec: IdlType;
85
+ } ? DecodeType<T["vec"], Defined>[] : T extends {
86
+ array: [defined: IdlType, size: IdlArrayLen];
87
+ } ? DecodeType<T["array"][0], Defined>[] : unknown;
88
+ /**
89
+ * Tuple of arguments.
90
+ */
91
+ type ArgsTuple<A extends IdlField[], Defined> = {
92
+ [K in keyof A]: A[K] extends IdlField ? DecodeType<A[K]["type"], Defined> : unknown;
93
+ } & unknown[];
94
+ /**
95
+ * flat {a: number, b: {c: string}} into number | string
96
+ */
97
+ type UnboxToUnion<T> = T extends (infer U)[] ? UnboxToUnion<U> : T extends Record<string, never> ? "__empty_object__" : T extends Record<string, infer V> ? UnboxToUnion<V> : T;
98
+ type DecodeDefinedField<F, Defined> = F extends IdlType ? DecodeType<F, Defined> : never;
99
+ /**
100
+ * decode enum variant: named or tuple
101
+ */
102
+ type DecodeDefinedFields<F extends IdlDefinedFields, Defined> = F extends IdlDefinedFieldsNamed ? {
103
+ [F2 in F[number] as F2["name"]]: DecodeDefinedField<F2["type"], Defined>;
104
+ } : F extends IdlDefinedFieldsTuple ? {
105
+ [F3 in keyof F as Exclude<F3, keyof unknown[]>]: DecodeDefinedField<F[F3], Defined>;
106
+ } : Record<string, never>;
107
+ type DecodeEnumVariants<I extends IdlTypeDefTyEnum, Defined> = {
108
+ [V in I["variants"][number] as V["name"]]: DecodeDefinedFields<NonNullable<V["fields"]>, Defined>;
109
+ };
110
+ type ValueOf<T> = T[keyof T];
111
+ type XorEnumVariants<T extends Record<string, unknown>> = ValueOf<{
112
+ [K1 in keyof T]: {
113
+ [K2 in Exclude<keyof T, K1>]?: never;
114
+ } & {
115
+ [K2 in K1]: T[K2];
116
+ };
117
+ }>;
118
+ type DecodeEnum<I extends IdlTypeDefTyEnum, Defined> = XorEnumVariants<DecodeEnumVariants<I, Defined>>;
119
+ type DecodeStruct<I extends IdlTypeDefTyStruct, Defined> = DecodeDefinedFields<NonNullable<I["fields"]>, Defined>;
120
+ type DecodeAlias<I extends IdlTypeDefTyType, Defined> = DecodeType<I["alias"], Defined>;
121
+ export type TypeDef<I extends IdlTypeDef, Defined> = I["type"] extends IdlTypeDefTyEnum ? DecodeEnum<I["type"], Defined> : I["type"] extends IdlTypeDefTyStruct ? DecodeStruct<I["type"], Defined> : I["type"] extends IdlTypeDefTyType ? DecodeAlias<I["type"], Defined> : never;
122
+ type TypeDefDictionary<T extends IdlTypeDef[], Defined> = {
123
+ [K in T[number] as K["name"]]: TypeDef<K, Defined>;
124
+ };
125
+ type DecodedHelper<T extends IdlTypeDef[], Defined> = {
126
+ [D in T[number] as D["name"]]: TypeDef<D, Defined>;
127
+ };
128
+ type UnknownType = "__unknown_defined_type__";
129
+ /**
130
+ * Empty "defined" object to produce `UnknownType` instead of never/unknown
131
+ * during IDL types decoding.
132
+ */
133
+ type EmptyDefined = Record<UnknownType, never>;
134
+ type RecursiveDepth2<T extends IdlTypeDef[], Defined = EmptyDefined, Decoded = DecodedHelper<T, Defined>> = UnknownType extends UnboxToUnion<Decoded> ? RecursiveDepth3<T, DecodedHelper<T, Defined>> : Decoded;
135
+ type RecursiveDepth3<T extends IdlTypeDef[], Defined = EmptyDefined, Decoded = DecodedHelper<T, Defined>> = UnknownType extends UnboxToUnion<Decoded> ? RecursiveDepth4<T, DecodedHelper<T, Defined>> : Decoded;
136
+ type RecursiveDepth4<T extends IdlTypeDef[], Defined = EmptyDefined> = DecodedHelper<T, Defined>;
137
+ /**
138
+ * TypeScript can't handle truly recursive type (RecursiveTypes instead of RecursiveDepth2).
139
+ * Hence we're doing recursion of depth=4 manually
140
+ * */
141
+ type RecursiveTypes<T extends IdlTypeDef[], Defined = EmptyDefined, Decoded = DecodedHelper<T, Defined>> = UnknownType extends UnboxToUnion<Decoded> ? RecursiveDepth2<T, DecodedHelper<T, Defined>> : Decoded;
142
+ export type IdlTypes<I extends Idl> = RecursiveTypes<NonNullable<I["types"]>>;
143
+ export type IdlErrors<I extends Idl> = NonNullable<I["errors"]>[number];
144
+ export type IdlAccounts<I extends Idl> = ResolveIdlPointerSection<I, "accounts">;
145
+ export type IdlEvents<I extends Idl> = ResolveIdlPointerSection<I, "events">;
146
+ type IdlPointerSection = keyof Pick<Idl, "accounts" | "events">;
147
+ type ResolveIdlPointerSection<I extends Idl, K extends IdlPointerSection, T extends ResolveIdlTypePointer<I, K> = ResolveIdlTypePointer<I, K>> = TypeDefDictionary<T extends [] ? IdlTypeDef[] : T, IdlTypes<I>>;
148
+ type ResolveIdlTypePointer<I extends Idl, Key extends IdlPointerSection> = FilterTuple<NonNullable<I["types"]>, {
149
+ name: NonNullable<I[Key]>[number]["name"];
150
+ }>;
151
+ type FilterTuple<T extends unknown[], F> = T extends [infer Head, ...infer Tail] ? [Head] extends [F] ? [Head, ...FilterTuple<Tail, F>] : FilterTuple<Tail, F> : [];
152
+ export {};
153
+ //# sourceMappingURL=types.d.ts.map