@haneullabs/haneulns 0.1.0 → 1.0.2

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 +16 -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 +27 -23
  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 +115 -160
  161. package/src/haneulns-transaction.ts +142 -116
  162. package/src/index.ts +3 -3
  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,341 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /** Implementation of auction module. More information in: ../../../docs */
6
+
7
+ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
8
+ import { bcs } from '@haneullabs/haneul/bcs';
9
+ import { type Transaction } from '@haneullabs/haneul/transactions';
10
+ import * as balance from './deps/haneul/balance.js';
11
+ import * as linked_table from './deps/haneul/linked_table.js';
12
+ import * as domain from './domain.js';
13
+ import * as coin from './deps/haneul/coin.js';
14
+ import * as haneulns_registration from './haneulns_registration.js';
15
+ const $moduleName = '@haneulns/core::auction';
16
+ export const App = new MoveStruct({
17
+ name: `${$moduleName}::App`,
18
+ fields: {
19
+ dummy_field: bcs.bool(),
20
+ },
21
+ });
22
+ export const AuctionHouse = new MoveStruct({
23
+ name: `${$moduleName}::AuctionHouse`,
24
+ fields: {
25
+ id: bcs.Address,
26
+ balance: balance.Balance,
27
+ auctions: linked_table.LinkedTable(domain.Domain),
28
+ },
29
+ });
30
+ export const Auction = new MoveStruct({
31
+ name: `${$moduleName}::Auction`,
32
+ fields: {
33
+ domain: domain.Domain,
34
+ start_timestamp_ms: bcs.u64(),
35
+ end_timestamp_ms: bcs.u64(),
36
+ winner: bcs.Address,
37
+ current_bid: coin.Coin,
38
+ nft: haneulns_registration.SuinsRegistration,
39
+ },
40
+ });
41
+ export const AuctionStartedEvent = new MoveStruct({
42
+ name: `${$moduleName}::AuctionStartedEvent`,
43
+ fields: {
44
+ domain: domain.Domain,
45
+ start_timestamp_ms: bcs.u64(),
46
+ end_timestamp_ms: bcs.u64(),
47
+ starting_bid: bcs.u64(),
48
+ bidder: bcs.Address,
49
+ },
50
+ });
51
+ export const AuctionFinalizedEvent = new MoveStruct({
52
+ name: `${$moduleName}::AuctionFinalizedEvent`,
53
+ fields: {
54
+ domain: domain.Domain,
55
+ start_timestamp_ms: bcs.u64(),
56
+ end_timestamp_ms: bcs.u64(),
57
+ winning_bid: bcs.u64(),
58
+ winner: bcs.Address,
59
+ },
60
+ });
61
+ export const BidEvent = new MoveStruct({
62
+ name: `${$moduleName}::BidEvent`,
63
+ fields: {
64
+ domain: domain.Domain,
65
+ bid: bcs.u64(),
66
+ bidder: bcs.Address,
67
+ },
68
+ });
69
+ export const AuctionExtendedEvent = new MoveStruct({
70
+ name: `${$moduleName}::AuctionExtendedEvent`,
71
+ fields: {
72
+ domain: domain.Domain,
73
+ end_timestamp_ms: bcs.u64(),
74
+ },
75
+ });
76
+ export interface StartAuctionAndPlaceBidArguments {
77
+ self: RawTransactionArgument<string>;
78
+ haneulns: RawTransactionArgument<string>;
79
+ domainName: RawTransactionArgument<string>;
80
+ bid: RawTransactionArgument<string>;
81
+ }
82
+ export interface StartAuctionAndPlaceBidOptions {
83
+ package?: string;
84
+ arguments:
85
+ | StartAuctionAndPlaceBidArguments
86
+ | [
87
+ self: RawTransactionArgument<string>,
88
+ haneulns: RawTransactionArgument<string>,
89
+ domainName: RawTransactionArgument<string>,
90
+ bid: RawTransactionArgument<string>,
91
+ ];
92
+ }
93
+ /** Start an auction if it's not started yet; and make the first bid. */
94
+ export function startAuctionAndPlaceBid(options: StartAuctionAndPlaceBidOptions) {
95
+ const packageAddress = options.package ?? '@haneulns/core';
96
+ const argumentsTypes = [null, null, '0x1::string::String', null, '0x2::clock::Clock'] satisfies (
97
+ | string
98
+ | null
99
+ )[];
100
+ const parameterNames = ['self', 'haneulns', 'domainName', 'bid'];
101
+ return (tx: Transaction) =>
102
+ tx.moveCall({
103
+ package: packageAddress,
104
+ module: 'auction',
105
+ function: 'start_auction_and_place_bid',
106
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
107
+ });
108
+ }
109
+ export interface PlaceBidArguments {
110
+ self: RawTransactionArgument<string>;
111
+ domainName: RawTransactionArgument<string>;
112
+ bid: RawTransactionArgument<string>;
113
+ }
114
+ export interface PlaceBidOptions {
115
+ package?: string;
116
+ arguments:
117
+ | PlaceBidArguments
118
+ | [
119
+ self: RawTransactionArgument<string>,
120
+ domainName: RawTransactionArgument<string>,
121
+ bid: RawTransactionArgument<string>,
122
+ ];
123
+ }
124
+ /**
125
+ * #### Notice
126
+ *
127
+ * Bidders use this function to place a new bid.
128
+ *
129
+ * Panics Panics if `domain` is invalid or there isn't an auction for `domain` or
130
+ * `bid` is too low,
131
+ */
132
+ export function placeBid(options: PlaceBidOptions) {
133
+ const packageAddress = options.package ?? '@haneulns/core';
134
+ const argumentsTypes = [null, '0x1::string::String', null, '0x2::clock::Clock'] satisfies (
135
+ | string
136
+ | null
137
+ )[];
138
+ const parameterNames = ['self', 'domainName', 'bid'];
139
+ return (tx: Transaction) =>
140
+ tx.moveCall({
141
+ package: packageAddress,
142
+ module: 'auction',
143
+ function: 'place_bid',
144
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
145
+ });
146
+ }
147
+ export interface ClaimArguments {
148
+ self: RawTransactionArgument<string>;
149
+ domainName: RawTransactionArgument<string>;
150
+ }
151
+ export interface ClaimOptions {
152
+ package?: string;
153
+ arguments:
154
+ | ClaimArguments
155
+ | [self: RawTransactionArgument<string>, domainName: RawTransactionArgument<string>];
156
+ }
157
+ /**
158
+ * #### Notice
159
+ *
160
+ * Auction winner can come and claim the NFT
161
+ *
162
+ * Panics sender is not the winner
163
+ */
164
+ export function claim(options: ClaimOptions) {
165
+ const packageAddress = options.package ?? '@haneulns/core';
166
+ const argumentsTypes = [null, '0x1::string::String', '0x2::clock::Clock'] satisfies (
167
+ | string
168
+ | null
169
+ )[];
170
+ const parameterNames = ['self', 'domainName'];
171
+ return (tx: Transaction) =>
172
+ tx.moveCall({
173
+ package: packageAddress,
174
+ module: 'auction',
175
+ function: 'claim',
176
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
177
+ });
178
+ }
179
+ export interface GetAuctionMetadataArguments {
180
+ self: RawTransactionArgument<string>;
181
+ domainName: RawTransactionArgument<string>;
182
+ }
183
+ export interface GetAuctionMetadataOptions {
184
+ package?: string;
185
+ arguments:
186
+ | GetAuctionMetadataArguments
187
+ | [self: RawTransactionArgument<string>, domainName: RawTransactionArgument<string>];
188
+ }
189
+ /**
190
+ * #### Notice
191
+ *
192
+ * Get metadata of an auction
193
+ *
194
+ * #### Params
195
+ *
196
+ * The domain name being auctioned.
197
+ *
198
+ * #### Return
199
+ *
200
+ * (`start_timestamp_ms`, `end_timestamp_ms`, `winner`, `highest_amount`)
201
+ */
202
+ export function getAuctionMetadata(options: GetAuctionMetadataOptions) {
203
+ const packageAddress = options.package ?? '@haneulns/core';
204
+ const argumentsTypes = [null, '0x1::string::String'] satisfies (string | null)[];
205
+ const parameterNames = ['self', 'domainName'];
206
+ return (tx: Transaction) =>
207
+ tx.moveCall({
208
+ package: packageAddress,
209
+ module: 'auction',
210
+ function: 'get_auction_metadata',
211
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
212
+ });
213
+ }
214
+ export interface CollectWinningAuctionFundArguments {
215
+ self: RawTransactionArgument<string>;
216
+ domainName: RawTransactionArgument<string>;
217
+ }
218
+ export interface CollectWinningAuctionFundOptions {
219
+ package?: string;
220
+ arguments:
221
+ | CollectWinningAuctionFundArguments
222
+ | [self: RawTransactionArgument<string>, domainName: RawTransactionArgument<string>];
223
+ }
224
+ export function collectWinningAuctionFund(options: CollectWinningAuctionFundOptions) {
225
+ const packageAddress = options.package ?? '@haneulns/core';
226
+ const argumentsTypes = [null, '0x1::string::String', '0x2::clock::Clock'] satisfies (
227
+ | string
228
+ | null
229
+ )[];
230
+ const parameterNames = ['self', 'domainName'];
231
+ return (tx: Transaction) =>
232
+ tx.moveCall({
233
+ package: packageAddress,
234
+ module: 'auction',
235
+ function: 'collect_winning_auction_fund',
236
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
237
+ });
238
+ }
239
+ export interface AdminWithdrawFundsArguments {
240
+ _: RawTransactionArgument<string>;
241
+ self: RawTransactionArgument<string>;
242
+ }
243
+ export interface AdminWithdrawFundsOptions {
244
+ package?: string;
245
+ arguments:
246
+ | AdminWithdrawFundsArguments
247
+ | [_: RawTransactionArgument<string>, self: RawTransactionArgument<string>];
248
+ }
249
+ export function adminWithdrawFunds(options: AdminWithdrawFundsOptions) {
250
+ const packageAddress = options.package ?? '@haneulns/core';
251
+ const argumentsTypes = [null, null] satisfies (string | null)[];
252
+ const parameterNames = ['_', 'self'];
253
+ return (tx: Transaction) =>
254
+ tx.moveCall({
255
+ package: packageAddress,
256
+ module: 'auction',
257
+ function: 'admin_withdraw_funds',
258
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
259
+ });
260
+ }
261
+ export interface AdminFinalizeAuctionArguments {
262
+ admin: RawTransactionArgument<string>;
263
+ self: RawTransactionArgument<string>;
264
+ domain: RawTransactionArgument<string>;
265
+ }
266
+ export interface AdminFinalizeAuctionOptions {
267
+ package?: string;
268
+ arguments:
269
+ | AdminFinalizeAuctionArguments
270
+ | [
271
+ admin: RawTransactionArgument<string>,
272
+ self: RawTransactionArgument<string>,
273
+ domain: RawTransactionArgument<string>,
274
+ ];
275
+ }
276
+ /**
277
+ * Admin functionality used to finalize a single auction.
278
+ *
279
+ * An `operation_limit` limit must be provided which controls how many individual
280
+ * operations to perform. This allows the admin to be able to make forward progress
281
+ * in finalizing auctions even in the presence of thousands of bids.
282
+ *
283
+ * This will attempt to do as much as possible of the following based on the
284
+ * provided `operation_limit`:
285
+ *
286
+ * - claim the winning bid and place in `AuctionHouse.balance`
287
+ * - push the `SuinsRegistration` to the winner
288
+ * - push loosing bids back to their respective account owners
289
+ *
290
+ * Once all of the above has been done the auction is destroyed, freeing on-chain
291
+ * storage.
292
+ */
293
+ export function adminFinalizeAuction(options: AdminFinalizeAuctionOptions) {
294
+ const packageAddress = options.package ?? '@haneulns/core';
295
+ const argumentsTypes = [null, null, '0x1::string::String', '0x2::clock::Clock'] satisfies (
296
+ | string
297
+ | null
298
+ )[];
299
+ const parameterNames = ['admin', 'self', 'domain'];
300
+ return (tx: Transaction) =>
301
+ tx.moveCall({
302
+ package: packageAddress,
303
+ module: 'auction',
304
+ function: 'admin_finalize_auction',
305
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
306
+ });
307
+ }
308
+ export interface AdminTryFinalizeAuctionsArguments {
309
+ admin: RawTransactionArgument<string>;
310
+ self: RawTransactionArgument<string>;
311
+ operationLimit: RawTransactionArgument<number | bigint>;
312
+ }
313
+ export interface AdminTryFinalizeAuctionsOptions {
314
+ package?: string;
315
+ arguments:
316
+ | AdminTryFinalizeAuctionsArguments
317
+ | [
318
+ admin: RawTransactionArgument<string>,
319
+ self: RawTransactionArgument<string>,
320
+ operationLimit: RawTransactionArgument<number | bigint>,
321
+ ];
322
+ }
323
+ /**
324
+ * Admin functionality used to finalize an arbitrary number of auctions.
325
+ *
326
+ * An `operation_limit` limit must be provided which controls how many individual
327
+ * operations to perform. This allows the admin to be able to make forward progress
328
+ * in finalizing auctions even in the presence of thousands of auctions/bids.
329
+ */
330
+ export function adminTryFinalizeAuctions(options: AdminTryFinalizeAuctionsOptions) {
331
+ const packageAddress = options.package ?? '@haneulns/core';
332
+ const argumentsTypes = [null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];
333
+ const parameterNames = ['admin', 'self', 'operationLimit'];
334
+ return (tx: Transaction) =>
335
+ tx.moveCall({
336
+ package: packageAddress,
337
+ module: 'auction',
338
+ function: 'admin_try_finalize_auctions',
339
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
340
+ });
341
+ }
@@ -0,0 +1,225 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
5
+ import { bcs } from '@haneullabs/haneul/bcs';
6
+ import { type Transaction } from '@haneullabs/haneul/transactions';
7
+ const $moduleName = '@haneulns/core::config';
8
+ export const Config = new MoveStruct({
9
+ name: `${$moduleName}::Config`,
10
+ fields: {
11
+ public_key: bcs.vector(bcs.u8()),
12
+ three_char_price: bcs.u64(),
13
+ four_char_price: bcs.u64(),
14
+ five_plus_char_price: bcs.u64(),
15
+ },
16
+ });
17
+ export interface NewArguments {
18
+ PublicKey: RawTransactionArgument<number[]>;
19
+ ThreeCharPrice: RawTransactionArgument<number | bigint>;
20
+ FourCharPrice: RawTransactionArgument<number | bigint>;
21
+ FivePlusCharPrice: RawTransactionArgument<number | bigint>;
22
+ }
23
+ export interface NewOptions {
24
+ package?: string;
25
+ arguments:
26
+ | NewArguments
27
+ | [
28
+ PublicKey: RawTransactionArgument<number[]>,
29
+ ThreeCharPrice: RawTransactionArgument<number | bigint>,
30
+ FourCharPrice: RawTransactionArgument<number | bigint>,
31
+ FivePlusCharPrice: RawTransactionArgument<number | bigint>,
32
+ ];
33
+ }
34
+ /**
35
+ * Create a new instance of the configuration object. Define all properties from
36
+ * the start.
37
+ */
38
+ export function _new(options: NewOptions) {
39
+ const packageAddress = options.package ?? '@haneulns/core';
40
+ const argumentsTypes = ['vector<u8>', 'u64', 'u64', 'u64'] satisfies (string | null)[];
41
+ const parameterNames = ['PublicKey', 'ThreeCharPrice', 'FourCharPrice', 'FivePlusCharPrice'];
42
+ return (tx: Transaction) =>
43
+ tx.moveCall({
44
+ package: packageAddress,
45
+ module: 'config',
46
+ function: 'new',
47
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
48
+ });
49
+ }
50
+ export interface SetPublicKeyOptions {
51
+ package?: string;
52
+ arguments: [_: RawTransactionArgument<string>, _: RawTransactionArgument<number[]>];
53
+ }
54
+ export function setPublicKey(options: SetPublicKeyOptions) {
55
+ const packageAddress = options.package ?? '@haneulns/core';
56
+ const argumentsTypes = [null, 'vector<u8>'] satisfies (string | null)[];
57
+ return (tx: Transaction) =>
58
+ tx.moveCall({
59
+ package: packageAddress,
60
+ module: 'config',
61
+ function: 'set_public_key',
62
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
63
+ });
64
+ }
65
+ export interface SetThreeCharPriceOptions {
66
+ package?: string;
67
+ arguments: [_: RawTransactionArgument<string>, _: RawTransactionArgument<number | bigint>];
68
+ }
69
+ export function setThreeCharPrice(options: SetThreeCharPriceOptions) {
70
+ const packageAddress = options.package ?? '@haneulns/core';
71
+ const argumentsTypes = [null, 'u64'] satisfies (string | null)[];
72
+ return (tx: Transaction) =>
73
+ tx.moveCall({
74
+ package: packageAddress,
75
+ module: 'config',
76
+ function: 'set_three_char_price',
77
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
78
+ });
79
+ }
80
+ export interface SetFourCharPriceOptions {
81
+ package?: string;
82
+ arguments: [_: RawTransactionArgument<string>, _: RawTransactionArgument<number | bigint>];
83
+ }
84
+ export function setFourCharPrice(options: SetFourCharPriceOptions) {
85
+ const packageAddress = options.package ?? '@haneulns/core';
86
+ const argumentsTypes = [null, 'u64'] satisfies (string | null)[];
87
+ return (tx: Transaction) =>
88
+ tx.moveCall({
89
+ package: packageAddress,
90
+ module: 'config',
91
+ function: 'set_four_char_price',
92
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
93
+ });
94
+ }
95
+ export interface SetFivePlusCharPriceOptions {
96
+ package?: string;
97
+ arguments: [_: RawTransactionArgument<string>, _: RawTransactionArgument<number | bigint>];
98
+ }
99
+ export function setFivePlusCharPrice(options: SetFivePlusCharPriceOptions) {
100
+ const packageAddress = options.package ?? '@haneulns/core';
101
+ const argumentsTypes = [null, 'u64'] satisfies (string | null)[];
102
+ return (tx: Transaction) =>
103
+ tx.moveCall({
104
+ package: packageAddress,
105
+ module: 'config',
106
+ function: 'set_five_plus_char_price',
107
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
108
+ });
109
+ }
110
+ export interface CalculatePriceOptions {
111
+ package?: string;
112
+ arguments: [
113
+ _: RawTransactionArgument<string>,
114
+ _: RawTransactionArgument<number>,
115
+ _: RawTransactionArgument<number>,
116
+ ];
117
+ }
118
+ export function calculatePrice(options: CalculatePriceOptions) {
119
+ const packageAddress = options.package ?? '@haneulns/core';
120
+ const argumentsTypes = [null, 'u8', 'u8'] satisfies (string | null)[];
121
+ return (tx: Transaction) =>
122
+ tx.moveCall({
123
+ package: packageAddress,
124
+ module: 'config',
125
+ function: 'calculate_price',
126
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes),
127
+ });
128
+ }
129
+ export interface PublicKeyArguments {
130
+ _: RawTransactionArgument<string>;
131
+ }
132
+ export interface PublicKeyOptions {
133
+ package?: string;
134
+ arguments: PublicKeyArguments | [_: RawTransactionArgument<string>];
135
+ }
136
+ export function publicKey(options: PublicKeyOptions) {
137
+ const packageAddress = options.package ?? '@haneulns/core';
138
+ const argumentsTypes = [null] satisfies (string | null)[];
139
+ const parameterNames = ['_'];
140
+ return (tx: Transaction) =>
141
+ tx.moveCall({
142
+ package: packageAddress,
143
+ module: 'config',
144
+ function: 'public_key',
145
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
146
+ });
147
+ }
148
+ export interface ThreeCharPriceArguments {
149
+ _: RawTransactionArgument<string>;
150
+ }
151
+ export interface ThreeCharPriceOptions {
152
+ package?: string;
153
+ arguments: ThreeCharPriceArguments | [_: RawTransactionArgument<string>];
154
+ }
155
+ export function threeCharPrice(options: ThreeCharPriceOptions) {
156
+ const packageAddress = options.package ?? '@haneulns/core';
157
+ const argumentsTypes = [null] satisfies (string | null)[];
158
+ const parameterNames = ['_'];
159
+ return (tx: Transaction) =>
160
+ tx.moveCall({
161
+ package: packageAddress,
162
+ module: 'config',
163
+ function: 'three_char_price',
164
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
165
+ });
166
+ }
167
+ export interface FourCharPriceArguments {
168
+ _: RawTransactionArgument<string>;
169
+ }
170
+ export interface FourCharPriceOptions {
171
+ package?: string;
172
+ arguments: FourCharPriceArguments | [_: RawTransactionArgument<string>];
173
+ }
174
+ export function fourCharPrice(options: FourCharPriceOptions) {
175
+ const packageAddress = options.package ?? '@haneulns/core';
176
+ const argumentsTypes = [null] satisfies (string | null)[];
177
+ const parameterNames = ['_'];
178
+ return (tx: Transaction) =>
179
+ tx.moveCall({
180
+ package: packageAddress,
181
+ module: 'config',
182
+ function: 'four_char_price',
183
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
184
+ });
185
+ }
186
+ export interface FivePlusCharPriceArguments {
187
+ _: RawTransactionArgument<string>;
188
+ }
189
+ export interface FivePlusCharPriceOptions {
190
+ package?: string;
191
+ arguments: FivePlusCharPriceArguments | [_: RawTransactionArgument<string>];
192
+ }
193
+ export function fivePlusCharPrice(options: FivePlusCharPriceOptions) {
194
+ const packageAddress = options.package ?? '@haneulns/core';
195
+ const argumentsTypes = [null] satisfies (string | null)[];
196
+ const parameterNames = ['_'];
197
+ return (tx: Transaction) =>
198
+ tx.moveCall({
199
+ package: packageAddress,
200
+ module: 'config',
201
+ function: 'five_plus_char_price',
202
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
203
+ });
204
+ }
205
+ export interface AssertValidUserRegisterableDomainArguments {
206
+ _: RawTransactionArgument<string>;
207
+ }
208
+ export interface AssertValidUserRegisterableDomainOptions {
209
+ package?: string;
210
+ arguments: AssertValidUserRegisterableDomainArguments | [_: RawTransactionArgument<string>];
211
+ }
212
+ export function assertValidUserRegisterableDomain(
213
+ options: AssertValidUserRegisterableDomainOptions,
214
+ ) {
215
+ const packageAddress = options.package ?? '@haneulns/core';
216
+ const argumentsTypes = [null] satisfies (string | null)[];
217
+ const parameterNames = ['_'];
218
+ return (tx: Transaction) =>
219
+ tx.moveCall({
220
+ package: packageAddress,
221
+ module: 'config',
222
+ function: 'assert_valid_user_registerable_domain',
223
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
224
+ });
225
+ }