@gardenfi/swap 0.0.2-beta.1 → 0.0.2-beta.2
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.
- package/dist/index104.cjs +1 -1
- package/dist/index104.js +4 -4
- package/dist/index106.cjs +1 -1
- package/dist/index106.js +3 -3
- package/dist/index107.cjs +1 -1
- package/dist/index107.js +3 -3
- package/dist/index116.cjs +1 -1
- package/dist/index116.js +1 -1
- package/dist/index117.cjs +1 -1
- package/dist/index117.js +1 -1
- package/dist/index120.cjs +1 -1
- package/dist/index120.js +2 -2
- package/dist/index121.cjs +1 -1
- package/dist/index121.js +7 -7
- package/dist/index132.cjs +1 -1
- package/dist/index132.js +1 -1
- package/dist/index133.cjs +1 -1
- package/dist/index133.js +1 -1
- package/dist/index134.cjs +1 -1
- package/dist/index134.js +1 -1
- package/dist/index135.cjs +1 -1
- package/dist/index135.js +1 -1
- package/dist/index138.cjs +1 -1
- package/dist/index138.js +2 -2
- package/dist/index161.cjs +1 -1
- package/dist/index161.js +2 -2
- package/dist/index167.cjs +1 -1
- package/dist/index167.js +2 -2
- package/dist/index168.cjs +1 -1
- package/dist/index168.js +2 -2
- package/dist/index169.cjs +1 -1
- package/dist/index169.js +2 -2
- package/dist/index170.cjs +1 -1
- package/dist/index170.js +2 -2
- package/dist/index171.cjs +1 -1
- package/dist/index171.js +2 -2
- package/dist/index172.cjs +1 -1
- package/dist/index172.js +2 -2
- package/dist/index181.cjs +1 -1
- package/dist/index181.js +1 -1
- package/dist/index272.cjs +1 -1
- package/dist/index272.js +174 -9
- package/dist/index273.cjs +2 -1
- package/dist/index273.js +91 -30
- package/dist/index274.cjs +1 -1
- package/dist/index274.js +41 -2
- package/dist/index275.cjs +1 -1
- package/dist/index275.js +4 -47
- package/dist/index276.cjs +1 -1
- package/dist/index276.js +9 -11
- package/dist/index277.cjs +1 -1
- package/dist/index277.js +30 -174
- package/dist/index278.cjs +1 -2
- package/dist/index278.js +2 -92
- package/dist/index279.cjs +1 -1
- package/dist/index279.js +45 -38
- package/dist/index280.cjs +1 -1
- package/dist/index280.js +11 -4
- package/dist/index281.cjs +1 -1
- package/dist/index281.js +3 -3
- package/dist/index299.cjs +1 -1
- package/dist/index299.js +7 -37
- package/dist/index300.cjs +1 -1
- package/dist/index300.js +36 -14
- package/dist/index301.cjs +1 -1
- package/dist/index301.js +15 -8
- package/dist/index302.cjs +1 -1
- package/dist/index302.js +43 -8
- package/dist/index303.cjs +1 -1
- package/dist/index303.js +317 -39
- package/dist/index304.cjs +1 -1
- package/dist/index304.js +586 -301
- package/dist/index305.cjs +1 -1
- package/dist/index305.js +107 -603
- package/dist/index306.cjs +1 -1
- package/dist/index306.js +168 -110
- package/dist/index307.cjs +1 -1
- package/dist/index307.js +299 -165
- package/dist/index308.cjs +1 -1
- package/dist/index308.js +92 -300
- package/dist/index309.cjs +1 -1
- package/dist/index309.js +56 -93
- package/dist/index310.cjs +1 -1
- package/dist/index310.js +52 -55
- package/dist/index311.cjs +1 -1
- package/dist/index311.js +42 -51
- package/dist/index312.cjs +1 -1
- package/dist/index312.js +14 -43
- package/dist/index313.cjs +1 -1
- package/dist/index313.js +317 -15
- package/dist/index314.cjs +1 -1
- package/dist/index314.js +53 -311
- package/dist/index315.cjs +1 -1
- package/dist/index315.js +19 -59
- package/dist/index316.cjs +1 -1
- package/dist/index316.js +29 -19
- package/dist/index317.cjs +1 -1
- package/dist/index317.js +3 -29
- package/dist/index318.cjs +7 -1
- package/dist/index318.js +237 -3
- package/dist/index319.cjs +1 -7
- package/dist/index319.js +48 -238
- package/dist/index320.cjs +1 -1
- package/dist/index320.js +213 -48
- package/dist/index321.cjs +1 -1
- package/dist/index321.js +75 -206
- package/dist/index322.cjs +1 -1
- package/dist/index322.js +26 -78
- package/dist/index323.cjs +1 -1
- package/dist/index323.js +73 -26
- package/dist/index324.cjs +1 -1
- package/dist/index324.js +7 -75
- package/dist/index326.cjs +1 -1
- package/dist/index326.js +1 -1
- package/dist/index327.cjs +1 -1
- package/dist/index327.js +1 -1
- package/dist/index333.cjs +1 -1
- package/dist/index333.js +2 -2
- package/dist/index334.cjs +1 -1
- package/dist/index334.js +2 -2
- package/dist/index346.cjs +1 -1
- package/dist/index346.js +1 -1
- package/dist/index347.cjs +1 -1
- package/dist/index347.js +1 -1
- package/dist/index348.cjs +1 -1
- package/dist/index348.js +3 -3
- package/dist/index349.cjs +2 -1
- package/dist/index349.js +193 -4
- package/dist/index350.cjs +1 -2
- package/dist/index350.js +52 -168
- package/dist/index351.cjs +1 -1
- package/dist/index351.js +331 -65
- package/dist/index352.cjs +1 -1
- package/dist/index352.js +149 -332
- package/dist/index353.cjs +1 -1
- package/dist/index353.js +5 -161
- package/dist/index354.cjs +1 -1
- package/dist/index354.js +5 -5
- package/dist/index357.cjs +1 -1
- package/dist/index357.js +205 -8
- package/dist/index359.cjs +1 -1
- package/dist/index359.js +8 -205
- package/dist/index363.cjs +1 -1
- package/dist/index363.js +1 -1
- package/dist/index364.cjs +1 -1
- package/dist/index364.js +1 -1
- package/dist/index365.cjs +1 -1
- package/dist/index365.js +73 -3
- package/dist/index366.cjs +1 -1
- package/dist/index366.js +29 -138
- package/dist/index367.cjs +1 -1
- package/dist/index367.js +5 -73
- package/dist/index368.cjs +1 -1
- package/dist/index368.js +2 -30
- package/dist/index369.cjs +1 -1
- package/dist/index369.js +140 -5
- package/dist/index370.cjs +1 -1
- package/dist/index370.js +1 -1
- package/dist/index373.cjs +1 -1
- package/dist/index373.js +1 -1
- package/dist/index374.cjs +1 -1
- package/dist/index374.js +1 -1
- package/dist/index375.cjs +1 -1
- package/dist/index375.js +2 -2
- package/dist/index379.cjs +1 -1
- package/dist/index379.js +1 -1
- package/dist/index380.cjs +1 -1
- package/dist/index380.js +1 -1
- package/dist/index381.cjs +1 -1
- package/dist/index381.js +22 -2
- package/dist/index382.cjs +1 -1
- package/dist/index382.js +2 -22
- package/dist/index385.cjs +1 -1
- package/dist/index385.js +2 -2
- package/dist/index77.cjs +1 -1
- package/dist/index77.js +13 -13
- package/dist/index99.cjs +1 -1
- package/dist/index99.js +1 -1
- package/package.json +5 -5
package/dist/index320.js
CHANGED
|
@@ -1,50 +1,215 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
import { parse as C } from "./index304.js";
|
|
2
|
+
import { normalizeSuiObjectId as w, normalizeSuiAddress as I } from "./index117.js";
|
|
3
|
+
import { SUI_TYPE_ARG as j } from "./index372.js";
|
|
4
|
+
import { ObjectRefSchema as U } from "./index306.js";
|
|
5
|
+
import { Inputs as m } from "./index309.js";
|
|
6
|
+
import { normalizedTypeToMoveTypeSignature as M, isTxContext as S, getPureBcsSchema as T } from "./index373.js";
|
|
7
|
+
import { chunk as R } from "./index317.js";
|
|
8
|
+
const $ = 50, _ = 1000n, k = 5e10;
|
|
9
|
+
function Y(n) {
|
|
10
|
+
return async function(o, a, t) {
|
|
11
|
+
return await V(o, n), await B(o, n), a.onlyTransactionKind || (await E(o, n), await P(o, n), await A(o, n)), await t();
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async function E(n, l) {
|
|
15
|
+
n.gasConfig.price || (n.gasConfig.price = String(await l.getReferenceGasPrice()));
|
|
16
|
+
}
|
|
17
|
+
async function P(n, l) {
|
|
18
|
+
if (n.gasConfig.budget)
|
|
19
|
+
return;
|
|
20
|
+
const o = await l.dryRunTransactionBlock({
|
|
21
|
+
transactionBlock: n.build({
|
|
22
|
+
overrides: {
|
|
23
|
+
gasData: {
|
|
24
|
+
budget: String(k),
|
|
25
|
+
payment: []
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
if (o.effects.status.status !== "success")
|
|
31
|
+
throw new Error(
|
|
32
|
+
`Dry run failed, could not automatically determine a budget: ${o.effects.status.error}`,
|
|
33
|
+
{ cause: o }
|
|
34
|
+
);
|
|
35
|
+
const a = _ * BigInt(n.gasConfig.price || 1n), t = BigInt(o.effects.gasUsed.computationCost) + a, c = t + BigInt(o.effects.gasUsed.storageCost) - BigInt(o.effects.gasUsed.storageRebate);
|
|
36
|
+
n.gasConfig.budget = String(
|
|
37
|
+
c > t ? c : t
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
async function A(n, l) {
|
|
41
|
+
if (!n.gasConfig.payment) {
|
|
42
|
+
const a = (await l.getCoins({
|
|
43
|
+
owner: n.gasConfig.owner || n.sender,
|
|
44
|
+
coinType: j
|
|
45
|
+
})).data.filter((t) => !n.inputs.find((g) => {
|
|
46
|
+
var i;
|
|
47
|
+
return (i = g.Object) != null && i.ImmOrOwnedObject ? t.coinObjectId === g.Object.ImmOrOwnedObject.objectId : !1;
|
|
48
|
+
})).map((t) => ({
|
|
49
|
+
objectId: t.coinObjectId,
|
|
50
|
+
digest: t.digest,
|
|
51
|
+
version: t.version
|
|
52
|
+
}));
|
|
53
|
+
if (!a.length)
|
|
54
|
+
throw new Error("No valid gas coins found for the transaction.");
|
|
55
|
+
n.gasConfig.payment = a.map(
|
|
56
|
+
(t) => C(U, t)
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async function B(n, l) {
|
|
61
|
+
const o = n.inputs.filter((e) => {
|
|
62
|
+
var s;
|
|
63
|
+
return e.UnresolvedObject && !(e.UnresolvedObject.version || (s = e.UnresolvedObject) != null && s.initialSharedVersion);
|
|
64
|
+
}), a = [
|
|
65
|
+
...new Set(
|
|
66
|
+
o.map((e) => w(e.UnresolvedObject.objectId))
|
|
67
|
+
)
|
|
68
|
+
], t = a.length ? R(a, $) : [], c = (await Promise.all(
|
|
69
|
+
t.map(
|
|
70
|
+
(e) => l.multiGetObjects({
|
|
71
|
+
ids: e,
|
|
72
|
+
options: { showOwner: !0 }
|
|
73
|
+
})
|
|
74
|
+
)
|
|
75
|
+
)).flat(), g = new Map(
|
|
76
|
+
a.map((e, s) => [e, c[s]])
|
|
77
|
+
), i = Array.from(g).filter(([e, s]) => s.error).map(([e, s]) => JSON.stringify(s.error));
|
|
78
|
+
if (i.length)
|
|
79
|
+
throw new Error(`The following input objects are invalid: ${i.join(", ")}`);
|
|
80
|
+
const d = c.map((e) => {
|
|
81
|
+
if (e.error || !e.data)
|
|
82
|
+
throw new Error(`Failed to fetch object: ${e.error}`);
|
|
83
|
+
const s = e.data.owner, f = s && typeof s == "object" ? "Shared" in s ? s.Shared.initial_shared_version : "ConsensusAddressOwner" in s ? s.ConsensusAddressOwner.start_version : null : null;
|
|
84
|
+
return {
|
|
85
|
+
objectId: e.data.objectId,
|
|
86
|
+
digest: e.data.digest,
|
|
87
|
+
version: e.data.version,
|
|
88
|
+
initialSharedVersion: f
|
|
89
|
+
};
|
|
90
|
+
}), p = new Map(
|
|
91
|
+
a.map((e, s) => [e, d[s]])
|
|
92
|
+
);
|
|
93
|
+
for (const [e, s] of n.inputs.entries()) {
|
|
94
|
+
if (!s.UnresolvedObject)
|
|
95
|
+
continue;
|
|
96
|
+
let f;
|
|
97
|
+
const u = I(s.UnresolvedObject.objectId), r = p.get(u);
|
|
98
|
+
s.UnresolvedObject.initialSharedVersion ?? (r == null ? void 0 : r.initialSharedVersion) ? f = m.SharedObjectRef({
|
|
99
|
+
objectId: u,
|
|
100
|
+
initialSharedVersion: s.UnresolvedObject.initialSharedVersion || (r == null ? void 0 : r.initialSharedVersion),
|
|
101
|
+
mutable: s.UnresolvedObject.mutable || G(n, e)
|
|
102
|
+
}) : z(n, e) && (f = m.ReceivingRef(
|
|
103
|
+
{
|
|
104
|
+
objectId: u,
|
|
105
|
+
digest: s.UnresolvedObject.digest ?? (r == null ? void 0 : r.digest),
|
|
106
|
+
version: s.UnresolvedObject.version ?? (r == null ? void 0 : r.version)
|
|
107
|
+
}
|
|
108
|
+
)), n.inputs[n.inputs.indexOf(s)] = f ?? m.ObjectRef({
|
|
109
|
+
objectId: u,
|
|
110
|
+
digest: s.UnresolvedObject.digest ?? (r == null ? void 0 : r.digest),
|
|
111
|
+
version: s.UnresolvedObject.version ?? (r == null ? void 0 : r.version)
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async function V(n, l) {
|
|
116
|
+
const { inputs: o, commands: a } = n, t = [], c = /* @__PURE__ */ new Set();
|
|
117
|
+
a.forEach((i) => {
|
|
118
|
+
if (i.MoveCall) {
|
|
119
|
+
if (i.MoveCall._argumentTypes)
|
|
120
|
+
return;
|
|
121
|
+
if (i.MoveCall.arguments.map((e) => e.$kind === "Input" ? n.inputs[e.Input] : null).some(
|
|
122
|
+
(e) => (e == null ? void 0 : e.UnresolvedPure) || (e == null ? void 0 : e.UnresolvedObject) && typeof (e == null ? void 0 : e.UnresolvedObject.mutable) != "boolean"
|
|
123
|
+
)) {
|
|
124
|
+
const e = `${i.MoveCall.package}::${i.MoveCall.module}::${i.MoveCall.function}`;
|
|
125
|
+
c.add(e), t.push(i.MoveCall);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
const g = /* @__PURE__ */ new Map();
|
|
130
|
+
c.size > 0 && await Promise.all(
|
|
131
|
+
[...c].map(async (i) => {
|
|
132
|
+
const [d, p, e] = i.split("::"), s = await l.getNormalizedMoveFunction({
|
|
133
|
+
package: d,
|
|
134
|
+
module: p,
|
|
135
|
+
function: e
|
|
136
|
+
});
|
|
137
|
+
g.set(
|
|
138
|
+
i,
|
|
139
|
+
s.parameters.map((f) => M(f))
|
|
140
|
+
);
|
|
141
|
+
})
|
|
142
|
+
), t.length && await Promise.all(
|
|
143
|
+
t.map(async (i) => {
|
|
144
|
+
const d = g.get(
|
|
145
|
+
`${i.package}::${i.module}::${i.function}`
|
|
146
|
+
);
|
|
147
|
+
if (!d)
|
|
148
|
+
return;
|
|
149
|
+
const e = d.length > 0 && S(d.at(-1)) ? d.slice(0, d.length - 1) : d;
|
|
150
|
+
i._argumentTypes = e;
|
|
151
|
+
})
|
|
152
|
+
), a.forEach((i) => {
|
|
153
|
+
if (!i.MoveCall)
|
|
154
|
+
return;
|
|
155
|
+
const d = i.MoveCall, p = `${d.package}::${d.module}::${d.function}`, e = d._argumentTypes;
|
|
156
|
+
if (e) {
|
|
157
|
+
if (e.length !== i.MoveCall.arguments.length)
|
|
158
|
+
throw new Error(`Incorrect number of arguments for ${p}`);
|
|
159
|
+
e.forEach((s, f) => {
|
|
160
|
+
var O, y;
|
|
161
|
+
const u = d.arguments[f];
|
|
162
|
+
if (u.$kind !== "Input") return;
|
|
163
|
+
const r = o[u.Input];
|
|
164
|
+
if (!r.UnresolvedPure && !r.UnresolvedObject)
|
|
165
|
+
return;
|
|
166
|
+
const v = ((O = r.UnresolvedPure) == null ? void 0 : O.value) ?? ((y = r.UnresolvedObject) == null ? void 0 : y.objectId), b = T(s.body);
|
|
167
|
+
if (b) {
|
|
168
|
+
u.type = "pure", o[o.indexOf(r)] = m.Pure(b.serialize(v));
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (typeof v != "string")
|
|
172
|
+
throw new Error(
|
|
173
|
+
`Expect the argument to be an object id string, got ${JSON.stringify(
|
|
174
|
+
v,
|
|
175
|
+
null,
|
|
176
|
+
2
|
|
177
|
+
)}`
|
|
178
|
+
);
|
|
179
|
+
u.type = "object";
|
|
180
|
+
const h = r.UnresolvedPure ? {
|
|
181
|
+
$kind: "UnresolvedObject",
|
|
182
|
+
UnresolvedObject: {
|
|
183
|
+
objectId: v
|
|
184
|
+
}
|
|
185
|
+
} : r;
|
|
186
|
+
o[u.Input] = h;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
function G(n, l) {
|
|
192
|
+
let o = !1;
|
|
193
|
+
return n.getInputUses(l, (a, t) => {
|
|
194
|
+
if (t.MoveCall && t.MoveCall._argumentTypes) {
|
|
195
|
+
const c = t.MoveCall.arguments.indexOf(a);
|
|
196
|
+
o = t.MoveCall._argumentTypes[c].ref !== "&" || o;
|
|
197
|
+
}
|
|
198
|
+
(t.$kind === "MakeMoveVec" || t.$kind === "MergeCoins" || t.$kind === "SplitCoins" || t.$kind === "TransferObjects") && (o = !0);
|
|
199
|
+
}), o;
|
|
200
|
+
}
|
|
201
|
+
function z(n, l) {
|
|
202
|
+
let o = !1;
|
|
203
|
+
return n.getInputUses(l, (a, t) => {
|
|
204
|
+
if (t.MoveCall && t.MoveCall._argumentTypes) {
|
|
205
|
+
const c = t.MoveCall.arguments.indexOf(a);
|
|
206
|
+
o = x(t.MoveCall._argumentTypes[c]) || o;
|
|
207
|
+
}
|
|
208
|
+
}), o;
|
|
209
|
+
}
|
|
210
|
+
function x(n) {
|
|
211
|
+
return typeof n.body != "object" || !("datatype" in n.body) ? !1 : n.body.datatype.package === "0x2" && n.body.datatype.module === "transfer" && n.body.datatype.type === "Receiving";
|
|
212
|
+
}
|
|
48
213
|
export {
|
|
49
|
-
|
|
214
|
+
Y as jsonRpcClientResolveTransactionPlugin
|
|
50
215
|
};
|
package/dist/index321.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index365.cjs"),m=require("./index374.cjs"),n=require("./index117.cjs"),l=require("./index116.cjs"),y=require("./index120.cjs"),d={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"};class p extends l.Experimental_BaseClient{constructor(e){var a,r,t;super(e),this.core=this,this.mvr=new y.MvrClient({cache:this.cache.scope("core.mvr"),url:((a=e.mvr)==null?void 0:a.url)??d[this.network],pageSize:(r=e.mvr)==null?void 0:r.pageSize,overrides:(t=e.mvr)==null?void 0:t.overrides})}async getObject(e){const{objectId:a}=e,{objects:[r]}=await this.getObjects({objectIds:[a],signal:e.signal});if(r instanceof Error)throw r;return{object:r}}async getDynamicField(e){const a=o.TypeTagSerializer.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),r=m.deriveDynamicFieldID(e.parentId,a,e.name.bcs),{objects:[t]}=await this.getObjects({objectIds:[r],signal:e.signal});if(t instanceof Error)throw t;const s=n.parseStructTag(t.type),i=await t.content;return{dynamicField:{id:t.id,digest:t.digest,version:t.version,type:t.type,previousTransaction:t.previousTransaction,name:{type:typeof s.typeParams[0]=="string"?s.typeParams[0]:n.normalizeStructTag(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:n.normalizeStructTag(s.typeParams[1]),bcs:i.slice(n.SUI_ADDRESS_LENGTH+e.name.bcs.length)}}}}async waitForTransaction({signal:e,timeout:a=60*1e3,...r}){const t=e?AbortSignal.any([AbortSignal.timeout(a),e]):AbortSignal.timeout(a),s=new Promise((i,c)=>{t.addEventListener("abort",()=>c(t.reason))});for(s.catch(()=>{});;){t.throwIfAborted();try{return await this.getTransaction({...r,signal:t})}catch{await Promise.race([new Promise(i=>setTimeout(i,2e3)),s])}}}}exports.Experimental_CoreClient=p;
|
package/dist/index321.js
CHANGED
|
@@ -1,215 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return;
|
|
20
|
-
const o = await l.dryRunTransactionBlock({
|
|
21
|
-
transactionBlock: n.build({
|
|
22
|
-
overrides: {
|
|
23
|
-
gasData: {
|
|
24
|
-
budget: String(k),
|
|
25
|
-
payment: []
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
});
|
|
30
|
-
if (o.effects.status.status !== "success")
|
|
31
|
-
throw new Error(
|
|
32
|
-
`Dry run failed, could not automatically determine a budget: ${o.effects.status.error}`,
|
|
33
|
-
{ cause: o }
|
|
34
|
-
);
|
|
35
|
-
const a = _ * BigInt(n.gasConfig.price || 1n), t = BigInt(o.effects.gasUsed.computationCost) + a, c = t + BigInt(o.effects.gasUsed.storageCost) - BigInt(o.effects.gasUsed.storageRebate);
|
|
36
|
-
n.gasConfig.budget = String(
|
|
37
|
-
c > t ? c : t
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
async function A(n, l) {
|
|
41
|
-
if (!n.gasConfig.payment) {
|
|
42
|
-
const a = (await l.getCoins({
|
|
43
|
-
owner: n.gasConfig.owner || n.sender,
|
|
44
|
-
coinType: j
|
|
45
|
-
})).data.filter((t) => !n.inputs.find((g) => {
|
|
46
|
-
var i;
|
|
47
|
-
return (i = g.Object) != null && i.ImmOrOwnedObject ? t.coinObjectId === g.Object.ImmOrOwnedObject.objectId : !1;
|
|
48
|
-
})).map((t) => ({
|
|
49
|
-
objectId: t.coinObjectId,
|
|
50
|
-
digest: t.digest,
|
|
51
|
-
version: t.version
|
|
52
|
-
}));
|
|
53
|
-
if (!a.length)
|
|
54
|
-
throw new Error("No valid gas coins found for the transaction.");
|
|
55
|
-
n.gasConfig.payment = a.map(
|
|
56
|
-
(t) => C(U, t)
|
|
57
|
-
);
|
|
1
|
+
import { TypeTagSerializer as o } from "./index365.js";
|
|
2
|
+
import { deriveDynamicFieldID as m } from "./index374.js";
|
|
3
|
+
import { parseStructTag as l, normalizeStructTag as n, SUI_ADDRESS_LENGTH as p } from "./index117.js";
|
|
4
|
+
import { Experimental_BaseClient as y } from "./index116.js";
|
|
5
|
+
import { MvrClient as b } from "./index120.js";
|
|
6
|
+
const d = {
|
|
7
|
+
mainnet: "https://mainnet.mvr.mystenlabs.com",
|
|
8
|
+
testnet: "https://testnet.mvr.mystenlabs.com"
|
|
9
|
+
};
|
|
10
|
+
class S extends y {
|
|
11
|
+
constructor(e) {
|
|
12
|
+
var a, r, t;
|
|
13
|
+
super(e), this.core = this, this.mvr = new b({
|
|
14
|
+
cache: this.cache.scope("core.mvr"),
|
|
15
|
+
url: ((a = e.mvr) == null ? void 0 : a.url) ?? d[this.network],
|
|
16
|
+
pageSize: (r = e.mvr) == null ? void 0 : r.pageSize,
|
|
17
|
+
overrides: (t = e.mvr) == null ? void 0 : t.overrides
|
|
18
|
+
});
|
|
58
19
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (e.error || !e.data)
|
|
82
|
-
throw new Error(`Failed to fetch object: ${e.error}`);
|
|
83
|
-
const s = e.data.owner, f = s && typeof s == "object" ? "Shared" in s ? s.Shared.initial_shared_version : "ConsensusAddressOwner" in s ? s.ConsensusAddressOwner.start_version : null : null;
|
|
20
|
+
async getObject(e) {
|
|
21
|
+
const { objectId: a } = e, {
|
|
22
|
+
objects: [r]
|
|
23
|
+
} = await this.getObjects({ objectIds: [a], signal: e.signal });
|
|
24
|
+
if (r instanceof Error)
|
|
25
|
+
throw r;
|
|
26
|
+
return { object: r };
|
|
27
|
+
}
|
|
28
|
+
async getDynamicField(e) {
|
|
29
|
+
const a = o.parseFromStr(
|
|
30
|
+
(await this.core.mvr.resolveType({
|
|
31
|
+
type: e.name.type
|
|
32
|
+
})).type
|
|
33
|
+
), r = m(e.parentId, a, e.name.bcs), {
|
|
34
|
+
objects: [t]
|
|
35
|
+
} = await this.getObjects({
|
|
36
|
+
objectIds: [r],
|
|
37
|
+
signal: e.signal
|
|
38
|
+
});
|
|
39
|
+
if (t instanceof Error)
|
|
40
|
+
throw t;
|
|
41
|
+
const s = l(t.type), i = await t.content;
|
|
84
42
|
return {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
objectId: u,
|
|
100
|
-
initialSharedVersion: s.UnresolvedObject.initialSharedVersion || (r == null ? void 0 : r.initialSharedVersion),
|
|
101
|
-
mutable: s.UnresolvedObject.mutable || G(n, e)
|
|
102
|
-
}) : z(n, e) && (f = m.ReceivingRef(
|
|
103
|
-
{
|
|
104
|
-
objectId: u,
|
|
105
|
-
digest: s.UnresolvedObject.digest ?? (r == null ? void 0 : r.digest),
|
|
106
|
-
version: s.UnresolvedObject.version ?? (r == null ? void 0 : r.version)
|
|
43
|
+
dynamicField: {
|
|
44
|
+
id: t.id,
|
|
45
|
+
digest: t.digest,
|
|
46
|
+
version: t.version,
|
|
47
|
+
type: t.type,
|
|
48
|
+
previousTransaction: t.previousTransaction,
|
|
49
|
+
name: {
|
|
50
|
+
type: typeof s.typeParams[0] == "string" ? s.typeParams[0] : n(s.typeParams[0]),
|
|
51
|
+
bcs: e.name.bcs
|
|
52
|
+
},
|
|
53
|
+
value: {
|
|
54
|
+
type: typeof s.typeParams[1] == "string" ? s.typeParams[1] : n(s.typeParams[1]),
|
|
55
|
+
bcs: i.slice(p + e.name.bcs.length)
|
|
56
|
+
}
|
|
107
57
|
}
|
|
108
|
-
|
|
109
|
-
objectId: u,
|
|
110
|
-
digest: s.UnresolvedObject.digest ?? (r == null ? void 0 : r.digest),
|
|
111
|
-
version: s.UnresolvedObject.version ?? (r == null ? void 0 : r.version)
|
|
112
|
-
});
|
|
58
|
+
};
|
|
113
59
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
60
|
+
async waitForTransaction({
|
|
61
|
+
signal: e,
|
|
62
|
+
timeout: a = 60 * 1e3,
|
|
63
|
+
...r
|
|
64
|
+
}) {
|
|
65
|
+
const t = e ? AbortSignal.any([AbortSignal.timeout(a), e]) : AbortSignal.timeout(a), s = new Promise((i, c) => {
|
|
66
|
+
t.addEventListener("abort", () => c(t.reason));
|
|
67
|
+
});
|
|
68
|
+
for (s.catch(() => {
|
|
69
|
+
}); ; ) {
|
|
70
|
+
t.throwIfAborted();
|
|
71
|
+
try {
|
|
72
|
+
return await this.getTransaction({
|
|
73
|
+
...r,
|
|
74
|
+
signal: t
|
|
75
|
+
});
|
|
76
|
+
} catch {
|
|
77
|
+
await Promise.race([new Promise((i) => setTimeout(i, 2e3)), s]);
|
|
126
78
|
}
|
|
127
79
|
}
|
|
128
|
-
}
|
|
129
|
-
const g = /* @__PURE__ */ new Map();
|
|
130
|
-
c.size > 0 && await Promise.all(
|
|
131
|
-
[...c].map(async (i) => {
|
|
132
|
-
const [d, p, e] = i.split("::"), s = await l.getNormalizedMoveFunction({
|
|
133
|
-
package: d,
|
|
134
|
-
module: p,
|
|
135
|
-
function: e
|
|
136
|
-
});
|
|
137
|
-
g.set(
|
|
138
|
-
i,
|
|
139
|
-
s.parameters.map((f) => M(f))
|
|
140
|
-
);
|
|
141
|
-
})
|
|
142
|
-
), t.length && await Promise.all(
|
|
143
|
-
t.map(async (i) => {
|
|
144
|
-
const d = g.get(
|
|
145
|
-
`${i.package}::${i.module}::${i.function}`
|
|
146
|
-
);
|
|
147
|
-
if (!d)
|
|
148
|
-
return;
|
|
149
|
-
const e = d.length > 0 && S(d.at(-1)) ? d.slice(0, d.length - 1) : d;
|
|
150
|
-
i._argumentTypes = e;
|
|
151
|
-
})
|
|
152
|
-
), a.forEach((i) => {
|
|
153
|
-
if (!i.MoveCall)
|
|
154
|
-
return;
|
|
155
|
-
const d = i.MoveCall, p = `${d.package}::${d.module}::${d.function}`, e = d._argumentTypes;
|
|
156
|
-
if (e) {
|
|
157
|
-
if (e.length !== i.MoveCall.arguments.length)
|
|
158
|
-
throw new Error(`Incorrect number of arguments for ${p}`);
|
|
159
|
-
e.forEach((s, f) => {
|
|
160
|
-
var O, y;
|
|
161
|
-
const u = d.arguments[f];
|
|
162
|
-
if (u.$kind !== "Input") return;
|
|
163
|
-
const r = o[u.Input];
|
|
164
|
-
if (!r.UnresolvedPure && !r.UnresolvedObject)
|
|
165
|
-
return;
|
|
166
|
-
const v = ((O = r.UnresolvedPure) == null ? void 0 : O.value) ?? ((y = r.UnresolvedObject) == null ? void 0 : y.objectId), b = T(s.body);
|
|
167
|
-
if (b) {
|
|
168
|
-
u.type = "pure", o[o.indexOf(r)] = m.Pure(b.serialize(v));
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
if (typeof v != "string")
|
|
172
|
-
throw new Error(
|
|
173
|
-
`Expect the argument to be an object id string, got ${JSON.stringify(
|
|
174
|
-
v,
|
|
175
|
-
null,
|
|
176
|
-
2
|
|
177
|
-
)}`
|
|
178
|
-
);
|
|
179
|
-
u.type = "object";
|
|
180
|
-
const h = r.UnresolvedPure ? {
|
|
181
|
-
$kind: "UnresolvedObject",
|
|
182
|
-
UnresolvedObject: {
|
|
183
|
-
objectId: v
|
|
184
|
-
}
|
|
185
|
-
} : r;
|
|
186
|
-
o[u.Input] = h;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
function G(n, l) {
|
|
192
|
-
let o = !1;
|
|
193
|
-
return n.getInputUses(l, (a, t) => {
|
|
194
|
-
if (t.MoveCall && t.MoveCall._argumentTypes) {
|
|
195
|
-
const c = t.MoveCall.arguments.indexOf(a);
|
|
196
|
-
o = t.MoveCall._argumentTypes[c].ref !== "&" || o;
|
|
197
|
-
}
|
|
198
|
-
(t.$kind === "MakeMoveVec" || t.$kind === "MergeCoins" || t.$kind === "SplitCoins" || t.$kind === "TransferObjects") && (o = !0);
|
|
199
|
-
}), o;
|
|
200
|
-
}
|
|
201
|
-
function z(n, l) {
|
|
202
|
-
let o = !1;
|
|
203
|
-
return n.getInputUses(l, (a, t) => {
|
|
204
|
-
if (t.MoveCall && t.MoveCall._argumentTypes) {
|
|
205
|
-
const c = t.MoveCall.arguments.indexOf(a);
|
|
206
|
-
o = x(t.MoveCall._argumentTypes[c]) || o;
|
|
207
|
-
}
|
|
208
|
-
}), o;
|
|
209
|
-
}
|
|
210
|
-
function x(n) {
|
|
211
|
-
return typeof n.body != "object" || !("datatype" in n.body) ? !1 : n.body.datatype.package === "0x2" && n.body.datatype.module === "transfer" && n.body.datatype.type === "Receiving";
|
|
80
|
+
}
|
|
212
81
|
}
|
|
213
82
|
export {
|
|
214
|
-
|
|
83
|
+
S as Experimental_CoreClient
|
|
215
84
|
};
|
package/dist/index322.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class c extends Error{}class t extends c{constructor(e,d){super(d),this.code=e}static fromResponse(e,d){switch(e.code){case"notExists":return new t(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new t(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new t(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new t(e.code,`Display error: ${e.error}`);case"unknown":default:return new t(e.code,`Unknown error while loading object${d?` ${d}`:""}`)}}}exports.ObjectError=t;exports.SuiClientError=c;
|