@gardenfi/swap 0.1.2 → 0.1.3-beta.1

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 (360) hide show
  1. package/dist/index104.cjs +1 -1
  2. package/dist/index104.js +4 -4
  3. package/dist/index106.cjs +1 -1
  4. package/dist/index106.js +1 -1
  5. package/dist/index107.cjs +1 -1
  6. package/dist/index107.js +1 -1
  7. package/dist/index108.cjs +1 -1
  8. package/dist/index108.js +1 -1
  9. package/dist/index116.cjs +1 -1
  10. package/dist/index116.js +1 -1
  11. package/dist/index117.cjs +1 -1
  12. package/dist/index117.js +1 -1
  13. package/dist/index120.cjs +1 -1
  14. package/dist/index120.js +2 -2
  15. package/dist/index121.cjs +1 -1
  16. package/dist/index121.js +8 -8
  17. package/dist/index126.cjs +1 -1
  18. package/dist/index126.js +4 -4
  19. package/dist/index128.cjs +1 -1
  20. package/dist/index128.js +2 -2
  21. package/dist/index129.cjs +1 -1
  22. package/dist/index129.js +2 -2
  23. package/dist/index130.cjs +1 -1
  24. package/dist/index130.js +3 -3
  25. package/dist/index131.cjs +1 -1
  26. package/dist/index131.js +1 -1
  27. package/dist/index132.cjs +1 -1
  28. package/dist/index132.js +1 -1
  29. package/dist/index133.cjs +1 -1
  30. package/dist/index133.js +2 -2
  31. package/dist/index134.cjs +1 -1
  32. package/dist/index134.js +2 -2
  33. package/dist/index135.cjs +1 -1
  34. package/dist/index135.js +1 -1
  35. package/dist/index138.cjs +1 -1
  36. package/dist/index138.js +1 -1
  37. package/dist/index141.cjs +1 -1
  38. package/dist/index141.js +1 -1
  39. package/dist/index143.cjs +1 -1
  40. package/dist/index143.js +1 -1
  41. package/dist/index145.cjs +1 -1
  42. package/dist/index145.js +1 -1
  43. package/dist/index149.cjs +1 -1
  44. package/dist/index149.js +1 -1
  45. package/dist/index150.cjs +1 -1
  46. package/dist/index150.js +1 -1
  47. package/dist/index151.cjs +1 -1
  48. package/dist/index151.js +1 -1
  49. package/dist/index153.cjs +1 -1
  50. package/dist/index153.js +2 -2
  51. package/dist/index154.cjs +1 -1
  52. package/dist/index154.js +1 -1
  53. package/dist/index155.cjs +1 -1
  54. package/dist/index155.js +1 -1
  55. package/dist/index156.cjs +1 -1
  56. package/dist/index156.js +1 -1
  57. package/dist/index158.cjs +1 -1
  58. package/dist/index158.js +1 -1
  59. package/dist/index160.cjs +1 -1
  60. package/dist/index160.js +2 -2
  61. package/dist/index161.cjs +1 -1
  62. package/dist/index161.js +3 -3
  63. package/dist/index167.cjs +1 -1
  64. package/dist/index167.js +2 -2
  65. package/dist/index168.cjs +1 -1
  66. package/dist/index168.js +2 -2
  67. package/dist/index169.cjs +1 -1
  68. package/dist/index169.js +2 -2
  69. package/dist/index170.cjs +1 -1
  70. package/dist/index170.js +3 -3
  71. package/dist/index171.cjs +1 -1
  72. package/dist/index171.js +3 -3
  73. package/dist/index172.cjs +1 -1
  74. package/dist/index172.js +2 -2
  75. package/dist/index176.cjs +1 -1
  76. package/dist/index176.js +1 -1
  77. package/dist/index178.cjs +1 -1
  78. package/dist/index178.js +1 -1
  79. package/dist/index18.cjs +1 -1
  80. package/dist/index18.js +3 -3
  81. package/dist/index181.cjs +1 -1
  82. package/dist/index181.js +1 -1
  83. package/dist/index187.cjs +1 -1
  84. package/dist/index187.js +1 -1
  85. package/dist/index19.cjs +1 -1
  86. package/dist/index19.js +15 -15
  87. package/dist/index195.cjs +1 -1
  88. package/dist/index195.js +1 -1
  89. package/dist/index20.cjs +1 -1
  90. package/dist/index20.js +2 -2
  91. package/dist/index21.cjs +1 -1
  92. package/dist/index21.js +4 -4
  93. package/dist/index210.cjs +1 -1
  94. package/dist/index210.js +3 -3
  95. package/dist/index212.cjs +1 -1
  96. package/dist/index212.js +1 -1
  97. package/dist/index213.cjs +1 -1
  98. package/dist/index213.js +3 -3
  99. package/dist/index214.cjs +1 -1
  100. package/dist/index214.js +1 -1
  101. package/dist/index215.cjs +1 -1
  102. package/dist/index215.js +6 -6
  103. package/dist/index217.cjs +1 -1
  104. package/dist/index217.js +1 -1
  105. package/dist/index224.cjs +1 -1
  106. package/dist/index224.js +1 -1
  107. package/dist/index226.cjs +1 -1
  108. package/dist/index226.js +1 -1
  109. package/dist/index231.cjs +1 -1
  110. package/dist/index231.js +1 -1
  111. package/dist/index232.cjs +1 -1
  112. package/dist/index232.js +1 -1
  113. package/dist/index234.cjs +1 -1
  114. package/dist/index234.js +1 -1
  115. package/dist/index237.cjs +1 -1
  116. package/dist/index237.js +2 -2
  117. package/dist/index24.cjs +1 -1
  118. package/dist/index24.js +2 -2
  119. package/dist/index240.cjs +1 -1
  120. package/dist/index240.js +1 -1
  121. package/dist/index242.cjs +1 -1
  122. package/dist/index242.js +1 -1
  123. package/dist/index243.cjs +1 -1
  124. package/dist/index243.js +1 -1
  125. package/dist/index245.cjs +1 -1
  126. package/dist/index245.js +2 -2
  127. package/dist/index255.cjs +1 -1
  128. package/dist/index255.js +3 -3
  129. package/dist/index256.cjs +1 -1
  130. package/dist/index256.js +2 -2
  131. package/dist/index257.cjs +1 -1
  132. package/dist/index257.js +4 -4
  133. package/dist/index259.cjs +1 -1
  134. package/dist/index259.js +2 -2
  135. package/dist/index261.cjs +1 -1
  136. package/dist/index261.js +2 -2
  137. package/dist/index262.cjs +1 -1
  138. package/dist/index262.js +4 -4
  139. package/dist/index265.cjs +1 -1
  140. package/dist/index265.js +2 -2
  141. package/dist/index266.cjs +1 -1
  142. package/dist/index266.js +2 -2
  143. package/dist/index275.cjs +1 -1
  144. package/dist/index275.js +3 -3
  145. package/dist/index278.cjs +1 -1
  146. package/dist/index278.js +1 -1
  147. package/dist/index29.cjs +1 -1
  148. package/dist/index29.js +1 -1
  149. package/dist/index299.cjs +1 -1
  150. package/dist/index299.js +41 -36
  151. package/dist/index30.cjs +1 -1
  152. package/dist/index30.js +2 -2
  153. package/dist/index300.cjs +1 -1
  154. package/dist/index300.js +320 -15
  155. package/dist/index301.cjs +1 -1
  156. package/dist/index301.js +604 -7
  157. package/dist/index302.cjs +1 -1
  158. package/dist/index302.js +110 -8
  159. package/dist/index303.cjs +1 -1
  160. package/dist/index303.js +167 -42
  161. package/dist/index304.cjs +1 -1
  162. package/dist/index304.js +291 -310
  163. package/dist/index305.cjs +1 -1
  164. package/dist/index305.js +94 -606
  165. package/dist/index306.cjs +1 -1
  166. package/dist/index306.js +44 -97
  167. package/dist/index307.cjs +1 -1
  168. package/dist/index307.js +52 -166
  169. package/dist/index308.cjs +1 -1
  170. package/dist/index308.js +41 -298
  171. package/dist/index309.cjs +1 -1
  172. package/dist/index309.js +15 -93
  173. package/dist/index310.cjs +1 -1
  174. package/dist/index310.js +310 -49
  175. package/dist/index311.cjs +1 -1
  176. package/dist/index311.js +57 -51
  177. package/dist/index312.cjs +1 -1
  178. package/dist/index312.js +18 -43
  179. package/dist/index313.cjs +1 -1
  180. package/dist/index313.js +28 -14
  181. package/dist/index314.cjs +1 -1
  182. package/dist/index314.js +3 -317
  183. package/dist/index315.cjs +7 -1
  184. package/dist/index315.js +232 -54
  185. package/dist/index316.cjs +1 -1
  186. package/dist/index316.js +47 -19
  187. package/dist/index317.cjs +1 -1
  188. package/dist/index317.js +208 -25
  189. package/dist/index318.cjs +1 -1
  190. package/dist/index318.js +81 -3
  191. package/dist/index319.cjs +1 -7
  192. package/dist/index319.js +27 -235
  193. package/dist/index320.cjs +1 -1
  194. package/dist/index320.js +77 -48
  195. package/dist/index321.cjs +1 -1
  196. package/dist/index321.js +34 -209
  197. package/dist/index322.cjs +1 -1
  198. package/dist/index322.js +14 -80
  199. package/dist/index323.cjs +1 -1
  200. package/dist/index323.js +8 -29
  201. package/dist/index324.cjs +1 -1
  202. package/dist/index324.js +7 -76
  203. package/dist/index326.cjs +1 -1
  204. package/dist/index326.js +1 -1
  205. package/dist/index327.cjs +1 -1
  206. package/dist/index327.js +1 -1
  207. package/dist/index333.cjs +1 -1
  208. package/dist/index333.js +1 -1
  209. package/dist/index334.cjs +1 -1
  210. package/dist/index334.js +1 -1
  211. package/dist/index336.cjs +1 -1
  212. package/dist/index336.js +1 -1
  213. package/dist/index349.cjs +2 -1
  214. package/dist/index349.js +193 -4
  215. package/dist/index350.cjs +1 -2
  216. package/dist/index350.js +52 -168
  217. package/dist/index351.cjs +1 -1
  218. package/dist/index351.js +331 -65
  219. package/dist/index352.cjs +1 -1
  220. package/dist/index352.js +149 -332
  221. package/dist/index353.cjs +1 -1
  222. package/dist/index353.js +5 -161
  223. package/dist/index354.cjs +1 -1
  224. package/dist/index354.js +5 -5
  225. package/dist/index356.cjs +1 -1
  226. package/dist/index356.js +3 -3
  227. package/dist/index363.cjs +1 -1
  228. package/dist/index363.js +1 -1
  229. package/dist/index364.cjs +1 -1
  230. package/dist/index364.js +1 -1
  231. package/dist/index365.cjs +1 -1
  232. package/dist/index365.js +1 -1
  233. package/dist/index366.cjs +1 -1
  234. package/dist/index366.js +1 -1
  235. package/dist/index368.cjs +1 -1
  236. package/dist/index368.js +275 -3
  237. package/dist/index369.cjs +1 -1
  238. package/dist/index369.js +170 -140
  239. package/dist/index370.cjs +1 -1
  240. package/dist/index370.js +10 -276
  241. package/dist/index371.cjs +1 -1
  242. package/dist/index371.js +107 -170
  243. package/dist/index372.cjs +1 -1
  244. package/dist/index372.js +10 -10
  245. package/dist/index373.cjs +1 -1
  246. package/dist/index373.js +3 -107
  247. package/dist/index374.cjs +1 -1
  248. package/dist/index374.js +140 -9
  249. package/dist/index381.cjs +1 -1
  250. package/dist/index381.js +22 -2
  251. package/dist/index382.cjs +1 -1
  252. package/dist/index382.js +2 -22
  253. package/dist/index385.cjs +1 -1
  254. package/dist/index385.js +1 -1
  255. package/dist/index39.cjs +1 -1
  256. package/dist/index39.js +24 -83
  257. package/dist/index40.cjs +1 -1
  258. package/dist/index40.js +15 -11
  259. package/dist/index41.cjs +1 -1
  260. package/dist/index41.js +103 -24
  261. package/dist/index42.cjs +1 -1
  262. package/dist/index42.js +12 -18
  263. package/dist/index43.cjs +1 -1
  264. package/dist/index43.js +58 -107
  265. package/dist/index44.cjs +1 -1
  266. package/dist/index44.js +522 -12
  267. package/dist/index45.cjs +1 -1
  268. package/dist/index45.js +30 -59
  269. package/dist/index46.cjs +1 -1
  270. package/dist/index46.js +26 -522
  271. package/dist/index47.cjs +1 -1
  272. package/dist/index47.js +12 -16
  273. package/dist/index48.cjs +1 -1
  274. package/dist/index48.js +34 -11
  275. package/dist/index49.cjs +1 -1
  276. package/dist/index49.js +16 -14
  277. package/dist/index50.cjs +1 -1
  278. package/dist/index50.js +16 -37
  279. package/dist/index51.cjs +1 -1
  280. package/dist/index51.js +17 -14
  281. package/dist/index52.cjs +1 -1
  282. package/dist/index52.js +19 -17
  283. package/dist/index53.cjs +1 -1
  284. package/dist/index53.js +42 -17
  285. package/dist/index54.cjs +1 -1
  286. package/dist/index54.js +39 -15
  287. package/dist/index55.cjs +1 -1
  288. package/dist/index55.js +29 -49
  289. package/dist/index56.cjs +1 -1
  290. package/dist/index56.js +29 -46
  291. package/dist/index57.cjs +1 -1
  292. package/dist/index57.js +19 -25
  293. package/dist/index58.cjs +1 -1
  294. package/dist/index58.js +18 -27
  295. package/dist/index59.cjs +1 -1
  296. package/dist/index59.js +14 -16
  297. package/dist/index60.cjs +1 -1
  298. package/dist/index60.js +15 -28
  299. package/dist/index61.cjs +1 -1
  300. package/dist/index61.js +14 -28
  301. package/dist/index62.cjs +1 -1
  302. package/dist/index62.js +86 -13
  303. package/dist/index63.cjs +1 -1
  304. package/dist/index63.js +13 -13
  305. package/dist/index70.cjs +1 -1
  306. package/dist/index70.js +6 -6
  307. package/dist/index71.cjs +1 -1
  308. package/dist/index71.js +3 -3
  309. package/dist/index72.cjs +1 -1
  310. package/dist/index72.js +1 -1
  311. package/dist/index73.cjs +1 -1
  312. package/dist/index73.js +1 -1
  313. package/dist/index74.cjs +1 -1
  314. package/dist/index74.js +2 -2
  315. package/dist/index75.cjs +1 -1
  316. package/dist/index75.js +728 -20
  317. package/dist/index76.cjs +1 -1
  318. package/dist/index76.js +482 -688
  319. package/dist/index77.cjs +1 -1
  320. package/dist/index77.js +18 -520
  321. package/dist/index78.cjs +1 -1
  322. package/dist/index78.js +19 -11
  323. package/dist/index79.cjs +1 -1
  324. package/dist/index79.js +30 -11
  325. package/dist/index80.cjs +1 -1
  326. package/dist/index80.js +24 -16
  327. package/dist/index81.cjs +1 -1
  328. package/dist/index81.js +4 -45
  329. package/dist/index82.cjs +1 -1
  330. package/dist/index82.js +6 -42
  331. package/dist/index83.cjs +1 -1
  332. package/dist/index83.js +16 -171
  333. package/dist/index84.cjs +1 -1
  334. package/dist/index84.js +12 -20
  335. package/dist/index85.cjs +1 -1
  336. package/dist/index85.js +8 -26
  337. package/dist/index86.cjs +1 -1
  338. package/dist/index86.js +11 -26
  339. package/dist/index87.cjs +1 -1
  340. package/dist/index87.js +17 -3
  341. package/dist/index88.cjs +1 -1
  342. package/dist/index88.js +45 -6
  343. package/dist/index89.cjs +1 -1
  344. package/dist/index89.js +42 -16
  345. package/dist/index90.cjs +1 -1
  346. package/dist/index90.js +171 -12
  347. package/dist/index91.cjs +1 -1
  348. package/dist/index91.js +1 -1
  349. package/dist/index92.cjs +1 -1
  350. package/dist/index92.js +3 -3
  351. package/dist/index95.cjs +1 -1
  352. package/dist/index95.js +1 -1
  353. package/dist/index96.cjs +1 -1
  354. package/dist/index96.js +1 -1
  355. package/dist/index97.cjs +1 -1
  356. package/dist/index97.js +2 -2
  357. package/dist/index98.cjs +1 -1
  358. package/dist/index98.js +2 -2
  359. package/dist/src/lib/store/swapStore.d.ts +1 -1
  360. package/package.json +4 -4
package/dist/index76.js CHANGED
@@ -1,730 +1,524 @@
1
- import { fromBase58 as u } from "./index113.js";
2
- import { toBase64 as d } from "./index114.js";
3
- import { toHex as y } from "./index115.js";
4
- import { Experimental_BaseClient as k } from "./index116.js";
5
- import { isTransaction as f } from "./index77.js";
6
- import { isValidSuiAddress as n, normalizeSuiAddress as c, isValidSuiObjectId as m, normalizeSuiObjectId as g, isValidTransactionDigest as w } from "./index117.js";
7
- import { normalizeSuiNSName as M } from "./index118.js";
8
- import { JsonRpcHTTPTransport as S } from "./index109.js";
9
- import { isValidNamedPackage as i } from "./index119.js";
10
- import { hasMvrName as l } from "./index120.js";
11
- import { JSONRpcCoreClient as b } from "./index121.js";
12
- const _ = Symbol.for("@mysten/SuiClient");
13
- class j extends k {
14
- /**
15
- * Establish a connection to a Sui RPC endpoint
16
- *
17
- * @param options configuration options for the API Client
18
- */
19
- constructor(e) {
20
- super({ network: e.network ?? "unknown" }), this.jsonRpc = this, this.transport = e.transport ?? new S({ url: e.url }), this.core = new b({
21
- jsonRpcClient: this,
22
- mvr: e.mvr
23
- });
24
- }
25
- get [_]() {
26
- return !0;
1
+ import { fromBase64 as F } from "./index114.js";
2
+ import { isSerializedBcs as q } from "./index300.js";
3
+ import { parse as P, is as U } from "./index301.js";
4
+ import { normalizeSuiAddress as et } from "./index117.js";
5
+ import { Commands as S } from "./index302.js";
6
+ import { ArgumentSchema as x, TransactionExpiration as nt, ObjectRefSchema as st, NormalizedCallArg as K } from "./index303.js";
7
+ import { serializeV1TransactionData as J } from "./index304.js";
8
+ import { SerializedTransactionDataV2Schema as it } from "./index305.js";
9
+ import { Inputs as $ } from "./index306.js";
10
+ import { needsTransactionResolution as rt, resolveTransactionPlugin as at } from "./index307.js";
11
+ import { createObjectMethods as ot } from "./index308.js";
12
+ import { createPure as lt } from "./index309.js";
13
+ import { TransactionDataBuilder as T } from "./index310.js";
14
+ import { getIdFromCallArg as V } from "./index311.js";
15
+ import { namedPackagesPlugin as ut } from "./index312.js";
16
+ var H = (s) => {
17
+ throw TypeError(s);
18
+ }, z = (s, t, e) => t.has(s) || H("Cannot " + e), n = (s, t, e) => (z(s, t, "read from private field"), e ? e.call(s) : t.get(s)), w = (s, t, e) => t.has(s) ? H("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, e), u = (s, t, e, r) => (z(s, t, "write to private field"), t.set(s, e), e), d = (s, t, e) => (z(s, t, "access private method"), e), I, k, y, b, p, m, g, R, i, c, L, j, O, N, C, A, G, Q, X;
19
+ function v(s, t = 1 / 0) {
20
+ const e = {
21
+ $kind: "Result",
22
+ get Result() {
23
+ return typeof s == "function" ? s() : s;
24
+ }
25
+ }, r = [], a = (o) => r[o] ?? (r[o] = {
26
+ $kind: "NestedResult",
27
+ get NestedResult() {
28
+ return [typeof s == "function" ? s() : s, o];
29
+ }
30
+ });
31
+ return new Proxy(e, {
32
+ set() {
33
+ throw new Error(
34
+ "The transaction result is a proxy, and does not support setting properties directly"
35
+ );
36
+ },
37
+ // TODO: Instead of making this return a concrete argument, we should ideally
38
+ // make it reference-based (so that this gets resolved at build-time), which
39
+ // allows re-ordering transactions.
40
+ get(o, f) {
41
+ if (f in o)
42
+ return Reflect.get(o, f);
43
+ if (f === Symbol.iterator)
44
+ return function* () {
45
+ let h = 0;
46
+ for (; h < t; )
47
+ yield a(h), h++;
48
+ };
49
+ if (typeof f == "symbol") return;
50
+ const l = parseInt(f, 10);
51
+ if (!(Number.isNaN(l) || l < 0))
52
+ return a(l);
53
+ }
54
+ });
55
+ }
56
+ const Z = Symbol.for("@mysten/transaction");
57
+ function ht(s) {
58
+ return !!s && typeof s == "object" && s[Z] === !0;
59
+ }
60
+ const Y = {
61
+ buildPlugins: /* @__PURE__ */ new Map(),
62
+ serializationPlugins: /* @__PURE__ */ new Map()
63
+ }, M = Symbol.for("@mysten/transaction/registry");
64
+ function _() {
65
+ try {
66
+ const s = globalThis;
67
+ return s[M] || (s[M] = Y), s[M];
68
+ } catch {
69
+ return Y;
27
70
  }
28
- async getRpcApiVersion({ signal: e } = {}) {
29
- return (await this.transport.request({
30
- method: "rpc.discover",
31
- params: [],
32
- signal: e
33
- })).info.version;
71
+ }
72
+ const tt = class E {
73
+ constructor() {
74
+ w(this, c), w(this, I), w(this, k), w(this, y, /* @__PURE__ */ new Map()), w(this, b, []), w(this, p, []), w(this, m, /* @__PURE__ */ new Set()), w(this, g, /* @__PURE__ */ new Set()), w(this, R, /* @__PURE__ */ new Map()), w(this, i), this.object = ot(
75
+ (e) => {
76
+ var o, f;
77
+ if (typeof e == "function")
78
+ return this.object(this.add(e));
79
+ if (typeof e == "object" && U(x, e))
80
+ return e;
81
+ const r = V(e), a = n(this, i).inputs.find((l) => r === V(l));
82
+ return (o = a == null ? void 0 : a.Object) != null && o.SharedObject && typeof e == "object" && ((f = e.Object) != null && f.SharedObject) && (a.Object.SharedObject.mutable = a.Object.SharedObject.mutable || e.Object.SharedObject.mutable), a ? { $kind: "Input", Input: n(this, i).inputs.indexOf(a), type: "object" } : d(this, c, O).call(this, "object", typeof e == "string" ? {
83
+ $kind: "UnresolvedObject",
84
+ UnresolvedObject: { objectId: et(e) }
85
+ } : e);
86
+ }
87
+ );
88
+ const t = _();
89
+ u(this, i, new T()), u(this, k, [...t.buildPlugins.values()]), u(this, I, [...t.serializationPlugins.values()]);
34
90
  }
35
91
  /**
36
- * Get all Coin<`coin_type`> objects owned by an address.
92
+ * Converts from a serialize transaction kind (built with `build({ onlyTransactionKind: true })`) to a `Transaction` class.
93
+ * Supports either a byte array, or base64-encoded bytes.
37
94
  */
38
- async getCoins({
39
- coinType: e,
40
- owner: a,
41
- cursor: s,
42
- limit: t,
43
- signal: r
44
- }) {
45
- if (!a || !n(c(a)))
46
- throw new Error("Invalid Sui address");
47
- return e && l(e) && (e = (await this.core.mvr.resolveType({
48
- type: e
49
- })).type), await this.transport.request({
50
- method: "suix_getCoins",
51
- params: [a, e, s, t],
52
- signal: r
53
- });
95
+ static fromKind(t) {
96
+ const e = new E();
97
+ return u(e, i, T.fromKindBytes(
98
+ typeof t == "string" ? F(t) : t
99
+ )), u(e, b, n(e, i).inputs.slice()), u(e, p, n(e, i).commands.slice()), u(e, m, new Set(n(e, p).map((r, a) => a))), e;
54
100
  }
55
101
  /**
56
- * Get all Coin objects owned by an address.
102
+ * Converts from a serialized transaction format to a `Transaction` class.
103
+ * There are two supported serialized formats:
104
+ * - A string returned from `Transaction#serialize`. The serialized format must be compatible, or it will throw an error.
105
+ * - A byte array (or base64-encoded bytes) containing BCS transaction data.
57
106
  */
58
- async getAllCoins(e) {
59
- if (!e.owner || !n(c(e.owner)))
60
- throw new Error("Invalid Sui address");
61
- return await this.transport.request({
62
- method: "suix_getAllCoins",
63
- params: [e.owner, e.cursor, e.limit],
64
- signal: e.signal
65
- });
107
+ static from(t) {
108
+ const e = new E();
109
+ return ht(t) ? u(e, i, T.restore(
110
+ t.getData()
111
+ )) : typeof t != "string" || !t.startsWith("{") ? u(e, i, T.fromBytes(
112
+ typeof t == "string" ? F(t) : t
113
+ )) : u(e, i, T.restore(JSON.parse(t))), u(e, b, n(e, i).inputs.slice()), u(e, p, n(e, i).commands.slice()), u(e, m, new Set(n(e, p).map((r, a) => a))), e;
66
114
  }
67
- /**
68
- * Get the total coin balance for one coin type, owned by the address owner.
69
- */
70
- async getBalance({ owner: e, coinType: a, signal: s }) {
71
- if (!e || !n(c(e)))
72
- throw new Error("Invalid Sui address");
73
- return a && l(a) && (a = (await this.core.mvr.resolveType({
74
- type: a
75
- })).type), await this.transport.request({
76
- method: "suix_getBalance",
77
- params: [e, a],
78
- signal: s
79
- });
115
+ static registerGlobalSerializationPlugin(t, e) {
116
+ _().serializationPlugins.set(
117
+ t,
118
+ e ?? t
119
+ );
80
120
  }
81
- /**
82
- * Get the total coin balance for all coin types, owned by the address owner.
83
- */
84
- async getAllBalances(e) {
85
- if (!e.owner || !n(c(e.owner)))
86
- throw new Error("Invalid Sui address");
87
- return await this.transport.request({
88
- method: "suix_getAllBalances",
89
- params: [e.owner],
90
- signal: e.signal
91
- });
121
+ static unregisterGlobalSerializationPlugin(t) {
122
+ _().serializationPlugins.delete(t);
92
123
  }
93
- /**
94
- * Fetch CoinMetadata for a given coin type
95
- */
96
- async getCoinMetadata({ coinType: e, signal: a }) {
97
- return e && l(e) && (e = (await this.core.mvr.resolveType({
98
- type: e
99
- })).type), await this.transport.request({
100
- method: "suix_getCoinMetadata",
101
- params: [e],
102
- signal: a
103
- });
124
+ static registerGlobalBuildPlugin(t, e) {
125
+ _().buildPlugins.set(
126
+ t,
127
+ e ?? t
128
+ );
104
129
  }
105
- /**
106
- * Fetch total supply for a coin
107
- */
108
- async getTotalSupply({ coinType: e, signal: a }) {
109
- return e && l(e) && (e = (await this.core.mvr.resolveType({
110
- type: e
111
- })).type), await this.transport.request({
112
- method: "suix_getTotalSupply",
113
- params: [e],
114
- signal: a
115
- });
130
+ static unregisterGlobalBuildPlugin(t) {
131
+ _().buildPlugins.delete(t);
116
132
  }
117
- /**
118
- * Invoke any RPC method
119
- * @param method the method to be invoked
120
- * @param args the arguments to be passed to the RPC request
121
- */
122
- async call(e, a, { signal: s } = {}) {
123
- return await this.transport.request({ method: e, params: a, signal: s });
133
+ addSerializationPlugin(t) {
134
+ n(this, I).push(t);
124
135
  }
125
- /**
126
- * Get Move function argument types like read, write and full access
127
- */
128
- async getMoveFunctionArgTypes({
129
- package: e,
130
- module: a,
131
- function: s,
132
- signal: t
133
- }) {
134
- return e && i(e) && (e = (await this.core.mvr.resolvePackage({
135
- package: e
136
- })).package), await this.transport.request({
137
- method: "sui_getMoveFunctionArgTypes",
138
- params: [e, a, s],
139
- signal: t
140
- });
136
+ addBuildPlugin(t) {
137
+ n(this, k).push(t);
141
138
  }
142
- /**
143
- * Get a map from module name to
144
- * structured representations of Move modules
145
- */
146
- async getNormalizedMoveModulesByPackage({
147
- package: e,
148
- signal: a
149
- }) {
150
- return e && i(e) && (e = (await this.core.mvr.resolvePackage({
151
- package: e
152
- })).package), await this.transport.request({
153
- method: "sui_getNormalizedMoveModulesByPackage",
154
- params: [e],
155
- signal: a
156
- });
139
+ addIntentResolver(t, e) {
140
+ if (n(this, y).has(t) && n(this, y).get(t) !== e)
141
+ throw new Error(`Intent resolver for ${t} already exists`);
142
+ n(this, y).set(t, e);
157
143
  }
158
- /**
159
- * Get a structured representation of Move module
160
- */
161
- async getNormalizedMoveModule({
162
- package: e,
163
- module: a,
164
- signal: s
165
- }) {
166
- return e && i(e) && (e = (await this.core.mvr.resolvePackage({
167
- package: e
168
- })).package), await this.transport.request({
169
- method: "sui_getNormalizedMoveModule",
170
- params: [e, a],
171
- signal: s
172
- });
144
+ setSender(t) {
145
+ n(this, i).sender = t;
173
146
  }
174
147
  /**
175
- * Get a structured representation of Move function
148
+ * Sets the sender only if it has not already been set.
149
+ * This is useful for sponsored transaction flows where the sender may not be the same as the signer address.
176
150
  */
177
- async getNormalizedMoveFunction({
178
- package: e,
179
- module: a,
180
- function: s,
181
- signal: t
182
- }) {
183
- return e && i(e) && (e = (await this.core.mvr.resolvePackage({
184
- package: e
185
- })).package), await this.transport.request({
186
- method: "sui_getNormalizedMoveFunction",
187
- params: [e, a, s],
188
- signal: t
189
- });
151
+ setSenderIfNotSet(t) {
152
+ n(this, i).sender || (n(this, i).sender = t);
190
153
  }
191
- /**
192
- * Get a structured representation of Move struct
193
- */
194
- async getNormalizedMoveStruct({
195
- package: e,
196
- module: a,
197
- struct: s,
198
- signal: t
199
- }) {
200
- return e && i(e) && (e = (await this.core.mvr.resolvePackage({
201
- package: e
202
- })).package), await this.transport.request({
203
- method: "sui_getNormalizedMoveStruct",
204
- params: [e, a, s],
205
- signal: t
206
- });
154
+ setExpiration(t) {
155
+ n(this, i).expiration = t ? P(nt, t) : null;
207
156
  }
208
- /**
209
- * Get all objects owned by an address
210
- */
211
- async getOwnedObjects(e) {
212
- if (!e.owner || !n(c(e.owner)))
213
- throw new Error("Invalid Sui address");
214
- const a = e.filter ? {
215
- ...e.filter
216
- } : void 0;
217
- return a && "MoveModule" in a && i(a.MoveModule.package) ? a.MoveModule = {
218
- module: a.MoveModule.module,
219
- package: (await this.core.mvr.resolvePackage({
220
- package: a.MoveModule.package
221
- })).package
222
- } : a && "StructType" in a && l(a.StructType) && (a.StructType = (await this.core.mvr.resolveType({
223
- type: a.StructType
224
- })).type), await this.transport.request({
225
- method: "suix_getOwnedObjects",
226
- params: [
227
- e.owner,
228
- {
229
- filter: a,
230
- options: e.options
231
- },
232
- e.cursor,
233
- e.limit
234
- ],
235
- signal: e.signal
236
- });
157
+ setGasPrice(t) {
158
+ n(this, i).gasConfig.price = String(t);
237
159
  }
238
- /**
239
- * Get details about an object
240
- */
241
- async getObject(e) {
242
- if (!e.id || !m(g(e.id)))
243
- throw new Error("Invalid Sui Object id");
244
- return await this.transport.request({
245
- method: "sui_getObject",
246
- params: [e.id, e.options],
247
- signal: e.signal
248
- });
160
+ setGasBudget(t) {
161
+ n(this, i).gasConfig.budget = String(t);
249
162
  }
250
- async tryGetPastObject(e) {
251
- return await this.transport.request({
252
- method: "sui_tryGetPastObject",
253
- params: [e.id, e.version, e.options],
254
- signal: e.signal
255
- });
163
+ setGasBudgetIfNotSet(t) {
164
+ n(this, i).gasData.budget == null && (n(this, i).gasConfig.budget = String(t));
256
165
  }
257
- /**
258
- * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail
259
- */
260
- async multiGetObjects(e) {
261
- if (e.ids.forEach((s) => {
262
- if (!s || !m(g(s)))
263
- throw new Error(`Invalid Sui Object id ${s}`);
264
- }), e.ids.length !== new Set(e.ids).size)
265
- throw new Error(`Duplicate object ids in batch call ${e.ids}`);
266
- return await this.transport.request({
267
- method: "sui_multiGetObjects",
268
- params: [e.ids, e.options],
269
- signal: e.signal
270
- });
166
+ setGasOwner(t) {
167
+ n(this, i).gasConfig.owner = t;
271
168
  }
272
- /**
273
- * Get transaction blocks for a given query criteria
274
- */
275
- async queryTransactionBlocks({
276
- filter: e,
277
- options: a,
278
- cursor: s,
279
- limit: t,
280
- order: r,
281
- signal: o
282
- }) {
283
- return e && "MoveFunction" in e && i(e.MoveFunction.package) && (e = {
284
- ...e,
285
- MoveFunction: {
286
- package: (await this.core.mvr.resolvePackage({
287
- package: e.MoveFunction.package
288
- })).package
289
- }
290
- }), await this.transport.request({
291
- method: "suix_queryTransactionBlocks",
292
- params: [
293
- {
294
- filter: e,
295
- options: a
296
- },
297
- s,
298
- t,
299
- (r || "descending") === "descending"
300
- ],
301
- signal: o
302
- });
169
+ setGasPayment(t) {
170
+ n(this, i).gasConfig.payment = t.map((e) => P(st, e));
303
171
  }
304
- async getTransactionBlock(e) {
305
- if (!w(e.digest))
306
- throw new Error("Invalid Transaction digest");
307
- return await this.transport.request({
308
- method: "sui_getTransactionBlock",
309
- params: [e.digest, e.options],
310
- signal: e.signal
311
- });
172
+ /** @deprecated Use `getData()` instead. */
173
+ get blockData() {
174
+ return J(n(this, i).snapshot());
312
175
  }
313
- async multiGetTransactionBlocks(e) {
314
- if (e.digests.forEach((s) => {
315
- if (!w(s))
316
- throw new Error(`Invalid Transaction digest ${s}`);
317
- }), e.digests.length !== new Set(e.digests).size)
318
- throw new Error(`Duplicate digests in batch call ${e.digests}`);
319
- return await this.transport.request({
320
- method: "sui_multiGetTransactionBlocks",
321
- params: [e.digests, e.options],
322
- signal: e.signal
323
- });
176
+ /** Get a snapshot of the transaction data, in JSON form: */
177
+ getData() {
178
+ return n(this, i).snapshot();
324
179
  }
325
- async executeTransactionBlock({
326
- transactionBlock: e,
327
- signature: a,
328
- options: s,
329
- requestType: t,
330
- signal: r
331
- }) {
332
- const o = await this.transport.request({
333
- method: "sui_executeTransactionBlock",
334
- params: [
335
- typeof e == "string" ? e : d(e),
336
- Array.isArray(a) ? a : [a],
337
- s
338
- ],
339
- signal: r
340
- });
341
- if (t === "WaitForLocalExecution")
342
- try {
343
- await this.waitForTransaction({
344
- digest: o.digest
345
- });
346
- } catch {
347
- }
348
- return o;
180
+ // Used to brand transaction classes so that they can be identified, even between multiple copies
181
+ // of the builder.
182
+ get [Z]() {
183
+ return !0;
349
184
  }
350
- async signAndExecuteTransaction({
351
- transaction: e,
352
- signer: a,
353
- ...s
185
+ // Temporary workaround for the wallet interface accidentally serializing transactions via postMessage
186
+ get pure() {
187
+ return Object.defineProperty(this, "pure", {
188
+ enumerable: !1,
189
+ value: lt((t) => q(t) ? d(this, c, O).call(this, "pure", {
190
+ $kind: "Pure",
191
+ Pure: {
192
+ bytes: t.toBase64()
193
+ }
194
+ }) : d(this, c, O).call(this, "pure", U(K, t) ? P(K, t) : t instanceof Uint8Array ? $.Pure(t) : { $kind: "UnresolvedPure", UnresolvedPure: { value: t } }))
195
+ }), this.pure;
196
+ }
197
+ /** Returns an argument for the gas coin, to be used in a transaction. */
198
+ get gas() {
199
+ return { $kind: "GasCoin", GasCoin: !0 };
200
+ }
201
+ /**
202
+ * Add a new object input to the transaction using the fully-resolved object reference.
203
+ * If you only have an object ID, use `builder.object(id)` instead.
204
+ */
205
+ objectRef(...t) {
206
+ return this.object($.ObjectRef(...t));
207
+ }
208
+ /**
209
+ * Add a new receiving input to the transaction using the fully-resolved object reference.
210
+ * If you only have an object ID, use `builder.object(id)` instead.
211
+ */
212
+ receivingRef(...t) {
213
+ return this.object($.ReceivingRef(...t));
214
+ }
215
+ /**
216
+ * Add a new shared object input to the transaction using the fully-resolved shared object reference.
217
+ * If you only have an object ID, use `builder.object(id)` instead.
218
+ */
219
+ sharedObjectRef(...t) {
220
+ return this.object($.SharedObjectRef(...t));
221
+ }
222
+ add(t) {
223
+ if (typeof t == "function") {
224
+ if (n(this, R).has(t))
225
+ return n(this, R).get(t);
226
+ const e = d(this, c, L).call(this), r = t(e);
227
+ if (!(r && typeof r == "object" && "then" in r))
228
+ return u(this, m, n(e, m)), n(this, R).set(t, r), r;
229
+ const a = d(this, c, j).call(this, {
230
+ $kind: "$Intent",
231
+ $Intent: {
232
+ name: "AsyncTransactionThunk",
233
+ inputs: {},
234
+ data: {
235
+ resultIndex: n(this, i).commands.length,
236
+ result: null
237
+ }
238
+ }
239
+ });
240
+ n(this, g).add(
241
+ Promise.resolve(r).then((f) => {
242
+ a.$Intent.data.result = f;
243
+ })
244
+ );
245
+ const o = v(() => a.$Intent.data.resultIndex);
246
+ return n(this, R).set(t, o), o;
247
+ } else
248
+ d(this, c, j).call(this, t);
249
+ return v(n(this, i).commands.length - 1);
250
+ }
251
+ // Method shorthands:
252
+ splitCoins(t, e) {
253
+ const r = S.SplitCoins(
254
+ typeof t == "string" ? this.object(t) : d(this, c, C).call(this, t),
255
+ e.map(
256
+ (a) => typeof a == "number" || typeof a == "bigint" || typeof a == "string" ? this.pure.u64(a) : d(this, c, N).call(this, a)
257
+ )
258
+ );
259
+ return d(this, c, j).call(this, r), v(n(this, i).commands.length - 1, e.length);
260
+ }
261
+ mergeCoins(t, e) {
262
+ return this.add(
263
+ S.MergeCoins(
264
+ this.object(t),
265
+ e.map((r) => this.object(r))
266
+ )
267
+ );
268
+ }
269
+ publish({ modules: t, dependencies: e }) {
270
+ return this.add(
271
+ S.Publish({
272
+ modules: t,
273
+ dependencies: e
274
+ })
275
+ );
276
+ }
277
+ upgrade({
278
+ modules: t,
279
+ dependencies: e,
280
+ package: r,
281
+ ticket: a
354
282
  }) {
355
- let t;
356
- e instanceof Uint8Array ? t = e : (e.setSenderIfNotSet(a.toSuiAddress()), t = await e.build({ client: this }));
357
- const { signature: r, bytes: o } = await a.signTransaction(t);
358
- return this.executeTransactionBlock({
359
- transactionBlock: o,
360
- signature: r,
361
- ...s
362
- });
363
- }
364
- /**
365
- * Get total number of transactions
366
- */
367
- async getTotalTransactionBlocks({ signal: e } = {}) {
368
- const a = await this.transport.request({
369
- method: "sui_getTotalTransactionBlocks",
370
- params: [],
371
- signal: e
372
- });
373
- return BigInt(a);
374
- }
375
- /**
376
- * Getting the reference gas price for the network
377
- */
378
- async getReferenceGasPrice({ signal: e } = {}) {
379
- const a = await this.transport.request({
380
- method: "suix_getReferenceGasPrice",
381
- params: [],
382
- signal: e
383
- });
384
- return BigInt(a);
385
- }
386
- /**
387
- * Return the delegated stakes for an address
388
- */
389
- async getStakes(e) {
390
- if (!e.owner || !n(c(e.owner)))
391
- throw new Error("Invalid Sui address");
392
- return await this.transport.request({
393
- method: "suix_getStakes",
394
- params: [e.owner],
395
- signal: e.signal
396
- });
397
- }
398
- /**
399
- * Return the delegated stakes queried by id.
400
- */
401
- async getStakesByIds(e) {
402
- return e.stakedSuiIds.forEach((a) => {
403
- if (!a || !m(g(a)))
404
- throw new Error(`Invalid Sui Stake id ${a}`);
405
- }), await this.transport.request({
406
- method: "suix_getStakesByIds",
407
- params: [e.stakedSuiIds],
408
- signal: e.signal
409
- });
410
- }
411
- /**
412
- * Return the latest system state content.
413
- */
414
- async getLatestSuiSystemState({
415
- signal: e
416
- } = {}) {
417
- return await this.transport.request({
418
- method: "suix_getLatestSuiSystemState",
419
- params: [],
420
- signal: e
421
- });
422
- }
423
- /**
424
- * Get events for a given query criteria
425
- */
426
- async queryEvents({
427
- query: e,
428
- cursor: a,
429
- limit: s,
430
- order: t,
431
- signal: r
283
+ return this.add(
284
+ S.Upgrade({
285
+ modules: t,
286
+ dependencies: e,
287
+ package: r,
288
+ ticket: this.object(a)
289
+ })
290
+ );
291
+ }
292
+ moveCall({
293
+ arguments: t,
294
+ ...e
432
295
  }) {
433
- return e && "MoveEventType" in e && l(e.MoveEventType) && (e = {
434
- ...e,
435
- MoveEventType: (await this.core.mvr.resolveType({
436
- type: e.MoveEventType
437
- })).type
438
- }), e && "MoveEventModule" in e && i(e.MoveEventModule.package) && (e = {
439
- ...e,
440
- MoveEventModule: {
441
- module: e.MoveEventModule.module,
442
- package: (await this.core.mvr.resolvePackage({
443
- package: e.MoveEventModule.package
444
- })).package
445
- }
446
- }), "MoveModule" in e && i(e.MoveModule.package) && (e = {
447
- ...e,
448
- MoveModule: {
449
- module: e.MoveModule.module,
450
- package: (await this.core.mvr.resolvePackage({
451
- package: e.MoveModule.package
452
- })).package
453
- }
454
- }), await this.transport.request({
455
- method: "suix_queryEvents",
456
- params: [e, a, s, (t || "descending") === "descending"],
457
- signal: r
458
- });
459
- }
460
- /**
461
- * Subscribe to get notifications whenever an event matching the filter occurs
296
+ return this.add(
297
+ S.MoveCall({
298
+ ...e,
299
+ arguments: t == null ? void 0 : t.map((r) => d(this, c, N).call(this, r))
300
+ })
301
+ );
302
+ }
303
+ transferObjects(t, e) {
304
+ return this.add(
305
+ S.TransferObjects(
306
+ t.map((r) => this.object(r)),
307
+ typeof e == "string" ? this.pure.address(e) : d(this, c, N).call(this, e)
308
+ )
309
+ );
310
+ }
311
+ makeMoveVec({
312
+ type: t,
313
+ elements: e
314
+ }) {
315
+ return this.add(
316
+ S.MakeMoveVec({
317
+ type: t,
318
+ elements: e.map((r) => this.object(r))
319
+ })
320
+ );
321
+ }
322
+ /**
323
+ * @deprecated Use toJSON instead.
324
+ * For synchronous serialization, you can use `getData()`
325
+ * */
326
+ serialize() {
327
+ return JSON.stringify(J(n(this, i).snapshot()));
328
+ }
329
+ async toJSON(t = {}) {
330
+ await this.prepareForSerialization(t);
331
+ const e = this.isFullyResolved();
332
+ return JSON.stringify(
333
+ P(
334
+ it,
335
+ e ? {
336
+ ...n(this, i).snapshot(),
337
+ digest: n(this, i).getDigest()
338
+ } : n(this, i).snapshot()
339
+ ),
340
+ (r, a) => typeof a == "bigint" ? a.toString() : a,
341
+ 2
342
+ );
343
+ }
344
+ /** Build the transaction to BCS bytes, and sign it with the provided keypair. */
345
+ async sign(t) {
346
+ const { signer: e, ...r } = t, a = await this.build(r);
347
+ return e.signTransaction(a);
348
+ }
349
+ /**
350
+ * Ensures that:
351
+ * - All objects have been fully resolved to a specific version
352
+ * - All pure inputs have been serialized to bytes
353
+ * - All async thunks have been fully resolved
354
+ * - All transaction intents have been resolved
355
+ * - The gas payment, budget, and price have been set
356
+ * - The transaction sender has been set
462
357
  *
463
- * @deprecated
464
- */
465
- async subscribeEvent(e) {
466
- return this.transport.subscribe({
467
- method: "suix_subscribeEvent",
468
- unsubscribe: "suix_unsubscribeEvent",
469
- params: [e.filter],
470
- onMessage: e.onMessage,
471
- signal: e.signal
472
- });
473
- }
474
- /**
475
- * @deprecated
476
- */
477
- async subscribeTransaction(e) {
478
- return this.transport.subscribe({
479
- method: "suix_subscribeTransaction",
480
- unsubscribe: "suix_unsubscribeTransaction",
481
- params: [e.filter],
482
- onMessage: e.onMessage,
483
- signal: e.signal
484
- });
358
+ * When true, the transaction will always be built to the same bytes and digest (unless the transaction is mutated)
359
+ */
360
+ isFullyResolved() {
361
+ return !(!n(this, i).sender || n(this, g).size > 0 || n(this, i).commands.some((t) => t.$Intent) || rt(n(this, i), {}));
362
+ }
363
+ /** Build the transaction to BCS bytes. */
364
+ async build(t = {}) {
365
+ return await this.prepareForSerialization(t), await d(this, c, A).call(this, t), n(this, i).build({
366
+ onlyTransactionKind: t.onlyTransactionKind
367
+ });
368
+ }
369
+ /** Derive transaction digest */
370
+ async getDigest(t = {}) {
371
+ return await this.prepareForSerialization(t), await d(this, c, A).call(this, t), n(this, i).getDigest();
372
+ }
373
+ async prepareForSerialization(t) {
374
+ var a;
375
+ await d(this, c, Q).call(this), d(this, c, X).call(this);
376
+ const e = /* @__PURE__ */ new Set();
377
+ for (const o of n(this, i).commands)
378
+ o.$Intent && e.add(o.$Intent.name);
379
+ const r = [...n(this, I)];
380
+ for (const o of e)
381
+ if (!((a = t.supportedIntents) != null && a.includes(o))) {
382
+ if (!n(this, y).has(o))
383
+ throw new Error(`Missing intent resolver for ${o}`);
384
+ r.push(n(this, y).get(o));
385
+ }
386
+ r.push(ut()), await d(this, c, G).call(this, r, t);
485
387
  }
486
- /**
487
- * Runs the transaction block in dev-inspect mode. Which allows for nearly any
488
- * transaction (or Move call) with any arguments. Detailed results are
489
- * provided, including both the transaction effects and any return values.
490
- */
491
- async devInspectTransactionBlock(e) {
492
- var s, t;
493
- let a;
494
- if (f(e.transactionBlock))
495
- e.transactionBlock.setSenderIfNotSet(e.sender), a = d(
496
- await e.transactionBlock.build({
497
- client: this,
498
- onlyTransactionKind: !0
499
- })
388
+ };
389
+ I = /* @__PURE__ */ new WeakMap();
390
+ k = /* @__PURE__ */ new WeakMap();
391
+ y = /* @__PURE__ */ new WeakMap();
392
+ b = /* @__PURE__ */ new WeakMap();
393
+ p = /* @__PURE__ */ new WeakMap();
394
+ m = /* @__PURE__ */ new WeakMap();
395
+ g = /* @__PURE__ */ new WeakMap();
396
+ R = /* @__PURE__ */ new WeakMap();
397
+ i = /* @__PURE__ */ new WeakMap();
398
+ c = /* @__PURE__ */ new WeakSet();
399
+ L = function() {
400
+ const s = new tt();
401
+ return u(s, i, n(this, i)), u(s, I, n(this, I)), u(s, k, n(this, k)), u(s, y, n(this, y)), u(s, g, n(this, g)), u(s, m, new Set(n(this, m))), u(s, R, n(this, R)), n(this, b).push(n(s, b)), n(this, p).push(n(s, p)), s;
402
+ };
403
+ j = function(s) {
404
+ const t = n(this, i).commands.length;
405
+ return n(this, p).push(s), n(this, m).add(t), n(this, i).commands.push(s), n(this, i).mapCommandArguments(t, (e) => {
406
+ if (e.$kind === "Result" && !n(this, m).has(e.Result))
407
+ throw new Error(
408
+ `Result { Result: ${e.Result} } is not available to use in the current transaction`
500
409
  );
501
- else if (typeof e.transactionBlock == "string")
502
- a = e.transactionBlock;
503
- else if (e.transactionBlock instanceof Uint8Array)
504
- a = d(e.transactionBlock);
505
- else
506
- throw new Error("Unknown transaction block format.");
507
- return (s = e.signal) == null || s.throwIfAborted(), await this.transport.request({
508
- method: "sui_devInspectTransactionBlock",
509
- params: [e.sender, a, (t = e.gasPrice) == null ? void 0 : t.toString(), e.epoch],
510
- signal: e.signal
511
- });
512
- }
513
- /**
514
- * Dry run a transaction block and return the result.
515
- */
516
- async dryRunTransactionBlock(e) {
517
- return await this.transport.request({
518
- method: "sui_dryRunTransactionBlock",
519
- params: [
520
- typeof e.transactionBlock == "string" ? e.transactionBlock : d(e.transactionBlock)
521
- ]
522
- });
523
- }
524
- /**
525
- * Return the list of dynamic field objects owned by an object
526
- */
527
- async getDynamicFields(e) {
528
- if (!e.parentId || !m(g(e.parentId)))
529
- throw new Error("Invalid Sui Object id");
530
- return await this.transport.request({
531
- method: "suix_getDynamicFields",
532
- params: [e.parentId, e.cursor, e.limit],
533
- signal: e.signal
534
- });
535
- }
536
- /**
537
- * Return the dynamic field object information for a specified object
538
- */
539
- async getDynamicFieldObject(e) {
540
- return await this.transport.request({
541
- method: "suix_getDynamicFieldObject",
542
- params: [e.parentId, e.name],
543
- signal: e.signal
544
- });
545
- }
546
- /**
547
- * Get the sequence number of the latest checkpoint that has been executed
548
- */
549
- async getLatestCheckpointSequenceNumber({
550
- signal: e
551
- } = {}) {
552
- const a = await this.transport.request({
553
- method: "sui_getLatestCheckpointSequenceNumber",
554
- params: [],
555
- signal: e
556
- });
557
- return String(a);
558
- }
559
- /**
560
- * Returns information about a given checkpoint
561
- */
562
- async getCheckpoint(e) {
563
- return await this.transport.request({
564
- method: "sui_getCheckpoint",
565
- params: [e.id],
566
- signal: e.signal
567
- });
568
- }
569
- /**
570
- * Returns historical checkpoints paginated
571
- */
572
- async getCheckpoints(e) {
573
- return await this.transport.request({
574
- method: "sui_getCheckpoints",
575
- params: [e.cursor, e == null ? void 0 : e.limit, e.descendingOrder],
576
- signal: e.signal
577
- });
578
- }
579
- /**
580
- * Return the committee information for the asked epoch
581
- */
582
- async getCommitteeInfo(e) {
583
- return await this.transport.request({
584
- method: "suix_getCommitteeInfo",
585
- params: [e == null ? void 0 : e.epoch],
586
- signal: e == null ? void 0 : e.signal
587
- });
588
- }
589
- async getNetworkMetrics({ signal: e } = {}) {
590
- return await this.transport.request({
591
- method: "suix_getNetworkMetrics",
592
- params: [],
593
- signal: e
594
- });
595
- }
596
- async getAddressMetrics({ signal: e } = {}) {
597
- return await this.transport.request({
598
- method: "suix_getLatestAddressMetrics",
599
- params: [],
600
- signal: e
601
- });
602
- }
603
- async getEpochMetrics(e) {
604
- return await this.transport.request({
605
- method: "suix_getEpochMetrics",
606
- params: [e == null ? void 0 : e.cursor, e == null ? void 0 : e.limit, e == null ? void 0 : e.descendingOrder],
607
- signal: e == null ? void 0 : e.signal
608
- });
609
- }
610
- async getAllEpochAddressMetrics(e) {
611
- return await this.transport.request({
612
- method: "suix_getAllEpochAddressMetrics",
613
- params: [e == null ? void 0 : e.descendingOrder],
614
- signal: e == null ? void 0 : e.signal
615
- });
616
- }
617
- /**
618
- * Return the committee information for the asked epoch
619
- */
620
- async getEpochs(e) {
621
- return await this.transport.request({
622
- method: "suix_getEpochs",
623
- params: [e == null ? void 0 : e.cursor, e == null ? void 0 : e.limit, e == null ? void 0 : e.descendingOrder],
624
- signal: e == null ? void 0 : e.signal
625
- });
626
- }
627
- /**
628
- * Returns list of top move calls by usage
629
- */
630
- async getMoveCallMetrics({ signal: e } = {}) {
631
- return await this.transport.request({
632
- method: "suix_getMoveCallMetrics",
633
- params: [],
634
- signal: e
635
- });
636
- }
637
- /**
638
- * Return the committee information for the asked epoch
639
- */
640
- async getCurrentEpoch({ signal: e } = {}) {
641
- return await this.transport.request({
642
- method: "suix_getCurrentEpoch",
643
- params: [],
644
- signal: e
645
- });
646
- }
647
- /**
648
- * Return the Validators APYs
649
- */
650
- async getValidatorsApy({ signal: e } = {}) {
651
- return await this.transport.request({
652
- method: "suix_getValidatorsApy",
653
- params: [],
654
- signal: e
655
- });
656
- }
657
- // TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.
658
- async getChainIdentifier({ signal: e } = {}) {
659
- const a = await this.getCheckpoint({ id: "0", signal: e }), s = u(a.digest);
660
- return y(s.slice(0, 4));
661
- }
662
- async resolveNameServiceAddress(e) {
663
- return await this.transport.request({
664
- method: "suix_resolveNameServiceAddress",
665
- params: [e.name],
666
- signal: e.signal
667
- });
410
+ if (e.$kind === "NestedResult" && !n(this, m).has(e.NestedResult[0]))
411
+ throw new Error(
412
+ `Result { NestedResult: [${e.NestedResult[0]}, ${e.NestedResult[1]}] } is not available to use in the current transaction`
413
+ );
414
+ if (e.$kind === "Input" && e.Input >= n(this, i).inputs.length)
415
+ throw new Error(
416
+ `Input { Input: ${e.Input} } references an input that does not exist in the current transaction`
417
+ );
418
+ return e;
419
+ }), s;
420
+ };
421
+ O = function(s, t) {
422
+ return n(this, b).push(t), n(this, i).addInput(s, t);
423
+ };
424
+ N = function(s) {
425
+ return q(s) ? this.pure(s) : d(this, c, C).call(this, s);
426
+ };
427
+ C = function(s) {
428
+ if (typeof s == "function") {
429
+ const t = this.add(s);
430
+ return typeof t == "function" ? d(this, c, C).call(this, t) : P(x, t);
668
431
  }
669
- async resolveNameServiceNames({
670
- format: e = "dot",
671
- ...a
672
- }) {
673
- const { nextCursor: s, hasNextPage: t, data: r } = await this.transport.request({
674
- method: "suix_resolveNameServiceNames",
675
- params: [a.address, a.cursor, a.limit],
676
- signal: a.signal
677
- });
678
- return {
679
- hasNextPage: t,
680
- nextCursor: s,
681
- data: r.map((o) => M(o, e))
432
+ return P(x, s);
433
+ };
434
+ A = async function(s) {
435
+ if (!s.onlyTransactionKind && !n(this, i).sender)
436
+ throw new Error("Missing transaction sender");
437
+ await d(this, c, G).call(this, [...n(this, k), at], s);
438
+ };
439
+ G = async function(s, t) {
440
+ try {
441
+ const e = (r) => {
442
+ if (r >= s.length)
443
+ return () => {
444
+ };
445
+ const a = s[r];
446
+ return async () => {
447
+ const o = e(r + 1);
448
+ let f = !1, l = !1;
449
+ if (await a(n(this, i), t, async () => {
450
+ if (f)
451
+ throw new Error(`next() was call multiple times in TransactionPlugin ${r}`);
452
+ f = !0, await o(), l = !0;
453
+ }), !f)
454
+ throw new Error(`next() was not called in TransactionPlugin ${r}`);
455
+ if (!l)
456
+ throw new Error(`next() was not awaited in TransactionPlugin ${r}`);
457
+ };
682
458
  };
459
+ await e(0)();
460
+ } finally {
461
+ u(this, b, n(this, i).inputs.slice()), u(this, p, n(this, i).commands.slice()), u(this, m, new Set(n(this, p).map((e, r) => r)));
683
462
  }
684
- async getProtocolConfig(e) {
685
- return await this.transport.request({
686
- method: "sui_getProtocolConfig",
687
- params: [e == null ? void 0 : e.version],
688
- signal: e == null ? void 0 : e.signal
689
- });
690
- }
691
- async verifyZkLoginSignature(e) {
692
- return await this.transport.request({
693
- method: "sui_verifyZkLoginSignature",
694
- params: [e.bytes, e.signature, e.intentScope, e.author],
695
- signal: e.signal
696
- });
463
+ };
464
+ Q = async function() {
465
+ for (; n(this, g).size > 0; ) {
466
+ const s = Promise.all(n(this, g));
467
+ n(this, g).clear(), n(this, g).add(s), await s, n(this, g).delete(s);
697
468
  }
698
- /**
699
- * Wait for a transaction block result to be available over the API.
700
- * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to
701
- * be available via the API.
702
- * This currently polls the `getTransactionBlock` API to check for the transaction.
703
- */
704
- async waitForTransaction({
705
- signal: e,
706
- timeout: a = 60 * 1e3,
707
- pollInterval: s = 2 * 1e3,
708
- ...t
709
- }) {
710
- const r = AbortSignal.timeout(a), o = new Promise((h, v) => {
711
- r.addEventListener("abort", () => v(r.reason));
712
- });
713
- for (o.catch(() => {
714
- }); !r.aborted; ) {
715
- e == null || e.throwIfAborted();
469
+ };
470
+ X = function() {
471
+ var f;
472
+ const s = n(this, i).commands, t = n(this, i).inputs, e = n(this, p).flat(1 / 0), r = n(this, b).flat(1 / 0);
473
+ if (e.length !== s.length)
474
+ throw new Error("Unexpected number of commands found in transaction data");
475
+ if (r.length !== t.length)
476
+ throw new Error("Unexpected number of inputs found in transaction data");
477
+ const a = e.filter(
478
+ (l) => {
479
+ var h;
480
+ return ((h = l.$Intent) == null ? void 0 : h.name) !== "AsyncTransactionThunk";
481
+ }
482
+ );
483
+ n(this, i).commands = a, n(this, i).inputs = r, u(this, p, a), u(this, b, r), u(this, m, new Set(a.map((l, h) => h)));
484
+ function o(l) {
485
+ var W;
486
+ const h = s[l];
487
+ if (((W = h.$Intent) == null ? void 0 : W.name) === "AsyncTransactionThunk") {
488
+ const D = h.$Intent.data.result;
489
+ if (D == null)
490
+ throw new Error("AsyncTransactionThunk has not been resolved");
491
+ return o(D.Result);
492
+ }
493
+ const B = a.indexOf(h);
494
+ if (B === -1)
495
+ throw new Error("Unable to find original index for command");
496
+ return B;
497
+ }
498
+ n(this, i).mapArguments((l) => {
499
+ if (l.$kind === "Input") {
500
+ const h = r.indexOf(t[l.Input]);
501
+ if (h === -1)
502
+ throw new Error("Input has not been resolved");
503
+ return { ...l, Input: h };
504
+ } else if (l.$kind === "Result") {
505
+ const h = o(l.Result);
506
+ return { ...l, Result: h };
507
+ } else if (l.$kind === "NestedResult") {
508
+ const h = o(l.NestedResult[0]);
509
+ return { ...l, NestedResult: [h, l.NestedResult[1]] };
510
+ }
511
+ return l;
512
+ });
513
+ for (const [l, h] of s.entries())
514
+ if (((f = h.$Intent) == null ? void 0 : f.name) === "AsyncTransactionThunk")
716
515
  try {
717
- return await this.getTransactionBlock(t);
516
+ h.$Intent.data.resultIndex = o(l);
718
517
  } catch {
719
- await Promise.race([
720
- new Promise((h) => setTimeout(h, s)),
721
- o
722
- ]);
723
518
  }
724
- }
725
- throw r.throwIfAborted(), new Error("Unexpected error while waiting for transaction block.");
726
- }
727
- }
519
+ };
520
+ let _t = tt;
728
521
  export {
729
- j as SuiJsonRpcClient
522
+ _t as Transaction,
523
+ ht as isTransaction
730
524
  };