@misofm/partyos 0.1.0
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/LICENSE +201 -0
- package/README.md +50 -0
- package/dist/client.d.ts +84 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +109 -0
- package/dist/client.js.map +1 -0
- package/dist/contracts/partyos/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/partyos/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/partyos/deps/sui/vec_set.js +20 -0
- package/dist/contracts/partyos/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/partyos/party.d.ts +481 -0
- package/dist/contracts/partyos/party.d.ts.map +1 -0
- package/dist/contracts/partyos/party.js +527 -0
- package/dist/contracts/partyos/party.js.map +1 -0
- package/dist/contracts/utils/index.d.ts +104 -0
- package/dist/contracts/utils/index.d.ts.map +1 -0
- package/dist/contracts/utils/index.js +272 -0
- package/dist/contracts/utils/index.js.map +1 -0
- package/dist/contracts.d.ts +12 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +21 -0
- package/dist/contracts.js.map +1 -0
- package/dist/deployments.d.ts +33 -0
- package/dist/deployments.d.ts.map +1 -0
- package/dist/deployments.js +63 -0
- package/dist/deployments.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +5 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +24 -0
- package/dist/internal.js.map +1 -0
- package/dist/queries.d.ts +37 -0
- package/dist/queries.d.ts.map +1 -0
- package/dist/queries.js +123 -0
- package/dist/queries.js.map +1 -0
- package/dist/transactions.d.ts +74 -0
- package/dist/transactions.d.ts.map +1 -0
- package/dist/transactions.js +85 -0
- package/dist/transactions.js.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/package.json +97 -0
- package/src/client.ts +165 -0
- package/src/contracts/partyos/deps/sui/vec_set.ts +22 -0
- package/src/contracts/partyos/party.ts +798 -0
- package/src/contracts/utils/index.ts +428 -0
- package/src/contracts.ts +31 -0
- package/src/deployments.ts +90 -0
- package/src/index.ts +15 -0
- package/src/internal.ts +30 -0
- package/src/queries.ts +167 -0
- package/src/transactions.ts +167 -0
- package/src/types.ts +18 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple, } from '@mysten/sui/bcs';
|
|
2
|
+
import { normalizeStructTag, normalizeSuiAddress } from '@mysten/sui/utils';
|
|
3
|
+
import { isArgument, } from '@mysten/sui/transactions';
|
|
4
|
+
import {} from '@mysten/sui/client';
|
|
5
|
+
const MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');
|
|
6
|
+
const SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');
|
|
7
|
+
export function getPureBcsSchema(typeTag) {
|
|
8
|
+
const parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
|
|
9
|
+
if ('u8' in parsedTag) {
|
|
10
|
+
return bcs.U8;
|
|
11
|
+
}
|
|
12
|
+
else if ('u16' in parsedTag) {
|
|
13
|
+
return bcs.U16;
|
|
14
|
+
}
|
|
15
|
+
else if ('u32' in parsedTag) {
|
|
16
|
+
return bcs.U32;
|
|
17
|
+
}
|
|
18
|
+
else if ('u64' in parsedTag) {
|
|
19
|
+
return bcs.U64;
|
|
20
|
+
}
|
|
21
|
+
else if ('u128' in parsedTag) {
|
|
22
|
+
return bcs.U128;
|
|
23
|
+
}
|
|
24
|
+
else if ('u256' in parsedTag) {
|
|
25
|
+
return bcs.U256;
|
|
26
|
+
}
|
|
27
|
+
else if ('address' in parsedTag) {
|
|
28
|
+
return bcs.Address;
|
|
29
|
+
}
|
|
30
|
+
else if ('bool' in parsedTag) {
|
|
31
|
+
return bcs.Bool;
|
|
32
|
+
}
|
|
33
|
+
else if ('vector' in parsedTag) {
|
|
34
|
+
const type = getPureBcsSchema(parsedTag.vector);
|
|
35
|
+
return type ? bcs.vector(type) : null;
|
|
36
|
+
}
|
|
37
|
+
else if ('struct' in parsedTag) {
|
|
38
|
+
const structTag = parsedTag.struct;
|
|
39
|
+
const pkg = normalizeSuiAddress(structTag.address);
|
|
40
|
+
if (pkg === MOVE_STDLIB_ADDRESS) {
|
|
41
|
+
if ((structTag.module === 'ascii' || structTag.module === 'string') &&
|
|
42
|
+
structTag.name === 'String') {
|
|
43
|
+
return bcs.String;
|
|
44
|
+
}
|
|
45
|
+
if (structTag.module === 'option' && structTag.name === 'Option') {
|
|
46
|
+
const inner = structTag.typeParams[0];
|
|
47
|
+
const type = inner ? getPureBcsSchema(inner) : null;
|
|
48
|
+
return type ? bcs.option(type) : null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (pkg === SUI_FRAMEWORK_ADDRESS &&
|
|
52
|
+
structTag.module === 'object' &&
|
|
53
|
+
(structTag.name === 'ID' || structTag.name === 'UID')) {
|
|
54
|
+
return bcs.Address;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
export function normalizeMoveArguments(args, argTypes, parameterNames) {
|
|
60
|
+
const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
|
|
61
|
+
if (parameterNames && argLen !== parameterNames.length) {
|
|
62
|
+
throw new Error(`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`);
|
|
63
|
+
}
|
|
64
|
+
const normalizedArgs = [];
|
|
65
|
+
let index = 0;
|
|
66
|
+
for (const argType of argTypes) {
|
|
67
|
+
if (argType === '0x2::clock::Clock') {
|
|
68
|
+
normalizedArgs.push((tx) => tx.object.clock());
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
if (argType === '0x2::random::Random') {
|
|
72
|
+
normalizedArgs.push((tx) => tx.object.random());
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (argType === '0x2::deny_list::DenyList') {
|
|
76
|
+
normalizedArgs.push((tx) => tx.object.denyList());
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (argType === '0x2::accumulator::AccumulatorRoot') {
|
|
80
|
+
// Chain-wide shared singleton at a fixed address (SUI_ACCUMULATOR_ROOT_OBJECT_ID).
|
|
81
|
+
normalizedArgs.push((tx) => tx.object('0xacc'));
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (argType === '0x3::sui_system::SuiSystemState') {
|
|
85
|
+
normalizedArgs.push((tx) => tx.object.system());
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
let arg;
|
|
89
|
+
if (Array.isArray(args)) {
|
|
90
|
+
if (index >= args.length) {
|
|
91
|
+
throw new Error(`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`);
|
|
92
|
+
}
|
|
93
|
+
arg = args[index];
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if (!parameterNames) {
|
|
97
|
+
throw new Error(`Expected arguments to be passed as an array`);
|
|
98
|
+
}
|
|
99
|
+
const name = parameterNames[index];
|
|
100
|
+
arg =
|
|
101
|
+
name !== undefined && Object.prototype.hasOwnProperty.call(args, name)
|
|
102
|
+
? args[name]
|
|
103
|
+
: undefined;
|
|
104
|
+
if (arg === undefined) {
|
|
105
|
+
throw new Error(`Parameter ${name} is required`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
index += 1;
|
|
109
|
+
if (typeof arg === 'function' || isArgument(arg)) {
|
|
110
|
+
normalizedArgs.push(arg);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const bcsType = argType === null ? null : getPureBcsSchema(argType);
|
|
114
|
+
if (bcsType) {
|
|
115
|
+
const bytes = bcsType.serialize(arg);
|
|
116
|
+
normalizedArgs.push((tx) => tx.pure(bytes));
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (typeof arg === 'string') {
|
|
120
|
+
normalizedArgs.push((tx) => tx.object(arg));
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
throw new Error(`Invalid argument ${stringify(arg)} for type ${argType}`);
|
|
124
|
+
}
|
|
125
|
+
return normalizedArgs;
|
|
126
|
+
}
|
|
127
|
+
const HAS_PHANTOM_REGEX = /phantom [A-Za-z_$][A-Za-z0-9_$]*/;
|
|
128
|
+
function splitTopLevelTypeArgs(inner) {
|
|
129
|
+
const parts = [];
|
|
130
|
+
let depth = 0;
|
|
131
|
+
let current = '';
|
|
132
|
+
for (const char of inner) {
|
|
133
|
+
if (char === ',' && depth === 0) {
|
|
134
|
+
parts.push(current.trim());
|
|
135
|
+
current = '';
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (char === '<')
|
|
139
|
+
depth++;
|
|
140
|
+
if (char === '>')
|
|
141
|
+
depth--;
|
|
142
|
+
current += char;
|
|
143
|
+
}
|
|
144
|
+
if (current)
|
|
145
|
+
parts.push(current.trim());
|
|
146
|
+
return parts;
|
|
147
|
+
}
|
|
148
|
+
function buildTypeTag(name, options) {
|
|
149
|
+
const lt = name.indexOf('<');
|
|
150
|
+
const base = lt === -1 ? name : name.slice(0, lt);
|
|
151
|
+
if (base.split('::').length !== 3) {
|
|
152
|
+
throw new Error(`${name} is not a top-level Move type`);
|
|
153
|
+
}
|
|
154
|
+
let result = name;
|
|
155
|
+
if (options?.typeArguments) {
|
|
156
|
+
const baked = lt === -1 ? [] : splitTopLevelTypeArgs(name.slice(lt + 1, -1));
|
|
157
|
+
const supplied = options.typeArguments.map((arg) => {
|
|
158
|
+
if (typeof arg === 'string') {
|
|
159
|
+
return arg;
|
|
160
|
+
}
|
|
161
|
+
if (arg && typeof arg.serialize === 'function' && typeof arg.name === 'string') {
|
|
162
|
+
return arg.name;
|
|
163
|
+
}
|
|
164
|
+
throw new Error(`Invalid type argument ${stringify(arg)}`);
|
|
165
|
+
});
|
|
166
|
+
if (supplied.length !== baked.length) {
|
|
167
|
+
throw new Error(`Expected ${baked.length} type arguments for ${base}, got ${supplied.length}`);
|
|
168
|
+
}
|
|
169
|
+
result = supplied.length === 0 ? base : `${base}<${supplied.join(', ')}>`;
|
|
170
|
+
}
|
|
171
|
+
if (HAS_PHANTOM_REGEX.test(result)) {
|
|
172
|
+
throw new Error(options?.typeArguments
|
|
173
|
+
? `A type argument contains an unfilled phantom parameter in ${result}`
|
|
174
|
+
: `Missing type arguments for ${result}`);
|
|
175
|
+
}
|
|
176
|
+
if (options?.package) {
|
|
177
|
+
const [, ...rest] = result.split('::');
|
|
178
|
+
result = [options.package, ...rest].join('::');
|
|
179
|
+
}
|
|
180
|
+
// fully validate address-only tags (MVR names can't be parsed as type tags)
|
|
181
|
+
if (!HAS_PHANTOM_REGEX.test(result) && !/[@/]/.test(result)) {
|
|
182
|
+
TypeTagSerializer.parseFromStr(result);
|
|
183
|
+
}
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
async function resolveBuiltTypeTag(name, options) {
|
|
187
|
+
const { client, ...rest } = options;
|
|
188
|
+
const { type } = await client.core.mvr.resolveType({
|
|
189
|
+
type: buildTypeTag(name, rest),
|
|
190
|
+
});
|
|
191
|
+
return normalizeStructTag(type);
|
|
192
|
+
}
|
|
193
|
+
export class MoveStruct extends BcsStruct {
|
|
194
|
+
/**
|
|
195
|
+
* Build the type tag for this struct.
|
|
196
|
+
*
|
|
197
|
+
* `typeArguments` is the full positional list, in Move declaration order, and
|
|
198
|
+
* is required when the struct has unfilled phantom parameters. The result may
|
|
199
|
+
* contain MVR names: those are valid in transaction `typeArguments`, but for
|
|
200
|
+
* queries or comparisons against on-chain data use `resolveTypeTag` instead.
|
|
201
|
+
*/
|
|
202
|
+
typeTag(...args) {
|
|
203
|
+
return buildTypeTag(this.name, args[0]);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Build the type tag for this struct, then resolve any MVR names through the
|
|
207
|
+
* client (using its configured overrides and the MVR API) and return the
|
|
208
|
+
* normalized, address-only form suitable for queries and comparisons against
|
|
209
|
+
* on-chain data.
|
|
210
|
+
*/
|
|
211
|
+
async resolveTypeTag(options) {
|
|
212
|
+
return resolveBuiltTypeTag(this.name, options);
|
|
213
|
+
}
|
|
214
|
+
async get({ objectId, ...options }) {
|
|
215
|
+
const [res] = await this.getMany({
|
|
216
|
+
...options,
|
|
217
|
+
objectIds: [objectId],
|
|
218
|
+
});
|
|
219
|
+
if (!res) {
|
|
220
|
+
throw new Error(`No object found for id ${objectId}`);
|
|
221
|
+
}
|
|
222
|
+
return res;
|
|
223
|
+
}
|
|
224
|
+
async getMany({ client, ...options }) {
|
|
225
|
+
const response = (await client.core.getObjects({
|
|
226
|
+
...options,
|
|
227
|
+
include: {
|
|
228
|
+
...options.include,
|
|
229
|
+
content: true,
|
|
230
|
+
},
|
|
231
|
+
}));
|
|
232
|
+
return response.objects.map((obj) => {
|
|
233
|
+
if (obj instanceof Error) {
|
|
234
|
+
throw obj;
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
...obj,
|
|
238
|
+
json: this.parse(obj.content),
|
|
239
|
+
};
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
export class MoveEnum extends BcsEnum {
|
|
244
|
+
/** Build the type tag for this enum. See `MoveStruct.typeTag` for semantics. */
|
|
245
|
+
typeTag(...args) {
|
|
246
|
+
return buildTypeTag(this.name, args[0]);
|
|
247
|
+
}
|
|
248
|
+
/** Build and resolve the type tag for this enum. See `MoveStruct.resolveTypeTag`. */
|
|
249
|
+
async resolveTypeTag(options) {
|
|
250
|
+
return resolveBuiltTypeTag(this.name, options);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
export class MoveTuple extends BcsTuple {
|
|
254
|
+
/** Build the type tag for this struct. See `MoveStruct.typeTag` for semantics. */
|
|
255
|
+
typeTag(...args) {
|
|
256
|
+
return buildTypeTag(this.name, args[0]);
|
|
257
|
+
}
|
|
258
|
+
/** Build and resolve the type tag for this struct. See `MoveStruct.resolveTypeTag`. */
|
|
259
|
+
async resolveTypeTag(options) {
|
|
260
|
+
return resolveBuiltTypeTag(this.name, options);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
function stringify(val) {
|
|
264
|
+
if (typeof val === 'object') {
|
|
265
|
+
return JSON.stringify(val, (_key, value) => typeof value === 'bigint' ? value.toString() : value);
|
|
266
|
+
}
|
|
267
|
+
if (typeof val === 'bigint') {
|
|
268
|
+
return val.toString();
|
|
269
|
+
}
|
|
270
|
+
return val;
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,GAAG,EAGH,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,GACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAGN,UAAU,GACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA+C,MAAM,oBAAoB,CAAC;AAEjF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACvD,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAUzD,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACzD,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAElG,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,EAAE,CAAC;IACf,CAAC;SAAM,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;SAAM,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;SAAM,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;SAAM,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,IAAI,CAAC;IACjB,CAAC;SAAM,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,IAAI,CAAC;IACjB,CAAC;SAAM,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,OAAO,CAAC;IACpB,CAAC;SAAM,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,IAAI,CAAC;IACjB,CAAC;SAAM,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;SAAM,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YACjC,IACC,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAC/D,SAAS,CAAC,IAAI,KAAK,QAAQ,EAC1B,CAAC;gBACF,OAAO,GAAG,CAAC,MAAM,CAAC;YACnB,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;QACF,CAAC;QAED,IACC,GAAG,KAAK,qBAAqB;YAC7B,SAAS,CAAC,MAAM,KAAK,QAAQ;YAC7B,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,EACpD,CAAC;YACF,OAAO,GAAG,CAAC,OAAO,CAAC;QACpB,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,IAAwB,EACxB,QAAoC,EACpC,cAAyB;IAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC5E,IAAI,cAAc,IAAI,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACd,yCAAyC,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,CAC/E,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAA0B,EAAE,CAAC;IAEjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;YACrC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,SAAS;QACV,CAAC;QAED,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;YACvC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,SAAS;QACV,CAAC;QAED,IAAI,OAAO,KAAK,0BAA0B,EAAE,CAAC;YAC5C,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClD,SAAS;QACV,CAAC;QAED,IAAI,OAAO,KAAK,mCAAmC,EAAE,CAAC;YACrD,mFAAmF;YACnF,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,SAAS;QACV,CAAC;QAED,IAAI,OAAO,KAAK,iCAAiC,EAAE,CAAC;YACnD,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,SAAS;QACV,CAAC;QAED,IAAI,GAAG,CAAC;QACR,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACd,kDAAkD,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CACjF,CAAC;YACH,CAAC;YACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACnC,GAAG;gBACF,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;oBACrE,CAAC,CAAC,IAAI,CAAC,IAAyB,CAAC;oBACjC,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QAED,KAAK,IAAI,CAAC,CAAC;QAEX,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,cAAc,CAAC,IAAI,CAAC,GAA0B,CAAC,CAAC;YAChD,SAAS;QACV,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpE,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAY,CAAC,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,SAAS;QACV,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,SAAS;QACV,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC;AA6DD,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAE7D,SAAS,qBAAqB,CAAC,KAAa;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,OAAmC;IACtE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACZ,CAAC;YACD,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChF,OAAO,GAAG,CAAC,IAAI,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACd,YAAY,KAAK,CAAC,MAAM,uBAAuB,IAAI,SAAS,QAAQ,CAAC,MAAM,EAAE,CAC7E,CAAC;QACH,CAAC;QAED,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3E,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACd,OAAO,EAAE,aAAa;YACrB,CAAC,CAAC,6DAA6D,MAAM,EAAE;YACvE,CAAC,CAAC,8BAA8B,MAAM,EAAE,CACzC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAuD;IAEvD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QAClD,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,UAGX,SAAQ,SAAkB;IAC3B;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,IAAyB;QACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAA+B,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,OAAoC;QACxD,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAyD,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,GAAG,CAA8E,EACtF,QAAQ,EACR,GAAG,OAAO,EACW;QAGrB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAU;YACzC,GAAG,OAAO;YACV,SAAS,EAAE,CAAC,QAAQ,CAAC;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAA8E,EAC1F,MAAM,EACN,GAAG,OAAO,EACe;QAGzB,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,GAAG,OAAO;YACV,OAAO,EAAE;gBACR,GAAG,OAAO,CAAC,OAAO;gBAClB,OAAO,EAAE,IAAI;aACb;SACD,CAAC,CAAmE,CAAC;QAEtE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBAC1B,MAAM,GAAG,CAAC;YACX,CAAC;YAED,OAAO;gBACN,GAAG,GAAG;gBACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;aAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,OAAO,QAGX,SAAQ,OAAgB;IACzB,gFAAgF;IAChF,OAAO,CAAC,GAAG,IAAyB;QACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAA+B,CAAC,CAAC;IACvE,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,cAAc,CAAC,OAAoC;QACxD,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAyD,CAAC,CAAC;IAClG,CAAC;CACD;AAED,MAAM,OAAO,SAGX,SAAQ,QAAiB;IAC1B,kFAAkF;IAClF,OAAO,CAAC,GAAG,IAAyB;QACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAA+B,CAAC,CAAC;IACvE,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,cAAc,CAAC,OAAoC;QACxD,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAyD,CAAC,CAAC;IAClG,CAAC;CACD;AAED,SAAS,SAAS,CAAC,GAAY;IAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC1C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACpD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as rawParty from "./contracts/partyos/party.ts";
|
|
2
|
+
type PublicModule<M extends object, K extends readonly (keyof M)[]> = Omit<M, K[number]>;
|
|
3
|
+
/**
|
|
4
|
+
* Public Move functions that return references. A PTB can borrow internally,
|
|
5
|
+
* but a Move-call command result cannot carry a reference to a later command,
|
|
6
|
+
* so they are kept out of the curated barrel and the client's `call` namespace.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PARTY_REF_RETURNING_CALLS: readonly ["groupMembers", "uid", "uidMut"];
|
|
9
|
+
/** Party core (BCS codecs remain available; PTB-inaccessible references do not). */
|
|
10
|
+
export declare const party: PublicModule<typeof rawParty, readonly ["groupMembers", "uid", "uidMut"]>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAUzF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,YAAI,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAC;AAEpF,oFAAoF;AACpF,eAAO,MAAM,KAAK,2EAA0D,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// Barrel for the codegen-generated, ABI-bound bindings (BCS structs + type-safe
|
|
4
|
+
// Move calls). Re-exported from the package root as the `contracts` namespace.
|
|
5
|
+
//
|
|
6
|
+
// The generated default `@local-pkg/partyos` identity is a source label only:
|
|
7
|
+
// callers must inject the exact published address through `PartyDeployment`
|
|
8
|
+
// before building a transaction.
|
|
9
|
+
import * as rawParty from "./contracts/partyos/party.js";
|
|
10
|
+
function withoutUnsafeCalls(module, keys) {
|
|
11
|
+
return Object.fromEntries(Object.entries(module).filter(([key]) => !keys.includes(key)));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Public Move functions that return references. A PTB can borrow internally,
|
|
15
|
+
* but a Move-call command result cannot carry a reference to a later command,
|
|
16
|
+
* so they are kept out of the curated barrel and the client's `call` namespace.
|
|
17
|
+
*/
|
|
18
|
+
export const PARTY_REF_RETURNING_CALLS = ["groupMembers", "uid", "uidMut"];
|
|
19
|
+
/** Party core (BCS codecs remain available; PTB-inaccessible references do not). */
|
|
20
|
+
export const party = withoutUnsafeCalls(rawParty, PARTY_REF_RETURNING_CALLS);
|
|
21
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,iCAAiC;AAEjC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAGzD,SAAS,kBAAkB,CACzB,MAAS,EACT,IAAO;IAEP,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAc,CAAC,CAAC,CACnD,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAC;AAEpF,oFAAoF;AACpF,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Sui networks for which this SDK may bundle a verified deployment. */
|
|
2
|
+
export type PartyosNetwork = "mainnet" | "testnet";
|
|
3
|
+
/**
|
|
4
|
+
* The single independently published package required by this SDK surface:
|
|
5
|
+
* the `partyos` object-model package (module `party`).
|
|
6
|
+
*
|
|
7
|
+
* This name is a stable deployment-manifest key, not a Move module name. Its
|
|
8
|
+
* value is never inferred from a source label or a previous publish.
|
|
9
|
+
*/
|
|
10
|
+
declare const CANONICAL_PARTYOS_PACKAGE_NAMES: readonly ["partyos"];
|
|
11
|
+
export type PartyosPackageName = (typeof CANONICAL_PARTYOS_PACKAGE_NAMES)[number];
|
|
12
|
+
/**
|
|
13
|
+
* Exact package address from one compatible publish. Fill this only from the
|
|
14
|
+
* verified immutable publish record.
|
|
15
|
+
*/
|
|
16
|
+
export type PartyDeployment = Readonly<Record<PartyosPackageName, string>>;
|
|
17
|
+
/** Verified immutable deployments bundled with this SDK release. */
|
|
18
|
+
export declare const PARTYOS_DEPLOYMENTS: Readonly<{
|
|
19
|
+
readonly testnet: Readonly<{
|
|
20
|
+
readonly partyos: "0xc9fc5d918da992b7c6499880fc509635def384d8529948b28f58494daedf8ec8";
|
|
21
|
+
}>;
|
|
22
|
+
}>;
|
|
23
|
+
/** Resolve a verified manifest, failing closed for unbundled networks. */
|
|
24
|
+
export declare function getPartyDeployment(network: string): PartyDeployment;
|
|
25
|
+
/**
|
|
26
|
+
* Validates an explicit manifest before any Move target is constructed. This is
|
|
27
|
+
* useful at configuration boundaries such as environment-file loading.
|
|
28
|
+
*/
|
|
29
|
+
export declare function assertPartyDeployment(deployment: unknown): asserts deployment is PartyDeployment;
|
|
30
|
+
/** Validate and snapshot an untrusted manifest so later caller mutation is inert. */
|
|
31
|
+
export declare function normalizePartyDeployment(deployment: unknown): PartyDeployment;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=deployments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAKA,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,QAAA,MAAM,+BAA+B,YAAI,SAAS,CAAU,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3E,oEAAoE;AACpE,eAAO,MAAM,mBAAmB;;0BAEnB,oEAAoE;;EAEX,CAAC;AAEvE,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CASnE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAiChG;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,CAK7E"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { normalizeSuiAddress } from "@mysten/sui/utils";
|
|
4
|
+
/**
|
|
5
|
+
* The single independently published package required by this SDK surface:
|
|
6
|
+
* the `partyos` object-model package (module `party`).
|
|
7
|
+
*
|
|
8
|
+
* This name is a stable deployment-manifest key, not a Move module name. Its
|
|
9
|
+
* value is never inferred from a source label or a previous publish.
|
|
10
|
+
*/
|
|
11
|
+
const CANONICAL_PARTYOS_PACKAGE_NAMES = ["partyos"];
|
|
12
|
+
/** Verified immutable deployments bundled with this SDK release. */
|
|
13
|
+
export const PARTYOS_DEPLOYMENTS = Object.freeze({
|
|
14
|
+
testnet: Object.freeze({
|
|
15
|
+
partyos: "0xc9fc5d918da992b7c6499880fc509635def384d8529948b28f58494daedf8ec8",
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
/** Resolve a verified manifest, failing closed for unbundled networks. */
|
|
19
|
+
export function getPartyDeployment(network) {
|
|
20
|
+
const deployment = PARTYOS_DEPLOYMENTS[network];
|
|
21
|
+
if (!deployment) {
|
|
22
|
+
throw new Error(`@misofm/partyos: no verified PartyOS deployment is bundled for network "${network}". ` +
|
|
23
|
+
"Inject the exact post-publish manifest or pass an explicit deployment; historic package IDs are rejected.");
|
|
24
|
+
}
|
|
25
|
+
return normalizePartyDeployment(deployment);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Validates an explicit manifest before any Move target is constructed. This is
|
|
29
|
+
* useful at configuration boundaries such as environment-file loading.
|
|
30
|
+
*/
|
|
31
|
+
export function assertPartyDeployment(deployment) {
|
|
32
|
+
if (!deployment || typeof deployment !== "object" || Array.isArray(deployment)) {
|
|
33
|
+
throw new Error(`@misofm/partyos: deployment must be an object with exactly these package IDs: ${CANONICAL_PARTYOS_PACKAGE_NAMES.join(", ")}.`);
|
|
34
|
+
}
|
|
35
|
+
const entries = deployment;
|
|
36
|
+
const keys = Object.keys(entries);
|
|
37
|
+
const unexpected = keys.filter((key) => !CANONICAL_PARTYOS_PACKAGE_NAMES.includes(key));
|
|
38
|
+
if (unexpected.length > 0 || keys.length !== CANONICAL_PARTYOS_PACKAGE_NAMES.length) {
|
|
39
|
+
throw new Error(`@misofm/partyos: deployment must contain exactly these package IDs: ${CANONICAL_PARTYOS_PACKAGE_NAMES.join(", ")}.`);
|
|
40
|
+
}
|
|
41
|
+
for (const name of CANONICAL_PARTYOS_PACKAGE_NAMES) {
|
|
42
|
+
const packageId = entries[name];
|
|
43
|
+
if (typeof packageId !== "string") {
|
|
44
|
+
throw new Error(`@misofm/partyos: deployment is missing package ID for "${name}".`);
|
|
45
|
+
}
|
|
46
|
+
let normalized;
|
|
47
|
+
try {
|
|
48
|
+
normalized = normalizeSuiAddress(packageId);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
throw new Error(`@misofm/partyos: deployment package ID for "${name}" is not a valid Sui address.`);
|
|
52
|
+
}
|
|
53
|
+
if (packageId !== normalized) {
|
|
54
|
+
throw new Error(`@misofm/partyos: deployment package ID for "${name}" must be normalized (${normalized}).`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** Validate and snapshot an untrusted manifest so later caller mutation is inert. */
|
|
59
|
+
export function normalizePartyDeployment(deployment) {
|
|
60
|
+
assertPartyDeployment(deployment);
|
|
61
|
+
return Object.freeze(Object.fromEntries(CANONICAL_PARTYOS_PACKAGE_NAMES.map((name) => [name, deployment[name]])));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=deployments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;;;;;GAMG;AACH,MAAM,+BAA+B,GAAG,CAAC,SAAS,CAAU,CAAC;AAU7D,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,oEAAoE;KACrE,CAAC;CACH,CAA4D,CAAC;AAEvE,0EAA0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,UAAU,GAAI,mBAAgE,CAAC,OAAO,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,2EAA2E,OAAO,KAAK;YACrF,2GAA2G,CAC9G,CAAC;IACJ,CAAC;IACD,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAmB;IACvD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CACb,iFAAiF,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/H,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAqC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,GAAyB,CAAC,CAC9E,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,+BAA+B,CAAC,MAAM,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CACb,uEAAuE,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrH,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,+BAA+B,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,IAAI,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,+BAA+B,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,yBAAyB,UAAU,IAAI,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,wBAAwB,CAAC,UAAmB;IAC1D,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,WAAW,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzE,CAAC;AACvB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAGjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// `@misofm/partyos` — the PartyOS object model: Party identity, its admin cap,
|
|
4
|
+
// and consent-based group membership. Everything Miso offers on top of a Party
|
|
5
|
+
// (profiles, media, roles, tags, genres, CTAs, platform links, the party
|
|
6
|
+
// wallet) is an extension and ships from `@misofm/platform`.
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
export * from "./transactions.js";
|
|
9
|
+
export * from "./queries.js";
|
|
10
|
+
export * from "./client.js";
|
|
11
|
+
export * from "./deployments.js";
|
|
12
|
+
// Generated, ABI-bound bindings (BCS structs + type-safe Move calls).
|
|
13
|
+
export * as contracts from "./contracts.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,+EAA+E;AAC/E,+EAA+E;AAC/E,yEAAyE;AACzE,6DAA6D;AAC7D,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAEjC,sEAAsE;AACtE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Party } from "./types.ts";
|
|
2
|
+
export declare function mapParty(id: string, d: any): Party;
|
|
3
|
+
/** Normalizes a dynamic-field key's BCS bytes (Uint8Array or base64 string). */
|
|
4
|
+
export declare function keyBytes(bcs: unknown): Uint8Array;
|
|
5
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,CAclD;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAEjD"}
|
package/dist/internal.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// The single boundary between generated BCS-parse output (snake_case, Move-shaped)
|
|
4
|
+
// and the public camelCase types.
|
|
5
|
+
import { fromBase64 } from "@mysten/sui/utils";
|
|
6
|
+
// deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
|
|
7
|
+
export function mapParty(id, d) {
|
|
8
|
+
const kind = d.kind;
|
|
9
|
+
const createdAtMs = Number(d.created_at_ms);
|
|
10
|
+
// PartyKind is `Individual | Group(VecSet<ID>)`. The enum parses to
|
|
11
|
+
// `{ $kind, Individual? , Group? }`; Group's payload is a VecSet `{ contents }`.
|
|
12
|
+
const groupPayload = kind?.Group ?? (kind?.$kind === "Group" ? kind.value : undefined);
|
|
13
|
+
if (groupPayload !== undefined) {
|
|
14
|
+
const contents = groupPayload?.contents ?? groupPayload ?? [];
|
|
15
|
+
const members = (Array.isArray(contents) ? contents : []).map((m) => typeof m === "string" ? m : m?.id ?? String(m));
|
|
16
|
+
return { id, kind: "group", name: d.name, members, createdAtMs };
|
|
17
|
+
}
|
|
18
|
+
return { id, kind: "individual", name: d.name, createdAtMs };
|
|
19
|
+
}
|
|
20
|
+
/** Normalizes a dynamic-field key's BCS bytes (Uint8Array or base64 string). */
|
|
21
|
+
export function keyBytes(bcs) {
|
|
22
|
+
return typeof bcs === "string" ? fromBase64(bcs) : bcs;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,mFAAmF;AACnF,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,8EAA8E;AAC9E,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,CAAM;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5C,oEAAoE;IACpE,iFAAiF;IACjF,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,YAAY,IAAI,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAC3E,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAqB,EAAE,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAkB,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ClientWithCoreApi } from "@mysten/sui/client";
|
|
2
|
+
import type { Party } from "./types.ts";
|
|
3
|
+
/** True for the Core API's "object does not exist" error (a missing dynamic field). */
|
|
4
|
+
export declare function isNotFound(e: unknown): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Reads an object's BCS content, or null when it does not exist. A missing
|
|
7
|
+
* object (e.g. an unset dynamic field) surfaces as a thrown "not found" from the
|
|
8
|
+
* Core API, not an empty result, so optional reads can treat it as absence.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getObjectContent(client: ClientWithCoreApi, objectId: string): Promise<Uint8Array | null>;
|
|
11
|
+
/** The `Party` struct tag of one partyos deployment. */
|
|
12
|
+
export declare function partyType(partyPackageId: string): string;
|
|
13
|
+
/** Fetches and parses a shared `Party` object of this deployment's partyos package. */
|
|
14
|
+
export declare function getPartyById(client: ClientWithCoreApi, partyId: string, partyPackageId: string): Promise<Party>;
|
|
15
|
+
/**
|
|
16
|
+
* Fetches and parses multiple shared `Party` objects in one Core request.
|
|
17
|
+
* Missing objects are skipped; an object of another type is an error.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getPartiesByIds(client: ClientWithCoreApi, partyIds: readonly string[], partyPackageId: string): Promise<Partial<Record<string, Party>>>;
|
|
20
|
+
/** Derives a party's `PartyAdminCap` id (it is a `derived_object` off the party UID). */
|
|
21
|
+
export declare function derivePartyAdminCapId(partyId: string, partyPackageId: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* The group ids a party currently belongs to, read from its `MembershipKey`
|
|
24
|
+
* dynamic fields (the member-side record). No indexer required.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getMemberships(client: ClientWithCoreApi, partyId: string): Promise<string[]>;
|
|
27
|
+
/** The member ids invited to a group but not yet accepted (its `PendingInviteKey` fields). */
|
|
28
|
+
export declare function getPendingInvites(client: ClientWithCoreApi, groupId: string): Promise<string[]>;
|
|
29
|
+
/**
|
|
30
|
+
* The group ids that have invited a party but are still awaiting its response.
|
|
31
|
+
* This reads the member-side `PendingMembershipKey` inbox index, so it only
|
|
32
|
+
* enumerates the target party's dynamic fields.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getPendingMemberships(client: ClientWithCoreApi, partyId: string): Promise<string[]>;
|
|
35
|
+
/** Whether `memberId` currently holds a membership record for `groupId`. */
|
|
36
|
+
export declare function isMember(client: ClientWithCoreApi, memberId: string, groupId: string, partyPackageId: string): Promise<boolean>;
|
|
37
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAU5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAG9C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ9G;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAExD;AAeD,uFAAuF;AACvF,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,KAAK,CAAC,CAWhB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAazC;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAMrF;AA0BD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAElG;AAED,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAErG;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzG;AAED,4EAA4E;AAC5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAOlB"}
|