@ysk-mint/sdk 1.0.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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/abi/launch.d.ts +389 -0
  4. package/dist/abi/launch.d.ts.map +1 -0
  5. package/dist/abi/launch.js +211 -0
  6. package/dist/abi/launch.js.map +1 -0
  7. package/dist/errors/abi.d.ts +272 -0
  8. package/dist/errors/abi.d.ts.map +1 -0
  9. package/dist/errors/abi.js +51 -0
  10. package/dist/errors/abi.js.map +1 -0
  11. package/dist/errors/codes.d.ts +64 -0
  12. package/dist/errors/codes.d.ts.map +1 -0
  13. package/dist/errors/codes.js +84 -0
  14. package/dist/errors/codes.js.map +1 -0
  15. package/dist/errors/decode.d.ts +5 -0
  16. package/dist/errors/decode.d.ts.map +1 -0
  17. package/dist/errors/decode.js +53 -0
  18. package/dist/errors/decode.js.map +1 -0
  19. package/dist/errors/messages.d.ts +162 -0
  20. package/dist/errors/messages.d.ts.map +1 -0
  21. package/dist/errors/messages.js +163 -0
  22. package/dist/errors/messages.js.map +1 -0
  23. package/dist/index.d.ts +12 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +12 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/oft/peers.d.ts +21 -0
  28. package/dist/oft/peers.d.ts.map +1 -0
  29. package/dist/oft/peers.js +39 -0
  30. package/dist/oft/peers.js.map +1 -0
  31. package/dist/validation/launch.d.ts +16 -0
  32. package/dist/validation/launch.d.ts.map +1 -0
  33. package/dist/validation/launch.js +37 -0
  34. package/dist/validation/launch.js.map +1 -0
  35. package/dist/validation/liquidity.d.ts +6 -0
  36. package/dist/validation/liquidity.d.ts.map +1 -0
  37. package/dist/validation/liquidity.js +29 -0
  38. package/dist/validation/liquidity.js.map +1 -0
  39. package/dist/validation/native.d.ts +10 -0
  40. package/dist/validation/native.d.ts.map +1 -0
  41. package/dist/validation/native.js +53 -0
  42. package/dist/validation/native.js.map +1 -0
  43. package/dist/validation/token.d.ts +17 -0
  44. package/dist/validation/token.d.ts.map +1 -0
  45. package/dist/validation/token.js +73 -0
  46. package/dist/validation/token.js.map +1 -0
  47. package/package.json +49 -0
@@ -0,0 +1,53 @@
1
+ import { ErrorCode } from "../errors/codes.js";
2
+ import { err } from "../errors/decode.js";
3
+ const NEAR_ACCOUNT = /^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;
4
+ export function isNearAccountId(id) {
5
+ return id.length > 1 && id.length <= 64 && NEAR_ACCOUNT.test(id);
6
+ }
7
+ export function isCardanoAddress(addr) {
8
+ return /^(addr1|addr_test1|stake1|stake_test1)[0-9a-z]+$/.test(addr) || /^[0-9a-f]{16,}$/i.test(addr);
9
+ }
10
+ const B58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
11
+ /** Solana pubkey: base58 of 32 bytes. */
12
+ export function isSolanaAddress(addr) {
13
+ if (addr.length < 32 || addr.length > 44)
14
+ return false;
15
+ const bytes = [];
16
+ for (const ch of addr) {
17
+ const val = B58.indexOf(ch);
18
+ if (val < 0)
19
+ return false;
20
+ let carry = val;
21
+ for (let i = 0; i < bytes.length; i++) {
22
+ const x = bytes[i] * 58 + carry;
23
+ bytes[i] = x & 0xff;
24
+ carry = x >> 8;
25
+ }
26
+ while (carry > 0) {
27
+ bytes.push(carry & 0xff);
28
+ carry >>= 8;
29
+ }
30
+ }
31
+ for (const ch of addr) {
32
+ if (ch !== "1")
33
+ break;
34
+ bytes.push(0);
35
+ }
36
+ return bytes.length === 32;
37
+ }
38
+ export function validateNearAccount(id, locale = "en") {
39
+ if (!isNearAccountId(id))
40
+ return [err(ErrorCode.RecipientZero, [], locale)];
41
+ return [];
42
+ }
43
+ export function validateCardanoAddress(addr, locale = "en") {
44
+ if (!isCardanoAddress(addr))
45
+ return [err(ErrorCode.RecipientZero, [], locale)];
46
+ return [];
47
+ }
48
+ export function validateSolanaAddress(addr, locale = "en") {
49
+ if (!isSolanaAddress(addr))
50
+ return [err(ErrorCode.RecipientZero, [], locale)];
51
+ return [];
52
+ }
53
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/validation/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAG1C,MAAM,YAAY,GAChB,uDAAuD,CAAC;AAE1D,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,kDAAkD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,GAAG,GAAG,4DAA4D,CAAC;AAEzE,yCAAyC;AACzC,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,KAAK,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACpB,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACzB,KAAK,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG;YAAE,MAAM;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,SAAiB,IAAI;IACnE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,SAAiB,IAAI;IACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,SAAiB,IAAI;IACvE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type LaunchError } from "../errors/codes.js";
2
+ import type { Locale } from "../errors/messages.js";
3
+ export declare function utf8Bytes(value: string): number;
4
+ export declare function validateName(name: string, locale?: Locale): LaunchError[];
5
+ export declare function validateSymbol(symbol: string, locale?: Locale): LaunchError[];
6
+ export declare function validateDecimals(decimals: number, locale?: Locale): LaunchError[];
7
+ export declare function validateSupply(supply: bigint, locale?: Locale): LaunchError[];
8
+ export declare function validateSupplyMode(mode: number, locale?: Locale): LaunchError[];
9
+ export declare function validateModuleFlags(flags: number, locale?: Locale): LaunchError[];
10
+ export declare function validateTax(buyBps: number, sellBps: number, recipient: `0x${string}` | string, locale?: Locale): LaunchError[];
11
+ export declare function validateBasics(input: {
12
+ name: string;
13
+ symbol: string;
14
+ decimals: number;
15
+ totalSupply: bigint;
16
+ }, locale?: Locale): LaunchError[];
17
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/validation/token.ts"],"names":[],"mappings":"AAaA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,WAAW,EAAE,CAM/E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,WAAW,EAAE,CASnF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,WAAW,EAAE,CAKvF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,WAAW,EAAE,CAInF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,WAAW,EAAE,CAKrF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,WAAW,EAAE,CAGvF;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,EACjC,MAAM,GAAE,MAAa,GACpB,WAAW,EAAE,CASf;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC9E,MAAM,GAAE,MAAa,GACpB,WAAW,EAAE,CAOf"}
@@ -0,0 +1,73 @@
1
+ import { DECIMALS_MAX, DECIMALS_MIN, MODULE_ALL_MASK, NAME_MAX_BYTES, NAME_MIN_BYTES, SYMBOL_MAX_BYTES, SYMBOL_MIN_BYTES, MAX_SUPPLY, SupplyMode, TAX_MAX_BPS_ONE_SIDE, TAX_MAX_BPS_SUM, } from "@ysk-mint/config";
2
+ import { ErrorCode } from "../errors/codes.js";
3
+ import { err } from "../errors/decode.js";
4
+ const encoder = new TextEncoder();
5
+ export function utf8Bytes(value) {
6
+ return encoder.encode(value).length;
7
+ }
8
+ export function validateName(name, locale = "en") {
9
+ const errors = [];
10
+ const bytes = utf8Bytes(name);
11
+ if (bytes < NAME_MIN_BYTES || bytes > NAME_MAX_BYTES)
12
+ errors.push(err(ErrorCode.InvalidName, [], locale));
13
+ else if (name.trim().length === 0)
14
+ errors.push(err(ErrorCode.InvalidName, [], locale));
15
+ return errors;
16
+ }
17
+ export function validateSymbol(symbol, locale = "en") {
18
+ const errors = [];
19
+ const bytes = utf8Bytes(symbol);
20
+ if (bytes < SYMBOL_MIN_BYTES || bytes > SYMBOL_MAX_BYTES) {
21
+ errors.push(err(ErrorCode.InvalidSymbol, [], locale));
22
+ return errors;
23
+ }
24
+ if (!/^[A-Za-z0-9]+$/.test(symbol))
25
+ errors.push(err(ErrorCode.InvalidSymbol, [], locale));
26
+ return errors;
27
+ }
28
+ export function validateDecimals(decimals, locale = "en") {
29
+ if (!Number.isInteger(decimals) || decimals < DECIMALS_MIN || decimals > DECIMALS_MAX) {
30
+ return [err(ErrorCode.DecimalsOutOfRange, [decimals], locale)];
31
+ }
32
+ return [];
33
+ }
34
+ export function validateSupply(supply, locale = "en") {
35
+ if (supply === 0n)
36
+ return [err(ErrorCode.SupplyZero, [], locale)];
37
+ if (supply > MAX_SUPPLY)
38
+ return [err(ErrorCode.SupplyOverflow, [supply], locale)];
39
+ return [];
40
+ }
41
+ export function validateSupplyMode(mode, locale = "en") {
42
+ if (mode !== SupplyMode.Fixed && mode !== SupplyMode.Mintable) {
43
+ return [err(ErrorCode.InvalidSupplyMode, [mode], locale)];
44
+ }
45
+ return [];
46
+ }
47
+ export function validateModuleFlags(flags, locale = "en") {
48
+ if ((flags & ~MODULE_ALL_MASK) !== 0)
49
+ return [err(ErrorCode.UnknownModule, [flags], locale)];
50
+ return [];
51
+ }
52
+ export function validateTax(buyBps, sellBps, recipient, locale = "en") {
53
+ const errors = [];
54
+ if (buyBps > TAX_MAX_BPS_ONE_SIDE)
55
+ errors.push(err(ErrorCode.TaxTooHigh, [buyBps], locale));
56
+ if (sellBps > TAX_MAX_BPS_ONE_SIDE)
57
+ errors.push(err(ErrorCode.TaxTooHigh, [sellBps], locale));
58
+ if (buyBps + sellBps > TAX_MAX_BPS_SUM)
59
+ errors.push(err(ErrorCode.TaxTooHigh, [buyBps + sellBps], locale));
60
+ if ((buyBps > 0 || sellBps > 0) && (!recipient || recipient === "0x0000000000000000000000000000000000000000")) {
61
+ errors.push(err(ErrorCode.RecipientZero, [], locale));
62
+ }
63
+ return errors;
64
+ }
65
+ export function validateBasics(input, locale = "en") {
66
+ return [
67
+ ...validateName(input.name, locale),
68
+ ...validateSymbol(input.symbol, locale),
69
+ ...validateDecimals(input.decimals, locale),
70
+ ...validateSupply(input.totalSupply, locale),
71
+ ];
72
+ }
73
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/validation/token.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAoB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAG1C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,SAAiB,IAAI;IAC9D,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,GAAG,cAAc,IAAI,KAAK,GAAG,cAAc;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;SACrG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACvF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,SAAiB,IAAI;IAClE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,KAAK,GAAG,gBAAgB,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,SAAiB,IAAI;IACtE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,YAAY,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,SAAiB,IAAI;IAClE,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,GAAG,UAAU;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,SAAiB,IAAI;IACpE,IAAI,IAAI,KAAK,UAAU,CAAC,KAAK,IAAI,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,SAAiB,IAAI;IACtE,IAAI,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,OAAe,EACf,SAAiC,EACjC,SAAiB,IAAI;IAErB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,MAAM,GAAG,oBAAoB;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5F,IAAI,OAAO,GAAG,oBAAoB;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9F,IAAI,MAAM,GAAG,OAAO,GAAG,eAAe;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3G,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,KAAK,4CAA4C,CAAC,EAAE,CAAC;QAC9G,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAA8E,EAC9E,SAAiB,IAAI;IAErB,OAAO;QACL,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;QACnC,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC3C,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;KAC7C,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@ysk-mint/sdk",
3
+ "version": "1.0.0",
4
+ "description": "Enums, error codes, validation, and OFT helpers for YSK Mint.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "LICENSE",
18
+ "README.md"
19
+ ],
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/yanshekki/ysk-mint.git",
26
+ "directory": "packages/sdk"
27
+ },
28
+ "homepage": "https://mint.ysk.hk",
29
+ "bugs": {
30
+ "url": "https://github.com/yanshekki/ysk-mint/issues"
31
+ },
32
+ "engines": {
33
+ "node": ">=22"
34
+ },
35
+ "dependencies": {
36
+ "viem": "^2.28.0",
37
+ "@ysk-mint/config": "1.0.0"
38
+ },
39
+ "devDependencies": {
40
+ "@types/node": "^22.13.10",
41
+ "typescript": "^5.8.2",
42
+ "vitest": "^3.0.9"
43
+ },
44
+ "scripts": {
45
+ "build": "tsc -p tsconfig.build.json",
46
+ "test": "vitest run",
47
+ "typecheck": "tsc --noEmit"
48
+ }
49
+ }