@mysten/suins
Version:
59 lines (57 loc) • 1.91 kB
JavaScript
import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
import { Data } from "./data.mjs";
import { bcs } from "@mysten/sui/bcs";
//#region src/contracts/suins_coupons/coupon_house.ts
/**************************************************************
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
**************************************************************/
/**
* A module to support coupons for SuiNS. This module allows secondary modules
* (e.g. Discord) to add or remove coupons too. This allows for separation of logic
* & ease of de-authorization in case we don't want some functionality anymore.
*
* Coupons are unique string codes, that can be used (based on the business rules)
* to claim discounts in the app. Each coupon is validated towards a list of rules.
* View `rules` module for explanation. The app is authorized on `SuiNS` to be able
* to claim names and add earnings to the registry.
*/
const $moduleName = "@suins/coupons::coupon_house";
const CouponsApp = new MoveStruct({
name: `${$moduleName}::CouponsApp`,
fields: { dummy_field: bcs.bool() }
});
const AppKey = new MoveStruct({
name: `${$moduleName}::AppKey<phantom A>`,
fields: { dummy_field: bcs.bool() }
});
const CouponHouse = new MoveStruct({
name: `${$moduleName}::CouponHouse`,
fields: {
data: Data,
version: bcs.u8(),
storage: bcs.Address
}
});
function applyCoupon(options) {
const packageAddress = options.package ?? "@suins/coupons";
const argumentsTypes = [
null,
null,
"0x1::string::String",
"0x2::clock::Clock"
];
const parameterNames = [
"suins",
"intent",
"couponCode"
];
return (tx) => tx.moveCall({
package: packageAddress,
module: "coupon_house",
function: "apply_coupon",
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
});
}
//#endregion
export { applyCoupon };
//# sourceMappingURL=coupon_house.mjs.map