UNPKG

@mysten/sui

Version:

Sui TypeScript API(Work in Progress)

214 lines (213 loc) 8.8 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var internal_exports = {}; __export(internal_exports, { $Intent: () => $Intent, Argument: () => Argument, BCSBytes: () => BCSBytes, Command: () => Command, GasData: () => GasData, JsonU64: () => JsonU64, NormalizedCallArg: () => NormalizedCallArg, ObjectArg: () => ObjectArg, ObjectID: () => ObjectID, ObjectRef: () => ObjectRef, OpenMoveTypeSignature: () => OpenMoveTypeSignature, OpenMoveTypeSignatureBody: () => OpenMoveTypeSignatureBody, StructTag: () => StructTag, SuiAddress: () => SuiAddress, TransactionData: () => TransactionData, TransactionExpiration: () => TransactionExpiration, safeEnum: () => safeEnum }); module.exports = __toCommonJS(internal_exports); var import_valibot = require("valibot"); var import_sui_types = require("../../utils/sui-types.js"); function safeEnum(options) { const unionOptions = Object.entries(options).map(([key, value]) => (0, import_valibot.object)({ [key]: value })); return (0, import_valibot.pipe)( (0, import_valibot.union)(unionOptions), (0, import_valibot.transform)((value) => ({ ...value, $kind: Object.keys(value)[0] })) ); } const SuiAddress = (0, import_valibot.pipe)( (0, import_valibot.string)(), (0, import_valibot.transform)((value) => (0, import_sui_types.normalizeSuiAddress)(value)), (0, import_valibot.check)(import_sui_types.isValidSuiAddress) ); const ObjectID = SuiAddress; const BCSBytes = (0, import_valibot.string)(); const JsonU64 = (0, import_valibot.pipe)( (0, import_valibot.union)([(0, import_valibot.string)(), (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)())]), (0, import_valibot.check)((val) => { try { BigInt(val); return BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n; } catch { return false; } }, "Invalid u64") ); const ObjectRef = (0, import_valibot.object)({ objectId: SuiAddress, version: JsonU64, digest: (0, import_valibot.string)() }); const Argument = (0, import_valibot.pipe)( (0, import_valibot.union)([ (0, import_valibot.object)({ GasCoin: (0, import_valibot.literal)(true) }), (0, import_valibot.object)({ Input: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()), type: (0, import_valibot.optional)((0, import_valibot.literal)("pure")) }), (0, import_valibot.object)({ Input: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()), type: (0, import_valibot.optional)((0, import_valibot.literal)("object")) }), (0, import_valibot.object)({ Result: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()) }), (0, import_valibot.object)({ NestedResult: (0, import_valibot.tuple)([(0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()), (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)())]) }) ]), (0, import_valibot.transform)((value) => ({ ...value, $kind: Object.keys(value)[0] })) // Defined manually to add `type?: 'pure' | 'object'` to Input ); const GasData = (0, import_valibot.object)({ budget: (0, import_valibot.nullable)(JsonU64), price: (0, import_valibot.nullable)(JsonU64), owner: (0, import_valibot.nullable)(SuiAddress), payment: (0, import_valibot.nullable)((0, import_valibot.array)(ObjectRef)) }); const StructTag = (0, import_valibot.object)({ address: (0, import_valibot.string)(), module: (0, import_valibot.string)(), name: (0, import_valibot.string)(), // type_params in rust, should be updated to use camelCase typeParams: (0, import_valibot.array)((0, import_valibot.string)()) }); const OpenMoveTypeSignatureBody = (0, import_valibot.union)([ (0, import_valibot.literal)("address"), (0, import_valibot.literal)("bool"), (0, import_valibot.literal)("u8"), (0, import_valibot.literal)("u16"), (0, import_valibot.literal)("u32"), (0, import_valibot.literal)("u64"), (0, import_valibot.literal)("u128"), (0, import_valibot.literal)("u256"), (0, import_valibot.object)({ vector: (0, import_valibot.lazy)(() => OpenMoveTypeSignatureBody) }), (0, import_valibot.object)({ datatype: (0, import_valibot.object)({ package: (0, import_valibot.string)(), module: (0, import_valibot.string)(), type: (0, import_valibot.string)(), typeParameters: (0, import_valibot.array)((0, import_valibot.lazy)(() => OpenMoveTypeSignatureBody)) }) }), (0, import_valibot.object)({ typeParameter: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()) }) ]); const OpenMoveTypeSignature = (0, import_valibot.object)({ ref: (0, import_valibot.nullable)((0, import_valibot.union)([(0, import_valibot.literal)("&"), (0, import_valibot.literal)("&mut")])), body: OpenMoveTypeSignatureBody }); const ProgrammableMoveCall = (0, import_valibot.object)({ package: ObjectID, module: (0, import_valibot.string)(), function: (0, import_valibot.string)(), // snake case in rust typeArguments: (0, import_valibot.array)((0, import_valibot.string)()), arguments: (0, import_valibot.array)(Argument), _argumentTypes: (0, import_valibot.optional)((0, import_valibot.nullable)((0, import_valibot.array)(OpenMoveTypeSignature))) }); const $Intent = (0, import_valibot.object)({ name: (0, import_valibot.string)(), inputs: (0, import_valibot.record)((0, import_valibot.string)(), (0, import_valibot.union)([Argument, (0, import_valibot.array)(Argument)])), data: (0, import_valibot.record)((0, import_valibot.string)(), (0, import_valibot.unknown)()) }); const Command = safeEnum({ MoveCall: ProgrammableMoveCall, TransferObjects: (0, import_valibot.object)({ objects: (0, import_valibot.array)(Argument), address: Argument }), SplitCoins: (0, import_valibot.object)({ coin: Argument, amounts: (0, import_valibot.array)(Argument) }), MergeCoins: (0, import_valibot.object)({ destination: Argument, sources: (0, import_valibot.array)(Argument) }), Publish: (0, import_valibot.object)({ modules: (0, import_valibot.array)(BCSBytes), dependencies: (0, import_valibot.array)(ObjectID) }), MakeMoveVec: (0, import_valibot.object)({ type: (0, import_valibot.nullable)((0, import_valibot.string)()), elements: (0, import_valibot.array)(Argument) }), Upgrade: (0, import_valibot.object)({ modules: (0, import_valibot.array)(BCSBytes), dependencies: (0, import_valibot.array)(ObjectID), package: ObjectID, ticket: Argument }), $Intent }); const ObjectArg = safeEnum({ ImmOrOwnedObject: ObjectRef, SharedObject: (0, import_valibot.object)({ objectId: ObjectID, // snake case in rust initialSharedVersion: JsonU64, mutable: (0, import_valibot.boolean)() }), Receiving: ObjectRef }); const CallArg = safeEnum({ Object: ObjectArg, Pure: (0, import_valibot.object)({ bytes: BCSBytes }), UnresolvedPure: (0, import_valibot.object)({ value: (0, import_valibot.unknown)() }), UnresolvedObject: (0, import_valibot.object)({ objectId: ObjectID, version: (0, import_valibot.optional)((0, import_valibot.nullable)(JsonU64)), digest: (0, import_valibot.optional)((0, import_valibot.nullable)((0, import_valibot.string)())), initialSharedVersion: (0, import_valibot.optional)((0, import_valibot.nullable)(JsonU64)) }) }); const NormalizedCallArg = safeEnum({ Object: ObjectArg, Pure: (0, import_valibot.object)({ bytes: BCSBytes }) }); const TransactionExpiration = safeEnum({ None: (0, import_valibot.literal)(true), Epoch: JsonU64 }); const TransactionData = (0, import_valibot.object)({ version: (0, import_valibot.literal)(2), sender: (0, import_valibot.nullish)(SuiAddress), expiration: (0, import_valibot.nullish)(TransactionExpiration), gasData: GasData, inputs: (0, import_valibot.array)(CallArg), commands: (0, import_valibot.array)(Command) }); //# sourceMappingURL=internal.js.map