@shipload/sdk 1.0.0-next.7 → 1.0.0-next.70

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 (203) hide show
  1. package/lib/scan.d.ts +52 -0
  2. package/lib/scan.js +162 -0
  3. package/lib/scan.js.map +1 -0
  4. package/lib/scan.m.js +152 -0
  5. package/lib/scan.m.js.map +1 -0
  6. package/lib/shipload.d.ts +5696 -1503
  7. package/lib/shipload.js +20294 -5200
  8. package/lib/shipload.js.map +1 -1
  9. package/lib/shipload.m.js +20371 -5683
  10. package/lib/shipload.m.js.map +1 -1
  11. package/lib/testing.d.ts +1648 -0
  12. package/lib/testing.js +6980 -0
  13. package/lib/testing.js.map +1 -0
  14. package/lib/testing.m.js +6974 -0
  15. package/lib/testing.m.js.map +1 -0
  16. package/package.json +20 -2
  17. package/src/capabilities/craftable.test.ts +82 -0
  18. package/src/capabilities/craftable.ts +82 -0
  19. package/src/capabilities/crafting.test.ts +80 -0
  20. package/src/capabilities/crafting.ts +50 -8
  21. package/src/capabilities/gathering.test.ts +29 -0
  22. package/src/capabilities/gathering.ts +38 -20
  23. package/src/capabilities/hauling.ts +0 -5
  24. package/src/capabilities/index.ts +0 -1
  25. package/src/capabilities/modules.ts +27 -30
  26. package/src/capabilities/movement.ts +1 -1
  27. package/src/capabilities/storage.test.ts +26 -0
  28. package/src/capabilities/storage.ts +22 -7
  29. package/src/contracts/fund.ts +306 -0
  30. package/src/contracts/platform.ts +312 -3
  31. package/src/contracts/server.ts +2661 -466
  32. package/src/contracts/token.ts +170 -0
  33. package/src/contracts.ts +2 -0
  34. package/src/coordinates/address.ts +88 -0
  35. package/src/coordinates/constants.test.ts +15 -0
  36. package/src/coordinates/constants.ts +23 -0
  37. package/src/coordinates/index.ts +15 -0
  38. package/src/coordinates/memo.test.ts +47 -0
  39. package/src/coordinates/memo.ts +20 -0
  40. package/src/coordinates/permutation.ts +77 -0
  41. package/src/coordinates/regions.ts +48 -0
  42. package/src/coordinates/sectors.ts +115 -0
  43. package/src/data/capabilities.ts +49 -18
  44. package/src/data/capability-formulas.ts +26 -14
  45. package/src/data/catalog.test.ts +19 -0
  46. package/src/data/catalog.ts +13 -3
  47. package/src/data/charters.json +396 -0
  48. package/src/data/citizenry-adjectives.json +42 -0
  49. package/src/data/citizenry-nouns.json +50 -0
  50. package/src/data/colors.ts +14 -32
  51. package/src/data/entities.json +421 -15
  52. package/src/data/item-ids.ts +53 -13
  53. package/src/data/items.json +330 -77
  54. package/src/data/kind-registry.json +212 -0
  55. package/src/data/kind-registry.ts +192 -0
  56. package/src/data/metadata.ts +312 -51
  57. package/src/data/recipes-runtime.ts +6 -23
  58. package/src/data/recipes.json +2173 -173
  59. package/src/data/tiers.ts +9 -6
  60. package/src/derivation/build-methods.test.ts +71 -0
  61. package/src/derivation/build-methods.ts +50 -0
  62. package/src/derivation/capabilities.test.ts +348 -0
  63. package/src/derivation/capabilities.ts +707 -0
  64. package/src/derivation/capability-mappings.ts +60 -16
  65. package/src/derivation/crafting.test.ts +17 -0
  66. package/src/derivation/crafting.ts +57 -34
  67. package/src/derivation/index.ts +27 -2
  68. package/src/derivation/recipe-usage.test.ts +88 -0
  69. package/src/derivation/recipe-usage.ts +141 -0
  70. package/src/derivation/reserve-regen.ts +34 -0
  71. package/src/derivation/resources.ts +9 -1
  72. package/src/derivation/rollups.test.ts +55 -0
  73. package/src/derivation/rollups.ts +72 -0
  74. package/src/derivation/stars.test.ts +67 -0
  75. package/src/derivation/stars.ts +25 -0
  76. package/src/derivation/stat-scaling.ts +12 -0
  77. package/src/derivation/stats.ts +6 -6
  78. package/src/derivation/strata.ts +5 -3
  79. package/src/derivation/stratum.ts +26 -22
  80. package/src/derivation/tiers.ts +40 -7
  81. package/src/derivation/upgrades.ts +14 -0
  82. package/src/derivation/wormhole.ts +154 -0
  83. package/src/entities/entity.ts +102 -0
  84. package/src/entities/gamestate.ts +3 -28
  85. package/src/entities/makers.ts +144 -136
  86. package/src/entities/slot-multiplier.ts +43 -0
  87. package/src/entity/hydrate.test.ts +156 -0
  88. package/src/entity/hydrate.ts +86 -0
  89. package/src/errors.ts +21 -16
  90. package/src/format.ts +42 -9
  91. package/src/index-module.ts +411 -32
  92. package/src/influence/ballot.test.ts +103 -0
  93. package/src/influence/ballot.ts +98 -0
  94. package/src/influence/categories.ts +32 -0
  95. package/src/influence/charter-metadata.test.ts +136 -0
  96. package/src/influence/charter-metadata.ts +236 -0
  97. package/src/influence/charters.test.ts +112 -0
  98. package/src/influence/charters.ts +150 -0
  99. package/src/influence/citizenry.ts +38 -0
  100. package/src/influence/civic-shuttle.test.ts +202 -0
  101. package/src/influence/civic-shuttle.ts +142 -0
  102. package/src/influence/civic.test.ts +287 -0
  103. package/src/influence/civic.ts +269 -0
  104. package/src/influence/constants.ts +84 -0
  105. package/src/influence/decay.ts +20 -0
  106. package/src/influence/decomp.ts +95 -0
  107. package/src/influence/demand.ts +106 -0
  108. package/src/influence/duration.ts +101 -0
  109. package/src/influence/index.ts +118 -0
  110. package/src/influence/influence.test.ts +450 -0
  111. package/src/influence/quality.ts +25 -0
  112. package/src/influence/valuation.ts +154 -0
  113. package/src/managers/actions.ts +940 -93
  114. package/src/managers/balances.test.ts +161 -0
  115. package/src/managers/balances.ts +93 -0
  116. package/src/managers/base.ts +10 -2
  117. package/src/managers/cluster.test.ts +39 -0
  118. package/src/managers/cluster.ts +53 -0
  119. package/src/managers/construction-types.ts +80 -0
  120. package/src/managers/construction.ts +453 -0
  121. package/src/managers/context.ts +58 -1
  122. package/src/managers/coordinates.ts +14 -0
  123. package/src/managers/entities.ts +35 -63
  124. package/src/managers/epochs.ts +72 -1
  125. package/src/managers/index.ts +38 -1
  126. package/src/managers/influence.test.ts +56 -0
  127. package/src/managers/influence.ts +425 -0
  128. package/src/managers/jobs.test.ts +80 -0
  129. package/src/managers/jobs.ts +54 -0
  130. package/src/managers/locations.ts +25 -29
  131. package/src/managers/nft.test.ts +21 -0
  132. package/src/managers/nft.ts +110 -0
  133. package/src/managers/players.ts +25 -0
  134. package/src/managers/plot.ts +122 -0
  135. package/src/nft/atomicassets.abi.json +1342 -0
  136. package/src/nft/atomicassets.ts +237 -0
  137. package/src/nft/atomicdata.ts +130 -0
  138. package/src/nft/buildImmutableData.ts +388 -0
  139. package/src/nft/description.ts +222 -100
  140. package/src/nft/index.ts +3 -0
  141. package/src/planner/index.ts +296 -0
  142. package/src/planner/planner.test.ts +459 -0
  143. package/src/receipts.ts +22 -0
  144. package/src/resolution/describe-module.ts +43 -25
  145. package/src/resolution/display-name.ts +39 -11
  146. package/src/resolution/resolve-item.test.ts +48 -0
  147. package/src/resolution/resolve-item.ts +112 -58
  148. package/src/scan/index.ts +244 -0
  149. package/src/scan/scan-wasm.base64.ts +2 -0
  150. package/src/scheduling/accessor.ts +65 -23
  151. package/src/scheduling/availability.test.ts +320 -0
  152. package/src/scheduling/availability.ts +251 -0
  153. package/src/scheduling/cancel.test.ts +550 -0
  154. package/src/scheduling/cancel.ts +254 -0
  155. package/src/scheduling/cluster-stock.test.ts +31 -0
  156. package/src/scheduling/cluster-stock.ts +15 -0
  157. package/src/scheduling/energy.ts +47 -0
  158. package/src/scheduling/epoch.ts +1 -0
  159. package/src/scheduling/idle-resolve.ts +45 -0
  160. package/src/scheduling/jobs.test.ts +49 -0
  161. package/src/scheduling/jobs.ts +137 -0
  162. package/src/scheduling/lane-core.ts +128 -0
  163. package/src/scheduling/lanes.test.ts +250 -0
  164. package/src/scheduling/lanes.ts +227 -0
  165. package/src/scheduling/projection.ts +265 -149
  166. package/src/scheduling/schedule.test.ts +163 -0
  167. package/src/scheduling/schedule.ts +282 -116
  168. package/src/scheduling/task-cargo.test.ts +110 -0
  169. package/src/scheduling/task-cargo.ts +62 -0
  170. package/src/scheduling/task-effects.test.ts +35 -0
  171. package/src/scheduling/task-effects.ts +34 -0
  172. package/src/scheduling/unwrap.test.ts +86 -0
  173. package/src/scheduling/unwrap.ts +190 -0
  174. package/src/shipload.ts +63 -4
  175. package/src/subscriptions/manager.cluster.test.ts +51 -0
  176. package/src/subscriptions/manager.ts +245 -172
  177. package/src/subscriptions/mappers.ts +5 -8
  178. package/src/subscriptions/types.ts +28 -3
  179. package/src/testing/catalog-hash.ts +19 -0
  180. package/src/testing/index.ts +2 -0
  181. package/src/testing/projection-parity.ts +167 -0
  182. package/src/travel/reach.test.ts +86 -0
  183. package/src/travel/reach.ts +34 -0
  184. package/src/travel/route-build.test.ts +63 -0
  185. package/src/travel/route-build.ts +60 -0
  186. package/src/travel/route-planner.ts +288 -0
  187. package/src/travel/route-simulator.ts +170 -0
  188. package/src/travel/travel.ts +190 -123
  189. package/src/types/capabilities.ts +37 -8
  190. package/src/types/entity.ts +3 -3
  191. package/src/types/index.ts +0 -1
  192. package/src/types.ts +81 -23
  193. package/src/utils/cargo.test.ts +14 -0
  194. package/src/utils/cargo.ts +2 -0
  195. package/src/utils/display-name.ts +70 -0
  196. package/src/utils/hash.ts +22 -2
  197. package/src/utils/system.ts +24 -5
  198. package/src/capabilities/loading.ts +0 -8
  199. package/src/entities/container.ts +0 -123
  200. package/src/entities/ship-deploy.ts +0 -295
  201. package/src/entities/ship.ts +0 -221
  202. package/src/entities/warehouse.ts +0 -127
  203. package/src/types/entity-traits.ts +0 -69
@@ -0,0 +1,306 @@
1
+ import type {
2
+ Action,
3
+ AssetType,
4
+ NameType,
5
+ UInt16Type,
6
+ UInt32Type,
7
+ UInt64Type,
8
+ } from '@wharfkit/antelope'
9
+ import {ABI, Asset, Blob, Name, Struct, UInt16, UInt32, UInt64} from '@wharfkit/antelope'
10
+ import type {ActionOptions, ContractArgs, PartialBy, Table} from '@wharfkit/contract'
11
+ import {Contract as BaseContract} from '@wharfkit/contract'
12
+ export const abiBlob = Blob.from(
13
+ 'DmVvc2lvOjphYmkvMS4yABkLYWNjcnVlZF9yb3cAAg50b2tlbl9jb250cmFjdARuYW1lB2JhbGFuY2UFYXNzZXQIYWRkdG9rZW4AAg50b2tlbl9jb250cmFjdARuYW1lDHRva2VuX3N5bWJvbAZzeW1ib2wJYmVuZWZfcm93AAIHYWNjb3VudARuYW1lA2JwcwZ1aW50MTYLYmVuZWZpY2lhcnkAAgdhY2NvdW50BG5hbWUDYnBzBnVpbnQxNgVjbGFpbQABE2JlbmVmaWNpYXJ5X2FjY291bnQEbmFtZQdjb2xsZWN0AAALY29sbGVjdGZlZXMAAApjdXJzb3Jfcm93AAENbmV4dF9hc3NldF9pZAZ1aW50NjQIZGVsdG9rZW4AAQ50b2tlbl9jb250cmFjdARuYW1lB2dldGxvdHMAAgtsb3dlcl9ib3VuZAZ1aW50NjQIbWF4X2xvdHMGdWludDMyC2dldHRlbmRhYmxlAAEIbWF4X2xvdHMGdWludDMyCGxvdF9pbmZvAAYIYXNzZXRfaWQGdWludDY0BWdyYWRlBG5hbWUKYXVjdGlvbl9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBXN0YXRzBnVpbnQ2NAtsb3RzX3Jlc3VsdAACBGxvdHMKbG90X2luZm9bXQRuZXh0BnVpbnQ2NAhsb3RzX3JvdwADCGFzc2V0X2lkBnVpbnQ2NAVncmFkZQRuYW1lCmF1Y3Rpb25faWQGdWludDY0CXJlc2N1ZW5mdAADCWFzc2V0X2lkcwh1aW50NjRbXQJ0bwRuYW1lBG1lbW8Gc3RyaW5nCHNldGJlbmVmAAEIcmVnaXN0cnkNYmVuZWZpY2lhcnlbXQlzZXRtYXJrZXQAAgZtYXJrZXQEbmFtZRFtYWtlcl9tYXJrZXRwbGFjZQRuYW1lCHNldHRlcm1zAAMFZ3JhZGUEbmFtZQxzdGFydGluZ19iaWQFYXNzZXQIZHVyYXRpb24GdWludDMyDHNldHRpbmdzX3JvdwAEBm1hcmtldARuYW1lDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbBFtYWtlcl9tYXJrZXRwbGFjZQRuYW1lCHNldHRva2VuAAIOdG9rZW5fY29udHJhY3QEbmFtZQx0b2tlbl9zeW1ib2wGc3ltYm9sBXN3ZWVwAAEIbWF4X2xvdHMGdWludDMyBHRlbmQAAQlhc3NldF9pZHMIdWludDY0W10JdGVybXNfcm93AAMFZ3JhZGUEbmFtZQxzdGFydGluZ19iaWQFYXNzZXQIZHVyYXRpb24GdWludDMyCXRva2VuX3JvdwACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAR3aXBlAAAPAAAAU0GaUzIIYWRkdG9rZW4AAAAAAADpTEQFY2xhaW0AAAAAICMVI0UHY29sbGVjdAAAsFIrIxUjRQtjb2xsZWN0ZmVlcwAAAABTQZqjSghkZWx0b2tlbgAAAAAAZxqzYgdnZXRsb3RzAABUPCZNlbNiC2dldHRlbmRhYmxlAAAAyGsqjbC6CXJlc2N1ZW5mdAAAAABLTXWywghzZXRiZW5lZgAAAMgKXiOzwglzZXRtYXJrZXQAAAAAWF6Vs8IIc2V0dGVybXMAAAAAU0Gas8IIc2V0dG9rZW4AAAAAAICqFMcFc3dlZXAAAAAAAACQpsoEdGVuZAAAAAAAAKCq4wR3aXBlAAcAAAAgKX0RMgNpNjQAAAthY2NydWVkX3JvdwAAAADgpaY6A2k2NAAACWJlbmVmX3JvdwAAAABciq9GA2k2NAAACmN1cnNvcl9yb3cAAAAAAIAzjQNpNjQAAAhsb3RzX3JvdwAAAJhNl7PCA2k2NAAADHNldHRpbmdzX3JvdwAAAAAALK/KA2k2NAAACXRlcm1zX3JvdwAAAADgqSDNA2k2NAAACXRva2VuX3JvdwAAAAACAAAAAGcas2ILbG90c19yZXN1bHQAVDwmTZWzYgh1aW50NjRbXQ=='
14
+ )
15
+ export const abi = ABI.from(abiBlob)
16
+ export namespace Types {
17
+ @Struct.type('accrued_row')
18
+ export class accrued_row extends Struct {
19
+ @Struct.field(Name)
20
+ declare token_contract: Name
21
+ @Struct.field(Asset)
22
+ declare balance: Asset
23
+ }
24
+ @Struct.type('addtoken')
25
+ export class addtoken extends Struct {
26
+ @Struct.field(Name)
27
+ declare token_contract: Name
28
+ @Struct.field(Asset.Symbol)
29
+ declare token_symbol: Asset.Symbol
30
+ }
31
+ @Struct.type('benef_row')
32
+ export class benef_row extends Struct {
33
+ @Struct.field(Name)
34
+ declare account: Name
35
+ @Struct.field(UInt16)
36
+ declare bps: UInt16
37
+ }
38
+ @Struct.type('beneficiary')
39
+ export class beneficiary extends Struct {
40
+ @Struct.field(Name)
41
+ declare account: Name
42
+ @Struct.field(UInt16)
43
+ declare bps: UInt16
44
+ }
45
+ @Struct.type('claim')
46
+ export class claim extends Struct {
47
+ @Struct.field(Name)
48
+ declare beneficiary_account: Name
49
+ }
50
+ @Struct.type('collect')
51
+ export class collect extends Struct {}
52
+ @Struct.type('collectfees')
53
+ export class collectfees extends Struct {}
54
+ @Struct.type('cursor_row')
55
+ export class cursor_row extends Struct {
56
+ @Struct.field(UInt64)
57
+ declare next_asset_id: UInt64
58
+ }
59
+ @Struct.type('deltoken')
60
+ export class deltoken extends Struct {
61
+ @Struct.field(Name)
62
+ declare token_contract: Name
63
+ }
64
+ @Struct.type('getlots')
65
+ export class getlots extends Struct {
66
+ @Struct.field(UInt64)
67
+ declare lower_bound: UInt64
68
+ @Struct.field(UInt32)
69
+ declare max_lots: UInt32
70
+ }
71
+ @Struct.type('gettendable')
72
+ export class gettendable extends Struct {
73
+ @Struct.field(UInt32)
74
+ declare max_lots: UInt32
75
+ }
76
+ @Struct.type('lot_info')
77
+ export class lot_info extends Struct {
78
+ @Struct.field(UInt64)
79
+ declare asset_id: UInt64
80
+ @Struct.field(Name)
81
+ declare grade: Name
82
+ @Struct.field(UInt64)
83
+ declare auction_id: UInt64
84
+ @Struct.field(UInt16)
85
+ declare item_id: UInt16
86
+ @Struct.field(UInt32)
87
+ declare quantity: UInt32
88
+ @Struct.field(UInt64)
89
+ declare stats: UInt64
90
+ }
91
+ @Struct.type('lots_result')
92
+ export class lots_result extends Struct {
93
+ @Struct.field(lot_info, {array: true})
94
+ declare lots: lot_info[]
95
+ @Struct.field(UInt64)
96
+ declare next: UInt64
97
+ }
98
+ @Struct.type('lots_row')
99
+ export class lots_row extends Struct {
100
+ @Struct.field(UInt64)
101
+ declare asset_id: UInt64
102
+ @Struct.field(Name)
103
+ declare grade: Name
104
+ @Struct.field(UInt64)
105
+ declare auction_id: UInt64
106
+ }
107
+ @Struct.type('rescuenft')
108
+ export class rescuenft extends Struct {
109
+ @Struct.field(UInt64, {array: true})
110
+ declare asset_ids: UInt64[]
111
+ @Struct.field(Name)
112
+ declare to: Name
113
+ @Struct.field('string')
114
+ declare memo: string
115
+ }
116
+ @Struct.type('setbenef')
117
+ export class setbenef extends Struct {
118
+ @Struct.field(beneficiary, {array: true})
119
+ declare registry: beneficiary[]
120
+ }
121
+ @Struct.type('setmarket')
122
+ export class setmarket extends Struct {
123
+ @Struct.field(Name)
124
+ declare market: Name
125
+ @Struct.field(Name)
126
+ declare maker_marketplace: Name
127
+ }
128
+ @Struct.type('setterms')
129
+ export class setterms extends Struct {
130
+ @Struct.field(Name)
131
+ declare grade: Name
132
+ @Struct.field(Asset)
133
+ declare starting_bid: Asset
134
+ @Struct.field(UInt32)
135
+ declare duration: UInt32
136
+ }
137
+ @Struct.type('settings_row')
138
+ export class settings_row extends Struct {
139
+ @Struct.field(Name)
140
+ declare market: Name
141
+ @Struct.field(Name)
142
+ declare token_contract: Name
143
+ @Struct.field(Asset.Symbol)
144
+ declare token_symbol: Asset.Symbol
145
+ @Struct.field(Name)
146
+ declare maker_marketplace: Name
147
+ }
148
+ @Struct.type('settoken')
149
+ export class settoken extends Struct {
150
+ @Struct.field(Name)
151
+ declare token_contract: Name
152
+ @Struct.field(Asset.Symbol)
153
+ declare token_symbol: Asset.Symbol
154
+ }
155
+ @Struct.type('sweep')
156
+ export class sweep extends Struct {
157
+ @Struct.field(UInt32)
158
+ declare max_lots: UInt32
159
+ }
160
+ @Struct.type('tend')
161
+ export class tend extends Struct {
162
+ @Struct.field(UInt64, {array: true})
163
+ declare asset_ids: UInt64[]
164
+ }
165
+ @Struct.type('terms_row')
166
+ export class terms_row extends Struct {
167
+ @Struct.field(Name)
168
+ declare grade: Name
169
+ @Struct.field(Asset)
170
+ declare starting_bid: Asset
171
+ @Struct.field(UInt32)
172
+ declare duration: UInt32
173
+ }
174
+ @Struct.type('token_row')
175
+ export class token_row extends Struct {
176
+ @Struct.field(Name)
177
+ declare token_contract: Name
178
+ @Struct.field(Asset.Symbol)
179
+ declare token_symbol: Asset.Symbol
180
+ }
181
+ @Struct.type('wipe')
182
+ export class wipe extends Struct {}
183
+ }
184
+ export const TableMap = {
185
+ accrued: Types.accrued_row,
186
+ benefs: Types.benef_row,
187
+ cursor: Types.cursor_row,
188
+ lots: Types.lots_row,
189
+ settings: Types.settings_row,
190
+ terms: Types.terms_row,
191
+ tokens: Types.token_row,
192
+ }
193
+ export interface TableTypes {
194
+ accrued: Types.accrued_row
195
+ benefs: Types.benef_row
196
+ cursor: Types.cursor_row
197
+ lots: Types.lots_row
198
+ settings: Types.settings_row
199
+ terms: Types.terms_row
200
+ tokens: Types.token_row
201
+ }
202
+ export type RowType<T> = T extends keyof TableTypes ? TableTypes[T] : any
203
+ export type TableNames = keyof TableTypes
204
+ export namespace ActionParams {
205
+ export namespace Type {
206
+ export interface beneficiary {
207
+ account: NameType
208
+ bps: UInt16Type
209
+ }
210
+ }
211
+ export interface addtoken {
212
+ token_contract: NameType
213
+ token_symbol: Asset.SymbolType
214
+ }
215
+ export interface claim {
216
+ beneficiary_account: NameType
217
+ }
218
+ export interface collect {}
219
+ export interface collectfees {}
220
+ export interface deltoken {
221
+ token_contract: NameType
222
+ }
223
+ export interface getlots {
224
+ lower_bound: UInt64Type
225
+ max_lots: UInt32Type
226
+ }
227
+ export interface gettendable {
228
+ max_lots: UInt32Type
229
+ }
230
+ export interface rescuenft {
231
+ asset_ids: UInt64Type[]
232
+ to: NameType
233
+ memo: string
234
+ }
235
+ export interface setbenef {
236
+ registry: Type.beneficiary[]
237
+ }
238
+ export interface setmarket {
239
+ market: NameType
240
+ maker_marketplace: NameType
241
+ }
242
+ export interface setterms {
243
+ grade: NameType
244
+ starting_bid: AssetType
245
+ duration: UInt32Type
246
+ }
247
+ export interface settoken {
248
+ token_contract: NameType
249
+ token_symbol: Asset.SymbolType
250
+ }
251
+ export interface sweep {
252
+ max_lots: UInt32Type
253
+ }
254
+ export interface tend {
255
+ asset_ids: UInt64Type[]
256
+ }
257
+ export interface wipe {}
258
+ }
259
+ export interface ActionNameParams {
260
+ addtoken: ActionParams.addtoken
261
+ claim: ActionParams.claim
262
+ collect: ActionParams.collect
263
+ collectfees: ActionParams.collectfees
264
+ deltoken: ActionParams.deltoken
265
+ getlots: ActionParams.getlots
266
+ gettendable: ActionParams.gettendable
267
+ rescuenft: ActionParams.rescuenft
268
+ setbenef: ActionParams.setbenef
269
+ setmarket: ActionParams.setmarket
270
+ setterms: ActionParams.setterms
271
+ settoken: ActionParams.settoken
272
+ sweep: ActionParams.sweep
273
+ tend: ActionParams.tend
274
+ wipe: ActionParams.wipe
275
+ }
276
+ export type ActionNames = keyof ActionNameParams
277
+ export interface ActionReturnValues {
278
+ getlots: Types.lots_result
279
+ gettendable: UInt64[]
280
+ }
281
+ export type ActionReturnNames = keyof ActionReturnValues
282
+ export class Contract extends BaseContract {
283
+ constructor(args: PartialBy<ContractArgs, 'abi' | 'account'>) {
284
+ super({
285
+ client: args.client,
286
+ abi: abi,
287
+ account: args.account || Name.from('fnd.shipload'),
288
+ })
289
+ }
290
+ action<T extends ActionNames>(
291
+ name: T,
292
+ data: ActionNameParams[T],
293
+ options?: ActionOptions
294
+ ): Action {
295
+ return super.action(name, data, options)
296
+ }
297
+ readonly<T extends ActionReturnNames>(
298
+ name: T,
299
+ data?: ActionNameParams[T]
300
+ ): ActionReturnValues[T] {
301
+ return super.readonly(name, data) as unknown as ActionReturnValues[T]
302
+ }
303
+ table<T extends TableNames>(name: T, scope?: NameType): Table<RowType<T>> {
304
+ return super.table(name, scope, TableMap[name])
305
+ }
306
+ }