@haneullabs/haneulns 0.1.0 → 1.0.3

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 (222) hide show
  1. package/CHANGELOG.md +125 -53
  2. package/README.md +3 -3
  3. package/dist/constants.d.mts +15 -0
  4. package/dist/constants.d.mts.map +1 -0
  5. package/dist/constants.mjs +90 -0
  6. package/dist/constants.mjs.map +1 -0
  7. package/dist/contracts/haneulns/controller.mjs +62 -0
  8. package/dist/contracts/haneulns/controller.mjs.map +1 -0
  9. package/dist/contracts/haneulns/deps/haneul/balance.mjs +21 -0
  10. package/dist/contracts/haneulns/deps/haneul/balance.mjs.map +1 -0
  11. package/dist/contracts/haneulns/deps/haneul/vec_map.mjs +37 -0
  12. package/dist/contracts/haneulns/deps/haneul/vec_map.mjs.map +1 -0
  13. package/dist/contracts/haneulns/deps/std/type_name.mjs +17 -0
  14. package/dist/contracts/haneulns/deps/std/type_name.mjs.map +1 -0
  15. package/dist/contracts/haneulns/domain.mjs +23 -0
  16. package/dist/contracts/haneulns/domain.mjs.map +1 -0
  17. package/dist/contracts/haneulns/haneulns.mjs +68 -0
  18. package/dist/contracts/haneulns/haneulns.mjs.map +1 -0
  19. package/dist/contracts/haneulns/name_record.mjs +27 -0
  20. package/dist/contracts/haneulns/name_record.mjs.map +1 -0
  21. package/dist/contracts/haneulns/payment.mjs +162 -0
  22. package/dist/contracts/haneulns/payment.mjs.map +1 -0
  23. package/dist/contracts/haneulns/pricing_config.mjs +25 -0
  24. package/dist/contracts/haneulns/pricing_config.mjs.map +1 -0
  25. package/dist/contracts/haneulns_coupons/coupon_house.mjs +59 -0
  26. package/dist/contracts/haneulns_coupons/coupon_house.mjs.map +1 -0
  27. package/dist/contracts/haneulns_coupons/data.mjs +16 -0
  28. package/dist/contracts/haneulns_coupons/data.mjs.map +1 -0
  29. package/dist/contracts/haneulns_coupons/deps/haneul/bag.mjs +43 -0
  30. package/dist/contracts/haneulns_coupons/deps/haneul/bag.mjs.map +1 -0
  31. package/dist/contracts/haneulns_discounts/deps/haneul/linked_table.mjs +27 -0
  32. package/dist/contracts/haneulns_discounts/deps/haneul/linked_table.mjs.map +1 -0
  33. package/dist/contracts/haneulns_discounts/deps/haneulns/pricing_config.mjs +16 -0
  34. package/dist/contracts/haneulns_discounts/deps/haneulns/pricing_config.mjs.map +1 -0
  35. package/dist/contracts/haneulns_discounts/discounts.mjs +51 -0
  36. package/dist/contracts/haneulns_discounts/discounts.mjs.map +1 -0
  37. package/dist/contracts/haneulns_discounts/free_claims.mjs +60 -0
  38. package/dist/contracts/haneulns_discounts/free_claims.mjs.map +1 -0
  39. package/dist/contracts/haneulns_payments/deps/haneul/vec_map.mjs +37 -0
  40. package/dist/contracts/haneulns_payments/deps/haneul/vec_map.mjs.map +1 -0
  41. package/dist/contracts/haneulns_payments/deps/std/type_name.mjs +17 -0
  42. package/dist/contracts/haneulns_payments/deps/std/type_name.mjs.map +1 -0
  43. package/dist/contracts/haneulns_payments/payments.mjs +145 -0
  44. package/dist/contracts/haneulns_payments/payments.mjs.map +1 -0
  45. package/dist/contracts/pyth/data_source.mjs +20 -0
  46. package/dist/contracts/pyth/data_source.mjs.map +1 -0
  47. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  48. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  49. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  50. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  51. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs +16 -0
  52. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs.map +1 -0
  53. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs +16 -0
  54. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs.map +1 -0
  55. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs +16 -0
  56. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs.map +1 -0
  57. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs +16 -0
  58. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs.map +1 -0
  59. package/dist/contracts/pyth/state.mjs +28 -0
  60. package/dist/contracts/pyth/state.mjs.map +1 -0
  61. package/dist/contracts/utils/index.mjs +120 -0
  62. package/dist/contracts/utils/index.mjs.map +1 -0
  63. package/dist/contracts/wormhole/bytes32.mjs +16 -0
  64. package/dist/contracts/wormhole/bytes32.mjs.map +1 -0
  65. package/dist/contracts/wormhole/consumed_vaas.mjs +16 -0
  66. package/dist/contracts/wormhole/consumed_vaas.mjs.map +1 -0
  67. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs +16 -0
  68. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs.map +1 -0
  69. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  70. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  71. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  72. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  73. package/dist/contracts/wormhole/external_address.mjs +16 -0
  74. package/dist/contracts/wormhole/external_address.mjs.map +1 -0
  75. package/dist/contracts/wormhole/fee_collector.mjs +20 -0
  76. package/dist/contracts/wormhole/fee_collector.mjs.map +1 -0
  77. package/dist/contracts/wormhole/set.mjs +16 -0
  78. package/dist/contracts/wormhole/set.mjs.map +1 -0
  79. package/dist/contracts/wormhole/state.mjs +31 -0
  80. package/dist/contracts/wormhole/state.mjs.map +1 -0
  81. package/dist/haneulns-client.d.mts +76 -0
  82. package/dist/haneulns-client.d.mts.map +1 -0
  83. package/dist/haneulns-client.mjs +205 -0
  84. package/dist/haneulns-client.mjs.map +1 -0
  85. package/dist/haneulns-transaction.d.mts +144 -0
  86. package/dist/haneulns-transaction.d.mts.map +1 -0
  87. package/dist/haneulns-transaction.mjs +384 -0
  88. package/dist/haneulns-transaction.mjs.map +1 -0
  89. package/dist/helpers.d.mts +22 -0
  90. package/dist/helpers.d.mts.map +1 -0
  91. package/dist/helpers.mjs +45 -0
  92. package/dist/helpers.mjs.map +1 -0
  93. package/dist/index.d.mts +6 -0
  94. package/dist/index.mjs +6 -0
  95. package/dist/pyth/PriceServiceConnection.mjs +35 -0
  96. package/dist/pyth/PriceServiceConnection.mjs.map +1 -0
  97. package/dist/pyth/pyth-helpers.mjs +18 -0
  98. package/dist/pyth/pyth-helpers.mjs.map +1 -0
  99. package/dist/pyth/pyth.mjs +219 -0
  100. package/dist/pyth/pyth.mjs.map +1 -0
  101. package/dist/types.d.mts +88 -0
  102. package/dist/types.d.mts.map +1 -0
  103. package/package.json +24 -20
  104. package/src/contracts/haneulns/admin.ts +114 -0
  105. package/src/contracts/haneulns/auction.ts +341 -0
  106. package/src/contracts/haneulns/config.ts +225 -0
  107. package/src/contracts/haneulns/constants.ts +167 -0
  108. package/src/contracts/haneulns/controller.ts +269 -0
  109. package/src/contracts/haneulns/core_config.ts +208 -0
  110. package/src/contracts/haneulns/deps/haneul/balance.ts +19 -0
  111. package/src/contracts/haneulns/deps/haneul/coin.ts +20 -0
  112. package/src/contracts/haneulns/deps/haneul/linked_table.ts +27 -0
  113. package/src/contracts/haneulns/deps/haneul/table.ts +36 -0
  114. package/src/contracts/haneulns/deps/haneul/vec_map.ts +33 -0
  115. package/src/contracts/haneulns/deps/haneul/vec_set.ts +22 -0
  116. package/src/contracts/haneulns/deps/std/type_name.ts +24 -0
  117. package/src/contracts/haneulns/domain.ts +230 -0
  118. package/src/contracts/haneulns/haneulns.ts +456 -0
  119. package/src/contracts/haneulns/haneulns_registration.ts +200 -0
  120. package/src/contracts/haneulns/name_record.ts +315 -0
  121. package/src/contracts/haneulns/payment.ts +444 -0
  122. package/src/contracts/haneulns/pricing_config.ts +190 -0
  123. package/src/contracts/haneulns/registry.ts +514 -0
  124. package/src/contracts/haneulns/subdomain_registration.ts +63 -0
  125. package/src/contracts/haneulns/update_image.ts +15 -0
  126. package/src/contracts/haneulns_coupons/constants.ts +45 -0
  127. package/src/contracts/haneulns_coupons/coupon.ts +15 -0
  128. package/src/contracts/haneulns_coupons/coupon_house.ts +412 -0
  129. package/src/contracts/haneulns_coupons/data.ts +12 -0
  130. package/src/contracts/haneulns_coupons/deps/haneul/bag.ts +41 -0
  131. package/src/contracts/haneulns_coupons/range.ts +101 -0
  132. package/src/contracts/haneulns_coupons/rules.ts +342 -0
  133. package/src/contracts/haneulns_discounts/deps/haneul/linked_table.ts +27 -0
  134. package/src/contracts/haneulns_discounts/deps/haneulns/pricing_config.ts +10 -0
  135. package/src/contracts/haneulns_discounts/discounts.ts +156 -0
  136. package/src/contracts/haneulns_discounts/free_claims.ts +161 -0
  137. package/src/contracts/haneulns_discounts/house.ts +47 -0
  138. package/src/contracts/haneulns_payments/deps/haneul/vec_map.ts +33 -0
  139. package/src/contracts/haneulns_payments/deps/std/type_name.ts +24 -0
  140. package/src/contracts/haneulns_payments/payments.ts +257 -0
  141. package/src/contracts/haneulns_temp_subdomain_proxy/subdomain_proxy.ts +343 -0
  142. package/src/contracts/pyth/data_source.ts +15 -0
  143. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  144. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  145. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.ts +12 -0
  146. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.ts +13 -0
  147. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.ts +13 -0
  148. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.ts +12 -0
  149. package/src/contracts/pyth/state.ts +22 -0
  150. package/src/contracts/utils/index.ts +234 -0
  151. package/src/contracts/wormhole/bytes32.ts +12 -0
  152. package/src/contracts/wormhole/consumed_vaas.ts +13 -0
  153. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.ts +12 -0
  154. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  155. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  156. package/src/contracts/wormhole/external_address.ts +13 -0
  157. package/src/contracts/wormhole/fee_collector.ts +15 -0
  158. package/src/contracts/wormhole/set.ts +12 -0
  159. package/src/contracts/wormhole/state.ts +25 -0
  160. package/src/haneulns-client.ts +120 -165
  161. package/src/haneulns-transaction.ts +137 -111
  162. package/src/index.ts +2 -2
  163. package/src/pyth/pyth.ts +55 -71
  164. package/src/types.ts +5 -7
  165. package/dist/cjs/constants.d.ts +0 -11
  166. package/dist/cjs/constants.js +0 -120
  167. package/dist/cjs/constants.js.map +0 -7
  168. package/dist/cjs/haneulns-client.d.ts +0 -40
  169. package/dist/cjs/haneulns-client.js +0 -261
  170. package/dist/cjs/haneulns-client.js.map +0 -7
  171. package/dist/cjs/haneulns-transaction.d.ts +0 -105
  172. package/dist/cjs/haneulns-transaction.js +0 -465
  173. package/dist/cjs/haneulns-transaction.js.map +0 -7
  174. package/dist/cjs/helpers.d.ts +0 -18
  175. package/dist/cjs/helpers.js +0 -63
  176. package/dist/cjs/helpers.js.map +0 -7
  177. package/dist/cjs/index.d.ts +0 -5
  178. package/dist/cjs/index.js +0 -39
  179. package/dist/cjs/index.js.map +0 -7
  180. package/dist/cjs/package.json +0 -5
  181. package/dist/cjs/pyth/PriceServiceConnection.d.ts +0 -26
  182. package/dist/cjs/pyth/PriceServiceConnection.js +0 -68
  183. package/dist/cjs/pyth/PriceServiceConnection.js.map +0 -7
  184. package/dist/cjs/pyth/pyth-helpers.d.ts +0 -7
  185. package/dist/cjs/pyth/pyth-helpers.js +0 -36
  186. package/dist/cjs/pyth/pyth-helpers.js.map +0 -7
  187. package/dist/cjs/pyth/pyth.d.ts +0 -66
  188. package/dist/cjs/pyth/pyth.js +0 -270
  189. package/dist/cjs/pyth/pyth.js.map +0 -7
  190. package/dist/cjs/types.d.ts +0 -89
  191. package/dist/cjs/types.js +0 -17
  192. package/dist/cjs/types.js.map +0 -7
  193. package/dist/esm/constants.d.ts +0 -11
  194. package/dist/esm/constants.js +0 -100
  195. package/dist/esm/constants.js.map +0 -7
  196. package/dist/esm/haneulns-client.d.ts +0 -40
  197. package/dist/esm/haneulns-client.js +0 -249
  198. package/dist/esm/haneulns-client.js.map +0 -7
  199. package/dist/esm/haneulns-transaction.d.ts +0 -105
  200. package/dist/esm/haneulns-transaction.js +0 -445
  201. package/dist/esm/haneulns-transaction.js.map +0 -7
  202. package/dist/esm/helpers.d.ts +0 -18
  203. package/dist/esm/helpers.js +0 -43
  204. package/dist/esm/helpers.js.map +0 -7
  205. package/dist/esm/index.d.ts +0 -5
  206. package/dist/esm/index.js +0 -28
  207. package/dist/esm/index.js.map +0 -7
  208. package/dist/esm/package.json +0 -5
  209. package/dist/esm/pyth/PriceServiceConnection.d.ts +0 -26
  210. package/dist/esm/pyth/PriceServiceConnection.js +0 -38
  211. package/dist/esm/pyth/PriceServiceConnection.js.map +0 -7
  212. package/dist/esm/pyth/pyth-helpers.d.ts +0 -7
  213. package/dist/esm/pyth/pyth-helpers.js +0 -16
  214. package/dist/esm/pyth/pyth-helpers.js.map +0 -7
  215. package/dist/esm/pyth/pyth.d.ts +0 -66
  216. package/dist/esm/pyth/pyth.js +0 -250
  217. package/dist/esm/pyth/pyth.js.map +0 -7
  218. package/dist/esm/types.d.ts +0 -89
  219. package/dist/esm/types.js +0 -1
  220. package/dist/esm/types.js.map +0 -7
  221. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  222. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,315 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /**
6
+ * The `NameRecord` is a struct that represents a single record in the registry.
7
+ * Can be replaced by any other data structure due to the way `NameRecord`s are
8
+ * stored and managed. HaneulNS has no direct and permanent dependency on this module.
9
+ */
10
+
11
+ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
12
+ import { bcs } from '@haneullabs/haneul/bcs';
13
+ import { type Transaction } from '@haneullabs/haneul/transactions';
14
+ import * as vec_map from './deps/haneul/vec_map.js';
15
+ const $moduleName = '@haneulns/core::name_record';
16
+ export const NameRecord = new MoveStruct({
17
+ name: `${$moduleName}::NameRecord`,
18
+ fields: {
19
+ /**
20
+ * The ID of the `HaneulnsRegistration` assigned to this record.
21
+ *
22
+ * The owner of the corresponding `HaneulnsRegistration` has the rights to be able to
23
+ * change and adjust the `target_address` of this domain.
24
+ *
25
+ * It is possible that the ID changes if the record expires and is purchased by
26
+ * someone else.
27
+ */
28
+ nft_id: bcs.Address,
29
+ /** Timestamp in milliseconds when the record expires. */
30
+ expiration_timestamp_ms: bcs.u64(),
31
+ /** The target address that this domain points to */
32
+ target_address: bcs.option(bcs.Address),
33
+ /** Additional data which may be stored in a record */
34
+ data: vec_map.VecMap(bcs.string(), bcs.string()),
35
+ },
36
+ });
37
+ export interface NewArguments {
38
+ nftId: RawTransactionArgument<string>;
39
+ expirationTimestampMs: RawTransactionArgument<number | bigint>;
40
+ }
41
+ export interface NewOptions {
42
+ package?: string;
43
+ arguments:
44
+ | NewArguments
45
+ | [
46
+ nftId: RawTransactionArgument<string>,
47
+ expirationTimestampMs: RawTransactionArgument<number | bigint>,
48
+ ];
49
+ }
50
+ /** Create a new NameRecord. */
51
+ export function _new(options: NewOptions) {
52
+ const packageAddress = options.package ?? '@haneulns/core';
53
+ const argumentsTypes = ['0x2::object::ID', 'u64'] satisfies (string | null)[];
54
+ const parameterNames = ['nftId', 'expirationTimestampMs'];
55
+ return (tx: Transaction) =>
56
+ tx.moveCall({
57
+ package: packageAddress,
58
+ module: 'name_record',
59
+ function: 'new',
60
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
61
+ });
62
+ }
63
+ export interface NewLeafArguments {
64
+ parentId: RawTransactionArgument<string>;
65
+ targetAddress: RawTransactionArgument<string | null>;
66
+ }
67
+ export interface NewLeafOptions {
68
+ package?: string;
69
+ arguments:
70
+ | NewLeafArguments
71
+ | [
72
+ parentId: RawTransactionArgument<string>,
73
+ targetAddress: RawTransactionArgument<string | null>,
74
+ ];
75
+ }
76
+ /** Create a `leaf` NameRecord. */
77
+ export function newLeaf(options: NewLeafOptions) {
78
+ const packageAddress = options.package ?? '@haneulns/core';
79
+ const argumentsTypes = ['0x2::object::ID', '0x1::option::Option<address>'] satisfies (
80
+ | string
81
+ | null
82
+ )[];
83
+ const parameterNames = ['parentId', 'targetAddress'];
84
+ return (tx: Transaction) =>
85
+ tx.moveCall({
86
+ package: packageAddress,
87
+ module: 'name_record',
88
+ function: 'new_leaf',
89
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
90
+ });
91
+ }
92
+ export interface SetDataArguments {
93
+ self: RawTransactionArgument<string>;
94
+ data: RawTransactionArgument<string>;
95
+ }
96
+ export interface SetDataOptions {
97
+ package?: string;
98
+ arguments:
99
+ | SetDataArguments
100
+ | [self: RawTransactionArgument<string>, data: RawTransactionArgument<string>];
101
+ }
102
+ /**
103
+ * Set data as a vec_map directly overriding the data set in the registration self.
104
+ * This simplifies the editing flow and gives the user and clients a fine-grained
105
+ * control over custom data.
106
+ *
107
+ * Here's a meta example of how a PTB would look like:
108
+ *
109
+ * ```
110
+ * let record = moveCall('data', [domain_name]);
111
+ * moveCall('vec_map::insert', [record.data, key, value]);
112
+ * moveCall('vec_map::remove', [record.data, other_key]);
113
+ * moveCall('set_data', [domain_name, record.data]);
114
+ * ```
115
+ */
116
+ export function setData(options: SetDataOptions) {
117
+ const packageAddress = options.package ?? '@haneulns/core';
118
+ const argumentsTypes = [null, null] satisfies (string | null)[];
119
+ const parameterNames = ['self', 'data'];
120
+ return (tx: Transaction) =>
121
+ tx.moveCall({
122
+ package: packageAddress,
123
+ module: 'name_record',
124
+ function: 'set_data',
125
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
126
+ });
127
+ }
128
+ export interface SetTargetAddressArguments {
129
+ self: RawTransactionArgument<string>;
130
+ newAddress: RawTransactionArgument<string | null>;
131
+ }
132
+ export interface SetTargetAddressOptions {
133
+ package?: string;
134
+ arguments:
135
+ | SetTargetAddressArguments
136
+ | [self: RawTransactionArgument<string>, newAddress: RawTransactionArgument<string | null>];
137
+ }
138
+ /** Set the `target_address` field of the `NameRecord`. */
139
+ export function setTargetAddress(options: SetTargetAddressOptions) {
140
+ const packageAddress = options.package ?? '@haneulns/core';
141
+ const argumentsTypes = [null, '0x1::option::Option<address>'] satisfies (string | null)[];
142
+ const parameterNames = ['self', 'newAddress'];
143
+ return (tx: Transaction) =>
144
+ tx.moveCall({
145
+ package: packageAddress,
146
+ module: 'name_record',
147
+ function: 'set_target_address',
148
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
149
+ });
150
+ }
151
+ export interface SetExpirationTimestampMsArguments {
152
+ self: RawTransactionArgument<string>;
153
+ expirationTimestampMs: RawTransactionArgument<number | bigint>;
154
+ }
155
+ export interface SetExpirationTimestampMsOptions {
156
+ package?: string;
157
+ arguments:
158
+ | SetExpirationTimestampMsArguments
159
+ | [
160
+ self: RawTransactionArgument<string>,
161
+ expirationTimestampMs: RawTransactionArgument<number | bigint>,
162
+ ];
163
+ }
164
+ export function setExpirationTimestampMs(options: SetExpirationTimestampMsOptions) {
165
+ const packageAddress = options.package ?? '@haneulns/core';
166
+ const argumentsTypes = [null, 'u64'] satisfies (string | null)[];
167
+ const parameterNames = ['self', 'expirationTimestampMs'];
168
+ return (tx: Transaction) =>
169
+ tx.moveCall({
170
+ package: packageAddress,
171
+ module: 'name_record',
172
+ function: 'set_expiration_timestamp_ms',
173
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
174
+ });
175
+ }
176
+ export interface HasExpiredArguments {
177
+ self: RawTransactionArgument<string>;
178
+ }
179
+ export interface HasExpiredOptions {
180
+ package?: string;
181
+ arguments: HasExpiredArguments | [self: RawTransactionArgument<string>];
182
+ }
183
+ /** Check if the record has expired. */
184
+ export function hasExpired(options: HasExpiredOptions) {
185
+ const packageAddress = options.package ?? '@haneulns/core';
186
+ const argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];
187
+ const parameterNames = ['self'];
188
+ return (tx: Transaction) =>
189
+ tx.moveCall({
190
+ package: packageAddress,
191
+ module: 'name_record',
192
+ function: 'has_expired',
193
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
194
+ });
195
+ }
196
+ export interface HasExpiredPastGracePeriodArguments {
197
+ self: RawTransactionArgument<string>;
198
+ }
199
+ export interface HasExpiredPastGracePeriodOptions {
200
+ package?: string;
201
+ arguments: HasExpiredPastGracePeriodArguments | [self: RawTransactionArgument<string>];
202
+ }
203
+ /** Check if the record has expired, taking into account the grace period. */
204
+ export function hasExpiredPastGracePeriod(options: HasExpiredPastGracePeriodOptions) {
205
+ const packageAddress = options.package ?? '@haneulns/core';
206
+ const argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];
207
+ const parameterNames = ['self'];
208
+ return (tx: Transaction) =>
209
+ tx.moveCall({
210
+ package: packageAddress,
211
+ module: 'name_record',
212
+ function: 'has_expired_past_grace_period',
213
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
214
+ });
215
+ }
216
+ export interface IsLeafRecordArguments {
217
+ self: RawTransactionArgument<string>;
218
+ }
219
+ export interface IsLeafRecordOptions {
220
+ package?: string;
221
+ arguments: IsLeafRecordArguments | [self: RawTransactionArgument<string>];
222
+ }
223
+ /** Checks whether a name_record is a `leaf` record. */
224
+ export function isLeafRecord(options: IsLeafRecordOptions) {
225
+ const packageAddress = options.package ?? '@haneulns/core';
226
+ const argumentsTypes = [null] satisfies (string | null)[];
227
+ const parameterNames = ['self'];
228
+ return (tx: Transaction) =>
229
+ tx.moveCall({
230
+ package: packageAddress,
231
+ module: 'name_record',
232
+ function: 'is_leaf_record',
233
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
234
+ });
235
+ }
236
+ export interface DataArguments {
237
+ self: RawTransactionArgument<string>;
238
+ }
239
+ export interface DataOptions {
240
+ package?: string;
241
+ arguments: DataArguments | [self: RawTransactionArgument<string>];
242
+ }
243
+ /** Read the `data` field from the `NameRecord`. */
244
+ export function data(options: DataOptions) {
245
+ const packageAddress = options.package ?? '@haneulns/core';
246
+ const argumentsTypes = [null] satisfies (string | null)[];
247
+ const parameterNames = ['self'];
248
+ return (tx: Transaction) =>
249
+ tx.moveCall({
250
+ package: packageAddress,
251
+ module: 'name_record',
252
+ function: 'data',
253
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
254
+ });
255
+ }
256
+ export interface TargetAddressArguments {
257
+ self: RawTransactionArgument<string>;
258
+ }
259
+ export interface TargetAddressOptions {
260
+ package?: string;
261
+ arguments: TargetAddressArguments | [self: RawTransactionArgument<string>];
262
+ }
263
+ /** Read the `target_address` field from the `NameRecord`. */
264
+ export function targetAddress(options: TargetAddressOptions) {
265
+ const packageAddress = options.package ?? '@haneulns/core';
266
+ const argumentsTypes = [null] satisfies (string | null)[];
267
+ const parameterNames = ['self'];
268
+ return (tx: Transaction) =>
269
+ tx.moveCall({
270
+ package: packageAddress,
271
+ module: 'name_record',
272
+ function: 'target_address',
273
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
274
+ });
275
+ }
276
+ export interface NftIdArguments {
277
+ self: RawTransactionArgument<string>;
278
+ }
279
+ export interface NftIdOptions {
280
+ package?: string;
281
+ arguments: NftIdArguments | [self: RawTransactionArgument<string>];
282
+ }
283
+ /** Read the `nft_id` field from the `NameRecord`. */
284
+ export function nftId(options: NftIdOptions) {
285
+ const packageAddress = options.package ?? '@haneulns/core';
286
+ const argumentsTypes = [null] satisfies (string | null)[];
287
+ const parameterNames = ['self'];
288
+ return (tx: Transaction) =>
289
+ tx.moveCall({
290
+ package: packageAddress,
291
+ module: 'name_record',
292
+ function: 'nft_id',
293
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
294
+ });
295
+ }
296
+ export interface ExpirationTimestampMsArguments {
297
+ self: RawTransactionArgument<string>;
298
+ }
299
+ export interface ExpirationTimestampMsOptions {
300
+ package?: string;
301
+ arguments: ExpirationTimestampMsArguments | [self: RawTransactionArgument<string>];
302
+ }
303
+ /** Read the `expiration_timestamp_ms` field from the `NameRecord`. */
304
+ export function expirationTimestampMs(options: ExpirationTimestampMsOptions) {
305
+ const packageAddress = options.package ?? '@haneulns/core';
306
+ const argumentsTypes = [null] satisfies (string | null)[];
307
+ const parameterNames = ['self'];
308
+ return (tx: Transaction) =>
309
+ tx.moveCall({
310
+ package: packageAddress,
311
+ module: 'name_record',
312
+ function: 'expiration_timestamp_ms',
313
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
314
+ });
315
+ }