@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,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,22 @@
1
+ import { splitArgsAndCtx } from "../context.js";
2
+ import { translateError } from "../../error.js";
3
+ export default class RpcFactory {
4
+ static build(idlIx, txFn, idlErrors, provider) {
5
+ const rpc = async (...args) => {
6
+ var _a;
7
+ const tx = txFn(...args);
8
+ const [, ctx] = splitArgsAndCtx(idlIx, [...args]);
9
+ if (provider.sendAndConfirm === undefined) {
10
+ throw new Error("This function requires 'Provider.sendAndConfirm' to be implemented.");
11
+ }
12
+ try {
13
+ return await provider.sendAndConfirm(tx, (_a = ctx.signers) !== null && _a !== void 0 ? _a : [], ctx.options);
14
+ }
15
+ catch (err) {
16
+ throw translateError(err, idlErrors);
17
+ }
18
+ };
19
+ return rpc;
20
+ }
21
+ }
22
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/program/namespace/rpc.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOhD,MAAM,CAAC,OAAO,OAAO,UAAU;IACtB,MAAM,CAAC,KAAK,CACjB,KAAQ,EACR,IAA2B,EAC3B,SAA8B,EAC9B,QAAkB;QAElB,MAAM,GAAG,GAAkB,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;;YAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CAAC,cAAc,CAClC,EAAE,EACF,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,EACjB,GAAG,CAAC,OAAO,CACZ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -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,39 @@
1
+ import { splitArgsAndCtx } from "../context.js";
2
+ import { EventParser } from "../event.js";
3
+ import { translateError } from "../../error.js";
4
+ export default class SimulateFactory {
5
+ static build(idlIx, txFn, idlErrors, provider, coder, programId, idl) {
6
+ const simulate = async (...args) => {
7
+ var _a;
8
+ const tx = txFn(...args);
9
+ const [, ctx] = splitArgsAndCtx(idlIx, [...args]);
10
+ let resp = undefined;
11
+ if (provider.simulate === undefined) {
12
+ throw new Error("This function requires 'Provider.simulate' to be implemented.");
13
+ }
14
+ try {
15
+ resp = await provider.simulate(tx, ctx.signers, (_a = ctx.options) === null || _a === void 0 ? void 0 : _a.commitment);
16
+ }
17
+ catch (err) {
18
+ throw translateError(err, idlErrors);
19
+ }
20
+ if (resp === undefined) {
21
+ throw new Error("Unable to simulate transaction");
22
+ }
23
+ const logs = resp.logs;
24
+ if (!logs) {
25
+ throw new Error("Simulated logs not found");
26
+ }
27
+ const events = [];
28
+ if (idl.events) {
29
+ let parser = new EventParser(programId, coder);
30
+ for (const event of parser.parseLogs(logs)) {
31
+ events.push(event);
32
+ }
33
+ }
34
+ return { events, raw: logs };
35
+ };
36
+ return simulate;
37
+ }
38
+ }
39
+ //# sourceMappingURL=simulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/program/namespace/simulate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAS,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOhD,MAAM,CAAC,OAAO,OAAO,eAAe;IAC3B,MAAM,CAAC,KAAK,CACjB,KAA2B,EAC3B,IAAwB,EACxB,SAA8B,EAC9B,QAAkB,EAClB,KAAY,EACZ,SAAoB,EACpB,GAAQ;QAER,MAAM,QAAQ,GAAoB,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;;YAClD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,IAAI,IAAI,GAA+C,SAAS,CAAC;YACjE,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAS,CAAC,QAAQ,CAC7B,EAAE,EACF,GAAG,CAAC,OAAO,EACX,MAAA,GAAG,CAAC,OAAO,0CAAE,UAAU,CACxB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,MAAM,GAAY,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -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,21 @@
1
+ import { Transaction } from "@solana/web3.js";
2
+ import { splitArgsAndCtx } from "../context.js";
3
+ export default class TransactionFactory {
4
+ static build(idlIx, ixFn) {
5
+ const txFn = (...args) => {
6
+ var _a, _b, _c;
7
+ const [, ctx] = splitArgsAndCtx(idlIx, [...args]);
8
+ const tx = new Transaction();
9
+ if (ctx.preInstructions && ctx.instructions) {
10
+ throw new Error("instructions is deprecated, use preInstructions");
11
+ }
12
+ (_a = ctx.preInstructions) === null || _a === void 0 ? void 0 : _a.forEach((ix) => tx.add(ix));
13
+ (_b = ctx.instructions) === null || _b === void 0 ? void 0 : _b.forEach((ix) => tx.add(ix));
14
+ tx.add(ixFn(...args));
15
+ (_c = ctx.postInstructions) === null || _c === void 0 ? void 0 : _c.forEach((ix) => tx.add(ix));
16
+ return tx;
17
+ };
18
+ return txFn;
19
+ }
20
+ }
21
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../src/program/namespace/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC9B,MAAM,CAAC,KAAK,CACjB,KAAQ,EACR,IAA2B;QAE3B,MAAM,IAAI,GAA0B,CAAC,GAAG,IAAI,EAAe,EAAE;;YAC3D,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,MAAA,GAAG,CAAC,eAAe,0CAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,MAAA,GAAG,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACtB,MAAA,GAAG,CAAC,gBAAgB,0CAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/program/namespace/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { Idl } from "../../idl.js";
3
+ import { SimulateFn } from "./simulate.js";
4
+ import { AllInstructions, InstructionContextFn, MakeInstructionsNamespace } from "./types";
5
+ export default class ViewFactory {
6
+ static build<IDL extends Idl, I extends AllInstructions<IDL>>(programId: PublicKey, idlIx: AllInstructions<IDL>, simulateFn: SimulateFn<IDL>, idl: IDL): ViewFn<IDL, I> | undefined;
7
+ }
8
+ export type ViewNamespace<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = MakeInstructionsNamespace<IDL, I, Promise<any>>;
9
+ /**
10
+ * ViewFn is a single method generated from an IDL. It simulates a method
11
+ * against a cluster configured by the provider, and then parses the events
12
+ * and extracts return data from the raw logs emitted during the simulation.
13
+ */
14
+ export type ViewFn<IDL extends Idl = Idl, I extends AllInstructions<IDL> = AllInstructions<IDL>> = InstructionContextFn<IDL, I, Promise<any>>;
15
+ //# sourceMappingURL=views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../../src/program/namespace/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAyB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAIjB,MAAM,CAAC,OAAO,OAAO,WAAW;WAChB,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAC3B,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,GAAG,EAAE,GAAG,GACP,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS;CA4B9B;AAED,MAAM,MAAM,aAAa,CACvB,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,GAAG,CAAC,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAChB,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,GAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { IdlCoder } from "../../coder/borsh/idl";
2
+ import { decode } from "../../utils/bytes/base64";
3
+ export default class ViewFactory {
4
+ static build(programId, idlIx, simulateFn, idl) {
5
+ const isWritable = idlIx.accounts.find((a) => a.writable);
6
+ const hasReturn = !!idlIx.returns;
7
+ if (isWritable || !hasReturn)
8
+ return;
9
+ const view = async (...args) => {
10
+ let simulationResult = await simulateFn(...args);
11
+ const returnPrefix = `Program return: ${programId} `;
12
+ let returnLog = simulationResult.raw.find((l) => l.startsWith(returnPrefix));
13
+ if (!returnLog) {
14
+ throw new Error("View expected return log");
15
+ }
16
+ let returnData = decode(returnLog.slice(returnPrefix.length));
17
+ let returnType = idlIx.returns;
18
+ if (!returnType) {
19
+ throw new Error("View expected return type");
20
+ }
21
+ const coder = IdlCoder.fieldLayout({ type: returnType }, idl.types);
22
+ return coder.decode(returnData);
23
+ };
24
+ return view;
25
+ }
26
+ }
27
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/program/namespace/views.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,WAAW;IACvB,MAAM,CAAC,KAAK,CACjB,SAAoB,EACpB,KAA2B,EAC3B,UAA2B,EAC3B,GAAQ;QAER,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CACpC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CACzC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,IAAI,UAAU,IAAI,CAAC,SAAS;YAAE,OAAO;QAErC,MAAM,IAAI,GAAgB,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1C,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,mBAAmB,SAAS,GAAG,CAAC;YACrD,IAAI,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAC3B,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9D,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare function decodeTokenAccount(b: Buffer): unknown;
2
+ //# sourceMappingURL=token-account-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-account-layout.d.ts","sourceRoot":"","sources":["../../../src/program/token-account-layout.ts"],"names":[],"mappings":"AA+IA,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,WAE3C"}
@@ -0,0 +1,107 @@
1
+ import BN from "bn.js";
2
+ import * as BufferLayout from "buffer-layout";
3
+ import { Layout } from "buffer-layout";
4
+ import { PublicKey } from "@solana/web3.js";
5
+ function uint64(property) {
6
+ return new WrappedLayout(BufferLayout.blob(8), (b) => u64.fromBuffer(b), (n) => n.toBuffer(), property);
7
+ }
8
+ function publicKey(property) {
9
+ return new WrappedLayout(BufferLayout.blob(32), (b) => new PublicKey(b), (key) => key.toBuffer(), property);
10
+ }
11
+ function coption(layout, property) {
12
+ return new COptionLayout(layout, property);
13
+ }
14
+ class WrappedLayout extends Layout {
15
+ constructor(layout, decoder, encoder, property) {
16
+ super(layout.span, property);
17
+ this.layout = layout;
18
+ this.decoder = decoder;
19
+ this.encoder = encoder;
20
+ }
21
+ decode(b, offset) {
22
+ return this.decoder(this.layout.decode(b, offset));
23
+ }
24
+ encode(src, b, offset) {
25
+ return this.layout.encode(this.encoder(src), b, offset);
26
+ }
27
+ getSpan(b, offset) {
28
+ return this.layout.getSpan(b, offset);
29
+ }
30
+ }
31
+ class COptionLayout extends Layout {
32
+ constructor(layout, property) {
33
+ super(-1, property);
34
+ this.layout = layout;
35
+ this.discriminator = BufferLayout.u32();
36
+ }
37
+ encode(src, b, offset = 0) {
38
+ if (src === null || src === undefined) {
39
+ return this.layout.span + this.discriminator.encode(0, b, offset);
40
+ }
41
+ this.discriminator.encode(1, b, offset);
42
+ return this.layout.encode(src, b, offset + 4) + 4;
43
+ }
44
+ decode(b, offset = 0) {
45
+ const discriminator = this.discriminator.decode(b, offset);
46
+ if (discriminator === 0) {
47
+ return null;
48
+ }
49
+ else if (discriminator === 1) {
50
+ return this.layout.decode(b, offset + 4);
51
+ }
52
+ throw new Error("Invalid coption " + this.layout.property);
53
+ }
54
+ getSpan(b, offset = 0) {
55
+ return this.layout.getSpan(b, offset + 4) + 4;
56
+ }
57
+ }
58
+ class u64 extends BN {
59
+ /**
60
+ * Convert to Buffer representation
61
+ */
62
+ toBuffer() {
63
+ const a = super.toArray().reverse();
64
+ const b = Buffer.from(a);
65
+ if (b.length === 8) {
66
+ return b;
67
+ }
68
+ if (b.length >= 8) {
69
+ throw new Error("u64 too large");
70
+ }
71
+ const zeroPad = Buffer.alloc(8);
72
+ b.copy(zeroPad);
73
+ return zeroPad;
74
+ }
75
+ /**
76
+ * Construct a u64 from Buffer representation
77
+ */
78
+ static fromBuffer(buffer) {
79
+ if (buffer.length !== 8) {
80
+ throw new Error(`Invalid buffer length: ${buffer.length}`);
81
+ }
82
+ return new u64([...buffer]
83
+ .reverse()
84
+ .map((i) => `00${i.toString(16)}`.slice(-2))
85
+ .join(""), 16);
86
+ }
87
+ }
88
+ const TOKEN_ACCOUNT_LAYOUT = BufferLayout.struct([
89
+ publicKey("mint"),
90
+ publicKey("owner"),
91
+ uint64("amount"),
92
+ coption(publicKey(), "delegate"),
93
+ ((p) => {
94
+ const U = BufferLayout.union(BufferLayout.u8("discriminator"), null, p);
95
+ U.addVariant(0, BufferLayout.struct([]), "uninitialized");
96
+ U.addVariant(1, BufferLayout.struct([]), "initialized");
97
+ U.addVariant(2, BufferLayout.struct([]), "frozen");
98
+ return U;
99
+ })("state"),
100
+ coption(uint64(), "isNative"),
101
+ uint64("delegatedAmount"),
102
+ coption(publicKey(), "closeAuthority"),
103
+ ]);
104
+ export function decodeTokenAccount(b) {
105
+ return TOKEN_ACCOUNT_LAYOUT.decode(b);
106
+ }
107
+ //# sourceMappingURL=token-account-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-account-layout.js","sourceRoot":"","sources":["../../../src/program/token-account-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,SAAS,MAAM,CAAC,QAAiB;IAC/B,OAAO,IAAI,aAAa,CACtB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EACpB,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAChC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EACxB,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,QAAiB;IAClC,OAAO,IAAI,aAAa,CACtB,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EACrB,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAC/B,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,EAClC,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAI,MAAiB,EAAE,QAAiB;IACtD,OAAO,IAAI,aAAa,CAAI,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,aAAoB,SAAQ,MAAS;IAKzC,YACE,MAAiB,EACjB,OAAuB,EACvB,OAAsB,EACtB,QAAiB;QAEjB,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,MAAe;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,GAAM,EAAE,CAAS,EAAE,MAAe;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,CAAS,EAAE,MAAe;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,aAAiB,SAAQ,MAAgB;IAI7C,YAAY,MAAiB,EAAE,QAAiB;QAC9C,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAa,EAAE,CAAS,EAAE,MAAM,GAAG,CAAC;QACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,MAAM,GAAG,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,CAAS,EAAE,MAAM,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,GAAI,SAAQ,EAAE;IAClB;;OAEG;IACH,QAAQ;QACN,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAc;QAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,GAAG,CACZ,CAAC,GAAG,MAAM,CAAC;aACR,OAAO,EAAE;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,EACX,EAAE,CACH,CAAC;IACJ,CAAC;CACF;AAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/C,SAAS,CAAC,MAAM,CAAC;IACjB,SAAS,CAAC,OAAO,CAAC;IAClB,MAAM,CAAC,QAAQ,CAAC;IAChB,OAAO,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC;IAChC,CAAC,CAAC,CAAS,EAAE,EAAE;QACb,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1D,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC,OAAO,CAAC;IACX,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC;IAC7B,MAAM,CAAC,iBAAiB,CAAC;IACzB,OAAO,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC"}