@typemove/aptos 1.2.4-rc.1 → 1.2.4-rc3

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 (140) hide show
  1. package/dist/cjs/account-resource-client.d.ts +35 -0
  2. package/dist/cjs/account-resource-client.d.ts.map +1 -0
  3. package/dist/cjs/account-resource-client.js +44 -0
  4. package/dist/cjs/account-resource-client.js.map +1 -0
  5. package/dist/cjs/account-resource-client.test.d.ts +2 -0
  6. package/dist/cjs/account-resource-client.test.d.ts.map +1 -0
  7. package/dist/cjs/account-resource-client.test.js.map +1 -0
  8. package/dist/cjs/aptos-chain-adapter.d.ts +16 -0
  9. package/dist/cjs/aptos-chain-adapter.d.ts.map +1 -0
  10. package/dist/cjs/aptos-chain-adapter.js +82 -0
  11. package/dist/cjs/aptos-chain-adapter.js.map +1 -0
  12. package/dist/cjs/builtin/0x1.d.ts +3796 -0
  13. package/dist/cjs/builtin/0x1.d.ts.map +1 -0
  14. package/dist/cjs/builtin/0x1.js +5019 -0
  15. package/dist/cjs/builtin/0x1.js.map +1 -0
  16. package/dist/cjs/builtin/0x3.d.ts +652 -0
  17. package/dist/cjs/builtin/0x3.d.ts.map +1 -0
  18. package/dist/cjs/builtin/0x3.js +584 -0
  19. package/dist/cjs/builtin/0x3.js.map +1 -0
  20. package/dist/cjs/builtin/index.d.ts +3 -0
  21. package/dist/cjs/builtin/index.d.ts.map +1 -0
  22. package/dist/cjs/builtin/index.js +10 -0
  23. package/dist/cjs/builtin/index.js.map +1 -0
  24. package/dist/cjs/client.test.d.ts +2 -0
  25. package/dist/cjs/client.test.d.ts.map +1 -0
  26. package/dist/cjs/client.test.js.map +1 -0
  27. package/dist/cjs/codegen/codegen.d.ts +14 -0
  28. package/dist/cjs/codegen/codegen.d.ts.map +1 -0
  29. package/dist/cjs/codegen/codegen.js +116 -0
  30. package/dist/cjs/codegen/codegen.js.map +1 -0
  31. package/dist/cjs/codegen/index.d.ts +2 -0
  32. package/dist/cjs/codegen/index.d.ts.map +1 -0
  33. package/dist/cjs/codegen/index.js +5 -0
  34. package/dist/cjs/codegen/index.js.map +1 -0
  35. package/dist/cjs/codegen/types.test.d.ts +2 -0
  36. package/dist/cjs/codegen/types.test.d.ts.map +1 -0
  37. package/dist/cjs/codegen/types.test.js.map +1 -0
  38. package/dist/cjs/index.d.ts +5 -0
  39. package/dist/cjs/index.d.ts.map +1 -0
  40. package/dist/cjs/index.js +12 -0
  41. package/dist/cjs/index.js.map +1 -0
  42. package/dist/cjs/models.d.ts +11 -0
  43. package/dist/cjs/models.d.ts.map +1 -0
  44. package/dist/cjs/models.js +3 -0
  45. package/dist/cjs/models.js.map +1 -0
  46. package/dist/cjs/move-coder.d.ts +15 -0
  47. package/dist/cjs/move-coder.d.ts.map +1 -0
  48. package/dist/cjs/move-coder.js +76 -0
  49. package/dist/cjs/move-coder.js.map +1 -0
  50. package/dist/cjs/move-types.d.ts +12 -0
  51. package/dist/cjs/move-types.d.ts.map +1 -0
  52. package/dist/cjs/move-types.js +3 -0
  53. package/dist/cjs/move-types.js.map +1 -0
  54. package/dist/cjs/to-internal.d.ts +7 -0
  55. package/dist/cjs/to-internal.d.ts.map +1 -0
  56. package/dist/cjs/to-internal.js +60 -0
  57. package/dist/cjs/to-internal.js.map +1 -0
  58. package/dist/esm/account-resource-client.d.ts +35 -0
  59. package/dist/esm/account-resource-client.d.ts.map +1 -0
  60. package/dist/esm/account-resource-client.js +40 -0
  61. package/dist/esm/account-resource-client.js.map +1 -0
  62. package/dist/esm/account-resource-client.test.d.ts +2 -0
  63. package/dist/esm/account-resource-client.test.d.ts.map +1 -0
  64. package/dist/esm/account-resource-client.test.js.map +1 -0
  65. package/dist/esm/aptos-chain-adapter.d.ts +16 -0
  66. package/dist/esm/aptos-chain-adapter.d.ts.map +1 -0
  67. package/dist/esm/aptos-chain-adapter.js +78 -0
  68. package/dist/esm/aptos-chain-adapter.js.map +1 -0
  69. package/dist/esm/builtin/0x1.d.ts +3796 -0
  70. package/dist/esm/builtin/0x1.d.ts.map +1 -0
  71. package/dist/esm/builtin/0x1.js +5014 -0
  72. package/dist/esm/builtin/0x1.js.map +1 -0
  73. package/dist/esm/builtin/0x3.d.ts +652 -0
  74. package/dist/esm/builtin/0x3.d.ts.map +1 -0
  75. package/dist/esm/builtin/0x3.js +579 -0
  76. package/dist/esm/builtin/0x3.js.map +1 -0
  77. package/dist/esm/builtin/index.d.ts +3 -0
  78. package/dist/esm/builtin/index.d.ts.map +1 -0
  79. package/dist/esm/builtin/index.js +6 -0
  80. package/dist/esm/builtin/index.js.map +1 -0
  81. package/dist/esm/client.test.d.ts +2 -0
  82. package/dist/esm/client.test.d.ts.map +1 -0
  83. package/dist/esm/client.test.js.map +1 -0
  84. package/dist/esm/codegen/codegen.d.ts +14 -0
  85. package/dist/esm/codegen/codegen.d.ts.map +1 -0
  86. package/dist/esm/codegen/codegen.js +110 -0
  87. package/dist/esm/codegen/codegen.js.map +1 -0
  88. package/dist/esm/codegen/index.d.ts +2 -0
  89. package/dist/esm/codegen/index.d.ts.map +1 -0
  90. package/dist/esm/codegen/index.js +2 -0
  91. package/dist/esm/codegen/index.js.map +1 -0
  92. package/dist/esm/codegen/run.d.ts +2 -0
  93. package/dist/esm/codegen/run.d.ts.map +1 -0
  94. package/dist/esm/codegen/run.js.map +1 -0
  95. package/dist/esm/codegen/types.test.d.ts +2 -0
  96. package/dist/esm/codegen/types.test.d.ts.map +1 -0
  97. package/dist/esm/codegen/types.test.js.map +1 -0
  98. package/dist/esm/index.d.ts +5 -0
  99. package/dist/esm/index.d.ts.map +1 -0
  100. package/dist/esm/index.js +5 -0
  101. package/dist/esm/index.js.map +1 -0
  102. package/dist/esm/models.d.ts +11 -0
  103. package/dist/esm/models.d.ts.map +1 -0
  104. package/dist/esm/models.js +2 -0
  105. package/dist/esm/models.js.map +1 -0
  106. package/dist/esm/move-coder.d.ts +15 -0
  107. package/dist/esm/move-coder.d.ts.map +1 -0
  108. package/dist/esm/move-coder.js +71 -0
  109. package/dist/esm/move-coder.js.map +1 -0
  110. package/dist/esm/move-types.d.ts +12 -0
  111. package/dist/esm/move-types.d.ts.map +1 -0
  112. package/dist/esm/move-types.js +2 -0
  113. package/dist/esm/move-types.js.map +1 -0
  114. package/dist/esm/to-internal.d.ts +7 -0
  115. package/dist/esm/to-internal.d.ts.map +1 -0
  116. package/dist/esm/to-internal.js +53 -0
  117. package/dist/esm/to-internal.js.map +1 -0
  118. package/package.json +3 -3
  119. package/src/abis/0x1.json +15625 -0
  120. package/src/abis/0x3.json +2262 -0
  121. package/src/account-resource-client.ts +58 -0
  122. package/src/aptos-chain-adapter.ts +102 -0
  123. package/src/builtin/0x1.ts +9847 -0
  124. package/src/builtin/0x3.ts +1366 -0
  125. package/src/builtin/index.ts +5 -0
  126. package/src/codegen/codegen.ts +132 -0
  127. package/src/codegen/index.ts +1 -0
  128. package/src/codegen/run.ts +33 -0
  129. package/src/index.ts +4 -0
  130. package/src/models.ts +18 -0
  131. package/src/move-coder.ts +85 -0
  132. package/src/move-types.ts +13 -0
  133. package/src/tests/abis/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.json +3265 -0
  134. package/src/tests/abis/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.json +637 -0
  135. package/src/tests/abis/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.json +3717 -0
  136. package/src/tests/types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.ts +2668 -0
  137. package/src/tests/types/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.ts +89 -0
  138. package/src/tests/types/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.ts +2093 -0
  139. package/src/tests/types/index.ts +6 -0
  140. package/src/to-internal.ts +64 -0
@@ -0,0 +1,2093 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ /* Generated modules for account 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541 */
6
+
7
+ import { TypeDescriptor, ANY_TYPE } from "@typemove/move";
8
+ import { MoveCoder, TypedEventInstance } from "@typemove/aptos";
9
+
10
+ import { defaultMoveCoder } from "@typemove/aptos";
11
+
12
+ import { Address } from "@typemove/aptos";
13
+
14
+ import {
15
+ AptosClient,
16
+ AptosAccount,
17
+ TransactionBuilderRemoteABI,
18
+ Types,
19
+ TxnBuilderTypes,
20
+ OptionalTransactionArgs,
21
+ } from "aptos";
22
+
23
+ import { _0x1 } from "@typemove/aptos/builtin";
24
+
25
+ export namespace amm {
26
+ export interface AddLiquidityEvent {
27
+ timestamp: bigint;
28
+ x_coin_type: string;
29
+ y_coin_type: string;
30
+ x_added_au: bigint;
31
+ y_added_au: bigint;
32
+ lp_minted_au: bigint;
33
+ }
34
+
35
+ export namespace AddLiquidityEvent {
36
+ export const TYPE_QNAME =
37
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::AddLiquidityEvent";
38
+
39
+ const TYPE = new TypeDescriptor<AddLiquidityEvent>(
40
+ AddLiquidityEvent.TYPE_QNAME,
41
+ );
42
+
43
+ export function type(): TypeDescriptor<AddLiquidityEvent> {
44
+ return TYPE.apply();
45
+ }
46
+ }
47
+
48
+ export interface AddLiquidityEventInstance
49
+ extends TypedEventInstance<AddLiquidityEvent> {
50
+ data_decoded: AddLiquidityEvent;
51
+ type_arguments: [];
52
+ }
53
+
54
+ export interface FlashSwap<T0, T1> {
55
+ in_au: bigint;
56
+ out_au: bigint;
57
+ }
58
+
59
+ export namespace FlashSwap {
60
+ export const TYPE_QNAME =
61
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap";
62
+
63
+ const TYPE = new TypeDescriptor<FlashSwap<any, any>>(FlashSwap.TYPE_QNAME);
64
+
65
+ export function type<T0, T1>(
66
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
67
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
68
+ ): TypeDescriptor<FlashSwap<T0, T1>> {
69
+ return TYPE.apply(arg0, arg1);
70
+ }
71
+ }
72
+
73
+ export interface LP<T0, T1> {
74
+ dummy_field: Boolean;
75
+ }
76
+
77
+ export namespace LP {
78
+ export const TYPE_QNAME =
79
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP";
80
+
81
+ const TYPE = new TypeDescriptor<LP<any, any>>(LP.TYPE_QNAME);
82
+
83
+ export function type<T0, T1>(
84
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
85
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
86
+ ): TypeDescriptor<LP<T0, T1>> {
87
+ return TYPE.apply(arg0, arg1);
88
+ }
89
+ }
90
+
91
+ export interface LPInstance extends TypedEventInstance<LP<any, any>> {
92
+ data_decoded: LP<any, any>;
93
+ type_arguments: [string, string];
94
+ }
95
+
96
+ export interface Pool<T0, T1> {
97
+ frozen: Boolean;
98
+ timestamp: bigint;
99
+ fee_bps: bigint;
100
+ swap_events: _0x1.event.EventHandle<amm.SwapEvent>;
101
+ add_liquidity_events: _0x1.event.EventHandle<amm.AddLiquidityEvent>;
102
+ remove_liquidity_events: _0x1.event.EventHandle<amm.RemoveLiquidityEvent>;
103
+ x_reserve: _0x1.coin.Coin<T0>;
104
+ y_reserve: _0x1.coin.Coin<T1>;
105
+ lp_mint: _0x1.coin.MintCapability<amm.LP<T0, T1>>;
106
+ lp_burn: _0x1.coin.BurnCapability<amm.LP<T0, T1>>;
107
+ }
108
+
109
+ export namespace Pool {
110
+ export const TYPE_QNAME =
111
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::Pool";
112
+
113
+ const TYPE = new TypeDescriptor<Pool<any, any>>(Pool.TYPE_QNAME);
114
+
115
+ export function type<T0, T1>(
116
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
117
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
118
+ ): TypeDescriptor<Pool<T0, T1>> {
119
+ return TYPE.apply(arg0, arg1);
120
+ }
121
+ }
122
+
123
+ export interface RemoveLiquidityEvent {
124
+ timestamp: bigint;
125
+ x_coin_type: string;
126
+ y_coin_type: string;
127
+ x_removed_au: bigint;
128
+ y_removed_au: bigint;
129
+ lp_burned_au: bigint;
130
+ }
131
+
132
+ export namespace RemoveLiquidityEvent {
133
+ export const TYPE_QNAME =
134
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::RemoveLiquidityEvent";
135
+
136
+ const TYPE = new TypeDescriptor<RemoveLiquidityEvent>(
137
+ RemoveLiquidityEvent.TYPE_QNAME,
138
+ );
139
+
140
+ export function type(): TypeDescriptor<RemoveLiquidityEvent> {
141
+ return TYPE.apply();
142
+ }
143
+ }
144
+
145
+ export interface RemoveLiquidityEventInstance
146
+ extends TypedEventInstance<RemoveLiquidityEvent> {
147
+ data_decoded: RemoveLiquidityEvent;
148
+ type_arguments: [];
149
+ }
150
+
151
+ export interface SwapEvent {
152
+ sender_addr: Address;
153
+ timestamp: bigint;
154
+ in_coin_type: string;
155
+ out_coin_type: string;
156
+ in_reserve: bigint;
157
+ out_reserve: bigint;
158
+ in_au: bigint;
159
+ out_au: bigint;
160
+ fee_bps: bigint;
161
+ }
162
+
163
+ export namespace SwapEvent {
164
+ export const TYPE_QNAME =
165
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::SwapEvent";
166
+
167
+ const TYPE = new TypeDescriptor<SwapEvent>(SwapEvent.TYPE_QNAME);
168
+
169
+ export function type(): TypeDescriptor<SwapEvent> {
170
+ return TYPE.apply();
171
+ }
172
+ }
173
+
174
+ export interface SwapEventInstance extends TypedEventInstance<SwapEvent> {
175
+ data_decoded: SwapEvent;
176
+ type_arguments: [];
177
+ }
178
+
179
+ export namespace entry {
180
+ export async function addApproximateLiquidity<T0 = any, T1 = any>(
181
+ client: AptosClient,
182
+ account: AptosAccount,
183
+ request: {
184
+ type_arguments: [string, string];
185
+ arguments: [bigint, bigint, bigint, bigint, bigint, bigint];
186
+ },
187
+ extraArgs?: OptionalTransactionArgs,
188
+ ): Promise<Types.PendingTransaction> {
189
+ const coder = defaultMoveCoder(client.nodeUrl);
190
+ const builder = new TransactionBuilderRemoteABI(client, {
191
+ sender: account.address(),
192
+ ...extraArgs,
193
+ });
194
+ const txn = await builder.build(
195
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::add_approximate_liquidity",
196
+ request.type_arguments,
197
+ coder.encodeArray(request.arguments),
198
+ );
199
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
200
+ return await client.submitSignedBCSTransaction(bcsTxn);
201
+ }
202
+ export async function addExactLiquidity<T0 = any, T1 = any>(
203
+ client: AptosClient,
204
+ account: AptosAccount,
205
+ request: {
206
+ type_arguments: [string, string];
207
+ arguments: [bigint, bigint];
208
+ },
209
+ extraArgs?: OptionalTransactionArgs,
210
+ ): Promise<Types.PendingTransaction> {
211
+ const coder = defaultMoveCoder(client.nodeUrl);
212
+ const builder = new TransactionBuilderRemoteABI(client, {
213
+ sender: account.address(),
214
+ ...extraArgs,
215
+ });
216
+ const txn = await builder.build(
217
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::add_exact_liquidity",
218
+ request.type_arguments,
219
+ coder.encodeArray(request.arguments),
220
+ );
221
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
222
+ return await client.submitSignedBCSTransaction(bcsTxn);
223
+ }
224
+ export async function addLiquidity<T0 = any, T1 = any>(
225
+ client: AptosClient,
226
+ account: AptosAccount,
227
+ request: {
228
+ type_arguments: [string, string];
229
+ arguments: [bigint, bigint, bigint];
230
+ },
231
+ extraArgs?: OptionalTransactionArgs,
232
+ ): Promise<Types.PendingTransaction> {
233
+ const coder = defaultMoveCoder(client.nodeUrl);
234
+ const builder = new TransactionBuilderRemoteABI(client, {
235
+ sender: account.address(),
236
+ ...extraArgs,
237
+ });
238
+ const txn = await builder.build(
239
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::add_liquidity",
240
+ request.type_arguments,
241
+ coder.encodeArray(request.arguments),
242
+ );
243
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
244
+ return await client.submitSignedBCSTransaction(bcsTxn);
245
+ }
246
+ export async function addLiquidityWithAuxAccount<T0 = any, T1 = any>(
247
+ client: AptosClient,
248
+ account: AptosAccount,
249
+ request: {
250
+ type_arguments: [string, string];
251
+ arguments: [bigint, bigint, bigint];
252
+ },
253
+ extraArgs?: OptionalTransactionArgs,
254
+ ): Promise<Types.PendingTransaction> {
255
+ const coder = defaultMoveCoder(client.nodeUrl);
256
+ const builder = new TransactionBuilderRemoteABI(client, {
257
+ sender: account.address(),
258
+ ...extraArgs,
259
+ });
260
+ const txn = await builder.build(
261
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::add_liquidity_with_aux_account",
262
+ request.type_arguments,
263
+ coder.encodeArray(request.arguments),
264
+ );
265
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
266
+ return await client.submitSignedBCSTransaction(bcsTxn);
267
+ }
268
+
269
+ export async function createPool<T0 = any, T1 = any>(
270
+ client: AptosClient,
271
+ account: AptosAccount,
272
+ request: {
273
+ type_arguments: [string, string];
274
+ arguments: [bigint];
275
+ },
276
+ extraArgs?: OptionalTransactionArgs,
277
+ ): Promise<Types.PendingTransaction> {
278
+ const coder = defaultMoveCoder(client.nodeUrl);
279
+ const builder = new TransactionBuilderRemoteABI(client, {
280
+ sender: account.address(),
281
+ ...extraArgs,
282
+ });
283
+ const txn = await builder.build(
284
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::create_pool",
285
+ request.type_arguments,
286
+ coder.encodeArray(request.arguments),
287
+ );
288
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
289
+ return await client.submitSignedBCSTransaction(bcsTxn);
290
+ }
291
+
292
+ export async function removeLiquidity<T0 = any, T1 = any>(
293
+ client: AptosClient,
294
+ account: AptosAccount,
295
+ request: {
296
+ type_arguments: [string, string];
297
+ arguments: [bigint];
298
+ },
299
+ extraArgs?: OptionalTransactionArgs,
300
+ ): Promise<Types.PendingTransaction> {
301
+ const coder = defaultMoveCoder(client.nodeUrl);
302
+ const builder = new TransactionBuilderRemoteABI(client, {
303
+ sender: account.address(),
304
+ ...extraArgs,
305
+ });
306
+ const txn = await builder.build(
307
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::remove_liquidity",
308
+ request.type_arguments,
309
+ coder.encodeArray(request.arguments),
310
+ );
311
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
312
+ return await client.submitSignedBCSTransaction(bcsTxn);
313
+ }
314
+ export async function removeLiquidityWithAuxAccount<T0 = any, T1 = any>(
315
+ client: AptosClient,
316
+ account: AptosAccount,
317
+ request: {
318
+ type_arguments: [string, string];
319
+ arguments: [bigint];
320
+ },
321
+ extraArgs?: OptionalTransactionArgs,
322
+ ): Promise<Types.PendingTransaction> {
323
+ const coder = defaultMoveCoder(client.nodeUrl);
324
+ const builder = new TransactionBuilderRemoteABI(client, {
325
+ sender: account.address(),
326
+ ...extraArgs,
327
+ });
328
+ const txn = await builder.build(
329
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::remove_liquidity_with_aux_account",
330
+ request.type_arguments,
331
+ coder.encodeArray(request.arguments),
332
+ );
333
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
334
+ return await client.submitSignedBCSTransaction(bcsTxn);
335
+ }
336
+
337
+ export async function resetPool<T0 = any, T1 = any>(
338
+ client: AptosClient,
339
+ account: AptosAccount,
340
+ request: {
341
+ type_arguments: [string, string];
342
+ arguments: [];
343
+ },
344
+ extraArgs?: OptionalTransactionArgs,
345
+ ): Promise<Types.PendingTransaction> {
346
+ const coder = defaultMoveCoder(client.nodeUrl);
347
+ const builder = new TransactionBuilderRemoteABI(client, {
348
+ sender: account.address(),
349
+ ...extraArgs,
350
+ });
351
+ const txn = await builder.build(
352
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::reset_pool",
353
+ request.type_arguments,
354
+ coder.encodeArray(request.arguments),
355
+ );
356
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
357
+ return await client.submitSignedBCSTransaction(bcsTxn);
358
+ }
359
+
360
+ export async function swapCoinForExactCoinLimit<T0 = any, T1 = any>(
361
+ client: AptosClient,
362
+ account: AptosAccount,
363
+ request: {
364
+ type_arguments: [string, string];
365
+ arguments: [bigint, bigint, bigint, bigint];
366
+ },
367
+ extraArgs?: OptionalTransactionArgs,
368
+ ): Promise<Types.PendingTransaction> {
369
+ const coder = defaultMoveCoder(client.nodeUrl);
370
+ const builder = new TransactionBuilderRemoteABI(client, {
371
+ sender: account.address(),
372
+ ...extraArgs,
373
+ });
374
+ const txn = await builder.build(
375
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::swap_coin_for_exact_coin_limit",
376
+ request.type_arguments,
377
+ coder.encodeArray(request.arguments),
378
+ );
379
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
380
+ return await client.submitSignedBCSTransaction(bcsTxn);
381
+ }
382
+
383
+ export async function swapCoinForExactCoinWithSigner<T0 = any, T1 = any>(
384
+ client: AptosClient,
385
+ account: AptosAccount,
386
+ request: {
387
+ type_arguments: [string, string];
388
+ arguments: [bigint, bigint];
389
+ },
390
+ extraArgs?: OptionalTransactionArgs,
391
+ ): Promise<Types.PendingTransaction> {
392
+ const coder = defaultMoveCoder(client.nodeUrl);
393
+ const builder = new TransactionBuilderRemoteABI(client, {
394
+ sender: account.address(),
395
+ ...extraArgs,
396
+ });
397
+ const txn = await builder.build(
398
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::swap_coin_for_exact_coin_with_signer",
399
+ request.type_arguments,
400
+ coder.encodeArray(request.arguments),
401
+ );
402
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
403
+ return await client.submitSignedBCSTransaction(bcsTxn);
404
+ }
405
+
406
+ export async function swapExactCoinForCoinLimit<T0 = any, T1 = any>(
407
+ client: AptosClient,
408
+ account: AptosAccount,
409
+ request: {
410
+ type_arguments: [string, string];
411
+ arguments: [bigint, bigint, bigint];
412
+ },
413
+ extraArgs?: OptionalTransactionArgs,
414
+ ): Promise<Types.PendingTransaction> {
415
+ const coder = defaultMoveCoder(client.nodeUrl);
416
+ const builder = new TransactionBuilderRemoteABI(client, {
417
+ sender: account.address(),
418
+ ...extraArgs,
419
+ });
420
+ const txn = await builder.build(
421
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::swap_exact_coin_for_coin_limit",
422
+ request.type_arguments,
423
+ coder.encodeArray(request.arguments),
424
+ );
425
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
426
+ return await client.submitSignedBCSTransaction(bcsTxn);
427
+ }
428
+
429
+ export async function swapExactCoinForCoinWithSigner<T0 = any, T1 = any>(
430
+ client: AptosClient,
431
+ account: AptosAccount,
432
+ request: {
433
+ type_arguments: [string, string];
434
+ arguments: [bigint, bigint];
435
+ },
436
+ extraArgs?: OptionalTransactionArgs,
437
+ ): Promise<Types.PendingTransaction> {
438
+ const coder = defaultMoveCoder(client.nodeUrl);
439
+ const builder = new TransactionBuilderRemoteABI(client, {
440
+ sender: account.address(),
441
+ ...extraArgs,
442
+ });
443
+ const txn = await builder.build(
444
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::swap_exact_coin_for_coin_with_signer",
445
+ request.type_arguments,
446
+ coder.encodeArray(request.arguments),
447
+ );
448
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
449
+ return await client.submitSignedBCSTransaction(bcsTxn);
450
+ }
451
+ export async function updateFee<T0 = any, T1 = any>(
452
+ client: AptosClient,
453
+ account: AptosAccount,
454
+ request: {
455
+ type_arguments: [string, string];
456
+ arguments: [bigint];
457
+ },
458
+ extraArgs?: OptionalTransactionArgs,
459
+ ): Promise<Types.PendingTransaction> {
460
+ const coder = defaultMoveCoder(client.nodeUrl);
461
+ const builder = new TransactionBuilderRemoteABI(client, {
462
+ sender: account.address(),
463
+ ...extraArgs,
464
+ });
465
+ const txn = await builder.build(
466
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::update_fee",
467
+ request.type_arguments,
468
+ coder.encodeArray(request.arguments),
469
+ );
470
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
471
+ return await client.submitSignedBCSTransaction(bcsTxn);
472
+ }
473
+ }
474
+ export namespace view {}
475
+ }
476
+
477
+ export namespace fee {
478
+ export interface Fee {
479
+ maker_rebate_bps: number;
480
+ taker_fee_bps: number;
481
+ }
482
+
483
+ export namespace Fee {
484
+ export const TYPE_QNAME =
485
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fee::Fee";
486
+
487
+ const TYPE = new TypeDescriptor<Fee>(Fee.TYPE_QNAME);
488
+
489
+ export function type(): TypeDescriptor<Fee> {
490
+ return TYPE.apply();
491
+ }
492
+ }
493
+
494
+ export namespace entry {}
495
+ export namespace view {}
496
+ }
497
+
498
+ export namespace util {
499
+ export interface Type {
500
+ name: string;
501
+ }
502
+
503
+ export namespace Type {
504
+ export const TYPE_QNAME =
505
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type";
506
+
507
+ const TYPE = new TypeDescriptor<Type>(Type.TYPE_QNAME);
508
+
509
+ export function type(): TypeDescriptor<Type> {
510
+ return TYPE.apply();
511
+ }
512
+ }
513
+
514
+ export interface TypeInstance extends TypedEventInstance<Type> {
515
+ data_decoded: Type;
516
+ type_arguments: [];
517
+ }
518
+
519
+ export namespace entry {}
520
+ export namespace view {}
521
+ }
522
+
523
+ export namespace vault {
524
+ export interface AuxUserAccount {
525
+ authorized_traders: _0x1.table.Table<Address, vault.Nothing>;
526
+ }
527
+
528
+ export namespace AuxUserAccount {
529
+ export const TYPE_QNAME =
530
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::AuxUserAccount";
531
+
532
+ const TYPE = new TypeDescriptor<AuxUserAccount>(AuxUserAccount.TYPE_QNAME);
533
+
534
+ export function type(): TypeDescriptor<AuxUserAccount> {
535
+ return TYPE.apply();
536
+ }
537
+ }
538
+
539
+ export interface CoinBalance<T0> {
540
+ balance: bigint;
541
+ available_balance: bigint;
542
+ }
543
+
544
+ export namespace CoinBalance {
545
+ export const TYPE_QNAME =
546
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::CoinBalance";
547
+
548
+ const TYPE = new TypeDescriptor<CoinBalance<any>>(CoinBalance.TYPE_QNAME);
549
+
550
+ export function type<T0>(
551
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
552
+ ): TypeDescriptor<CoinBalance<T0>> {
553
+ return TYPE.apply(arg0);
554
+ }
555
+ }
556
+
557
+ export interface CoinInfo {
558
+ coin_type: util.Type;
559
+ decimals: number;
560
+ mark_price: bigint;
561
+ }
562
+
563
+ export namespace CoinInfo {
564
+ export const TYPE_QNAME =
565
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::CoinInfo";
566
+
567
+ const TYPE = new TypeDescriptor<CoinInfo>(CoinInfo.TYPE_QNAME);
568
+
569
+ export function type(): TypeDescriptor<CoinInfo> {
570
+ return TYPE.apply();
571
+ }
572
+ }
573
+
574
+ export interface DepositEvent {
575
+ coinType: string;
576
+ depositor: Address;
577
+ to: Address;
578
+ amount_au: bigint;
579
+ }
580
+
581
+ export namespace DepositEvent {
582
+ export const TYPE_QNAME =
583
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::DepositEvent";
584
+
585
+ const TYPE = new TypeDescriptor<DepositEvent>(DepositEvent.TYPE_QNAME);
586
+
587
+ export function type(): TypeDescriptor<DepositEvent> {
588
+ return TYPE.apply();
589
+ }
590
+ }
591
+
592
+ export interface DepositEventInstance
593
+ extends TypedEventInstance<DepositEvent> {
594
+ data_decoded: DepositEvent;
595
+ type_arguments: [];
596
+ }
597
+
598
+ export interface Nothing {
599
+ dummy_field: Boolean;
600
+ }
601
+
602
+ export namespace Nothing {
603
+ export const TYPE_QNAME =
604
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::Nothing";
605
+
606
+ const TYPE = new TypeDescriptor<Nothing>(Nothing.TYPE_QNAME);
607
+
608
+ export function type(): TypeDescriptor<Nothing> {
609
+ return TYPE.apply();
610
+ }
611
+ }
612
+
613
+ export interface NothingInstance extends TypedEventInstance<Nothing> {
614
+ data_decoded: Nothing;
615
+ type_arguments: [];
616
+ }
617
+
618
+ export interface TransferEvent {
619
+ coinType: string;
620
+ from: Address;
621
+ to: Address;
622
+ amount_au: bigint;
623
+ }
624
+
625
+ export namespace TransferEvent {
626
+ export const TYPE_QNAME =
627
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::TransferEvent";
628
+
629
+ const TYPE = new TypeDescriptor<TransferEvent>(TransferEvent.TYPE_QNAME);
630
+
631
+ export function type(): TypeDescriptor<TransferEvent> {
632
+ return TYPE.apply();
633
+ }
634
+ }
635
+
636
+ export interface TransferEventInstance
637
+ extends TypedEventInstance<TransferEvent> {
638
+ data_decoded: TransferEvent;
639
+ type_arguments: [];
640
+ }
641
+
642
+ export interface Vault {
643
+ transfer_events: _0x1.event.EventHandle<vault.TransferEvent>;
644
+ deposit_events: _0x1.event.EventHandle<vault.DepositEvent>;
645
+ withdraw_events: _0x1.event.EventHandle<vault.WithdrawEvent>;
646
+ }
647
+
648
+ export namespace Vault {
649
+ export const TYPE_QNAME =
650
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::Vault";
651
+
652
+ const TYPE = new TypeDescriptor<Vault>(Vault.TYPE_QNAME);
653
+
654
+ export function type(): TypeDescriptor<Vault> {
655
+ return TYPE.apply();
656
+ }
657
+ }
658
+
659
+ export interface WithdrawEvent {
660
+ coinType: string;
661
+ owner: Address;
662
+ amount_au: bigint;
663
+ }
664
+
665
+ export namespace WithdrawEvent {
666
+ export const TYPE_QNAME =
667
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::WithdrawEvent";
668
+
669
+ const TYPE = new TypeDescriptor<WithdrawEvent>(WithdrawEvent.TYPE_QNAME);
670
+
671
+ export function type(): TypeDescriptor<WithdrawEvent> {
672
+ return TYPE.apply();
673
+ }
674
+ }
675
+
676
+ export interface WithdrawEventInstance
677
+ extends TypedEventInstance<WithdrawEvent> {
678
+ data_decoded: WithdrawEvent;
679
+ type_arguments: [];
680
+ }
681
+
682
+ export namespace entry {
683
+ export async function addAuthorizedTrader(
684
+ client: AptosClient,
685
+ account: AptosAccount,
686
+ request: {
687
+ type_arguments: [];
688
+ arguments: [Address];
689
+ },
690
+ extraArgs?: OptionalTransactionArgs,
691
+ ): Promise<Types.PendingTransaction> {
692
+ const coder = defaultMoveCoder(client.nodeUrl);
693
+ const builder = new TransactionBuilderRemoteABI(client, {
694
+ sender: account.address(),
695
+ ...extraArgs,
696
+ });
697
+ const txn = await builder.build(
698
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::add_authorized_trader",
699
+ request.type_arguments,
700
+ coder.encodeArray(request.arguments),
701
+ );
702
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
703
+ return await client.submitSignedBCSTransaction(bcsTxn);
704
+ }
705
+
706
+ export async function createAuxAccount(
707
+ client: AptosClient,
708
+ account: AptosAccount,
709
+ request: {
710
+ type_arguments: [];
711
+ arguments: [];
712
+ },
713
+ extraArgs?: OptionalTransactionArgs,
714
+ ): Promise<Types.PendingTransaction> {
715
+ const coder = defaultMoveCoder(client.nodeUrl);
716
+ const builder = new TransactionBuilderRemoteABI(client, {
717
+ sender: account.address(),
718
+ ...extraArgs,
719
+ });
720
+ const txn = await builder.build(
721
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::create_aux_account",
722
+ request.type_arguments,
723
+ coder.encodeArray(request.arguments),
724
+ );
725
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
726
+ return await client.submitSignedBCSTransaction(bcsTxn);
727
+ }
728
+ export async function createVault(
729
+ client: AptosClient,
730
+ account: AptosAccount,
731
+ request: {
732
+ type_arguments: [];
733
+ arguments: [];
734
+ },
735
+ extraArgs?: OptionalTransactionArgs,
736
+ ): Promise<Types.PendingTransaction> {
737
+ const coder = defaultMoveCoder(client.nodeUrl);
738
+ const builder = new TransactionBuilderRemoteABI(client, {
739
+ sender: account.address(),
740
+ ...extraArgs,
741
+ });
742
+ const txn = await builder.build(
743
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::create_vault",
744
+ request.type_arguments,
745
+ coder.encodeArray(request.arguments),
746
+ );
747
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
748
+ return await client.submitSignedBCSTransaction(bcsTxn);
749
+ }
750
+
751
+ export async function deposit<T0 = any>(
752
+ client: AptosClient,
753
+ account: AptosAccount,
754
+ request: {
755
+ type_arguments: [string];
756
+ arguments: [Address, bigint];
757
+ },
758
+ extraArgs?: OptionalTransactionArgs,
759
+ ): Promise<Types.PendingTransaction> {
760
+ const coder = defaultMoveCoder(client.nodeUrl);
761
+ const builder = new TransactionBuilderRemoteABI(client, {
762
+ sender: account.address(),
763
+ ...extraArgs,
764
+ });
765
+ const txn = await builder.build(
766
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::deposit",
767
+ request.type_arguments,
768
+ coder.encodeArray(request.arguments),
769
+ );
770
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
771
+ return await client.submitSignedBCSTransaction(bcsTxn);
772
+ }
773
+
774
+ export async function removeAuthorizedTrader(
775
+ client: AptosClient,
776
+ account: AptosAccount,
777
+ request: {
778
+ type_arguments: [];
779
+ arguments: [Address];
780
+ },
781
+ extraArgs?: OptionalTransactionArgs,
782
+ ): Promise<Types.PendingTransaction> {
783
+ const coder = defaultMoveCoder(client.nodeUrl);
784
+ const builder = new TransactionBuilderRemoteABI(client, {
785
+ sender: account.address(),
786
+ ...extraArgs,
787
+ });
788
+ const txn = await builder.build(
789
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::remove_authorized_trader",
790
+ request.type_arguments,
791
+ coder.encodeArray(request.arguments),
792
+ );
793
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
794
+ return await client.submitSignedBCSTransaction(bcsTxn);
795
+ }
796
+ export async function transfer<T0 = any>(
797
+ client: AptosClient,
798
+ account: AptosAccount,
799
+ request: {
800
+ type_arguments: [string];
801
+ arguments: [Address, bigint];
802
+ },
803
+ extraArgs?: OptionalTransactionArgs,
804
+ ): Promise<Types.PendingTransaction> {
805
+ const coder = defaultMoveCoder(client.nodeUrl);
806
+ const builder = new TransactionBuilderRemoteABI(client, {
807
+ sender: account.address(),
808
+ ...extraArgs,
809
+ });
810
+ const txn = await builder.build(
811
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::transfer",
812
+ request.type_arguments,
813
+ coder.encodeArray(request.arguments),
814
+ );
815
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
816
+ return await client.submitSignedBCSTransaction(bcsTxn);
817
+ }
818
+ export async function withdraw<T0 = any>(
819
+ client: AptosClient,
820
+ account: AptosAccount,
821
+ request: {
822
+ type_arguments: [string];
823
+ arguments: [bigint];
824
+ },
825
+ extraArgs?: OptionalTransactionArgs,
826
+ ): Promise<Types.PendingTransaction> {
827
+ const coder = defaultMoveCoder(client.nodeUrl);
828
+ const builder = new TransactionBuilderRemoteABI(client, {
829
+ sender: account.address(),
830
+ ...extraArgs,
831
+ });
832
+ const txn = await builder.build(
833
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::withdraw",
834
+ request.type_arguments,
835
+ coder.encodeArray(request.arguments),
836
+ );
837
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
838
+ return await client.submitSignedBCSTransaction(bcsTxn);
839
+ }
840
+ }
841
+ export namespace view {}
842
+ }
843
+
844
+ export namespace router {
845
+ export namespace entry {
846
+ export async function swapCoinForExactCoinWithSigner<T0 = any, T1 = any>(
847
+ client: AptosClient,
848
+ account: AptosAccount,
849
+ request: {
850
+ type_arguments: [string, string];
851
+ arguments: [bigint, bigint];
852
+ },
853
+ extraArgs?: OptionalTransactionArgs,
854
+ ): Promise<Types.PendingTransaction> {
855
+ const coder = defaultMoveCoder(client.nodeUrl);
856
+ const builder = new TransactionBuilderRemoteABI(client, {
857
+ sender: account.address(),
858
+ ...extraArgs,
859
+ });
860
+ const txn = await builder.build(
861
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::router::swap_coin_for_exact_coin_with_signer",
862
+ request.type_arguments,
863
+ coder.encodeArray(request.arguments),
864
+ );
865
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
866
+ return await client.submitSignedBCSTransaction(bcsTxn);
867
+ }
868
+
869
+ export async function swapExactCoinForCoinWithSigner<T0 = any, T1 = any>(
870
+ client: AptosClient,
871
+ account: AptosAccount,
872
+ request: {
873
+ type_arguments: [string, string];
874
+ arguments: [bigint, bigint];
875
+ },
876
+ extraArgs?: OptionalTransactionArgs,
877
+ ): Promise<Types.PendingTransaction> {
878
+ const coder = defaultMoveCoder(client.nodeUrl);
879
+ const builder = new TransactionBuilderRemoteABI(client, {
880
+ sender: account.address(),
881
+ ...extraArgs,
882
+ });
883
+ const txn = await builder.build(
884
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::router::swap_exact_coin_for_coin_with_signer",
885
+ request.type_arguments,
886
+ coder.encodeArray(request.arguments),
887
+ );
888
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
889
+ return await client.submitSignedBCSTransaction(bcsTxn);
890
+ }
891
+ }
892
+ export namespace view {}
893
+ }
894
+
895
+ export namespace critbit {
896
+ export interface CritbitTree<T0> {
897
+ root: bigint;
898
+ tree: _0x1.table_with_length.TableWithLength<bigint, critbit.TreeNode>;
899
+ min_index: bigint;
900
+ max_index: bigint;
901
+ entries: _0x1.table_with_length.TableWithLength<
902
+ bigint,
903
+ critbit.DataNode<T0>
904
+ >;
905
+ }
906
+
907
+ export namespace CritbitTree {
908
+ export const TYPE_QNAME =
909
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree";
910
+
911
+ const TYPE = new TypeDescriptor<CritbitTree<any>>(CritbitTree.TYPE_QNAME);
912
+
913
+ export function type<T0>(
914
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
915
+ ): TypeDescriptor<CritbitTree<T0>> {
916
+ return TYPE.apply(arg0);
917
+ }
918
+ }
919
+
920
+ export interface DataNode<T0> {
921
+ key: bigint;
922
+ parent: bigint;
923
+ value: T0;
924
+ }
925
+
926
+ export namespace DataNode {
927
+ export const TYPE_QNAME =
928
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::DataNode";
929
+
930
+ const TYPE = new TypeDescriptor<DataNode<any>>(DataNode.TYPE_QNAME);
931
+
932
+ export function type<T0>(
933
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
934
+ ): TypeDescriptor<DataNode<T0>> {
935
+ return TYPE.apply(arg0);
936
+ }
937
+ }
938
+
939
+ export interface DataNodeInstance extends TypedEventInstance<DataNode<any>> {
940
+ data_decoded: DataNode<any>;
941
+ type_arguments: [string];
942
+ }
943
+
944
+ export interface TreeNode {
945
+ mask: bigint;
946
+ parent: bigint;
947
+ left_child: bigint;
948
+ right_child: bigint;
949
+ }
950
+
951
+ export namespace TreeNode {
952
+ export const TYPE_QNAME =
953
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::TreeNode";
954
+
955
+ const TYPE = new TypeDescriptor<TreeNode>(TreeNode.TYPE_QNAME);
956
+
957
+ export function type(): TypeDescriptor<TreeNode> {
958
+ return TYPE.apply();
959
+ }
960
+ }
961
+
962
+ export interface TreeNodeInstance extends TypedEventInstance<TreeNode> {
963
+ data_decoded: TreeNode;
964
+ type_arguments: [];
965
+ }
966
+
967
+ export namespace entry {}
968
+ export namespace view {}
969
+ }
970
+
971
+ export namespace uint256 {
972
+ export interface Uint256 {
973
+ hi: bigint;
974
+ lo: bigint;
975
+ }
976
+
977
+ export namespace Uint256 {
978
+ export const TYPE_QNAME =
979
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256";
980
+
981
+ const TYPE = new TypeDescriptor<Uint256>(Uint256.TYPE_QNAME);
982
+
983
+ export function type(): TypeDescriptor<Uint256> {
984
+ return TYPE.apply();
985
+ }
986
+ }
987
+
988
+ export interface Uint256Instance extends TypedEventInstance<Uint256> {
989
+ data_decoded: Uint256;
990
+ type_arguments: [];
991
+ }
992
+
993
+ export namespace entry {}
994
+ export namespace view {}
995
+ }
996
+
997
+ export namespace aux_coin {
998
+ export interface AuxCoin {
999
+ dummy_field: Boolean;
1000
+ }
1001
+
1002
+ export namespace AuxCoin {
1003
+ export const TYPE_QNAME =
1004
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::aux_coin::AuxCoin";
1005
+
1006
+ const TYPE = new TypeDescriptor<AuxCoin>(AuxCoin.TYPE_QNAME);
1007
+
1008
+ export function type(): TypeDescriptor<AuxCoin> {
1009
+ return TYPE.apply();
1010
+ }
1011
+ }
1012
+
1013
+ export namespace entry {
1014
+ export async function initializeAuxCoin(
1015
+ client: AptosClient,
1016
+ account: AptosAccount,
1017
+ request: {
1018
+ type_arguments: [];
1019
+ arguments: [];
1020
+ },
1021
+ extraArgs?: OptionalTransactionArgs,
1022
+ ): Promise<Types.PendingTransaction> {
1023
+ const coder = defaultMoveCoder(client.nodeUrl);
1024
+ const builder = new TransactionBuilderRemoteABI(client, {
1025
+ sender: account.address(),
1026
+ ...extraArgs,
1027
+ });
1028
+ const txn = await builder.build(
1029
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::aux_coin::initialize_aux_coin",
1030
+ request.type_arguments,
1031
+ coder.encodeArray(request.arguments),
1032
+ );
1033
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1034
+ return await client.submitSignedBCSTransaction(bcsTxn);
1035
+ }
1036
+ export async function mint(
1037
+ client: AptosClient,
1038
+ account: AptosAccount,
1039
+ request: {
1040
+ type_arguments: [];
1041
+ arguments: [Address, bigint];
1042
+ },
1043
+ extraArgs?: OptionalTransactionArgs,
1044
+ ): Promise<Types.PendingTransaction> {
1045
+ const coder = defaultMoveCoder(client.nodeUrl);
1046
+ const builder = new TransactionBuilderRemoteABI(client, {
1047
+ sender: account.address(),
1048
+ ...extraArgs,
1049
+ });
1050
+ const txn = await builder.build(
1051
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::aux_coin::mint",
1052
+ request.type_arguments,
1053
+ coder.encodeArray(request.arguments),
1054
+ );
1055
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1056
+ return await client.submitSignedBCSTransaction(bcsTxn);
1057
+ }
1058
+ export async function registerAccount(
1059
+ client: AptosClient,
1060
+ account: AptosAccount,
1061
+ request: {
1062
+ type_arguments: [];
1063
+ arguments: [];
1064
+ },
1065
+ extraArgs?: OptionalTransactionArgs,
1066
+ ): Promise<Types.PendingTransaction> {
1067
+ const coder = defaultMoveCoder(client.nodeUrl);
1068
+ const builder = new TransactionBuilderRemoteABI(client, {
1069
+ sender: account.address(),
1070
+ ...extraArgs,
1071
+ });
1072
+ const txn = await builder.build(
1073
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::aux_coin::register_account",
1074
+ request.type_arguments,
1075
+ coder.encodeArray(request.arguments),
1076
+ );
1077
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1078
+ return await client.submitSignedBCSTransaction(bcsTxn);
1079
+ }
1080
+ }
1081
+ export namespace view {}
1082
+ }
1083
+
1084
+ export namespace authority {
1085
+ export interface Authority {
1086
+ signer_capability: _0x1.account.SignerCapability;
1087
+ owner_address: Address;
1088
+ }
1089
+
1090
+ export namespace Authority {
1091
+ export const TYPE_QNAME =
1092
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::authority::Authority";
1093
+
1094
+ const TYPE = new TypeDescriptor<Authority>(Authority.TYPE_QNAME);
1095
+
1096
+ export function type(): TypeDescriptor<Authority> {
1097
+ return TYPE.apply();
1098
+ }
1099
+ }
1100
+
1101
+ export namespace entry {}
1102
+ export namespace view {}
1103
+ }
1104
+
1105
+ export namespace critbit_v {
1106
+ export interface CritbitTree<T0> {
1107
+ root: bigint;
1108
+ tree: critbit_v.TreeNode[];
1109
+ min_index: bigint;
1110
+ max_index: bigint;
1111
+ entries: critbit_v.DataNode<T0>[];
1112
+ }
1113
+
1114
+ export namespace CritbitTree {
1115
+ export const TYPE_QNAME =
1116
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree";
1117
+
1118
+ const TYPE = new TypeDescriptor<CritbitTree<any>>(CritbitTree.TYPE_QNAME);
1119
+
1120
+ export function type<T0>(
1121
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1122
+ ): TypeDescriptor<CritbitTree<T0>> {
1123
+ return TYPE.apply(arg0);
1124
+ }
1125
+ }
1126
+
1127
+ export interface CritbitTreeInstance
1128
+ extends TypedEventInstance<CritbitTree<any>> {
1129
+ data_decoded: CritbitTree<any>;
1130
+ type_arguments: [string];
1131
+ }
1132
+
1133
+ export interface DataNode<T0> {
1134
+ key: bigint;
1135
+ parent: bigint;
1136
+ value: T0;
1137
+ }
1138
+
1139
+ export namespace DataNode {
1140
+ export const TYPE_QNAME =
1141
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::DataNode";
1142
+
1143
+ const TYPE = new TypeDescriptor<DataNode<any>>(DataNode.TYPE_QNAME);
1144
+
1145
+ export function type<T0>(
1146
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1147
+ ): TypeDescriptor<DataNode<T0>> {
1148
+ return TYPE.apply(arg0);
1149
+ }
1150
+ }
1151
+
1152
+ export interface DataNodeInstance extends TypedEventInstance<DataNode<any>> {
1153
+ data_decoded: DataNode<any>;
1154
+ type_arguments: [string];
1155
+ }
1156
+
1157
+ export interface TreeNode {
1158
+ mask: bigint;
1159
+ parent: bigint;
1160
+ left_child: bigint;
1161
+ right_child: bigint;
1162
+ }
1163
+
1164
+ export namespace TreeNode {
1165
+ export const TYPE_QNAME =
1166
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::TreeNode";
1167
+
1168
+ const TYPE = new TypeDescriptor<TreeNode>(TreeNode.TYPE_QNAME);
1169
+
1170
+ export function type(): TypeDescriptor<TreeNode> {
1171
+ return TYPE.apply();
1172
+ }
1173
+ }
1174
+
1175
+ export interface TreeNodeInstance extends TypedEventInstance<TreeNode> {
1176
+ data_decoded: TreeNode;
1177
+ type_arguments: [];
1178
+ }
1179
+
1180
+ export namespace entry {}
1181
+ export namespace view {}
1182
+ }
1183
+
1184
+ export namespace fake_coin {
1185
+ export interface AUX {
1186
+ dummy_field: Boolean;
1187
+ }
1188
+
1189
+ export namespace AUX {
1190
+ export const TYPE_QNAME =
1191
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::AUX";
1192
+
1193
+ const TYPE = new TypeDescriptor<AUX>(AUX.TYPE_QNAME);
1194
+
1195
+ export function type(): TypeDescriptor<AUX> {
1196
+ return TYPE.apply();
1197
+ }
1198
+ }
1199
+
1200
+ export interface BTC {
1201
+ dummy_field: Boolean;
1202
+ }
1203
+
1204
+ export namespace BTC {
1205
+ export const TYPE_QNAME =
1206
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::BTC";
1207
+
1208
+ const TYPE = new TypeDescriptor<BTC>(BTC.TYPE_QNAME);
1209
+
1210
+ export function type(): TypeDescriptor<BTC> {
1211
+ return TYPE.apply();
1212
+ }
1213
+ }
1214
+
1215
+ export interface ETH {
1216
+ dummy_field: Boolean;
1217
+ }
1218
+
1219
+ export namespace ETH {
1220
+ export const TYPE_QNAME =
1221
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::ETH";
1222
+
1223
+ const TYPE = new TypeDescriptor<ETH>(ETH.TYPE_QNAME);
1224
+
1225
+ export function type(): TypeDescriptor<ETH> {
1226
+ return TYPE.apply();
1227
+ }
1228
+ }
1229
+
1230
+ export interface FakeCoin<T0> {
1231
+ dummy_field: Boolean;
1232
+ }
1233
+
1234
+ export namespace FakeCoin {
1235
+ export const TYPE_QNAME =
1236
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::FakeCoin";
1237
+
1238
+ const TYPE = new TypeDescriptor<FakeCoin<any>>(FakeCoin.TYPE_QNAME);
1239
+
1240
+ export function type<T0>(
1241
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1242
+ ): TypeDescriptor<FakeCoin<T0>> {
1243
+ return TYPE.apply(arg0);
1244
+ }
1245
+ }
1246
+
1247
+ export interface SOL {
1248
+ dummy_field: Boolean;
1249
+ }
1250
+
1251
+ export namespace SOL {
1252
+ export const TYPE_QNAME =
1253
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::SOL";
1254
+
1255
+ const TYPE = new TypeDescriptor<SOL>(SOL.TYPE_QNAME);
1256
+
1257
+ export function type(): TypeDescriptor<SOL> {
1258
+ return TYPE.apply();
1259
+ }
1260
+ }
1261
+
1262
+ export interface USDC {
1263
+ dummy_field: Boolean;
1264
+ }
1265
+
1266
+ export namespace USDC {
1267
+ export const TYPE_QNAME =
1268
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::USDC";
1269
+
1270
+ const TYPE = new TypeDescriptor<USDC>(USDC.TYPE_QNAME);
1271
+
1272
+ export function type(): TypeDescriptor<USDC> {
1273
+ return TYPE.apply();
1274
+ }
1275
+ }
1276
+
1277
+ export interface USDT {
1278
+ dummy_field: Boolean;
1279
+ }
1280
+
1281
+ export namespace USDT {
1282
+ export const TYPE_QNAME =
1283
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::USDT";
1284
+
1285
+ const TYPE = new TypeDescriptor<USDT>(USDT.TYPE_QNAME);
1286
+
1287
+ export function type(): TypeDescriptor<USDT> {
1288
+ return TYPE.apply();
1289
+ }
1290
+ }
1291
+
1292
+ export namespace entry {
1293
+ export async function burn<T0 = any>(
1294
+ client: AptosClient,
1295
+ account: AptosAccount,
1296
+ request: {
1297
+ type_arguments: [string];
1298
+ arguments: [bigint];
1299
+ },
1300
+ extraArgs?: OptionalTransactionArgs,
1301
+ ): Promise<Types.PendingTransaction> {
1302
+ const coder = defaultMoveCoder(client.nodeUrl);
1303
+ const builder = new TransactionBuilderRemoteABI(client, {
1304
+ sender: account.address(),
1305
+ ...extraArgs,
1306
+ });
1307
+ const txn = await builder.build(
1308
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::burn",
1309
+ request.type_arguments,
1310
+ coder.encodeArray(request.arguments),
1311
+ );
1312
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1313
+ return await client.submitSignedBCSTransaction(bcsTxn);
1314
+ }
1315
+ export async function mint<T0 = any>(
1316
+ client: AptosClient,
1317
+ account: AptosAccount,
1318
+ request: {
1319
+ type_arguments: [string];
1320
+ arguments: [bigint];
1321
+ },
1322
+ extraArgs?: OptionalTransactionArgs,
1323
+ ): Promise<Types.PendingTransaction> {
1324
+ const coder = defaultMoveCoder(client.nodeUrl);
1325
+ const builder = new TransactionBuilderRemoteABI(client, {
1326
+ sender: account.address(),
1327
+ ...extraArgs,
1328
+ });
1329
+ const txn = await builder.build(
1330
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::mint",
1331
+ request.type_arguments,
1332
+ coder.encodeArray(request.arguments),
1333
+ );
1334
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1335
+ return await client.submitSignedBCSTransaction(bcsTxn);
1336
+ }
1337
+ export async function register<T0 = any>(
1338
+ client: AptosClient,
1339
+ account: AptosAccount,
1340
+ request: {
1341
+ type_arguments: [string];
1342
+ arguments: [];
1343
+ },
1344
+ extraArgs?: OptionalTransactionArgs,
1345
+ ): Promise<Types.PendingTransaction> {
1346
+ const coder = defaultMoveCoder(client.nodeUrl);
1347
+ const builder = new TransactionBuilderRemoteABI(client, {
1348
+ sender: account.address(),
1349
+ ...extraArgs,
1350
+ });
1351
+ const txn = await builder.build(
1352
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::register",
1353
+ request.type_arguments,
1354
+ coder.encodeArray(request.arguments),
1355
+ );
1356
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1357
+ return await client.submitSignedBCSTransaction(bcsTxn);
1358
+ }
1359
+ export async function registerAndMint<T0 = any>(
1360
+ client: AptosClient,
1361
+ account: AptosAccount,
1362
+ request: {
1363
+ type_arguments: [string];
1364
+ arguments: [bigint];
1365
+ },
1366
+ extraArgs?: OptionalTransactionArgs,
1367
+ ): Promise<Types.PendingTransaction> {
1368
+ const coder = defaultMoveCoder(client.nodeUrl);
1369
+ const builder = new TransactionBuilderRemoteABI(client, {
1370
+ sender: account.address(),
1371
+ ...extraArgs,
1372
+ });
1373
+ const txn = await builder.build(
1374
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin::register_and_mint",
1375
+ request.type_arguments,
1376
+ coder.encodeArray(request.arguments),
1377
+ );
1378
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1379
+ return await client.submitSignedBCSTransaction(bcsTxn);
1380
+ }
1381
+ }
1382
+ export namespace view {}
1383
+ }
1384
+
1385
+ export namespace clob_market {
1386
+ export interface AllOrdersEvent {
1387
+ bids: clob_market.OpenOrderEventInfo[][];
1388
+ asks: clob_market.OpenOrderEventInfo[][];
1389
+ }
1390
+
1391
+ export namespace AllOrdersEvent {
1392
+ export const TYPE_QNAME =
1393
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::AllOrdersEvent";
1394
+
1395
+ const TYPE = new TypeDescriptor<AllOrdersEvent>(AllOrdersEvent.TYPE_QNAME);
1396
+
1397
+ export function type(): TypeDescriptor<AllOrdersEvent> {
1398
+ return TYPE.apply();
1399
+ }
1400
+ }
1401
+
1402
+ export interface AllOrdersEventInstance
1403
+ extends TypedEventInstance<AllOrdersEvent> {
1404
+ data_decoded: AllOrdersEvent;
1405
+ type_arguments: [];
1406
+ }
1407
+
1408
+ export interface AllOrdersStore<T0, T1> {
1409
+ all_ordes_events: _0x1.event.EventHandle<clob_market.AllOrdersEvent>;
1410
+ }
1411
+
1412
+ export namespace AllOrdersStore {
1413
+ export const TYPE_QNAME =
1414
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::AllOrdersStore";
1415
+
1416
+ const TYPE = new TypeDescriptor<AllOrdersStore<any, any>>(
1417
+ AllOrdersStore.TYPE_QNAME,
1418
+ );
1419
+
1420
+ export function type<T0, T1>(
1421
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1422
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
1423
+ ): TypeDescriptor<AllOrdersStore<T0, T1>> {
1424
+ return TYPE.apply(arg0, arg1);
1425
+ }
1426
+ }
1427
+
1428
+ export interface L2Event {
1429
+ bids: clob_market.L2Quote[];
1430
+ asks: clob_market.L2Quote[];
1431
+ }
1432
+
1433
+ export namespace L2Event {
1434
+ export const TYPE_QNAME =
1435
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Event";
1436
+
1437
+ const TYPE = new TypeDescriptor<L2Event>(L2Event.TYPE_QNAME);
1438
+
1439
+ export function type(): TypeDescriptor<L2Event> {
1440
+ return TYPE.apply();
1441
+ }
1442
+ }
1443
+
1444
+ export interface L2EventInstance extends TypedEventInstance<L2Event> {
1445
+ data_decoded: L2Event;
1446
+ type_arguments: [];
1447
+ }
1448
+
1449
+ export interface L2Quote {
1450
+ price: bigint;
1451
+ quantity: bigint;
1452
+ }
1453
+
1454
+ export namespace L2Quote {
1455
+ export const TYPE_QNAME =
1456
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Quote";
1457
+
1458
+ const TYPE = new TypeDescriptor<L2Quote>(L2Quote.TYPE_QNAME);
1459
+
1460
+ export function type(): TypeDescriptor<L2Quote> {
1461
+ return TYPE.apply();
1462
+ }
1463
+ }
1464
+
1465
+ export interface L2QuoteInstance extends TypedEventInstance<L2Quote> {
1466
+ data_decoded: L2Quote;
1467
+ type_arguments: [];
1468
+ }
1469
+
1470
+ export interface Level {
1471
+ price: bigint;
1472
+ total_quantity: bigint;
1473
+ orders: critbit_v.CritbitTree<clob_market.Order>;
1474
+ }
1475
+
1476
+ export namespace Level {
1477
+ export const TYPE_QNAME =
1478
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Level";
1479
+
1480
+ const TYPE = new TypeDescriptor<Level>(Level.TYPE_QNAME);
1481
+
1482
+ export function type(): TypeDescriptor<Level> {
1483
+ return TYPE.apply();
1484
+ }
1485
+ }
1486
+
1487
+ export interface Market<T0, T1> {
1488
+ bids: critbit.CritbitTree<clob_market.Level>;
1489
+ asks: critbit.CritbitTree<clob_market.Level>;
1490
+ next_order_id: bigint;
1491
+ base_decimals: number;
1492
+ quote_decimals: number;
1493
+ lot_size: bigint;
1494
+ tick_size: bigint;
1495
+ fill_events: _0x1.event.EventHandle<clob_market.OrderFillEvent>;
1496
+ cancel_events: _0x1.event.EventHandle<clob_market.OrderCancelEvent>;
1497
+ placed_events: _0x1.event.EventHandle<clob_market.OrderPlacedEvent>;
1498
+ }
1499
+
1500
+ export namespace Market {
1501
+ export const TYPE_QNAME =
1502
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Market";
1503
+
1504
+ const TYPE = new TypeDescriptor<Market<any, any>>(Market.TYPE_QNAME);
1505
+
1506
+ export function type<T0, T1>(
1507
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1508
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
1509
+ ): TypeDescriptor<Market<T0, T1>> {
1510
+ return TYPE.apply(arg0, arg1);
1511
+ }
1512
+ }
1513
+
1514
+ export interface MarketDataStore<T0, T1> {
1515
+ l2_events: _0x1.event.EventHandle<clob_market.L2Event>;
1516
+ open_orders_events: _0x1.event.EventHandle<clob_market.OpenOrdersEvent>;
1517
+ }
1518
+
1519
+ export namespace MarketDataStore {
1520
+ export const TYPE_QNAME =
1521
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::MarketDataStore";
1522
+
1523
+ const TYPE = new TypeDescriptor<MarketDataStore<any, any>>(
1524
+ MarketDataStore.TYPE_QNAME,
1525
+ );
1526
+
1527
+ export function type<T0, T1>(
1528
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1529
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
1530
+ ): TypeDescriptor<MarketDataStore<T0, T1>> {
1531
+ return TYPE.apply(arg0, arg1);
1532
+ }
1533
+ }
1534
+
1535
+ export interface OpenOrderAccount<T0, T1> {
1536
+ open_orders: critbit.CritbitTree<clob_market.OpenOrderInfo>;
1537
+ }
1538
+
1539
+ export namespace OpenOrderAccount {
1540
+ export const TYPE_QNAME =
1541
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderAccount";
1542
+
1543
+ const TYPE = new TypeDescriptor<OpenOrderAccount<any, any>>(
1544
+ OpenOrderAccount.TYPE_QNAME,
1545
+ );
1546
+
1547
+ export function type<T0, T1>(
1548
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
1549
+ arg1: TypeDescriptor<T1> = ANY_TYPE,
1550
+ ): TypeDescriptor<OpenOrderAccount<T0, T1>> {
1551
+ return TYPE.apply(arg0, arg1);
1552
+ }
1553
+ }
1554
+
1555
+ export interface OpenOrderEventInfo {
1556
+ id: bigint;
1557
+ client_order_id: bigint;
1558
+ price: bigint;
1559
+ quantity: bigint;
1560
+ aux_au_to_burn_per_lot: bigint;
1561
+ is_bid: Boolean;
1562
+ owner_id: Address;
1563
+ timeout_timestamp: bigint;
1564
+ order_type: bigint;
1565
+ timestamp: bigint;
1566
+ }
1567
+
1568
+ export namespace OpenOrderEventInfo {
1569
+ export const TYPE_QNAME =
1570
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderEventInfo";
1571
+
1572
+ const TYPE = new TypeDescriptor<OpenOrderEventInfo>(
1573
+ OpenOrderEventInfo.TYPE_QNAME,
1574
+ );
1575
+
1576
+ export function type(): TypeDescriptor<OpenOrderEventInfo> {
1577
+ return TYPE.apply();
1578
+ }
1579
+ }
1580
+
1581
+ export interface OpenOrderEventInfoInstance
1582
+ extends TypedEventInstance<OpenOrderEventInfo> {
1583
+ data_decoded: OpenOrderEventInfo;
1584
+ type_arguments: [];
1585
+ }
1586
+
1587
+ export interface OpenOrderInfo {
1588
+ price: bigint;
1589
+ is_bid: Boolean;
1590
+ }
1591
+
1592
+ export namespace OpenOrderInfo {
1593
+ export const TYPE_QNAME =
1594
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderInfo";
1595
+
1596
+ const TYPE = new TypeDescriptor<OpenOrderInfo>(OpenOrderInfo.TYPE_QNAME);
1597
+
1598
+ export function type(): TypeDescriptor<OpenOrderInfo> {
1599
+ return TYPE.apply();
1600
+ }
1601
+ }
1602
+
1603
+ export interface OpenOrderInfoInstance
1604
+ extends TypedEventInstance<OpenOrderInfo> {
1605
+ data_decoded: OpenOrderInfo;
1606
+ type_arguments: [];
1607
+ }
1608
+
1609
+ export interface OpenOrdersEvent {
1610
+ open_orders: clob_market.OpenOrderEventInfo[];
1611
+ }
1612
+
1613
+ export namespace OpenOrdersEvent {
1614
+ export const TYPE_QNAME =
1615
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrdersEvent";
1616
+
1617
+ const TYPE = new TypeDescriptor<OpenOrdersEvent>(
1618
+ OpenOrdersEvent.TYPE_QNAME,
1619
+ );
1620
+
1621
+ export function type(): TypeDescriptor<OpenOrdersEvent> {
1622
+ return TYPE.apply();
1623
+ }
1624
+ }
1625
+
1626
+ export interface OpenOrdersEventInstance
1627
+ extends TypedEventInstance<OpenOrdersEvent> {
1628
+ data_decoded: OpenOrdersEvent;
1629
+ type_arguments: [];
1630
+ }
1631
+
1632
+ export interface Order {
1633
+ id: bigint;
1634
+ client_order_id: bigint;
1635
+ price: bigint;
1636
+ quantity: bigint;
1637
+ aux_au_to_burn_per_lot: bigint;
1638
+ is_bid: Boolean;
1639
+ owner_id: Address;
1640
+ timeout_timestamp: bigint;
1641
+ order_type: bigint;
1642
+ timestamp: bigint;
1643
+ }
1644
+
1645
+ export namespace Order {
1646
+ export const TYPE_QNAME =
1647
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Order";
1648
+
1649
+ const TYPE = new TypeDescriptor<Order>(Order.TYPE_QNAME);
1650
+
1651
+ export function type(): TypeDescriptor<Order> {
1652
+ return TYPE.apply();
1653
+ }
1654
+ }
1655
+
1656
+ export interface OrderCancelEvent {
1657
+ order_id: bigint;
1658
+ client_order_id: bigint;
1659
+ owner: Address;
1660
+ cancel_qty: bigint;
1661
+ timestamp: bigint;
1662
+ order_type: bigint;
1663
+ }
1664
+
1665
+ export namespace OrderCancelEvent {
1666
+ export const TYPE_QNAME =
1667
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderCancelEvent";
1668
+
1669
+ const TYPE = new TypeDescriptor<OrderCancelEvent>(
1670
+ OrderCancelEvent.TYPE_QNAME,
1671
+ );
1672
+
1673
+ export function type(): TypeDescriptor<OrderCancelEvent> {
1674
+ return TYPE.apply();
1675
+ }
1676
+ }
1677
+
1678
+ export interface OrderCancelEventInstance
1679
+ extends TypedEventInstance<OrderCancelEvent> {
1680
+ data_decoded: OrderCancelEvent;
1681
+ type_arguments: [];
1682
+ }
1683
+
1684
+ export interface OrderFillEvent {
1685
+ order_id: bigint;
1686
+ client_order_id: bigint;
1687
+ is_bid: Boolean;
1688
+ owner: Address;
1689
+ base_qty: bigint;
1690
+ price: bigint;
1691
+ fee: bigint;
1692
+ rebate: bigint;
1693
+ remaining_qty: bigint;
1694
+ timestamp: bigint;
1695
+ }
1696
+
1697
+ export namespace OrderFillEvent {
1698
+ export const TYPE_QNAME =
1699
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderFillEvent";
1700
+
1701
+ const TYPE = new TypeDescriptor<OrderFillEvent>(OrderFillEvent.TYPE_QNAME);
1702
+
1703
+ export function type(): TypeDescriptor<OrderFillEvent> {
1704
+ return TYPE.apply();
1705
+ }
1706
+ }
1707
+
1708
+ export interface OrderFillEventInstance
1709
+ extends TypedEventInstance<OrderFillEvent> {
1710
+ data_decoded: OrderFillEvent;
1711
+ type_arguments: [];
1712
+ }
1713
+
1714
+ export interface OrderPlacedEvent {
1715
+ order_id: bigint;
1716
+ client_order_id: bigint;
1717
+ owner: Address;
1718
+ is_bid: Boolean;
1719
+ qty: bigint;
1720
+ price: bigint;
1721
+ timestamp: bigint;
1722
+ }
1723
+
1724
+ export namespace OrderPlacedEvent {
1725
+ export const TYPE_QNAME =
1726
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderPlacedEvent";
1727
+
1728
+ const TYPE = new TypeDescriptor<OrderPlacedEvent>(
1729
+ OrderPlacedEvent.TYPE_QNAME,
1730
+ );
1731
+
1732
+ export function type(): TypeDescriptor<OrderPlacedEvent> {
1733
+ return TYPE.apply();
1734
+ }
1735
+ }
1736
+
1737
+ export interface OrderPlacedEventInstance
1738
+ extends TypedEventInstance<OrderPlacedEvent> {
1739
+ data_decoded: OrderPlacedEvent;
1740
+ type_arguments: [];
1741
+ }
1742
+
1743
+ export namespace entry {
1744
+ export async function cancelAll<T0 = any, T1 = any>(
1745
+ client: AptosClient,
1746
+ account: AptosAccount,
1747
+ request: {
1748
+ type_arguments: [string, string];
1749
+ arguments: [Address];
1750
+ },
1751
+ extraArgs?: OptionalTransactionArgs,
1752
+ ): Promise<Types.PendingTransaction> {
1753
+ const coder = defaultMoveCoder(client.nodeUrl);
1754
+ const builder = new TransactionBuilderRemoteABI(client, {
1755
+ sender: account.address(),
1756
+ ...extraArgs,
1757
+ });
1758
+ const txn = await builder.build(
1759
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::cancel_all",
1760
+ request.type_arguments,
1761
+ coder.encodeArray(request.arguments),
1762
+ );
1763
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1764
+ return await client.submitSignedBCSTransaction(bcsTxn);
1765
+ }
1766
+ export async function cancelOrder<T0 = any, T1 = any>(
1767
+ client: AptosClient,
1768
+ account: AptosAccount,
1769
+ request: {
1770
+ type_arguments: [string, string];
1771
+ arguments: [Address, bigint];
1772
+ },
1773
+ extraArgs?: OptionalTransactionArgs,
1774
+ ): Promise<Types.PendingTransaction> {
1775
+ const coder = defaultMoveCoder(client.nodeUrl);
1776
+ const builder = new TransactionBuilderRemoteABI(client, {
1777
+ sender: account.address(),
1778
+ ...extraArgs,
1779
+ });
1780
+ const txn = await builder.build(
1781
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::cancel_order",
1782
+ request.type_arguments,
1783
+ coder.encodeArray(request.arguments),
1784
+ );
1785
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1786
+ return await client.submitSignedBCSTransaction(bcsTxn);
1787
+ }
1788
+ export async function createMarket<T0 = any, T1 = any>(
1789
+ client: AptosClient,
1790
+ account: AptosAccount,
1791
+ request: {
1792
+ type_arguments: [string, string];
1793
+ arguments: [bigint, bigint];
1794
+ },
1795
+ extraArgs?: OptionalTransactionArgs,
1796
+ ): Promise<Types.PendingTransaction> {
1797
+ const coder = defaultMoveCoder(client.nodeUrl);
1798
+ const builder = new TransactionBuilderRemoteABI(client, {
1799
+ sender: account.address(),
1800
+ ...extraArgs,
1801
+ });
1802
+ const txn = await builder.build(
1803
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::create_market",
1804
+ request.type_arguments,
1805
+ coder.encodeArray(request.arguments),
1806
+ );
1807
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1808
+ return await client.submitSignedBCSTransaction(bcsTxn);
1809
+ }
1810
+ export async function fastCancelOrder<T0 = any, T1 = any>(
1811
+ client: AptosClient,
1812
+ account: AptosAccount,
1813
+ request: {
1814
+ type_arguments: [string, string];
1815
+ arguments: [Address, bigint, bigint, Boolean];
1816
+ },
1817
+ extraArgs?: OptionalTransactionArgs,
1818
+ ): Promise<Types.PendingTransaction> {
1819
+ const coder = defaultMoveCoder(client.nodeUrl);
1820
+ const builder = new TransactionBuilderRemoteABI(client, {
1821
+ sender: account.address(),
1822
+ ...extraArgs,
1823
+ });
1824
+ const txn = await builder.build(
1825
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::fast_cancel_order",
1826
+ request.type_arguments,
1827
+ coder.encodeArray(request.arguments),
1828
+ );
1829
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1830
+ return await client.submitSignedBCSTransaction(bcsTxn);
1831
+ }
1832
+ export async function loadAllOrdersIntoEvent<T0 = any, T1 = any>(
1833
+ client: AptosClient,
1834
+ account: AptosAccount,
1835
+ request: {
1836
+ type_arguments: [string, string];
1837
+ arguments: [];
1838
+ },
1839
+ extraArgs?: OptionalTransactionArgs,
1840
+ ): Promise<Types.PendingTransaction> {
1841
+ const coder = defaultMoveCoder(client.nodeUrl);
1842
+ const builder = new TransactionBuilderRemoteABI(client, {
1843
+ sender: account.address(),
1844
+ ...extraArgs,
1845
+ });
1846
+ const txn = await builder.build(
1847
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::load_all_orders_into_event",
1848
+ request.type_arguments,
1849
+ coder.encodeArray(request.arguments),
1850
+ );
1851
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1852
+ return await client.submitSignedBCSTransaction(bcsTxn);
1853
+ }
1854
+ export async function loadMarketIntoEvent<T0 = any, T1 = any>(
1855
+ client: AptosClient,
1856
+ account: AptosAccount,
1857
+ request: {
1858
+ type_arguments: [string, string];
1859
+ arguments: [];
1860
+ },
1861
+ extraArgs?: OptionalTransactionArgs,
1862
+ ): Promise<Types.PendingTransaction> {
1863
+ const coder = defaultMoveCoder(client.nodeUrl);
1864
+ const builder = new TransactionBuilderRemoteABI(client, {
1865
+ sender: account.address(),
1866
+ ...extraArgs,
1867
+ });
1868
+ const txn = await builder.build(
1869
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::load_market_into_event",
1870
+ request.type_arguments,
1871
+ coder.encodeArray(request.arguments),
1872
+ );
1873
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1874
+ return await client.submitSignedBCSTransaction(bcsTxn);
1875
+ }
1876
+ export async function loadOpenOrdersIntoEvent<T0 = any, T1 = any>(
1877
+ client: AptosClient,
1878
+ account: AptosAccount,
1879
+ request: {
1880
+ type_arguments: [string, string];
1881
+ arguments: [];
1882
+ },
1883
+ extraArgs?: OptionalTransactionArgs,
1884
+ ): Promise<Types.PendingTransaction> {
1885
+ const coder = defaultMoveCoder(client.nodeUrl);
1886
+ const builder = new TransactionBuilderRemoteABI(client, {
1887
+ sender: account.address(),
1888
+ ...extraArgs,
1889
+ });
1890
+ const txn = await builder.build(
1891
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::load_open_orders_into_event",
1892
+ request.type_arguments,
1893
+ coder.encodeArray(request.arguments),
1894
+ );
1895
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1896
+ return await client.submitSignedBCSTransaction(bcsTxn);
1897
+ }
1898
+ export async function loadOpenOrdersIntoEventForAddress<T0 = any, T1 = any>(
1899
+ client: AptosClient,
1900
+ account: AptosAccount,
1901
+ request: {
1902
+ type_arguments: [string, string];
1903
+ arguments: [Address];
1904
+ },
1905
+ extraArgs?: OptionalTransactionArgs,
1906
+ ): Promise<Types.PendingTransaction> {
1907
+ const coder = defaultMoveCoder(client.nodeUrl);
1908
+ const builder = new TransactionBuilderRemoteABI(client, {
1909
+ sender: account.address(),
1910
+ ...extraArgs,
1911
+ });
1912
+ const txn = await builder.build(
1913
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::load_open_orders_into_event_for_address",
1914
+ request.type_arguments,
1915
+ coder.encodeArray(request.arguments),
1916
+ );
1917
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1918
+ return await client.submitSignedBCSTransaction(bcsTxn);
1919
+ }
1920
+
1921
+ export async function placeOrder<T0 = any, T1 = any>(
1922
+ client: AptosClient,
1923
+ account: AptosAccount,
1924
+ request: {
1925
+ type_arguments: [string, string];
1926
+ arguments: [
1927
+ Address,
1928
+ Boolean,
1929
+ bigint,
1930
+ bigint,
1931
+ bigint,
1932
+ bigint,
1933
+ bigint,
1934
+ bigint,
1935
+ Boolean,
1936
+ bigint,
1937
+ bigint,
1938
+ ];
1939
+ },
1940
+ extraArgs?: OptionalTransactionArgs,
1941
+ ): Promise<Types.PendingTransaction> {
1942
+ const coder = defaultMoveCoder(client.nodeUrl);
1943
+ const builder = new TransactionBuilderRemoteABI(client, {
1944
+ sender: account.address(),
1945
+ ...extraArgs,
1946
+ });
1947
+ const txn = await builder.build(
1948
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::place_order",
1949
+ request.type_arguments,
1950
+ coder.encodeArray(request.arguments),
1951
+ );
1952
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1953
+ return await client.submitSignedBCSTransaction(bcsTxn);
1954
+ }
1955
+
1956
+ export async function updateMarketParameter<T0 = any, T1 = any>(
1957
+ client: AptosClient,
1958
+ account: AptosAccount,
1959
+ request: {
1960
+ type_arguments: [string, string];
1961
+ arguments: [bigint, bigint];
1962
+ },
1963
+ extraArgs?: OptionalTransactionArgs,
1964
+ ): Promise<Types.PendingTransaction> {
1965
+ const coder = defaultMoveCoder(client.nodeUrl);
1966
+ const builder = new TransactionBuilderRemoteABI(client, {
1967
+ sender: account.address(),
1968
+ ...extraArgs,
1969
+ });
1970
+ const txn = await builder.build(
1971
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::update_market_parameter",
1972
+ request.type_arguments,
1973
+ coder.encodeArray(request.arguments),
1974
+ );
1975
+ const bcsTxn = AptosClient.generateBCSTransaction(account, txn);
1976
+ return await client.submitSignedBCSTransaction(bcsTxn);
1977
+ }
1978
+ }
1979
+ export namespace view {}
1980
+ }
1981
+
1982
+ export namespace fake_markets {
1983
+ export interface Initialized {
1984
+ dummy_field: Boolean;
1985
+ }
1986
+
1987
+ export namespace Initialized {
1988
+ export const TYPE_QNAME =
1989
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_markets::Initialized";
1990
+
1991
+ const TYPE = new TypeDescriptor<Initialized>(Initialized.TYPE_QNAME);
1992
+
1993
+ export function type(): TypeDescriptor<Initialized> {
1994
+ return TYPE.apply();
1995
+ }
1996
+ }
1997
+
1998
+ export namespace entry {}
1999
+ export namespace view {}
2000
+ }
2001
+
2002
+ export namespace onchain_signer {
2003
+ export interface OnchainSigner {
2004
+ signer_capability: _0x1.account.SignerCapability;
2005
+ account_address: Address;
2006
+ }
2007
+
2008
+ export namespace OnchainSigner {
2009
+ export const TYPE_QNAME =
2010
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::onchain_signer::OnchainSigner";
2011
+
2012
+ const TYPE = new TypeDescriptor<OnchainSigner>(OnchainSigner.TYPE_QNAME);
2013
+
2014
+ export function type(): TypeDescriptor<OnchainSigner> {
2015
+ return TYPE.apply();
2016
+ }
2017
+ }
2018
+
2019
+ export namespace entry {}
2020
+ export namespace view {}
2021
+ }
2022
+
2023
+ export namespace volume_tracker {
2024
+ export interface SingleAssetTracker<T0> {
2025
+ volume_tracker: volume_tracker.VolumeTracker;
2026
+ }
2027
+
2028
+ export namespace SingleAssetTracker {
2029
+ export const TYPE_QNAME =
2030
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::SingleAssetTracker";
2031
+
2032
+ const TYPE = new TypeDescriptor<SingleAssetTracker<any>>(
2033
+ SingleAssetTracker.TYPE_QNAME,
2034
+ );
2035
+
2036
+ export function type<T0>(
2037
+ arg0: TypeDescriptor<T0> = ANY_TYPE,
2038
+ ): TypeDescriptor<SingleAssetTracker<T0>> {
2039
+ return TYPE.apply(arg0);
2040
+ }
2041
+ }
2042
+
2043
+ export interface VolumeEntry {
2044
+ volume: bigint;
2045
+ timestamp: bigint;
2046
+ day: bigint;
2047
+ }
2048
+
2049
+ export namespace VolumeEntry {
2050
+ export const TYPE_QNAME =
2051
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::VolumeEntry";
2052
+
2053
+ const TYPE = new TypeDescriptor<VolumeEntry>(VolumeEntry.TYPE_QNAME);
2054
+
2055
+ export function type(): TypeDescriptor<VolumeEntry> {
2056
+ return TYPE.apply();
2057
+ }
2058
+ }
2059
+
2060
+ export interface VolumeTracker {
2061
+ initial_timestamp: bigint;
2062
+ buffer: volume_tracker.VolumeEntry[];
2063
+ past_30_days_total: bigint;
2064
+ last_update_day: bigint;
2065
+ }
2066
+
2067
+ export namespace VolumeTracker {
2068
+ export const TYPE_QNAME =
2069
+ "0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::VolumeTracker";
2070
+
2071
+ const TYPE = new TypeDescriptor<VolumeTracker>(VolumeTracker.TYPE_QNAME);
2072
+
2073
+ export function type(): TypeDescriptor<VolumeTracker> {
2074
+ return TYPE.apply();
2075
+ }
2076
+ }
2077
+
2078
+ export namespace entry {}
2079
+ export namespace view {}
2080
+ }
2081
+
2082
+ const MODULES = JSON.parse(
2083
+ '[{"bytecode":"0xa11ceb0b050000000e0100180218500368e60304ce047605c405c708078b0ed70d08e21b4006a21c8a0210ac1e94050ac02382010bc224060cc824d0310d9856160eae56220000010101020103010401050106010701080009000a000b000c0600000d000200010001000e060200010001000f0802000100010010060000110600021b040100010a26070006280700034804010601024e05010001025005010001046407010000026d0501000100120001020000001302010200000014030102000000150301020000001604050000170505020000001805050200000019060700001a080500001c090a020000001d0b0a020000001e0c0a020000001f0d0e02000000200a0b02000000210f01020000002210010200000023020e02000000241105000025110500002712130000290114020000002a0114020000002b150500002c0116020000002d1001020000002e1001020000002f1701020000003018010200000031191a02000000321b0102000000331c15020000003402010200000035191a02000000361d0102000000371c150200000038020102000000391e0a020000003a1001020000003b0105020000003c0105020000025910210100055a182400025b24160100025c18010100025d260101000b5e102101000b5f260101000a602812000a6129120002622b0501000a63121300026501300100046631200103026732210100026836010100026938010100076a010500086b01140100036c3a010106096e181600026f011601000970013e0002713f4001000272410101000173184201060274012101000a754816000a764712000a774712000a7847160006794a1400027a01140100067b4b0500067c4c1400067d4d0100027e01140100027f21010100098001183e00028101532101002820282209232a252b252c252c202c220a230b232d202d222e252e202e223120312233253413352035222423362231253725392039223a3936203a3c3c25142315233e253f252a202b202a222b22403c40434039412041220c23472047224b204b2228250d232d250e234c2018231e2322234e253a4307060c0303030403030003060c030304060c0303030504040303030103060303040303030303030305030304030308070b06010900070b06010901030303040303010b06010b020209000901020b060109000b0601090103070b06010900070b060109010303070b060109010303010b01020900090103060c070b060109000b01020900090102060c0304030303030108070104010808020303010102060c0b01020900090101060c08050b060109000b060109010303010404020b060109010b0601090005060c030404030805070b06010900070b06010901030301040404060c03040405070b030209000901010b060109000b0601090103040b06010b020209000901050b060109000b06010901010900010b0601090001090102090009010105010b02020900090102050b06010900030308070402040402080704080303060b030209000901060b0302090109000303030301060b060109000209010900150303030303030303030404040404040304040304040201040d0b0c0104010103030b060109000b060109010103070b030209000901040303010b0c010402060b0c010900090002070b0601090003080b0c0104010103070b030209000901040303110b0c01040101070b0302090009010303030404070b030209000901040b060109000b0601090103030303160303070b060109010303070b0601090103030303040404040b06010901070b06010901070b030209000901070b0302090109000303030302070b060109000b060109000b0b0c010404040303070b030209000901040b06010900030b0601090103020b06010900060b0b01090001080402070b0901090009001f05070b09010805050308080808030303030303070b090108050808080803030303030b060109000b06010900030303070b030209000901070b0302090109000303030301080507010c060c0b0b010b0202090009010b0d010b0202090009010b0a010b0202090009010b030209000901010c05060c080808080201030b0b0109000b0d0109000b0a010900010b0d010900010b09010900010800020b060109010b010209000901030104040401040404020807080701060807050808080803030808010a0201060808030608080303020708080808050b0c01040c060c070b03020900090104030b060109000b06010901053505070b090108050305030808080803030303030808070b09010805030303030303030308080303030303030303030b060109000b060109000303030304040304040b060109010b06010901070b030209000901070b0302090109000303030303033305070b09010805030503080808080303030303070b090108050808030303030303030308080303030303030303030b060109000b06010900030304040304040b060109010b06010901070b030209000901070b030209010900030303030303060c03030b06010b0202090009010b06010b020209000901030203060b0a01090001060b03020900090103616d6d076163636f756e7404636f696e056576656e74066f7074696f6e067369676e657206737472696e670974696d657374616d7009747970655f696e666f09617574686f726974790775696e74323536057661756c74114164644c69717569646974794576656e7409466c61736853776170024c5004506f6f6c1452656d6f76654c69717569646974794576656e7409537761704576656e74196164645f617070726f78696d6174655f6c6971756964697479136164645f65786163745f6c69717569646974790d6164645f6c69717569646974791e6164645f6c69717569646974795f776974685f6175785f6163636f756e740f616d6f756e745f696e5f6c696d69740561755f696e0661755f6f75741f63616c63756c6174655f617070726f78696d6174655f6c69717569646974791863616c63756c6174655f6c705f746f6b656e5f657861637404436f696e1e636f696e5f6164645f617070726f78696d6174655f6c697175696469747918636f696e5f6164645f65786163745f6c697175696469747912636f696e5f6164645f6c69717569646974790f636f696e5f666c6173685f7377617015636f696e5f72656d6f76655f6c69717569646974790a636f696e5f72657061790b6372656174655f706f6f6c0a666c6173685f737761700d6765745f616d6f756e745f696e0e6765745f616d6f756e745f6f75740755696e7432353613696e74656765725f7371756172655f726f6f7406537472696e67076c705f6e616d65096c705f73796d626f6c076d696e5f7536340b706f6f6c5f6578697374731072656d6f76655f6c69717569646974792172656d6f76655f6c69717569646974795f776974685f6175785f6163636f756e740572657061790a72657365745f706f6f6c18737761705f636f696e5f666f725f65786163745f636f696e1e737761705f636f696e5f666f725f65786163745f636f696e5f6c696d69741c737761705f636f696e5f666f725f65786163745f636f696e5f6d757424737761705f636f696e5f666f725f65786163745f636f696e5f776974685f7369676e657218737761705f65786163745f636f696e5f666f725f636f696e1e737761705f65786163745f636f696e5f666f725f636f696e5f6c696d69741c737761705f65786163745f636f696e5f666f725f636f696e5f6d757424737761705f65786163745f636f696e5f666f725f636f696e5f776974685f7369676e65722f7472616e736665725f746f6b656e735f616e645f6d696e745f61667465725f616464696e675f6c69717569646974790a7570646174655f66656504785f617504795f61750b785f636f696e5f747970650b795f636f696e5f747970650a785f61646465645f61750a795f61646465645f61750c6c705f6d696e7465645f617505696e5f6175066f75745f61750b64756d6d795f6669656c640666726f7a656e076665655f6270730b737761705f6576656e74730b4576656e7448616e646c65146164645f6c69717569646974795f6576656e74731772656d6f76655f6c69717569646974795f6576656e747309785f7265736572766509795f72657365727665076c705f6d696e740e4d696e744361706162696c697479076c705f6275726e0e4275726e4361706162696c6974790c785f72656d6f7665645f61750c795f72656d6f7665645f61750c6c705f6275726e65645f61750b73656e6465725f616464720c696e5f636f696e5f747970650d6f75745f636f696e5f747970650a696e5f726573657276650b6f75745f726573657276650877697468647261770a616464726573735f6f661569735f6163636f756e745f72656769737465726564087265676973746572076465706f7369740d77697468647261775f636f696e0c6465706f7369745f636f696e19756e6465726c79696e675f6d756c5f746f5f75696e74323536116469766964655f756e6465726c79696e670576616c756508646f776e63617374064f7074696f6e06737570706c79106765745f776974685f64656661756c740765787472616374056d65726765046275726e106e6f775f6d6963726f7365636f6e647309747970655f6e616d650a656d69745f6576656e7410467265657a654361706162696c6974790f69735f7369676e65725f6f776e65721369735f636f696e5f696e697469616c697a65640f6765745f7369676e65725f73656c660a696e697469616c697a651264657374726f795f667265657a655f636170106e65775f6576656e745f68616e646c65047a65726f0769735f7a65726f0664697669646503616464046c6573730475746638046e616d65066c656e6774680a7375625f737472696e6706617070656e640673796d626f6c0c64657374726f795f7a65726f0a6765745f7369676e6572046d696e74bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308120000000000000003080a00000000000000030810000000000000000308110000000000000003080c00000000000000030807000000000000000308130000000000000003080f0000000000000003080d000000000000000308150000000000000003080500000000000000030809000000000000000308010000000000000003080e0000000000000003080400000000000000030806000000000000000308020000000000000003080800000000000000030803000000000000000308140000000000000003080b000000000000000201080308e8030000000000000520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410a0201000a0202012f126170746f733a3a6d657461646174615f7630ff041501000000000000001445504f4f4c5f414c52454144595f4558495354530002000000000000000f45504f4f4c5f4e4f545f464f554e440003000000000000001645545950455f415247535f57524f4e475f4f524445520004000000000000001a45504f4f4c5f4c494d49545f50524943455f56494f4c415445440005000000000000001a454d494e5f4c49515549444954595f4e4f545f524541434845440006000000000000000f45504f4f4c5f4e4f545f454d5054590007000000000000001a45494e53554646494349454e545f4d494e5f5155414e544954590008000000000000001b4552454d4f56455f4c49515549444954595f554e444552464c4f5700090000000000000013454f5045524154494f4e5f4f564552464c4f57000a000000000000001145434f4e5354414e545f50524f44554354000b00000000000000154556494f4c415445445f4c494d49545f5052494345000c000000000000001a45494e53554646494349454e545f4d41585f5155414e54495459000d000000000000000c45494e56414c49445f464545000e000000000000000c45504f4f4c5f46524f5a454e000f000000000000001245494e56414c49445f414d4d5f524154494f0010000000000000001a45494e53554646494349454e545f494e5055545f414d4f554e540011000000000000001745494e53554646494349454e545f4c495155494449545900120000000000000018454144445f4c49515549444954595f554e444552464c4f570013000000000000001b45494e53554646494349454e545f4f55545055545f414d4f554e540014000000000000000d45554e415554484f52495a45440015000000000000000d45494e56414c49445f504f4f4c0000020607033d08083e08083f034003410301020242034303020201440103020a450107034603470b09010805490b090108004a0b090108044b0b060109004c0b060109014d0b0a010b0202090009014f0b0b010b02020900090104020607033d08083e080851035203530305020954050703550808560808570358034203430346030323032c012300010401031f290a000a0138000c090a000a0238010c0a0d090d0a0b010b020b030b040b050b0638020c070a0011290c080a08380320031a051d0b003804051f0b00010a080b0738050a080b0938060b080b0a38070201010401031f1d0a000b0138000c050a000b0238010c060b050b0638080c030a0011290c040a04380320031405170b00380405190b00010b040b0338050202010401031f240a000b0138000c060a000b0238010c070d060d070b0338090c040a0011290c050a05380320031505180b003804051a0b00010a050b0438050a050b0638060b050b0738070203010401031f240a000b01380a0c060a000b02380b0c070d060d070b0338090c040a0011290c050a05380320031505180b003804051a0b00010a050b04380c0a050b06380d0b050b07380e0204000000271e0a02350b0335180b01112f0b0011300c060b0611130c070a070a023523031305160600000000000000000c05051c0b070b023517340c050b050205010001032a3407173b000304051807173d000c030a033700380f0c050a03370138100c070b000b050b070b0337021411110c02053207173b01031d07102707173d010c040a04370338100c060a043704380f0c080b000b080b060b0437051411110c010b010c020b020206010001032a3407173b000304051807173d000c030a033700380f0c050a03370138100c070b000b050b070b0337021411120c02053207173b01031d07102707173d010c040a04370338100c060a043704380f0c080b000b080b060b0437051411120c010b010c020b0202070000002dc7010a030600000000000000002203060707270a0406000000000000000022030c0707270a03350a0135180c130a04350a0035180c140a130a1421031d05290b000b010b020a030a0411080b030b040c070c0d0c0c05b1010a130a1424032e056d0a140a01351a0c160b140a0135190c170b17320000000000000000000000000000000022033d05480a16340b032303440707270b163201000000000000000000000000000000160c160a160a02112f0b0035113011320c0f0a04350b02112f0b0135113011320c110a0f0a1124035e05620b11340c0605650b0f340c060b060b16340b040c0b0c0a0c0905ab010a130a00351a0c190b130a0035190c1a0b1a320000000000000000000000000000000022037c0587010a19340b04230383010707270b193201000000000000000000000000000000160c190a03350a02112f0b0035113011320c100a190b02112f0b0135113011320c120a100a1224039d0105a1010b12340c0805a4010b10340c080b080b030b19340c0b0c0a0c090b090b0a0b0b0c070c0d0c0c0b0c0b0d0b070c180c150c0e0a0e0b052603bd010705270a0e0600000000000000002403c3010705270b0e0b150b1802080000002e430a030600000000000000002203060707270a0406000000000000000022030c0707270a0006000000000000000022031105160a01060000000000000000220c050518090c050b05031b05330a00350b0435180a03350b0135182103290707270b03350b02112f0b0035113011320c06053a0b03350b0435112f11130c060a0632000000000000000000000000000000002203400700270b06340209010001032f830107173b0003090b01010b000107102707173c000c110a113706142003190b01010b00010b1101070d270a113700380f0c130a11370138100c1438110c080e08320000000000000000000000000000000038120c120a1306000000000000000021032c052f080c0905330a14060000000000000000210c090b090c0f0a130a140a120b020b030b0411070c0c0c0b0c100a0532000000000000000000000000000000002103440547080c0a054e0b120a1035160b05250c0a0b0a03580b01010b00010b11010705270b130a0b160b062603660b01010b00010b11010705270b140a0c160b072603740b01010b00010b11010705270b000b0b38130c0d0b010b0c38140c0e0b110b0f0b0d0b0e0b103815020a01000103333d07173b00030507102707173c000c060a063706142003110b0601070d270a063700380f0c080a06370138100c0938110c020e02320000000000000000000000000000000038120c070a080600000000000000002103240527080c03052b0a09060000000000000000210c030b030c040b080b090b070e00380f0e01381011080c050b060b040b000b010b053815020b0100010334980107173c000c0c0a0c3706142003100b01010b00010b0c01070d270a0c3700380f0c110a0c370138100c1338110c030e03320000000000000000000000000000000038120c0d0a002e380f0c100a012e38100c120a110a130a0d0b100b1206000000000000000011070c080c070c090a110600000000000000002203350538080c04053c0a13060000000000000000220c040b04033f057b0a07350a0d112f0a1135113011320c0a0a08350b0d112f0a1335113011320c0b0a09353210270000000000000000000000000000180b0a350610270000000000000a021735182603660b01010b00010b0c010714270a09353210270000000000000000000000000000180b0b350610270000000000000b0217351826037b0b01010b00010b0c010714270b000b0738130c0e0b010b0838140c0f0b0c0c060b1106000000000000000021038a01058d01080c050591010b13060000000000000000210c050b060b050b0e0b0f0b093815020c0100010335be0107173b000304055207173c000c130a133706142003120b00010b1301070d27080a133606150a133700380f0c150a13370138100c170a010a150a170a1337021411120c0a0a0a0b022603300b00010b13010705270a15350a1735180c0f0b150a0116350b170a0a1735180c0d0b0d0b0f26034a0b00010b13010701270b010b0a0b1336010c050c040c0305ad0107173b010356059c0107173c010c140a143707142003640b00010b1401070d27080a143607150a14370338100c160a143704380f0c180a010a180a160a1437051411120c0c0a0c0b02260382010b00010b14010705270a16350a1835180c100b160a0c17350b180a011635180c0e0b0e0b102603a0010b00010b14010701270b00010710270b010b0c0b1436030c080c070c060b060b070b080c050c040c030b030b040b050c120c0b0c090b120a0b38140c110b000b1138160b090b0b3902020d01000103376707173b00030507102707173c000c060a063706142003110b0601070d270a063700380f0c090a06370138100c0b0e0038170c0438110c010e01320000000000000000000000000000000038120c070a04350b0935180a071a0c020a04350b0b35180b071a0c030a02320000000000000000000000000000000022033a0b06010711270a0332000000000000000000000000000000002203420b06010711270a0636000a023438130c080a0636010a033438140c0a0b000a063708381811380c050a0636090a053819381a0b02340b03340b041204381b0b050b06360a150b080b0a020e010001033b97010b023a020c1b0c1911380c1a07173b00030a054c07173c000c1c0a1c3700380f0c1e0a1c370138100c20090a1c3606150b010a1938130c170a1c36000b17381c0a1c360b0c040b0011290c030a1a0c0a38190c10381a0c110b190c120a1b0c130a1c3702140c140b1e0c150b200b1b160c160b040b030b0a0b100b110b150b160b120b130b141205381d0b1a0b1c360a1505960107173b01035005920107173c010c1d0a1d370338100c1f0a1d3704380f0c21090a1d3607150b010a1938130c180a1d36040b18381c0a1d360c0c0f0b0011290c050a1a0c0638190c07381a0c080b190c090a1b0c0b0a1d3705140c0c0b210c0d0b1f0b1b160c0e0b0f0b050b060b070b080b0d0b0e0b090b0b0b0c1205381d0b1a0b1d360d150596010b01010b0001020f0104003d650a01060a000000000000002303050508080c02050c0a01061e00000000000000240c020b02030f05150b00113b031407082705170b000107173b0020031d070c2707173b01200323070c27381e200328070c273819381a22032e070927113d0c030e030c040a04381f382007150838210c070c060c050b0638220717382320034205440a04382407173825200349054b0a0438260717380320035005520a0438040911380b010a0438270a0438280a043829382a382b0b070b0539000c080b040b083f00021001000103440d382b0c030d030b010b02382c0c040b0011290b0338070b04021100000045310a000600000000000000002403060706270a0106000000000000000024030b05100a02060000000000000000240c040512090c040b0403160703270b01350a0035183210270000000000000000000000000000180c060b020b0017350610270000000000000b031735180c050b060a05163201000000000000000000000000000000170b051a34021200000046300a000600000000000000002403060702270a0106000000000000000024030b05100a02060000000000000000240c040512090c040b0403160703270b00350610270000000000000b031735180c050a050b0235112f11320c070b01353210270000000000000000000000000000180b05160c060b070b061a34021300000047260a00320200000000000000000000000000000011300c010e01114220030905230a010a000a0111431144320200000000000000000000000000000011300c020a020a011145031605210b020c010a010a000a0111431144320200000000000000000000000000000011300c0205110b010c000b00113202140000004923071811460c04382d0c00382e0c010e001148060e0000000000000011160c020d040e000600000000000000000b021149114a0d0407191146114a0e011148060e0000000000000011160c030d040e010600000000000000000b031149114a0b0402150000004923071811460c04382f0c0038300c010e00114806030000000000000011160c020d040e000600000000000000000b021149114a0d0407191146114a0e01114806030000000000000011160c030d040e010600000000000000000b031149114a0b040216000000050c0a000a0124030505080b010c02050a0b000c020b020217010000010307173b000218010401031f120a000b0138310c020b0238320c050c040b0011290c030a030b0438060b030b0538070219010401031f120a000b0138330c020b0238320c050c040b0011290c030a030b04380d0b030b05380e021a01000103210d0a000e01370e1438000c020b000d020b0138340b023835021b010401034e2b07173b0003070b000107102707173c000c040b043706142003130b0001070d2738110c010e01320000000000000000000000000000000038120c050b050716352103220b0001070f270b00114d0c020e020c030b0307163836021c01000103010e0b000d010d020b030b040b050b060b07383701010b020b01021d010401034f1c0a000a0138000c05382b0c060a0011290d050d060b010b04080b020b03383701010b0011290c070a070b0538060b070b063807021e0100010350c10311380c3007173b00030605c50107173c000c350a353706142003160b35010b02010b0101070d270a353700380f0c390a35370138100c3b0a05032105550a070a060a390a3b0a3537021411040c2a0a2a06000000000000000021032f05380b35010b02010b0101060000000000000000060000000000000000020b2a0a390a3b0a3537021411120c2c0a2c060000000000000000210345054e0b35010b02010b0101060000000000000000060000000000000000020a2c0a0423035305550b2c0c040a040a390a3b0a3537021411110c240a240b032503690b35010b02010b01010704270b010a2438130c280a3536000b28381c0a3536010a0438140c330b020b3338160a39350a3b35180c310a390a2416350a3b0a041735180c2e0b2e0b31260391010b35010701270a35360b0c090b000c080a300c0a38190c14381a0c1e0a240c1f0a040c200a353702140c210a390c220a3b0c230b090b080b0a0b140b1e0b220b230b1f0b200b211205381d0b300b35360a150a040a240b3b0b04170b390b24160c1d0c1c0c1b0c1a05950307173b0103c90105d40207173c010c360a363707142003d9010b36010b02010b0101070d270a36370338100c3a0a363704380f0c3c0a0503e4010598020a070a060a3c0a3a0a3637051411040c2b0a2b0600000000000000002103f20105fb010b36010b02010b0101060000000000000000060000000000000000020b2b0a3c0a3a0a3637051411120c2d0a2d060000000000000000210388020591020b36010b02010b0101060000000000000000060000000000000000020a2d0a04230396020598020b2d0c040a040a3c0a3a0a3637051411110c250a250b032503ac020b36010b02010b01010704270b010a2538130c290a3636040b29381c0a3636030a0438140c340b020b3438160a3a350a3c35180c320a3c0a2516350a3a0a041735180c2f0b2f0b322603da020b36010701270b02010b01010710270a36360c0c150b000c0b0a300c0c38190c0d381a0c0e0a250c0f0a040c100a363705140c110a3c0c120a3a0c130b150b0b0b0c0b0d0b0e0b120b130b0f0b100b111205381d0b300b36360d150a040a250b3a0b04170b3c0b25160c190c180c170c160b160b170b180b190c1d0c1c0c1b0c1a0b1a0b1b0b1c0b1d0c370c380c260c270b0503a00305be030a060a071a32000000000000000000000000000000002403a70305b3030b370b381a350b060b071a2503b20307142705be030b380b371a350b070b061a2603be030714270b270b26021f010401034f260a000a0138000c03382b0c040a0011290d030d040b010b020932000000000000000000000000000000003200000000000000000000000000000000383701010a0011290c050a050b0338060a05382520031d05200b00382605220b00010b050b043807022001000103010e0b000d010d020b030b040b050b060b07383801010b020b010221010401034f1c0a000a0138000c04382b0c050a0011290d040d050b01060000000000000000080b020b03383801010b0011290c060a060b0538070b060b04380602220100010351950311380c2e07173b00030605af0107173c000c330a333706142003160b33010b02010b0101070d270a333700380f0c370a33370138100c390a050321053f0a060a070a370a390a3337021411040c2a0a2a06000000000000000021032f05380b33010b02010b0101060000000000000000060000000000000000020a2a0a0323033d053f0b2a0c030a030a370a390a3337021411120c250a250b042603530b33010b02010b01010705270b010a0338130c280a3336000b28381c0a3336010a2538140c310b020b3138160a37350a3935180c2f0a370a0316350a390a251735180c2c0b2c0b2f26037b0b33010701270a33360b0c090b000c080a2e0c0a38190c15381a0c1e0a030c1f0a250c200a333702140c210a370c220a390c230b090b080b0a0b150b1e0b220b230b1f0b200b211205381d0b2e0b33360a150a250a030b390b25170b370b03160c1d0c1c0c1b0c1a05e90207173b0103b30105a80207173c010c340a343707142003c3010b34010b02010b0101070d270a34370338100c380a343704380f0c3a0a0503ce0105ec010a060a070a3a0a380a3437051411040c2b0a2b0600000000000000002103dc0105e5010b34010b02010b0101060000000000000000060000000000000000020a2b0a032303ea0105ec010b2b0c030a030a3a0a380a3437051411120c260a260b04260380020b34010b02010b01010705270b010a0338130c290a3436040b29381c0a3436030a2638140c320b020b3238160a38350a3a35180c300a3a0a0316350a380a261735180c2d0b2d0b302603ae020b34010701270b02010b01010710270a34360c0c140b000c0b0a2e0c0c38190c0d381a0c0e0a030c0f0a260c100a343705140c110a3a0c120a380c130b140b0b0b0c0b0d0b0e0b120b130b0f0b100b111205381d0b2e0b34360d150a260a030b380b26170b3a0b03160c190c180c170c160b160b170b180b190c1d0c1c0c1b0c1a0b1a0b1b0b1c0b1d0c350c360c240c270b0503f4020592030a060a071a32000000000000000000000000000000002403fb020587030b360b351a350b060b071a260386030714270592030b350b361a350b070b061a250392030714270b270b240223010401034f260a000a0138000c03382b0c040a0011290d030d040b010b020932000000000000000000000000000000003200000000000000000000000000000000383801010a0011290c050a050b0338060a05382520031d05200b00382605220b00010b050b043807022400000052480e02380f0c060e0338100c070b01030905290a04071624030e05220b040716170c0407160a00370f38390c080717380320031c0521113d0c050e053804052605260b0001070a2707170b0838050a0036000b02381c0a0036010b0338160a040a00370f38390c0911380c0a0a0036100a0a3819381a0b060b070b041200383a0b0a0b00360a150b0902250104010316270a010610270000000000002503080b000107082707173b00030f0b00010710270a00113b031305180b0001080c02051d0b0011290717210c020b0203210713270b0107173c00360215022601000103540707173d000c000b003700380f022701000103540707173d000c000b00370138100203060307030203000309030503010303010003080304002301230223002c012c022c0323032c0423052306230723072c062c082309230a2300","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"amm","friends":[],"exposed_functions":[{"name":"add_approximate_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64","u128","u64","u64"],"return":[]},{"name":"add_exact_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"add_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64"],"return":[]},{"name":"add_liquidity_with_aux_account","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64","u64"],"return":[]},{"name":"au_in","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["u64"],"return":["u64"]},{"name":"au_out","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["u64"],"return":["u64"]},{"name":"coin_add_approximate_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&mut 0x1::coin::Coin<T0>","&mut 0x1::coin::Coin<T1>","u64","u64","u64","u128","u64","u64"],"return":["0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP<T0, T1>>"]},{"name":"coin_add_exact_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin<T0>","0x1::coin::Coin<T1>"],"return":["0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP<T0, T1>>"]},{"name":"coin_add_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&mut 0x1::coin::Coin<T0>","&mut 0x1::coin::Coin<T1>","u64"],"return":["0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP<T0, T1>>"]},{"name":"coin_flash_swap","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&mut 0x1::coin::Coin<T1>","u64","u64"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap<T0, T1>"]},{"name":"coin_remove_liquidity","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["0x1::coin::Coin<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP<T0, T1>>"],"return":["0x1::coin::Coin<T0>","0x1::coin::Coin<T1>"]},{"name":"coin_repay","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","&mut 0x1::coin::Coin<T0>","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap<T0, T1>"],"return":[]},{"name":"create_pool","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"flash_swap","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap<T0, T1>"]},{"name":"pool_exists","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["bool"]},{"name":"remove_liquidity","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"remove_liquidity_with_aux_account","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"repay","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::FlashSwap<T0, T1>"],"return":[]},{"name":"reset_pool","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer"],"return":[]},{"name":"swap_coin_for_exact_coin","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","0x1::coin::Coin<T0>","0x1::coin::Coin<T1>","u64","u64","bool","u128","u128"],"return":["0x1::coin::Coin<T1>","0x1::coin::Coin<T0>"]},{"name":"swap_coin_for_exact_coin_limit","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u128","u128","u64"],"return":[]},{"name":"swap_coin_for_exact_coin_mut","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","&mut 0x1::coin::Coin<T0>","&mut 0x1::coin::Coin<T1>","u64","u64","bool","u128","u128"],"return":["u64","u64"]},{"name":"swap_coin_for_exact_coin_with_signer","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"swap_exact_coin_for_coin","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","0x1::coin::Coin<T0>","0x1::coin::Coin<T1>","u64","u64","bool","u128","u128"],"return":["0x1::coin::Coin<T1>","0x1::coin::Coin<T0>"]},{"name":"swap_exact_coin_for_coin_limit","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u128","u128"],"return":[]},{"name":"swap_exact_coin_for_coin_mut","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","&mut 0x1::coin::Coin<T0>","&mut 0x1::coin::Coin<T1>","u64","u64","bool","u128","u128"],"return":["u64","u64"]},{"name":"swap_exact_coin_for_coin_with_signer","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"update_fee","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"x_au","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"y_au","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]}],"structs":[{"name":"AddLiquidityEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"timestamp","type":"u64"},{"name":"x_coin_type","type":"0x1::string::String"},{"name":"y_coin_type","type":"0x1::string::String"},{"name":"x_added_au","type":"u64"},{"name":"y_added_au","type":"u64"},{"name":"lp_minted_au","type":"u64"}]},{"name":"FlashSwap","is_native":false,"abilities":[],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"in_au","type":"u64"},{"name":"out_au","type":"u64"}]},{"name":"LP","is_native":false,"abilities":["drop","store"],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"Pool","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"frozen","type":"bool"},{"name":"timestamp","type":"u64"},{"name":"fee_bps","type":"u64"},{"name":"swap_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::SwapEvent>"},{"name":"add_liquidity_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::AddLiquidityEvent>"},{"name":"remove_liquidity_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::RemoveLiquidityEvent>"},{"name":"x_reserve","type":"0x1::coin::Coin<T0>"},{"name":"y_reserve","type":"0x1::coin::Coin<T1>"},{"name":"lp_mint","type":"0x1::coin::MintCapability<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP<T0, T1>>"},{"name":"lp_burn","type":"0x1::coin::BurnCapability<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm::LP<T0, T1>>"}]},{"name":"RemoveLiquidityEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"timestamp","type":"u64"},{"name":"x_coin_type","type":"0x1::string::String"},{"name":"y_coin_type","type":"0x1::string::String"},{"name":"x_removed_au","type":"u64"},{"name":"y_removed_au","type":"u64"},{"name":"lp_burned_au","type":"u64"}]},{"name":"SwapEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"sender_addr","type":"address"},{"name":"timestamp","type":"u64"},{"name":"in_coin_type","type":"0x1::string::String"},{"name":"out_coin_type","type":"0x1::string::String"},{"name":"in_reserve","type":"u64"},{"name":"out_reserve","type":"u64"},{"name":"in_au","type":"u64"},{"name":"out_au","type":"u64"},{"name":"fee_bps","type":"u64"}]}]}},{"bytecode":"0xa11ceb0b050000000b01000402040403084105491807618a0208eb024006ab031710c2032d0aef03070cf603b9030daf070400000101000208000003000100000402030000050203000006040500000704030000080403000009060200000a070100000b000100000c070100000d080200000e08020001110604000305030101030001020105010101060c020503020502010403666565067369676e657203466565076164645f6665651864656661756c745f6d616b65725f7265626174655f6270731564656661756c745f74616b65725f6665655f6270730a6665655f657869737473146765745f6d616b65725f7265626174655f627073116765745f74616b65725f6665655f62707316696e697469616c697a655f6665655f64656661756c740c6d616b65725f7265626174650c73756274726163745f6665650974616b65725f666565177570646174655f6d616b65725f7265626173655f627073147570646174655f74616b65725f6665655f627073106d616b65725f7265626174655f6270730d74616b65725f6665655f6270730a616464726573735f6f66bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010201000308010000000000000003080000000000000000126170746f733a3a6d657461646174615f7630190101000000000000000e455f544553545f4641494c555245000002020f021002000100010009210b02030305110b013532102700000000000000000000000000000b002b0010001435161832102700000000000000000000000000001a0c03051e0b013532102700000000000000000000000000000b002b0010011435171832102700000000000000000000000000001a0c030b0334020101000002020700020201000002020700020301000002030b00290002040100010002050b002b0010011402050100010002050b002b001000140206010000020f0a00110c11032003090b00010702270b000700070012002d00020701000100020c0b01350b002b00100114351832102700000000000000000000000000001a3402080100010009210b02030305110b013532102700000000000000000000000000000b002b0010001435171832102700000000000000000000000000001a0c03051e0b013532102700000000000000000000000000000b002b0010011435161832102700000000000000000000000000001a0c030b0334020901000100020c0b01350b002b00100014351832102700000000000000000000000000001a34020a0300010002060b010b002a000f0115020b0300010002060b010b002a000f0015020001000000","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"fee","friends":[],"exposed_functions":[{"name":"add_fee","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","u64","bool"],"return":["u64"]},{"name":"default_maker_rebate_bps","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u8"]},{"name":"default_taker_fee_bps","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u8"]},{"name":"fee_exists","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["bool"]},{"name":"get_maker_rebate_bps","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["u8"]},{"name":"get_taker_fee_bps","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["u8"]},{"name":"initialize_fee_default","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]},{"name":"maker_rebate","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","u64"],"return":["u64"]},{"name":"subtract_fee","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","u64","bool"],"return":["u64"]},{"name":"taker_fee","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","u64"],"return":["u64"]},{"name":"update_maker_rebase_bps","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","u8"],"return":[]},{"name":"update_taker_fee_bps","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","u8"],"return":[]}],"structs":[{"name":"Fee","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"maker_rebate_bps","type":"u8"},{"name":"taker_fee_bps","type":"u8"}]}]}},{"bytecode":"0xa11ceb0b050000000c01000e020e08031659046f0605752f07a401e601088a034006ca030a10d4032b0aff03060c85048f030d940702000001010102010301040105010600070700040a070000080001000009020300000b040500000c060300000d060300000e060300000f060300001006030000110603000012070800001302030000140609010001150b0a010006160d06010003170a0a0002180a01000519060501000c010d0c100e02050a020105020404010401060800010801000203030103010800010a0201060900010202070a09000a0900010900047574696c036263730866726f6d5f626373046861736806737472696e6709747970655f696e666f06766563746f7204547970651c6372656174655f7265736f757263655f6163636f756e745f616464720365787006537472696e67046e616d6508706f775f31305f3408706f775f31305f3508706f775f31305f3608706f775f31305f3708706f775f31305f3808706f775f31305f39097375625f6d696e5f300e7375625f6d696e5f305f7531323807747970655f6f6608746f5f627974657306617070656e6408736861335f3235360a746f5f6164647265737309747970655f6e616d65bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541000000000000000000000000000000000000000000000000000000000000000103080100000000000000126170746f733a3a6d657461646174615f7630170101000000000000000c45554e535550504f52544544000002010b0801000100000a0d0e0038000c020d020b0138010d0231ff440c0b02110e110f0201010000031d32010000000000000000000000000000000c020a013200000000000000000000000000000000240307051b0a0132010000000000000000000000000000001c320000000000000000000000000000000024030e05120b020a00180c020b013101300c010a000b00180c0005020b02020201000006040b001000140203010000060232102700000000000000000000000000000204010000060232a0860100000000000000000000000000020501000006023240420f00000000000000000000000000020601000006023280969800000000000000000000000000020701000006023200e1f505000000000000000000000000020801000006023200ca9a3b0000000000000000000000000209010000080e0a010a0026030505080600000000000000000c02050c0b000b01170c020b02020a010000030e0a010a00260305050832000000000000000000000000000000000c02050c0b000b01170c020b02020b01000006033802120002000000","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"util","friends":[],"exposed_functions":[{"name":"create_resource_account_addr","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address","vector<u8>"],"return":["address"]},{"name":"exp","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["u128"]},{"name":"name","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type"],"return":["0x1::string::String"]},{"name":"pow_10_4","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u128"]},{"name":"pow_10_5","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u128"]},{"name":"pow_10_6","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u128"]},{"name":"pow_10_7","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u128"]},{"name":"pow_10_8","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u128"]},{"name":"pow_10_9","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u128"]},{"name":"sub_min_0","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u64","u64"],"return":["u64"]},{"name":"sub_min_0_u128","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["u128"]},{"name":"type_of","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":[],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type"]}],"structs":[{"name":"Type","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"name","type":"0x1::string::String"}]}]}},{"bytecode":"0xa11ceb0b050000000f01001c021c3e035a830204dd0226058303ce0107d104bd08088e0d4006ce0d860110d40ed0020aa411570bfb11020cfd118e090d8b1b0c0e971b040f9b1b02000101020103010401050106010701080109000a000b000c000d000e000f0800001008010001001104000012060000130700001406000015080000160600022104010001072c0402030100010c2e07000632070004390401060100170001000018000100001902030100001a02030100001b040100001c040100001d05030100001e05030100001f05030100002006010100002207010100002302080000240503010000250503010000260401000027000100002806010100002909010100002a090a0100053d040200073e0d01020300073f0f080203000b400202000341121200074201130203040b430401000d440208000d450401000a460208000a4704010009480415000349121200014a04170106034b121200034c121200024d02080100094e011500024f040101000228060101000850011c010004511d01010602521f1201000220070101000b48021500075321220203000229090a0100140c150c180c2016201820192311251126110d112711281829112a112c0c0811281628192d1102060c05000105010401060c02050403060c050302050b08010900010102060c03010b0801090002070800050205080403070b09020900090109000901020608000502060b09020900090109000304060b01010900050109000103010b090209000901030c060c060c010c010805010b0c0109000108030108070205070b01010900020c07080601080b02070b0c0109000900030c0307080601060b08010900040405070b010109000c02070b0902090009010900010901020507080603050708060c040b08010900050708060c0b636c6f625f6d61726b6574057661756c74076163636f756e7404636f696e056572726f72056576656e74067369676e657206737472696e67057461626c6509747970655f696e666f09617574686f72697479036665650e6f6e636861696e5f7369676e6572047574696c0e766f6c756d655f747261636b65720e417578557365724163636f756e740b436f696e42616c616e636508436f696e496e666f0c4465706f7369744576656e74074e6f7468696e670d5472616e736665724576656e74055661756c740d57697468647261774576656e74156164645f617574686f72697a65645f747261646572276173736572745f7472616465725f69735f617574686f72697a65645f666f725f6163636f756e7411617661696c61626c655f62616c616e63650762616c616e6365126372656174655f6175785f6163636f756e740c6372656174655f7661756c741a64656372656173655f617661696c61626c655f62616c616e63651c64656372656173655f756e617661696c61626c655f62616c616e63651564656372656173655f757365725f62616c616e6365076465706f73697404436f696e0c6465706f7369745f636f696e0f6861735f6175785f6163636f756e741a696e6372656173655f617661696c61626c655f62616c616e636515696e6372656173655f757365725f62616c616e63650b696e69745f6d6f64756c651872656d6f76655f617574686f72697a65645f747261646572087472616e736665720877697468647261770d77697468647261775f636f696e12617574686f72697a65645f74726164657273055461626c6509636f696e5f74797065045479706508646563696d616c730a6d61726b5f707269636508636f696e5479706506537472696e67096465706f7369746f7202746f09616d6f756e745f61750b64756d6d795f6669656c640466726f6d0f7472616e736665725f6576656e74730b4576656e7448616e646c650e6465706f7369745f6576656e74730f77697468647261775f6576656e7473056f776e65720a616464726573735f6f660361646408636f6e7461696e73126765745f7369676e65725f616464726573730e616c72656164795f657869737473036e6577156372656174655f6f6e636861696e5f7369676e657220676c6f62616c5f766f6c756d655f747261636b65725f726567697374657265641e72656769737465725f676c6f62616c5f766f6c756d655f747261636b65720a6665655f65786973747316696e697469616c697a655f6665655f64656661756c740a6765745f7369676e6572117065726d697373696f6e5f64656e696564106e65775f6576656e745f68616e646c650d696e76616c69645f7374617465096e6f745f666f756e641569735f6163636f756e745f726567697374657265640f6765745f7369676e65725f73656c6608726567697374657209747970655f6e616d650a656d69745f6576656e740576616c75650672656d6f7665bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308020000000000000003080300000000000000030807000000000000000308090000000000000003080a000000000000000308040000000000000003080b000000000000000308050000000000000003080600000000000000030801000000000000000520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541126170746f733a3a6d657461646174615f7630bb020a010000000000000015455641554c545f414c52454144595f45584953545300020000000000000017454143434f554e545f414c52454144595f45584953545300030000000000000012454143434f554e545f4e4f545f464f554e440004000000000000000b454e4f545f4d4f44554c450005000000000000001345554e494e495449414c495a45445f434f494e0006000000000000001445554e494e495449414c495a45445f5641554c540007000000000000001c4542414c414e43455f494e56415249414e545f56494f4c4154494f4e000900000000000000214543414e4e4f545f444f55424c455f52454749535445525f53414d455f434f494e000a000000000000001345494e53554646494349454e545f46554e4453000b0000000000000016455452414445525f4e4f545f415554484f52495a4544000002012b0b09020508040102021a0419040202032d080a2f02300303020431080b330534053503040201360105020431080b370534053503060203380b0c0108053a0b0c0108033b0b0c01080707020331080b3c053503011100010401000b0d0b0011130c030b032a000c020b020f000b0109120438000201010001000e140b0011130c030a030a012103080509020b012b000c020b0210000b033801031307062702020100010110130b0011160c030a033b000307050f0b033d000c020b023700140c01051132000000000000000000000000000000000c010b0102030100010110130b0011160c030a033b000307050f0b033d000c020b023701140c01051132000000000000000000000000000000000c010b01020401040002240a0011130c010a01290020030c0b000107001117270a00380212002d000a0011190a01111a20031705190a00111b0b01111c20031e05210b00111d05230b00010205010400142c0a001113070a21030605090b000c02050e0b00111e0c010e010c020b020c030a031113070a21031a0b03010705111f27070a290620031f05290a030a0338030a0338040b03380512062d06052b0b03010206030001011a1c0b0011160c020b023c000c030a033700140a012603100b03010704270a033700140b01170a033600150b033700140207030001011a290b0011160c020b023c000c030a033701140a012603100b03010704270a033701140b01170a033601150a033700140a033701142503250b030107021121270b033701140208030001011a2e0b0011160c020b023c000c030a033701140a012603100b03010704270a033701140a01170a033601150a033700140a012603220b03010704270a033700140b01170a033600150b0337011402090104030001061b2a0a000a0111010a012900030b0b00010701112227070a3806200310051411240c030e0338070a00070a0a0238080a010a0235380901070a2a060c040b040f03380a0b0011130b010b021203380b020a01000201061e260a00290003060701112227070a380620030b050f11240c020e0238070e01380c0c03070a0b01380d0a000a0335380901070a2a060c040b040f03380a0a000b000b031203380b020b01000001030b002900020c030001011a210b0011160c020b023c000c030a033700140b01160a033600150a033700140a03370114240317051d0a033701140a033600150b03370014020d03000101202b0a0011160c030a033b000307051f0b033c000c040a043701140a01160a043601150a043700140b01160a043600150b043701140c0205290b00112b0c050e050a010a0139003f000b010c020b02020e00000001130a001113290620030605100a000a0038030a0038040b00380512062d0605120b0001020f010401000b0c0b0011130c030b032a000c020b020f000b01380e010210010402010623210a0011130c030a012900030a0b00010701270b030a0235380f010a010a0235380901070a2a060c040b040f04380a0b0011130b010b02120538100211010402010624220a0011130c020a022900030b0b000107011122270a020a0135380f0111240c040e040b020a013808070a2a060c030b030f05380a0b0011130b01120738110212010002010625230a0011130c030a032900030b0b000107011122270b030a0135380f0111240c050e050a0138120c02070a2a060c040b040f05380a0b0011130b01120738110b020200000101010006010600060201110211000000","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"vault","friends":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market"],"exposed_functions":[{"name":"add_authorized_trader","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","address"],"return":[]},{"name":"assert_trader_is_authorized_for_account","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer","address"],"return":[]},{"name":"available_balance","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address"],"return":["u128"]},{"name":"balance","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address"],"return":["u128"]},{"name":"create_aux_account","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]},{"name":"create_vault","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]},{"name":"decrease_available_balance","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u128"],"return":["u128"]},{"name":"decrease_unavailable_balance","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u128"],"return":["u128"]},{"name":"decrease_user_balance","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u128"],"return":["u128"]},{"name":"deposit","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","address","u64"],"return":[]},{"name":"deposit_coin","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","0x1::coin::Coin<T0>"],"return":[]},{"name":"has_aux_account","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["bool"]},{"name":"increase_available_balance","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u128"],"return":["u128"]},{"name":"increase_user_balance","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u128"],"return":["u128"]},{"name":"remove_authorized_trader","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","address"],"return":[]},{"name":"transfer","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","address","u64"],"return":[]},{"name":"withdraw","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"withdraw_coin","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","u64"],"return":["0x1::coin::Coin<T0>"]}],"structs":[{"name":"AuxUserAccount","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"authorized_traders","type":"0x1::table::Table<address, 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::Nothing>"}]},{"name":"CoinBalance","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"balance","type":"u128"},{"name":"available_balance","type":"u128"}]},{"name":"CoinInfo","is_native":false,"abilities":["store"],"generic_type_params":[],"fields":[{"name":"coin_type","type":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::util::Type"},{"name":"decimals","type":"u8"},{"name":"mark_price","type":"u64"}]},{"name":"DepositEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"coinType","type":"0x1::string::String"},{"name":"depositor","type":"address"},{"name":"to","type":"address"},{"name":"amount_au","type":"u64"}]},{"name":"Nothing","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"TransferEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"coinType","type":"0x1::string::String"},{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"amount_au","type":"u64"}]},{"name":"Vault","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"transfer_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::TransferEvent>"},{"name":"deposit_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::DepositEvent>"},{"name":"withdraw_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault::WithdrawEvent>"}]},{"name":"WithdrawEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"coinType","type":"0x1::string::String"},{"name":"owner","type":"address"},{"name":"amount_au","type":"u64"}]}]}},{"bytecode":"0xa11ceb0b050000000a0100100210060316990104af012e05dd01e50107c203c5030887074006c707a00110e708c4010cab0ace120000010101020103000400050006000701080401000100090001020000000a0203020000000b0001020000000c0203020000060d030500040e0307020000050f03070200000510030902000001110305010007120b0c000513030902000004140d0e0200000515030902000005160f0e0200000517030902000005180309020000021911030100011a03130100011b14130100031c151600061d160700061e150300011f1703010004200d0e02000005060508060806060706080a0a060b060c060d06070808100e080f080d0810091110120a0006160a16101706020605050b000109000b000109010303020b000109010b0001090003060c0303002a0101010103010103030303030404040304030303030303030303030303010101030303020303030303030102020900090101010209010900010301090002040401040805070b00010900070b0001090103030104040203030805070b00010900070b00010901010303030401090101060900050b000109000b000109000b000109010b0001090105010b0001090002060c0301060c010502050b0001090026010103030303030404040304030303030303030303030301010103030302030303030303030306726f7574657204636f696e056465627567067369676e657203616d6d0b636c6f625f6d61726b657403666565047574696c04436f696e18737761705f636f696e5f666f725f65786163745f636f696e24737761705f636f696e5f666f725f65786163745f636f696e5f776974685f7369676e657218737761705f65786163745f636f696e5f666f725f636f696e24737761705f65786163745f636f696e5f666f725f636f696e5f776974685f7369676e65721564656661756c745f74616b65725f6665655f6270730b706f6f6c5f6578697374730d6d61726b65745f657869737473086c6f745f73697a6508646563696d616c73036578700c6e5f6269645f6c6576656c731c737761705f636f696e5f666f725f65786163745f636f696e5f6d75740b626573745f6269645f617516706c6163655f6d61726b65745f6f726465725f6d75740c6e5f61736b5f6c6576656c730b626573745f61736b5f6175057072696e74047a65726f0877697468647261770a616464726573735f6f660a6665655f65786973747316696e697469616c697a655f6665655f64656661756c74076465706f7369741c737761705f65786163745f636f696e5f666f725f636f696e5f6d7574bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308c9000000000000000308ca000000000000000308c800000000000000030800000000000000800308030000000000000003080200000000000000030805000000000000000308040000000000000003080100000000000000030806000000000000000308650000000000000003086600000000000000030864000000000000000308ffffffffffffffff0308680000000000000003086700000000000000126170746f733a3a6d657461646174615f7630af010601000000000000000d455f554e535550504f5254454400020000000000000011455f494e56414c49445f4d494e5f4f555400030000000000000010455f494e5445524e414c5f4552524f520004000000000000000d455f544553545f4641494c45440005000000000000001a455f4d495353494e475f4155585f555345525f4143434f554e540006000000000000001d455f564f4c554d455f545241434b45525f554e52454749535445524544000001000004bb0311040c28380003050508080c05050a38010c050b050c2438020c2338030c220a240b221f031505d80138040c20320a00000000000000000000000000000038053511090c110600000000000000000c290600000000000000000c2b0a2b0a04230325052a0a290a03230c0a052c090c0a0b0a032f05cb013806060000000000000000210334054c0b000d010d020a030a29170a040a2b17093200000000000000000000000000000000320000000000000000000000000000000038070c1b0c170b290b1b160c290b2b0b17160c2b05cb0138080c160a163532102700000000000000000000000000000a2835171832102700000000000000000000000000001a0c150a040a2b17350a1135180a15351a340c0c0b0c0a202303690581010b000d010d020a030a29170a040a2b17093200000000000000000000000000000000320000000000000000000000000000000038070c1d0c190b290b1d160c290b2b0b19160c2b05cb010a000d010d020a030a29170a040a2b17080a110a153538070c1e0c1a0b290b1e160c290b2b0b1a160c2b0a2b0a0423039e0105a3010a290a03230c0b05a501090c0b0b0b03a80105ca010a040a2b17350a1135180b15351a340c0d0a000d010d0209070b0b16340b0d320000000000000000000000000000000038090c250c100b290b1034160c290b2b0b2534160c2b05200b290b032503d1010704270b2b0b042103d70107052705b8030a240a231f03dd0105f902380a0c21320a000000000000000000000000000000380b3511090c120600000000000000000c2a0600000000000000000c2c0a2c0a042303ed0105f2010a2a0a03230c0605f401090c060b0603f70105ec02380c0600000000000000002103fc0105ff01080c070585020a040a2c170a21230c070b0703880205a0020b000d010d020a030a2a170a040a2c17093200000000000000000000000000000000320000000000000000000000000000000038070c1c0c180b2a0b1c160c2a0b2c0b18160c2c05ec02380d0c140a143532102700000000000000000000000000000a2835161832102700000000000000000000000000001a0c130a000d010d020a030a2a170a040a2c17080b13350a1238070c2d0c2e0b2a0b2d160c2a0b2c0b2e160c2c0a2c0a042303c90205ce020a2a0a03230c0805d002090c080b0803d30205eb020a000d020d0108070b0b14340a040a2c173200000000000000000000000000000000380e0c260c0e0b2a0b2634160c2a0b2c0b0e34160c2c05e8010b2a0b032503f2020704270b2c0b042103f80207052705b8030b2403fc020588030b000d010d020b030b0409320000000000000000000000000000000032000000000000000000000000000000003807010105b8030b23038b0305b603060a1a0000000000000c090e09380f0a0335320a000000000000000000000000000000380b351109180a04351a340c1f0e1f380f0b000d020d0108070b070d0a043200000000000000000000000000000000380e0c270c0f0b0f340b042503af030704270b27340b032503b8030705270708270b020b010201010400122238100c050a000a0138110c030a0011130c070a07111420030e05110b00111505130b00010a070b030b050b010b0238120c040c060a070b0438130b070b063814020201000018950311040c22380003050508080c05050a38010c050b050c1e38020c1d38030c1c0a1e0a1c1f031505990138040c1a320a00000000000000000000000000000038053511090c0c0600000000000000000c230600000000000000000c250a230a03230325058c01380606000000000000000021032a052d080c0605330a030a23170a1a230c060b060336054c0b000d010d020a030a2317060000000000000000093200000000000000000000000000000000320000000000000000000000000000000038150c170c130b230b17160c230b250b13160c25058c0138080c110a113532102700000000000000000000000000000a2235171832102700000000000000000000000000001a0c100a000d010d020a030a2317060000000000000000080b10350a0c38150c270c290b230b27160c230b250b29160c250a230a03230373058b010a000d010d0209070b0b11340a030a2317320000000000000000000000000000000038090c1f0c0a0b230b0a34160c230b250b1f34160c2505200b230b03210392010704270b250b04260398010705270592030a1e0b1d1f039e0105d702380a0c1b320a000000000000000000000000000000380b3511090c0d0600000000000000000c240600000000000000000c260a240a032303ae0105ca02380c0600000000000000002103b30105c9010b000d010d020a030a2417060000000000000000093200000000000000000000000000000000320000000000000000000000000000000038150c190c140b240b19160c240b260b14160c2605ca02380d0c0f0a0f3532102700000000000000000000000000000a2235161832102700000000000000000000000000001a0c0e0a030a2417350a0d35180a0e351a340c070b070a1b2303e60105fc010b000d010d020a030a2417060000000000000000093200000000000000000000000000000000320000000000000000000000000000000038150c180c150b240b18160c240b260b15160c2605ca020a000d010d020a030a2417060000000000000000080a0d0a0e3538150c280c2a0b240b28160c240b260b2a160c260a240a032303970205c9020a030a2417350a0d35180b0e351a340c080a000d020d0108070b0b0f340a083200000000000000000000000000000000380e0c210c090a09340b082503b602061111000000000000270a21340a030a24172503bf02062222000000000000270b240b2134160c240b260b0934160c2605a9010b240b032103d0020704270b260b042603d6020705270592030b1e03da0205f4020b000d010d020a030a04093200000000000000000000000000000000320000000000000000000000000000000038150c160c120b16340b032103ec020704270b12340b042603f3020705270592030b1c03f7020590030b000d010d0209070b0600000000000000000a03320000000000000000000000000000000038090c200c0b0b0b340b03250389030704270b20340b04260392030705270708270b020b01020301040012220a000a0138110c0338100c050a0011130c070a07111420030e05110b00111505130b00010a070b030b050b010b0238160c040c060a070b0638140b070b0438130200","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"router","friends":[],"exposed_functions":[{"name":"swap_coin_for_exact_coin","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","0x1::coin::Coin<T0>","0x1::coin::Coin<T1>","u64","u64"],"return":["0x1::coin::Coin<T1>","0x1::coin::Coin<T0>"]},{"name":"swap_coin_for_exact_coin_with_signer","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"swap_exact_coin_for_coin","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","0x1::coin::Coin<T0>","0x1::coin::Coin<T1>","u64","u64"],"return":["0x1::coin::Coin<T1>","0x1::coin::Coin<T0>"]},{"name":"swap_exact_coin_for_coin_with_signer","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]}],"structs":[]}},{"bytecode":"0xa11ceb0b050000000e010004020418031ce5010481023c05bd02910307ce05d004089e0a4006de0a6e10cc0bfe010aca0d2f0bf90d040cfd0dcd160dca24180ee224100000010100020401000000030701000000040700011a040203010001000500010100000602030100000704040000080506000000070600000908090100000a0a0b0100000b0c040100000c0d040100000d0a040100000e00040100000f0a04010000100004010000110e0901000012040b0000130f0b01000014040b0000150f0b01000016090801040017000401000018000401000019090400001b10110100001c12090100001d02130100001e14090100001f1509010000201509010000211509010000220a040100002316090100012f191a02030001301c1d020300013120040203000109210902030001160921020304011d1c2b02030001322c090203001f18201821182218222208111f2217272122172819111a111c112322231811110c110f110a11212a242a252a131114111e2716271b111e281628202202060b0001090003020406090002070b00010900030204070900010301040102020404010b000109000001060b00010900010102060b000109000403060b00010900040303070b0001090004090003060b00010900030301070b030203090001090002070b030203090009000204090004070b0001090003030303070b00010900030303070b0302030900030301060b0101090002030b0101090002060b03020900090109000106090101070b0101090002070b030209000901090001070901020202020b0302030b010109000b030203080201060b030209000901010b03020900090102030802030103030303040608020203031a0403090003070b000109000403030403030403030b010109000301040403030203060802080203010b010109000108020501030303030203090001090103070b0302090009010900090120070b0001090003030304090003070b0001090003070b00010900030301070b00010900030303030101040303030306080203030608020303090006070b000109000303070b00010900030302090009000763726974626974117461626c655f776974685f6c656e6774680b437269746269745472656508446174614e6f646508547265654e6f64650f626f72726f775f61745f696e64657813626f72726f775f61745f696e6465785f6d757412636f6e766572745f646174615f696e64657813636f756e745f6c656164696e675f7a65726f730d64657374726f795f656d70747905656d7074790466696e641066696e645f636c6f736573745f6b65790d6765745f6d61785f696e646578126765745f6d61785f696e6465785f66726f6d0d6765745f6d696e5f696e646578126765745f6d696e5f696e6465785f66726f6d06696e736572740d69735f646174615f696e6465780d69735f6c6566745f6368696c640d69735f6e756c6c5f696e6465780e69735f72696768745f6368696c64036e65770d6e6578745f696e5f6f72646572156e6578745f696e5f726576657273655f6f72646572106e756c6c5f696e6465785f76616c75650f5461626c65576974684c656e67746808706f705f6261636b09707573685f6261636b0672656d6f76650d7265706c6163655f6368696c64127265706c6163655f6c6566745f6368696c640e7265706c6163655f706172656e74137265706c6163655f72696768745f6368696c640473697a65047377617004726f6f740474726565096d696e5f696e646578096d61785f696e64657807656e7472696573036b657906706172656e740576616c7565046d61736b0a6c6566745f6368696c640b72696768745f6368696c6406626f72726f770a626f72726f775f6d7574066c656e67746803616464bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541000000000000000000000000000000000000000000000000000000000000000103080700000000000000030806000000000000000308020000000000000003080800000000000000030805000000000000000308010000000000000003080400000000000000030803000000000000000308ffffffffffffff7f0308ffffffffffffffff03080000000000000080126170746f733a3a6d657461646174615f7630e90108010000000000000012455f494e56414c49445f415247554d454e540002000000000000000c455f454d5054595f5452454500030000000000000010455f545245455f4e4f545f454d50545900040000000000000013455f4b45595f414c52454144595f455849535400050000000000000014455f494e4445585f4f55545f4f465f52414e474500060000000000000017455f444154415f4e4f44455f4c41434b5f504152454e540007000000000000001b455f43414e4e4f545f44455354524f52595f4e4f4e5f454d50545900080000000000000011455f4558434545445f4341504143495459000002052403250b030203080226032703280b0302030b0101090001020329042a032b09000202042c042a032d032e030011011100010000170b0b0037000b0138000c020a023701140b02370202010100001b0b0b0036000b0138010c020a023701140b0236020202000000090407090b001702030000001e730a003200000000000000000000000000000000210305050831800c01057131000c020a00320000000000000000ffffffffffffffff1c320000000000000000000000000000000021031105190b0031402f0c000b023140160c020a0032000000000000000000000000ffffffff1c320000000000000000000000000000000021032005280b0031202f0c000b023120160c020a00320000000000000000000000000000ffff1c320000000000000000000000000000000021032f05370b0031102f0c000b023110160c020a0032000000000000000000000000000000ff1c320000000000000000000000000000000021033e05460b0031082f0c000b023108160c020a0032000000000000000000000000000000f01c320000000000000000000000000000000021034d05550b0031042f0c000b023104160c020a0032000000000000000000000000000000c01c320000000000000000000000000000000021035c05640b0031022f0c000b023102160c020b0032000000000000000000000000000000801c320000000000000000000000000000000021036b056f0b023101160c020b020c010b010204000000090931800b000b011d11031731011702050100001f140e00370038020600000000000000002103080700270b003a000c0101010c02010b0138030b023804020601000009060b003700380206000000000000000021020701000023240a000a010a0037031438050c040a04070a22030c05160b0037000a0438003701140b01210c02051a0b0001090c020b02031d05200b040c030522070a0c030b03020800000024300b020c030a03070a220307052c0a03110e030b05100b00010b031102020a0037040b0338060c050a051005140a011c0c040b040a0510051422032205270b051006140c03052b0b051007140c0305020b0001070a0209010000040c0b003705140c010a01070a22030a0702270b01020a00000025200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0338061007140c03050c0b00010b0311020c020b02020b010000040c0b003706140c010a01070a22030a0702270b01020c00000025200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0338061006140c03050c0b00010b0311020c020b02020d01000026f6010a010c030b020c050b03070a0b0539010c110a00370038020c100a1007082303150b00010703270a0036000b1138070a003703140c1c0a000a010b1c0c090c080c070b072e0b080b0938050c0d0a0d070a21032e05440a100600000000000000002103360b00010707270a1011020a003603150a100a003606150b100b00360515020a0037000b0d38003701140c0e0a0e0a012203530b00010706270b0e0a0111040c1832010000000000000000000000000000000b182f0c150a003703140c0f070a0c120a0f070a2203660593010a0f110e036a056b0593010a0037040a0f38060c1a0a150a1a100514240377057a0b1a010593010b0f0c120a1a1005140a011c0c140b140a1a10051422038901058e010b1a1006140c0f0592010b1a1007140c0f05610a150c0b0b0b070a070a070a12020c1b0a00370438080c190a0036040b1b38090a12070a2203a80105ae010a000b120a0f0a19380a05b2010a190a003603150a150a011c0b15220c130b1303bb0105c5010a000a190a101102380b0a000b190b0f380c05ce010a000a190a101102380c0a000b190b0f380b0a003706140c170a0037000b1738003701140a012403dc0105e0010a100a003606150a003705140c160a0037000b1638003701140b012303ee0105f3010b100b0036051505f5010b0001020e00000009040b00070a24020f00000009090b0037040b0238061006140b0121021001000009040b00070a21021100000009090b0037040b0238061007140b012102120100000907070a380d070a070a380e3900021301000029450a0111020c050a0037000b0138003707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a06380f0c020521090c020b020324052e0b060c050a0037040a053806100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06380610071438100c030b030c040b04021401000029450a0111020c050a0037000b0138003707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a0638110c020521090c020b020324052e0b060c050a0037040a053806100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06380610061438120c030b030c040b0402150100000902070a0216000000040a0a002e3813060100000000000000170c010b000b013814021700000004090a002e38130c020b000b020b01381502180100002dda020a00370038020c190a190a0124030c0b00010704270a003706140a01210313051e0a000a010c080c020b022e0b0838160a003606150a003705140a0121032505300a000a010c0a0c090b092e0b0a38170a003605150a0111020c100a0037000a0138003707140c1a0a1a070a22033f054c0a000a100a1a0c0d0c0c0c0b0b0b2e0b0c0b0d38110c0e054e090c0e0b0e0c150b19060100000000000000170c110a110a0122035905a2010a0037000a1138003707140c120a000a1111020a120c040c030c0f0b0f2e0b030b0438110c140a0036000a010a1138180b140375057a0a000b120b10380b057e0a000b120b10380c0a150381010587010a000a1a0a111102380b058c010a000a1a0a111102380c0a003705140a11210393010597010a010a003605150a003706140b1121039e0105a2010b010a003606150a00360038193a010c21010c160a00370038020600000000000000002103b00105d3010b1a070a2103b8010b00010707270a00370438080600000000000000002103c2010b0001070727070a0a00360315070a0a00360615070a0b003605150b160b210c070c0605d7020a1a070a2203db010b00010701270a0037040a1a38060c1b0b1503e30105e8010a1b1007140c0505ec010a1b1006140c050b050c1c0b1b100b140c130a13070a2103f7010580020a000a1c070a381a0b1c0a003603150585020a000b130a1a0b1c380a0a00370438080c200a200a1a240391020b00010704270b20060100000000000000170c1f0a1f0a1a22039a0205cf020a0036040a1f0a1a381b0a0037040a1a38060c1e0a1e1006140c170a1e1007140c1d0a1e100b140c180b1e100b14070a2203b70205bc020a000b180a1f0a1a380a0a000a1a0b17380b0a000a1a0b1d380c0a003703140b1f2103cb0205cf020b1a0a003603150b003604381c010b160b210c070c060b060b0702190000002e2f0a01070a220305052c0a000a020a010c060c050c040b042e0b050b06380f031205170b000b010b03380c052b0a000b020a010c090c080c070b072e0b080b093811032405290b000b010b03380b052b0b0001052e0b0001021a000000092c0a01070a21030505080b0001020a020a0036040a01381d0f06150a02070a22031405290a02110e031805210b010b0036000b021102380136071505280b010b0036040b02381d0f0b15052b0b0001021b00000009150a01110e0304050d0b020b0036000b011102380136071505140b020b0036040b01381d0f0b15021c000000092c0a01070a21030505080b0001020a020a0036040a01381d0f07150a02070a22031405290a02110e031805210b010b0036000b021102380136071505280b010b0036040b02381d0f0b15052b0b0001021d01000009040b0037003802021e0000002f110a000a0138140c030a000a0238140c040a000b020b0338150b000b010b0438150200040100010200000001020002020203000300020101020100110111021103110411081109110a1100","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"critbit","friends":[],"exposed_functions":[{"name":"borrow_at_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u64"],"return":["u128","&T0"]},{"name":"borrow_at_index_mut","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u64"],"return":["u128","&mut T0"]},{"name":"destroy_empty","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>"],"return":[]},{"name":"empty","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>"],"return":["bool"]},{"name":"find","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u128"],"return":["u64"]},{"name":"get_max_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>"],"return":["u64"]},{"name":"get_min_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>"],"return":["u64"]},{"name":"insert","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u128","T0"],"return":[]},{"name":"is_null_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u64"],"return":["bool"]},{"name":"new","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":["store"]}],"params":[],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>"]},{"name":"next_in_order","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u64"],"return":["u64"]},{"name":"next_in_reverse_order","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u64"],"return":["u64"]},{"name":"null_index_value","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u64"]},{"name":"remove","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>","u64"],"return":["u128","T0"]},{"name":"size","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<T0>"],"return":["u64"]}],"structs":[{"name":"CritbitTree","is_native":false,"abilities":["store"],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"root","type":"u64"},{"name":"tree","type":"0x1::table_with_length::TableWithLength<u64, 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::TreeNode>"},{"name":"min_index","type":"u64"},{"name":"max_index","type":"u64"},{"name":"entries","type":"0x1::table_with_length::TableWithLength<u64, 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::DataNode<T0>>"}]},{"name":"DataNode","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"key","type":"u128"},{"name":"parent","type":"u64"},{"name":"value","type":"T0"}]},{"name":"TreeNode","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"mask","type":"u128"},{"name":"parent","type":"u64"},{"name":"left_child","type":"u64"},{"name":"right_child","type":"u64"}]}]}},{"bytecode":"0xa11ceb0b050000000b0100020202040306b40105ba0157079102f2030883062006a30665108807450acd07070cd407a5140df91b0400000001070000020001000003020100000400010000050001000006000100000700010000080000000009020200000a020100000b010300000c000400000d000400000e000400000f0103000010050400001101060000120004000013000400001401030000150701000016000100001700010000180201000019080100001a070100001b000100001c020100001d090300001e080800001f0306000020080100002108080000220104000023090300002408080000250a01000208000800010800020800040104010101060800010202080002020404030404040004040404040e01010800080008000800080008000800020208000800020201010501040404040202020b04040404040404040404040775696e743235360755696e74323536036164640e6164645f756e6465726c79696e670b626974776973655f616e640a626974776973655f6f720b626974776973655f786f72066469766964650a6469766964655f6d6f64156469766964655f6d6f645f756e6465726c79696e67116469766964655f756e6465726c79696e6708646f776e6361737405657175616c076772656174657210677265617465725f6f725f657175616c0268690769735f7a65726f0d6c656164696e675f7a65726f73046c6573730d6c6573735f6f725f657175616c026c6f036c7368036d6f64086d756c7469706c79136d756c7469706c795f756e6465726c79696e67036e6577037273680873756274726163741373756274726163745f756e6465726c79696e6719756e6465726c79696e675f6164645f706c75735f636172727919756e6465726c79696e675f6164645f776974685f636172727918756e6465726c79696e675f6c656164696e675f7a65726f7319756e6465726c79696e675f6d756c5f746f5f75696e7432353619756e6465726c79696e675f6d756c5f776974685f636172727913756e6465726c79696e675f6f766572666c6f771b756e6465726c79696e675f7375625f6d696e75735f626f72726f771a756e6465726c79696e675f7375625f776974685f626f72726f77047a65726fbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410308ea030000000000000308e9030000000000000201ff0410000000000000000000000000000000800201400410ffffffffffffffff00000000000000000410ffffffffffffffffffffffffffffffff02018004100000000000000000ffffffffffffffff126170746f733a3a6d657461646174615f76303102e9030000000000000a455f4f564552464c4f5700ea0300000000000012455f4449564953494f4e5f42595f5a45524f000002020f0414040001000009160e001000140e01100014111c0c020c040e001001140e011001140b02111b0c030b030b04120002010100000b130e001000140b01111c0c040c050b050c020e001001140b04160c030b030b02120002020100000a100e001001140e011001141c0e001000140e011000141c120002030100000a100e001001140e011001141b0e001000140e011000141b120002040100000a100e001001140e011001141d0e001000140e011000141d1200020501000001070b000b011106010c020b0202060100000c94010e011001143200000000000000000000000000000000220307050a080c0205100e011000143200000000000000000000000000000000220c020b0203140700270a010a00110b0319051e11230a000c090c080591010a000a01110a0323052a32000000000000000000000000000000003201000000000000000000000000000000111711230c070c06058d010e00100114320000000000000000000000000000000021033105380e011001143200000000000000000000000000000000210c03053a090c030b03033d055232000000000000000000000000000000000e001000140e011000141a111732000000000000000000000000000000000e001000140e011000141911170c050c040589010a00110f0c0b0a01110f0c0c0b0c0b0b170c0f0b010a0f11130c0a0a000c0d3200000000000000000000000000000000320000000000000000000000000000000011170c0e0a0d0a0a111020036c05780b0d0a0a11190c0d0b0e3200000000000000000000000000000000320100000000000000000000000000000011170a0f111311000c0e0a0f3100210385010b0a310111180c0a0b0f3101170c0f05660b0e0b0d0c050c040b040b050c070c060b060b070c090c080b080b090207010000000b0b0032000000000000000000000000000000000b01111711060c020c030b030b021109020801000001090b0032000000000000000000000000000000000b0111171106010c020b0202090100000a0a0a0011202003060701270e00100014020a01000004160e001001140e0110011421030905120e001000140e01100014210c020514090c020b02020b0100000d240e001001140e01100114240309050c080c0305220e001001140e01100114210315051e0e001000140e01100014240c020520090c020b020c030b03020c0100000d240e001001140e01100114240309050c080c0305220e001001140e01100114210315051e0e001000140e01100014260c020520090c020b020c030b03020d0100000a040e00100114020e01000004140a001001143200000000000000000000000000000000210307050e0b001000143200000000000000000000000000000000210c0105120b0001090c010b01020f01000006160e001001143200000000000000000000000000000000210307050f07070e00100014111d160c0105140e00100114111d0c010b0102100100000d240e001001140e01100114230309050c080c0305220e001001140e01100114210315051e0e001000140e01100014230c020520090c020b020c030b0302110100000d240e001001140e01100114230309050c080c0305220e001001140e01100114210315051e0e001000140e01100014250c020520090c020b020c030b0302120100000a040e00100014021301000000360a0107022503060701270a01070726030b05160e001000140b010707172f320000000000000000000000000000000012000c0305340a01310021031b051e0a000c0205320e001001140a012f0e0010001407070a011730160e001000140b012f12000c020b020c030b03021401000001070b000b0111060c02010b0202150100000e350e001001143200000000000000000000000000000000210307050a080c0205100e011001143200000000000000000000000000000000210c020b0203140701270e001000140e01100014111f0c060c050b050c030e001000140e01100114180e001001140e0110001418160b06160c040b040b03120002160100000b150e001000140a01111f0c050c040b040c020e001001140b01180b05160c030b030b02120002170100000a040b000b011200021801000000360a0107022503060701270a01070726030b051632000000000000000000000000000000000e001001140b010707173012000c0305340a01310021031b051e0a000c0205320e001001140a01300e001000140a01300e0010011407070b01172f1612000c020b020c030b03021901000009160e001000140e0110001411220c020c040e001001140e011001140b0211210c030b030b041200021a01000009110e001000140b0111220c020c040e001001140b02170c030b030b041200021b0000000a060b000b01160b0216021c010000091b07060a00170c040a040a0123030905120b010b041732010000000000000000000000000000001732010000000000000000000000000000000c030c0205180b000b011632000000000000000000000000000000000c030c020b020b03021d0100000f730a003200000000000000000000000000000000210305050807070c01057131000c020a00320000000000000000ffffffffffffffff1c320000000000000000000000000000000021031105190b0031402f0c000b023140160c020a0032000000000000000000000000ffffffff1c320000000000000000000000000000000021032005280b0031202f0c000b023120160c020a00320000000000000000000000000000ffff1c320000000000000000000000000000000021032f05370b0031102f0c000b023110160c020a0032000000000000000000000000000000ff1c320000000000000000000000000000000021033e05460b0031082f0c000b023108160c020a0032000000000000000000000000000000f01c320000000000000000000000000000000021034d05550b0031042f0c000b023104160c020a0032000000000000000000000000000000c01c320000000000000000000000000000000021035c05640b0031022f0c000b023102160c020b0032000000000000000000000000000000801c320000000000000000000000000000000021036b056f0b023101160c020b020c010b01021e01000008090b000b01111f0c020c030b020b031117021f01000010430a0007081c0704300c070b0007051c0c090a0107081c0704300c0b0b0107051c0c0c0a070a0c180c080a090a0b180c0a0b090b0c180a0807051c07042f111c0c050c030b030a0a07051c07042f111c0c060c040b070b0b180b08070430160b0a070430160b05160b06160c020b040b0202200100000a060e0010011432000000000000000000000000000000002202210000000a060b000b01170b0217022201000008190a000a01230305051007060b01173201000000000000000000000000000000160b001632010000000000000000000000000000000c030c0205160b000b011732000000000000000000000000000000000c030c020b020b0302230100000a04320000000000000000000000000000000032000000000000000000000000000000001200020001000000","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"uint256","friends":[],"exposed_functions":[{"name":"add","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"add_underlying","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"bitwise_and","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"bitwise_or","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"bitwise_xor","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"divide","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"divide_mod","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"divide_mod_underlying","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u128"]},{"name":"divide_underlying","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"downcast","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["u128"]},{"name":"equal","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"greater","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"greater_or_equal","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"hi","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["u128"]},{"name":"is_zero","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"leading_zeros","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["u8"]},{"name":"less","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"less_or_equal","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"lo","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["u128"]},{"name":"lsh","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u8"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"mod","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"multiply","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"multiply_underlying","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"new","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"rsh","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u8"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"subtract","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"subtract_underlying","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"underlying_add_with_carry","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["u128","u128"]},{"name":"underlying_leading_zeros","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128"],"return":["u8"]},{"name":"underlying_mul_to_uint256","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]},{"name":"underlying_mul_with_carry","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["u128","u128"]},{"name":"underlying_overflow","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"],"return":["bool"]},{"name":"underlying_sub_with_borrow","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u128","u128"],"return":["u128","u128"]},{"name":"zero","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::uint256::Uint256"]}],"structs":[{"name":"Uint256","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"hi","type":"u128"},{"name":"lo","type":"u128"}]}]}},{"bytecode":"0xa11ceb0b050000000a01000a020a04030e3c044a0a05541f0773ca0108bd024006fd02120a8f03050c94036900000101010201030004000500000006000100000700010000080201000009000100010b01040100020c05010100030d000600010e06040100020f00010100041000080002080201010004030503070308030a0301060c0003060c0503010800010105060c0a020a0202010105020c060c010c086175785f636f696e04636f696e0c6d616e616765645f636f696e067369676e657209617574686f7269747907417578436f696e0b696e69745f6d6f64756c6513696e697469616c697a655f6175785f636f696e046d696e741072656769737465725f6163636f756e740b64756d6d795f6669656c641369735f636f696e5f696e697469616c697a65640a696e697469616c697a650a616464726573735f6f661569735f6163636f756e745f726567697374657265640872656769737465720a6765745f7369676e6572bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010a020807417578436f696e0a0204034155580002010a010000000001163800200304050a0a000700070131060838010a001106380220031005130b00380305150b00010201010400070c0b0011090c010e010c020b02070007013106083801020201040008080b0011090c030e030b010b023804020301040001030b0038030200","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"aux_coin","friends":[],"exposed_functions":[{"name":"initialize_aux_coin","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]},{"name":"mint","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer","address","u64"],"return":[]},{"name":"register_account","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]}],"structs":[{"name":"AuxCoin","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]}]}},{"bytecode":"0xa11ceb0b050000000c010008020808031028053822075aad020887036006e7034010a704660a8d05080c9505e8010dfd06040f81070c0006010701080209000a080001100600000b000100000c020100000d000200000e000300021200050001130601000314050300031500080001060c010c000101020608000c01050106080105010c05080105020508010106080003616d6d086175785f636f696e0b636c6f625f6d61726b65740966616b655f636f696e06726f75746572057661756c7409617574686f72697479076163636f756e74067369676e6572086465706c6f79657209417574686f726974790a6765745f7369676e65720f6765745f7369676e65725f73656c660b696e69745f6d6f64756c650f69735f7369676e65725f6f776e6572117369676e65725f6361706162696c697479105369676e65724361706162696c6974790d6f776e65725f616464726573730a616464726573735f6f661d6372656174655f7369676e65725f776974685f6361706162696c6974791e7265736f757263655f6163636f756e745f7369676e65725f6578697374732072657472696576655f7265736f757263655f6163636f756e745f7369676e6572bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000015a5e124ea1f3fc5fcfae3c198765c3b4c8d72c7236ae97ef6e5a9bc7cfda549c0308ea030000000000000308eb030000000000000308e9030000000000000520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541126170746f733a3a6d657461646174615f76305203e90300000000000011455f4e4f545f53454c465f5349474e454400ea0300000000000017455f43414e4e4f545f5349474e5f464f525f4f5448455200eb030000000000000b455f4e4f545f4f574e4552000002020f08011105000100010004220703290003070b000107022707032b000c010b0011040a011000142103150b01010701270b01100111050c020e02110407032103200700270b02020103000100041507032900030507022707032b000c000b00100111050c010e01110407032103130700270b010202000000072b0a0011040c050a052900200308050c0b0511060c01050e090c010b01031105280a0011070c040c030e0411050c020a0011040e0211042103220b00010700270b000b040b0312002d00052a0b000102030300010009110703290003070b000107022707032b000c010b0011040b0110001421020001000000000001000200030004000500","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"authority","friends":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::amm","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::aux_coin","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::fake_coin","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::router","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault"],"exposed_functions":[{"name":"get_signer","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":["signer"]},{"name":"get_signer_self","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["signer"]},{"name":"is_signer_owner","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":["bool"]}],"structs":[{"name":"Authority","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"signer_capability","type":"0x1::account::SignerCapability"},{"name":"owner_address","type":"address"}]}]}},{"bytecode":"0xa11ceb0b050000000e0100020202100312a20104b4011605ca019c0207e603830408e907200689086e10f708fe010af50a290b9e0b040ca20b92160db421180ecc2110000000010701000000020701000000030700000400010100000502030100000604040000070506000008070600000908090100000a0a0b0100000b0c040100000c0d040100000d0a040100000e00040100000f0a04010000100004010000110e0901000012040b0000130f0b01000014040b0000150f0b01000016090801000017000401000018000401000019090400001a02100100001b11090100001c12090100001d12090100001e12090100001f0a0401000814171418141a1411140c140f140a1413141414191402060b0001090003020406090002070b00010900030204070900010301040102020404010b000109000001060b00010900010102060b000109000403060b00010900040303070b0001090004090003060b0001090003030204090004070b0001090003030303070b00010900030301060b01010900010900010b0101090001070b01010900020202020a0b010109000a0802010802030103030303040608020203031a0403090003070b000109000403030403030403030b01010900030104040303020306080208020305010303030320070b0001090003030304090003070b0001090003070b00010900030301070b00010900030303030101040303030306080203030608020303090006070b000109000303070b00010900030309637269746269745f760b437269746269745472656508446174614e6f646508547265654e6f64650f626f72726f775f61745f696e64657813626f72726f775f61745f696e6465785f6d757412636f6e766572745f646174615f696e64657813636f756e745f6c656164696e675f7a65726f7307637269746269740d64657374726f795f656d70747905656d7074790466696e641066696e645f636c6f736573745f6b65790d6765745f6d61785f696e646578126765745f6d61785f696e6465785f66726f6d0d6765745f6d696e5f696e646578126765745f6d696e5f696e6465785f66726f6d06696e736572740d69735f646174615f696e6465780d69735f6c6566745f6368696c640d69735f6e756c6c5f696e6465780e69735f72696768745f6368696c64036e65770d6e6578745f696e5f6f72646572156e6578745f696e5f726576657273655f6f72646572106e756c6c5f696e6465785f76616c75650672656d6f76650d7265706c6163655f6368696c64127265706c6163655f6c6566745f6368696c640e7265706c6163655f706172656e74137265706c6163655f72696768745f6368696c640473697a6504726f6f740474726565096d696e5f696e646578096d61785f696e64657807656e7472696573036b657906706172656e740576616c7565046d61736b0a6c6566745f6368696c640b72696768745f6368696c64bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54103080700000000000000030806000000000000000308020000000000000003080800000000000000030805000000000000000308010000000000000003080400000000000000030803000000000000000308ffffffffffffff7f0308ffffffffffffffff03080000000000000080126170746f733a3a6d657461646174615f7630e90108010000000000000012455f494e56414c49445f415247554d454e540002000000000000000c455f454d5054595f5452454500030000000000000010455f545245455f4e4f545f454d50545900040000000000000013455f4b45595f414c52454144595f455849535400050000000000000014455f494e4445585f4f55545f4f465f52414e474500060000000000000017455f444154415f4e4f44455f4c41434b5f504152454e540007000000000000001b455f43414e4e4f545f44455354524f52595f4e4f4e5f454d50545900080000000000000011455f4558434545445f4341504143495459000002052003210a080222032303240a0b01010900010203250426032709000202042804260329032a030014011400010000130b0b0037000b0142150c020a023701140b0237020201010000160b0b0036000b0143150c020a023701140b0236020202000000090407090b0017020300000017730a003200000000000000000000000000000000210305050831800c01057131000c020a00320000000000000000ffffffffffffffff1c320000000000000000000000000000000021031105190b0031402f0c000b023140160c020a0032000000000000000000000000ffffffff1c320000000000000000000000000000000021032005280b0031202f0c000b023120160c020a00320000000000000000000000000000ffff1c320000000000000000000000000000000021032f05370b0031102f0c000b023110160c020a0032000000000000000000000000000000ff1c320000000000000000000000000000000021033e05460b0031082f0c000b023108160c020a0032000000000000000000000000000000f01c320000000000000000000000000000000021034d05550b0031042f0c000b023104160c020a0032000000000000000000000000000000c01c320000000000000000000000000000000021035c05640b0031022f0c000b023102160c020b0032000000000000000000000000000000801c320000000000000000000000000000000021036b056f0b023101160c020b020c010b010204000000090931800b000b011d110317310117020501000018140e00370041150600000000000000002103080700270b003a000c0101010c02010b01461500000000000000000b0246190000000000000000020601000009060b00370041150600000000000000002102070100001a240a000a010a0037031438000c040a04070a22030c05160b0037000a0442153701140b01210c02051a0b0001090c020b02031d05200b040c030522070a0c030b0302080000001b300b020c030a03070a220307052c0a03110e030b05100b00010b031102020a0037040b0342190c050a051005140a011c0c040b040a0510051422032205270b051006140c03052b0b051007140c0305020b0001070a0209010000040c0b003705140c010a01070a22030a0702270b01020a0000001c200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0342191007140c03050c0b00010b0311020c020b02020b010000040c0b003706140c010a01070a22030a0702270b01020c0000001c200b010c030a03070a210307050c0b0001070a0c02051e0a03110e20031105190a0037040b0342191006140c03050c0b00010b0311020c020b02020d0100001df6010a010c030b020c050b03070a0b0539010c110a00370041150c100a1007082303150b00010703270a0036000b1144150a003703140c1c0a000a010b1c0c090c080c070b072e0b080b0938000c0d0a0d070a21032e05440a100600000000000000002103360b00010707270a1011020a003603150a100a003606150b100b00360515020a0037000b0d42153701140c0e0a0e0a012203530b00010706270b0e0a0111040c1832010000000000000000000000000000000b182f0c150a003703140c0f070a0c120a0f070a2203660593010a0f110e036a056b0593010a0037040a0f42190c1a0a150a1a100514240377057a0b1a010593010b0f0c120a1a1005140a011c0c140b140a1a10051422038901058e010b1a1006140c0f0592010b1a1007140c0f05610a150c0b0b0b070a070a070a12020c1b0a00370441190c190a0036040b1b44190a12070a2203a80105ae010a000b120a0f0a19380105b2010a190a003603150a150a011c0b15220c130b1303bb0105c5010a000a190a10110238020a000b190b0f380305ce010a000a190a10110238030a000b190b0f38020a003706140c170a0037000b1742153701140a012403dc0105e0010a100a003606150a003705140c160a0037000b1642153701140b012303ee0105f3010b100b0036051505f5010b0001020e00000009040b00070a24020f00000009090b0037040b0242191006140b0121021001000009040b00070a21021100000009090b0037040b0242191007140b012102120100000907070a40190000000000000000070a070a40150000000000000000390002130100001e450a0111020c050a0037000b0142153707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a0638040c020521090c020b020324052e0b060c050a0037040a054219100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06421910071438050c030b030c040b0402140100001e450a0111020c050a0037000b0142153707140c060a06070a21030f05140b0001070a0c0405430a06070a220319051f0a000b050a0638060c020521090c020b020324052e0b060c050a0037040a054219100b140c0605140a06070a21033305380b0001070a0c0305410a000b0037040b06421910061438070c030b030c040b0402150100000902070a02160100001fda020a00370041150c190a190a0124030c0b00010704270a003706140a01210313051e0a000a010c080c020b022e0b0838080a003606150a003705140a0121032505300a000a010c0a0c090b092e0b0a38090a003605150a0111020c100a0037000a0142153707140c1a0a1a070a22033f054c0a000a100a1a0c0d0c0c0c0b0b0b2e0b0c0b0d38060c0e054e090c0e0b0e0c150b19060100000000000000170c110a110a0122035905a2010a0037000a1142153707140c120a000a1111020a120c040c030c0f0b0f2e0b030b0438060c140a0036000a010a1147150b140375057a0a000b120b103802057e0a000b120b1038030a150381010587010a000a1a0a1111023802058c010a000a1a0a11110238030a003705140a11210393010597010a010a003605150a003706140b1121039e0105a2010b010a003606150a00360045153a010c21010c160a00370041150600000000000000002103b00105d3010b1a070a2103b8010b00010707270a00370441190600000000000000002103c2010b0001070727070a0a00360315070a0a00360615070a0b003605150b160b210c070c0605d7020a1a070a2203db010b00010701270a0037040a1a42190c1b0b1503e30105e8010a1b1007140c0505ec010a1b1006140c050b050c1c0b1b100b140c130a13070a2103f7010580020a000a1c070a380a0b1c0a003603150585020a000b130a1a0b1c38010a00370441190c200a200a1a240391020b00010704270b20060100000000000000170c1f0a1f0a1a22039a0205cf020a0036040a1f0a1a47190a0037040a1a42190c1e0a1e1006140c170a1e1007140c1d0a1e100b140c180b1e100b14070a2203b70205bc020a000b180a1f0a1a38010a000a1a0b1738020a000a1a0b1d38030a003703140b1f2103cb0205cf020b1a0a003603150b0036044519010b160b210c070c060b060b070217000000202f0a01070a220305052c0a000a020a010c060c050c040b042e0b050b063804031205170b000b010b033803052b0a000b020a010c090c080c070b072e0b080b093806032405290b000b010b033802052b0b0001052e0b00010218000000092c0a01070a21030505080b0001020a020a0036040a0143190f06150a02070a22031405290a02110e031805210b010b0036000b021102431536071505280b010b0036040b0243190f0b15052b0b0001021900000009150a01110e0304050d0b020b0036000b011102431536071505140b020b0036040b0143190f0b15021a000000092c0a01070a21030505080b0001020a020a0036040a0143190f07150a02070a22031405290a02110e031805210b010b0036000b021102431536071505280b010b0036040b0243190f0b15052b0b0001021b01000009040b00370041150200040100010200000001020002020203000300020101020100140114021403140414081409140a1400","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"critbit_v","friends":[],"exposed_functions":[{"name":"borrow_at_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u64"],"return":["u128","&T0"]},{"name":"borrow_at_index_mut","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u64"],"return":["u128","&mut T0"]},{"name":"destroy_empty","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>"],"return":[]},{"name":"empty","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>"],"return":["bool"]},{"name":"find","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u128"],"return":["u64"]},{"name":"get_max_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>"],"return":["u64"]},{"name":"get_min_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>"],"return":["u64"]},{"name":"insert","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u128","T0"],"return":[]},{"name":"is_null_index","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["u64"],"return":["bool"]},{"name":"new","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":[],"return":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>"]},{"name":"next_in_order","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u64"],"return":["u64"]},{"name":"next_in_reverse_order","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u64"],"return":["u64"]},{"name":"null_index_value","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":[],"return":["u64"]},{"name":"remove","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&mut 0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>","u64"],"return":["u128","T0"]},{"name":"size","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<T0>"],"return":["u64"]}],"structs":[{"name":"CritbitTree","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"root","type":"u64"},{"name":"tree","type":"vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::TreeNode>"},{"name":"min_index","type":"u64"},{"name":"max_index","type":"u64"},{"name":"entries","type":"vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::DataNode<T0>>"}]},{"name":"DataNode","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"key","type":"u128"},{"name":"parent","type":"u64"},{"name":"value","type":"T0"}]},{"name":"TreeNode","is_native":false,"abilities":["copy","drop","store"],"generic_type_params":[],"fields":[{"name":"mask","type":"u128"},{"name":"parent","type":"u64"},{"name":"left_child","type":"u64"},{"name":"right_child","type":"u64"}]}]}},{"bytecode":"0xa11ceb0b050000000a01000c020c1e032a5c0486011c05a2014b07ed01f30108e0034006a00494010ab405230cd7059a02000001010102010301040005000600000007000000080000000900010001000a0000000b0000000c0000000d00010100000e020100000f0301010000100001010000110201010000120001010005140105000415020700021609010100030d000101000117010b00021801120100030f13010100021907120100031102010100031009010100040608080908020c020d020e020f021002110b080c080d080e080f0802060c030001060c04060c020a020a02020c060c010c0109000105010b0301090003060c05030201020102010805010806010801010802010804010800010105060c0a020a020201020c050966616b655f636f696e08636861696e5f696404636f696e0c6d616e616765645f636f696e067369676e657209617574686f726974790341555803425443034554480846616b65436f696e03534f4c04555344430455534454046275726e0b696e69745f6d6f64756c650a696e697469616c697a65046d696e740872656769737465721172656769737465725f616e645f6d696e740b64756d6d795f6669656c640f6765745f7369676e65725f73656c660a616464726573735f6f66087472616e73666572036765741369735f636f696e5f696e697469616c697a65641569735f6163636f756e745f72656769737465726564bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010a020f0e46616b6520436f696e20555344430a020504555344430a020f0e46616b6520436f696e20555344540a020504555344540a020e0d46616b6520436f696e204254430a0204034254430a020e0d46616b6520436f696e204554480a0204034554480a020e0d46616b6520436f696e20534f4c0a020403534f4c0a020e0d46616b6520436f696e204155580a020403415558000201130101020113010202011301030201130104020113010502011301060201130100010400040f11060c020e020c030a0338000b000a0311070a0138010b030b01380202010000000a33110a0c020a023101220307050c0b023105220c01050e090c010b01031105300a0031060700070138030a0031060702070338040a0031080704070538050a0031080706070738060a0031080708070938070b003106070a070b380805320b0001020200000001163809200304050a0a000b020b030b0108380a0a001107380b20031005130b00380c05150b00010203010400140a0b0011070c0311060c020e020b030b01380d0204010400070e0a0011070c010b01380b200308050b0b00380c050d0b0001020501040014140a0011070c030a03380b200308050b0b00380c050d0b000111060c020e020b030b01380d0200","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"fake_coin","friends":[],"exposed_functions":[{"name":"burn","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"mint","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","u64"],"return":[]},{"name":"register","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer"],"return":[]},{"name":"register_and_mint","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["&signer","u64"],"return":[]}],"structs":[{"name":"AUX","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"BTC","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"ETH","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"FakeCoin","is_native":false,"abilities":[],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"SOL","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"USDC","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]},{"name":"USDT","is_native":false,"abilities":[],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]}]}},{"bytecode":"0xa11ceb0b050000000f01002002206d038d01d30404e005b001059007a90a07b911b01008e9214006a9228f0410b826e5090a9d30eb010b8832080c9032f3410d8374420ec5741a0fdf7402000101020103010401050106010700080009000a000b000c000d000e000f001000110600001208020001000100130600001406000015040000160802000100010017080200010001001808020001000100190600001a0600001b0600001c0400001d0600001e0600001f0600032c04010601023d040100010a4d07010000094d04010000066f0700088601000000200001020000002102010200000022000102000000230201020000002403000200000025040002000000260500020000002706070000280800000029070000002a0900020000002b0a0b020000002d0c0d020000002e0e00020000002f0f10020000003011000200000031120002000000321200020000003312000200000034030002000000350001020000003600130200000037140d0200000038000102000000390001020000003a150d020000003b1613020000003c1713020000003e1819020000003f1a0d02000000401b0002000000411c0002000000421c0002000000430d010100004400010200000045050002000009651f01010009661f01010009672021010009681f0101000e690300000e6a2313000c6b232300056c000100096d25260100096e280101000670002b0100047112230006722d230007731213000274002e01000d752f0b0007760030000f772313000f781200000f79231301000f7a23000100097b00310104017c123301060a7d370001000b7e3a01000b7f3a01000e80013b0b01000e81013b0b01000e82013b0b01000e83013b0b01000d84010d01000385013c0001060587010001000f88013e0001000e89013b0b01000c8a01233000098b0140000100098c01254201000a6e430101000a6d442601000a7b003701000a8b01460001000a654a0101000a674c210100098d0120010100098e0120010100098f011f1301000a664a0101000a8c01444201000b90012313000a8e014c010100029101575801000292012313010002930112000100029401590001000295015a5801000296015b000100011d240825082608031d2708151d24242c240e1d201d2d2426241f1d2e2a2e2c322a322c372c382c39083a323a343a353b07212a3e2c3f2a402c412c3e2a4332403d413d452c462c462a463d4335392448242d0849084a074b072c084c074d0748083a484e074f075008510843483a4e3a4f434e131d434f5208530743340c1d54070b1d56071a1d1b1d161d0d1d0f1d1d1d191d572c582c592c5a2c5b2a5c2a572a582a592a5a2a5b2c5c2c412a402a00010301060b05020900090102060c0503060c050403060c03030a0404030303010503030301080b01080405060c0504030102070b05020900090103010405070b0f01080d06080b06080b030402030303070b05020900090106080b0505070b0502090009010405030102080b0102070b050209000901080b01060c010104070b05020900090107080b03030c070b050209000901050103030303040301030304060b05020900090107080b030103060b05020900090107080b0308050b100109000b100109010103030304020b100109000b100109010805070b10010900070b1001090101030303040c060c050103030304030301030304080b0304070b0f01080c0209000901020306080401060b1201090002060b120109000302040609000c010104070b05020900090103070b07020900090105080b04030503010501080902070b1201090003020409000c060809080b060104070b050209000901060b0702090009010503060305010302060b120109000414010b0f01080c0b0f01080e060c020203030b120108040b12010804030b0f01080d020408130c0208130505010900010813010901010608130102020404010c010b1201090001080d010b0f01090001080c01080e010b1101080b010b1101090006080b04070b0502090009010501032a03010304070b0f01080d0405030303030303010304070b0f01080d010405030303030304050303070b07020900090105030303050503010403030302050302050402070b0f0109000900010814030503031604010304070b12010809050303010304070b0f01080e0c04070b0702090009010504050303030303070b1201090004090009070b12010804070b1201080404070804080403080b03070b12010804020407090002060b110109000402070b11010900030b070b12010804070b12010804040b1101080b040308040708040304070b1201080403070b110109000409000e08000303060804060804060b05020900090106080b06080b03030a08080a0808060b12010804060b12010804010800010a080801060b1101090001080802060b11010900030803030802060804060804060b050209000901060b12010804060b1201080401080201080a0108030e060b120108040306080403060b05020900090103060b07020900090105080a06080b0403060809060b1201080435070b120108040303040304050303040103070b0f01080d07080b06080b0304070b0f01080d07080b06080b0303040101010104050303080b080b03080c080c080b0708040804030406080b07080b03080b0303030303070b12010804030354070b1201080401070b12010804030101010104050304030403070b0f01080c04050303040503070b0f01080c070b1201080403070b12010804030304050303030403070b0f01080c070b05020900090107080b0301010103070b05020900090107080b03010104050303040403070b0f01080c040503030403070b0f01080c03070b0f01080c030301080b030306080407080403080b040306080b0303070b1201080403030703030303030303040303030312010c01010b100109000b100109000303070b050209000901060c0b100109010b1001090103050303030502070b1001090003010b1001090002050b1001090002060c0302070b100109000b100109000701010103070b050209000901030502070b070209000901030b0405030304030303080c0404210101010406080406080408040708040804080407080408040303070b050209000901030303030303010404080b080b06080b080b06080b080b03030306726f757465720b636c6f625f6d61726b6574076163636f756e7404636f696e056576656e74067369676e65720974696d657374616d7009747970655f696e666f09617574686f72697479086175785f636f696e076372697462697409637269746269745f76036665650e6f6e636861696e5f7369676e6572047574696c057661756c740e766f6c756d655f747261636b65720e416c6c4f72646572734576656e740e416c6c4f726465727353746f7265074c324576656e74074c3251756f7465054c6576656c064d61726b65740f4d61726b65744461746153746f7265104f70656e4f726465724163636f756e74124f70656e4f726465724576656e74496e666f0d4f70656e4f72646572496e666f0f4f70656e4f72646572734576656e74054f72646572104f7264657243616e63656c4576656e740e4f7264657246696c6c4576656e74104f72646572506c616365644576656e740b626573745f61736b5f61750e626573745f61736b5f70726963650b626573745f6269645f61750e626573745f6269645f70726963650a63616e63656c5f616c6c0c63616e63656c5f6f726465720d6372656174655f6d61726b65740c6372656174655f6f726465721364657374726f795f656d7074795f6c6576656c0d64657374726f795f6f7264657211666173745f63616e63656c5f6f726465721167656e65726174655f6f726465725f69640b4576656e7448616e646c650b68616e646c655f66696c6c1368616e646c655f706c616365645f6f7264657212696e6e65725f63616e63656c5f6f726465720c696e736572745f6f726465721a6c6f61645f616c6c5f6f72646572735f696e746f5f6576656e74166c6f61645f6d61726b65745f696e746f5f6576656e741b6c6f61645f6f70656e5f6f72646572735f696e746f5f6576656e74276c6f61645f6f70656e5f6f72646572735f696e746f5f6576656e745f666f725f61646472657373086c6f745f73697a650d6d61726b65745f657869737473056d617463680c6e5f61736b5f6c6576656c730c6e5f6269645f6c6576656c73096e65775f6f726465721c6f726465725f70726963655f776f7273655f7468616e5f6c696d69740f6f726465725f77696c6c5f66696c6c04436f696e12706c6163655f6d61726b65745f6f7264657216706c6163655f6d61726b65745f6f726465725f6d75740b706c6163655f6f726465721470726f636573735f63616e63656c5f6f726465722970726f636573735f63616e63656c5f776974686f75745f6f70656e5f6f726465725f6163636f756e740971756f74655f717479097469636b5f73697a65177570646174655f6d61726b65745f706172616d6574657204626964730461736b7310616c6c5f6f726465735f6576656e7473057072696365087175616e746974790e746f74616c5f7175616e74697479066f72646572730b43726974626974547265650d6e6578745f6f726465725f69640d626173655f646563696d616c730e71756f74655f646563696d616c730b66696c6c5f6576656e74730d63616e63656c5f6576656e74730d706c616365645f6576656e7473096c325f6576656e7473126f70656e5f6f72646572735f6576656e74730b6f70656e5f6f72646572730269640f636c69656e745f6f726465725f6964166175785f61755f746f5f6275726e5f7065725f6c6f740669735f626964086f776e65725f69641174696d656f75745f74696d657374616d700a6f726465725f74797065086f726465725f6964056f776e65720a63616e63656c5f71747908626173655f717479067265626174650d72656d61696e696e675f717479037174790473697a650d6765745f6d696e5f696e6465780f626f72726f775f61745f696e6465780d6765745f6d61785f696e646578276173736572745f7472616465725f69735f617574686f72697a65645f666f725f6163636f756e740f6861735f6175785f6163636f756e74126765745f7369676e65725f61646472657373106e6f775f6d6963726f7365636f6e64730672656d6f76650466696e640854797065496e666f07747970655f6f660a616464726573735f6f660f6163636f756e745f616464726573730f69735f7369676e65725f6f776e657208646563696d616c73036578700f6765745f7369676e65725f73656c6620676c6f62616c5f766f6c756d655f747261636b65725f726567697374657265641e72656769737465725f676c6f62616c5f766f6c756d655f747261636b65721669735f636f696e5f766f6c756d655f747261636b65641e72656769737465725f636f696e5f666f725f766f6c756d655f747261636b036e6577106e65775f6576656e745f68616e646c650d64657374726f795f656d7074790974616b65725f6665650c6d616b65725f72656261746515696e6372656173655f757365725f62616c616e63651c64656372656173655f756e617661696c61626c655f62616c616e63651a696e6372656173655f617661696c61626c655f62616c616e63651564656372656173655f757365725f62616c616e6365097375625f6d696e5f300a656d69745f6576656e7407417578436f696e0b6e6f775f7365636f6e6473157570646174655f766f6c756d655f747261636b65721a64656372656173655f617661696c61626c655f62616c616e63650a6765745f7369676e657206696e7365727413626f72726f775f61745f696e6465785f6d7574156e6578745f696e5f726576657273655f6f726465720d6e6578745f696e5f6f7264657205656d7074790a6665655f65786973747307657874726163741569735f6163636f756e745f72656769737465726564087265676973746572076465706f736974087769746864726177056d65726765bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010308c9000000000000000308ca00000000000000030800e1f505000000000308c8000000000000000308000000000000008003081f000000000000000308130000000000000003081000000000000000030806000000000000000308050000000000000003080900000000000000030814000000000000000308150000000000000003081700000000000000030816000000000000000308190000000000000003080c000000000000000308070000000000000003081a000000000000000308210000000000000003082000000000000000030802000000000000000308040000000000000003082600000000000000030803000000000000000308180000000000000003081b0000000000000003081c000000000000000308230000000000000003080100000000000000030811000000000000000308220000000000000003081d000000000000000308080000000000000003080a0000000000000003082500000000000000030824000000000000000308120000000000000003080b0000000000000003080e0000000000000003081e0000000000000003080d0000000000000003080f000000000000000308650000000000000003086600000000000000030864000000000000000308ffffffffffffffff03086800000000000000030867000000000000000101010520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541126170746f733a3a6d657461646174615f7630d00926010000000000000029455f4f4e4c595f4d4f44554c455f5055424c49534845525f43414e5f4352454154455f4d41524b455400020000000000000017455f4d41524b45545f414c52454144595f4558495354530003000000000000001a455f4d495353494e475f4155585f555345525f4143434f554e5400040000000000000017455f4d41524b45545f444f45535f4e4f545f455849535400050000000000000016455f494e53554646494349454e545f42414c414e43450006000000000000001a455f494e53554646494349454e545f4155585f42414c414e43450007000000000000000f455f494e56414c49445f53544154450008000000000000000e455f544553545f4641494c55524500090000000000000018455f494e53554646494349454e545f4c4951554944495459000a000000000000001d455f554e41424c455f544f5f46494c4c5f4d41524b45545f4f52444552000b000000000000000d455f554e524541434841424c45000c000000000000001b455f494e56414c49445f524f555445525f4f524445525f54595045000d000000000000001a455f555345525f4645455f4e4f545f494e495449414c495a4544000e000000000000000d455f554e535550504f52544544000f000000000000001d455f564f4c554d455f545241434b45525f554e5245474953544552454400100000000000000013455f4645455f554e494e495449414c495a454400110000000000000011455f4f524445525f4e4f545f464f554e4400120000000000000015455f554e494d504c454d454e5445445f4552524f5200130000000000000012455f4641494c45445f494e56415249414e5400140000000000000012455f494e56414c49445f415247554d454e5400150000000000000012455f494e56414c49445f4f524445525f494400160000000000000012455f494e56414c49445f5155414e544954590017000000000000000f455f494e56414c49445f505249434500180000000000000011455f4e4f545f4f524445525f4f574e455200190000000000000018455f494e56414c49445f51554f54455f5155414e54495459001a000000000000001a455f494e56414c49445f5449434b5f4f525f4c4f545f53495a45001b0000000000000011455f4e4f5f41534b535f494e5f424f4f4b001c0000000000000011455f4e4f5f424944535f494e5f424f4f4b001d0000000000000015455f534c4944455f544f5f5a45524f5f5052494345001e000000000000001d455f554e535550504f525445445f5354505f414354494f4e5f54595045001f0000000000000014455f43414e43454c5f57524f4e475f4f5244455200200000000000000018455f4c4556454c5f53484f554c445f4e4f545f454d50545900210000000000000011455f4c4556454c5f4e4f545f454d50545900220000000000000021455f4f524445525f4e4f545f494e5f4f50454e5f4f524445525f4143434f554e5400230000000000000018455f4e4f5f4f50454e5f4f52444552535f4143434f554e5400240000000000000020455f554e415554484f52495a45445f464f525f4d41524b45545f55504441544500250000000000000022455f554e415554484f52495a45445f464f525f4d41524b45545f4352454154494f4e00260000000000000015455f4d41524b45545f4e4f545f5550444154494e4700000202460a0a0808470a0a0808010201480b0f010800020202460a0803470a080303020249034a0404020349034b044c0b1101080b05020a460b12010804470b120108044e034f02500235034403510b0f01080d520b0f01080c530b0f01080e060202540b0f010802550b0f01080a070201560b1201080908020a5704580449034a0359035a015b055c035d03060309020249035a010a0201560a08080b020a5704580449034a0359035a015b055c035d0306030c02065e0458045f05600306035d030d020a5e0458045a015f05610349030c036203630306030e02075e0458045f055a01640349030603051d071d011d061d0001000105020607323d000c000b00380002010100001e180a003700380106000000000000000024030a0b0001071a270a00370038020c010b0037000b0138030c02010b02100114020201000105020607323d000c000b00380402030100001e180a003701380106000000000000000024030a0b0001071b270a00370138050c010b0037010b0138030c02010b021001140204010402050722500b000a0111280a01112903080718273806030c0716270a01112a0c080a083b010314071c270b083c010c0707323c000c05112b0c0d0a07370238070c060a05370314350c040a0606000000000000000024032a054b0b06060100000000000000170c060a0736020a06380813090c030c0b0c0a0a050b0a0a010b0b0b0338090c020c090b02034105480b090a0d0a040a053604380a054a0b09110905250b07010b05010205010402050727580b000a0111280a01112903080718273806030c07162707323c000c070a01112a0c090a093b0103190b0701071c270b093d010c080a0837020a02380b0c0a0a0a070422032b0b08010b0701071e270b0837020b0a380c0c03010a0310060c0b0b0310070c050a070b020b010b0b140b051438090c0d0c04112b0c0e0b0d200347054c0b07010b041109020a07370314350c060b040b0e0b060b073604380d0206010400297d380e0c11380f0c140a00112f0c160e1111300a1622030d05130e1411300b16220c030515090c030b030318051e0b001131031d07232705200b000138100c0f38110c13320a0000000000000000000000000000000a0f3511330c100a01350a0235180a101a32000000000000000000000000000000002403350712270a01350a0235180b10193200000000000000000000000000000000210341071227380620034607152711340c1207320c150a15113520034f05510e1211360a15381220035605580b1538130e120c060b0f0c070b130c080b010c090b020c0a38140c0b38140c0c0e1238150c0e0e1238160c040e1238170c050b060b0b0b0c0600000000000000000b070b080b090b0a0b0e0b040b0539003f000207000000000c0b000b010b020b030b040b050b060b070b080b09120b020800000036100e0010081432000000000000000000000000000000002103080713270b0013040c0101010b0138180209000000000d0b00130b01010101010101010101020a0104020507382e0b000a0111280a01112903080718273806030c07162707323c000c070a070b020b010b030b0438090c090c05112b0c0a0b0920031d05220b07010b051109020a07370314350c060b050b0a0b060b073604380d020b0000002f1a072e0b0117350c020b0231402f0c020b020a0037051435160c030a00370514060100000000000000160b003605150b03020c0000010739b602112b0c2c0a01100a140c280a02100a140c1f0a02100b140c250a250a0338190c260a01100c140c2a07310319051e0600000000000000000600000000000000000c100c0505260a280a26113c0a1f0a26113d0c100c050b050b100c200c290600000000000000000c2d0600000000000000000c2e0a2a033105480b2d0a03160c2d0b2e0a26160a29160c2e0a1f0a260a201635381a010a1f0a0335381b0105630a1f0a2635381c010a1f0a260a201735381d010a1f0a0335381e010b2d0a03160c2d0b2e0a26160a29170c2e0731200367056e07320a290a201735381a010a01100d140c2b0a000c090b2b0c170a280c180a030c190a250c1a0b290c1b0a01100e140a033411420c1d0a01100c140c060a2c0c070b01100f140c080b090b170b080b060b180b190b1a0b1b0600000000000000000b1d0b07120d381f0a02100e140a033411420c210a021010140600000000000000002403aa0105bc010a02101014350a0335180b041a0c1e0a1f0a1e3820010a1f0b1e3821010b000c150a02100d140c0a0a1f0c0b0b030c0c0b250c0d0b200c0f0a210c110b2a200c120b2c0c130a02100f140c140b150b0a0b140b120b0b0b0c0b0d0600000000000000000b0f0b110b13120d381f0b210600000000000000002103e701058a020a1f112a0c230a233b0103f1010b0201071c270b233c010c220a2237020b02100d14380b0c240a240704220383020b2201071f270b2236020b2438080101058c020b0201073211440a2638220a281135039402059f020a28381220039902059b020a2838130b2811440a2638220a1f38122003a40205a8020a1f11350c1605aa02090c160b1603ad0205af020a1f38130b1f11440b2638220b2d0b2e020d000001073f8f01112b0c180a01100d140c130a00370314350c100a01100a140c140a140a022103190b01010b00010711270a01100e140c170a01100b140c160a160a1738190c150a01100c14032a05300a020b153538230105350a020a17353824010a0110101406000000000000000024033c05480b020a01101014350a1735180b101a3825010b0036060c0e0b130c030a140c080b160c090b170c0a0a01100c140c0b0b180c0c0a01100f140c0d0b0e0b030b0d0b080b0b0b0a0b090b0c120e38260a14112a0c120a123b0120036f05760b1411470c0f0e0f382739013f010b123c010c110b1136020c070a01100d140c060a01100c140c040b01100b140c050b070b060b050b0412093828020e000000417b0b04030305070b0036010c05050a0b0036000c050b050c0d0a0d0b03350c070c060b062e0b0738290c0a0a0a070421031b052a0b0d010a010b01060000000000000000060000000000000000060000000000000000090b02072e072d060000000000000000110709020a0d0a0a382a0c08010a0810120a01382b0c0c0a0c0704210339054a0b0d010b08010a010b01060000000000000000060000000000000000060000000000000000090b02072e072d060000000000000000110709020a080f120b0c382c0c0b010e0b100a140b0221035c0b0d010b08010719270a081008140e0b100e1435170a080f08150b08100814320000000000000000000000000000000021036e05760b0d0b0a382d0c09010b09110805780b0d010b0b08020f00000045550e01100c14030505090b0036010c02050c0b0036000c020b020c0c0e01100b14350c0b0a0c0a0b0c040c030b032e0b0438290c0a0a0a0704210321053d382e0c050e01100e14350c060e01100b140c070b070b060b0512040c080d080f120e01100d140b01382f0b0c0b0b0b08383005540b0c0b0a382a0c09010a091008140e01100e1435160a090f08150b090f120e01100d140b01382f0210010402010547d801380603060b00010716270a00112f3b0220030c05110a000a00383139023f02404900000000000000004049000000000000000012000c0107323d000c060a063701380106000000000000000024031f05730a0637010c0d0a0d38050c020a02070422032a05710a0d0a0238030c04010a04101238320c09404b00000000000000000c0b0a0906000000000000000024033a05660b09060100000000000000170c090a0410120a0938330c07010d0b0a07100d140a07100f140a07100b140a07100e140a071010140a07100c140a07100a140a071013140a071014140b071015141208444b05350b04010d010f160b0b44490a0d0b0238340c0205250b0d010a063700380106000000000000000024037a05cf010b0637000c0e0a0e38020c030a0307042203850105cc010a0e0a0338030c05010a05101238320c0a404b00000000000000000c0c0a0a0600000000000000002403950105c1010b0a060100000000000000170c0a0a0510120a0a38330c08010d0c0a08100d140a08100f140a08100b140a08100e140a081010140a08100c140a08100a140a081013140a081014140b081015141208444b0590010b05010d010f170b0c44490a0e0b0338350c030580010b0e0105d1010b06010b00112f3c0236070b013836021101040205064d74380603060b00010716270a00112f3b0320030c05130a000a0038370a00383839033f03405000000000000000004050000000000000000012020c0307323d000c060a063701380106000000000000000024032105420a0637010c070a0738050c010a01070422032c05400a070a0138030c04010d030f190a041001140b04100814120344500a070b0138340c0105270b07010a0637003801060000000000000000240349056b0b0637000c080a0838020c020a02070422035405680a080a0238030c05010d030f1a0a051001140b05100814120344500a080b0238350c02054f0b0801056d0b06010b00112f3c0336080b033839021201040305060700050a000b00112f383a021301040305060751a301380603060b00010716270a00112f3b0320030c05130a000a0038370a00383839033f030b01112a0c090b093d010c080a08370238070c070600000000000000000c03404b0000000000000000120a0c0a07323d000c060a030a0723032a0598010a0837020a03380c0c0e0c0c0a0e100714033505390a0637010c02053c0a0637000c020b020c0f0a0f0b0e1006143538290c050a0507042203530b0f010b00010b08010b0601071e270b0f0b0538030c04010a0410120b0c382b0c0d0a0d070422036b0b00010b08010b06010b0401071e270b0410120b0d38330c0b010d0a0f1c0a0b100d140a0b100f140a0b100b140a0b100e140a0b1010140a0b100c140a0b100a140a0b1013140a0b1014140b0b1015141208444b0b03060100000000000000160c0305250b08010b06010b00112f3c0336090b0a383b021401000105020b3806030407162707323d000c000b003703140215010000000307323b0002160000010752e8030a01100c14030505090a0036000c04050c0a0036010c040b040c360a01100b140c320600000000000000000c370600000000000000000c380a00370314350c2c0a362e383c20032105280a01100e14060000000000000000240c0e052a090c0e0b0e032d05e5030a01100c14033205370a362e38020c18053b0a362e38050c180b180c2f0a360a2f382a0c29010a291001140c2b0a01100c14034b05500a2b0a32250c1b0552090c1b0b1b03550558080c1d05670a01100c1420035e05630b2b0a32260c1c0565090c1c0b1c0c1d0b1d036a05db030a29100814320000000000000000000000000000000024037105780a01100e14060000000000000000240c1e057a090c1e0b1e037d05cb030a291012383d0c310a2910120a3138330c2d010a2d1013140a0225038e0105a8010b2d010a290f120b31382c0c30010a291008140e30100e1435170a290f08150b300a020a2c0a003604380d056a0a01100a140a2d100a142103b10105c8020b2d010a0307032103b0020a0307002103bc0105e3010a01100d140c1f0a01100a140c200a01100e140c050a020c060a01100f140c070a011014140c080b1f0b070b200b050b060b08120c0c260a0036040b26383e0600000000000000000a010f0e1505cb030a0307012103e80105a6020a290f120b31382c0c24010a291008140e24100e1435170a290f08150b240a020a2c0a003604380d0a01100d140c090a01100a140c0a0a01100e140c0b0a020c0c0a01100f140c0d0a011014140c0f0b090b0d0b0a0b0b0b0c0b0f120c0c270a0036040b27383e0600000000000000000a010f0e1505cb030b01010b36010b00010b29010728270a290f120b31382c0c23010a291008140e23100e1435170a290f08150b230a020a2c0a003604380d056a0a2d100e140c250a250a01100e142503d302058b030a00360a0a010b2d0a250a2c0c140c130c120c110c100b100b112e0b120b130b14383f0c340c210b370b21160c370b380b34160c380a01100e140b25170a010f0e150a290f120b31382c0c28010a291008140e28100e1435170a290f08150b28110905ca030a01100e140c330a00360a0a010b2d0b330a2c0c1a0c190c170c160c150b150b162e0b170b190b1a383f0c350c220b370b22160c370b380b35160c380a290f120b3138400c2e010a2e100e140a01100e14170b2e0f0e150a291008140a01100e1435170a290f08150600000000000000000a010f0e15056a0b2910081432000000000000000000000000000000002103d20305da030a360b2f382d0c2a010b2a110805e40305e4030b01010b36010b00010b290105e503051b0b370b38021701000105020b3806030407162707323d000c000b0037003801021801000105020b3806030407162707323d000c000b003701380102190000010753ef040731200304050b0a011155030b0b00010707270a00370b140c5e0a003703140c560a040a561906000000000000000022031a051e0b0001070e270a030b5e1906000000000000000022032505290b0001070d27112b0c5f0a000a0538410c580a580a070a030a040b050a020a010a0a0a060a5f120b0c570a06072b21034005c5030600000000000000000c520a02034505490a0036000c0c054c0a0036010c0c0b0c0c5d0a5d2e380106000000000000000021035505780b5d010b0036040c4d0b580c170e57100a140c210e57100e140c2c0b5f0c370b070c420b060c4c0b4d0b170b420b210b2c0b370b4c120c383e0b571109060000000000000000060000000000000000020a02037b0580010a5d2e38020c4e0584010a5d2e38050c4e0b4e0c530a53070422038b010590010a520a04230c0d059201090c0d0b0d039501059f030a5d0a530c0f0c0e0b0e2e0b0f38030c54010a0203a20105a9010a541001140a03250c1005ab01090c100b1003ae0105b101080c1205c0010a022003b50105bc010a541001140a03260c1105be01090c110b110c120b120c500b5003c5010597030a541012383d0c590a5907042203ce0105d3010a520a04230c1305d501090c130b1303d80105fe020a5410120a5938330c5a010a5a100a140a012103e50105d8020a0b07002103ea010591020b5d010b5a010b54010b0036040c1b0b580c140e57100a140c150e57100e140c160b5f0c180b070c190b060c1a0b1b0b140b190b150b160b180b1a120c383e0b571109060000000000000000060000000000000000020a0b07012103960205d8020b5a010b54010b5d0b53382a0c55010a550f120b59382c0c51010a551008140e51100e1435170b550f08150b510a5f0b56350a003604380d0b0036040c230b580c1c0e57100a140c1d0e57100e140c1e0b5f0c1f0b070c200b060c220b230b1c0b200b1d0b1e0b1f0b22120c383e0b571109060000000000000000060000000000000000020a5a1013140a5f2603df0205f6020a040a52170c5c0b5c0a5a100e142303ea0205ef020b5a010a040c5205f5020b520b5a100e14160c5205f8020b5a010a5410120b5938420c5905c9010b54010a02038303058d030a5d0b530c250c240b242e0b2538350c28059c030a5d0b530c270c260b262e0b2738340c28059c030b5d010b5401059f030b280c530586010b520b042303a40305c5030b0036040c300b580c290e57100a140c2a0e57100e140c2b0b5f0c2d0b070c2e0b060c2f0b300b290b2e0b2a0b2b0b2d0b2f120c383e0b571109060000000000000000060000000000000000020b0a0a5f2503ca0305cd03080c3605e6030a06072f2103d20305e2030a000d570a080b090c340c330c320c310b312e0b320b330b3438430c3505e403090c350b350c360b3603e90305ec03080c3c0582040a0607302103f10305fe030a000d570b080c3a0c390c380b382e0b390b3a38440c3b058004090c3b0b3b0c3c0b3c03850405a6040b0036040c440b580c3d0e57100a140c3e0e57100e140c3f0b5f0c400b070c410b060c430b440b3d0b410b3e0b3f0b400b43120c383e0b571109060000000000000000060000000000000000020a000d570a5f0b0b38450c5b0c4f0e57100e140600000000000000002403b40405e8040a06072b2203bc040b00010711270a06072c2103c10405e0040b0036040c4b0b580c450e57100a140c460e57100e140c470b5f0c480b070c490b060c4a0b4b0b450b490b460b470b480b4a120c383e0b57110905e7040a000e570b0138460b000b57384705ec040b00010b5711090b4f0b5b021a000000549b010a00370b140c0a0a01100b140c080a01100c14030d05540a0037013801060000000000000000210314051a0b01010b000108020a0038040c06072e0c040a0037003801060000000000000000240326052a0b0038000c04052c0b00010b03032f053f0b060b020a0a18160c090a090a0426033a053e0b040b0a170c0905450b060b020b0a18170c090a090b0825034a05500b090b010f0b1509020b010108020a003700380106000000000000000021035b05610b01010b000108020a0038000c050600000000000000000c070a003701380106000000000000000024036d05710b0038040c0705730b00010b0303760586010b050b020a0a18170c090a090a07250381010585010b070b0a160c09058c010b050b020b0a18160c090a090b08260391010597010b090b010f0b1509020b010108021b00000055770a00370b140c060a01100b140c050a01100c14030d05470a0037003801060000000000000000210314051a0b01010b000109020b0038000c030a050a0323032205260b010109020b050a03170a06160b020a061825033105430a030a061706000000000000000024033b0b01010720270b030b06170b010f0b1509020b010108020a003701380106000000000000000021034e05540b01010b000109020b0038040c040a050a0424035c05600b010109020a040b05170a06160b020a061825036b05730b040b06160b010f0b1509020b010108021c0100020507000e0b000d010d020b030b040b050b060b07384801010b010b02021d010002050756a601380603080b02010b010107162707323c000c100a04072b2103100513080c0805170a04072c210c080b0803210b02010b10010b01010710270a103703140c0f0a10370b140c180b060a0f1a0b0f180c170b050a181a0b18180c160b100b000a030b160b170600000000000000000b040b0706000000000000000009072e070038490c140c0e07320c1911340c090e090c110a0e06000000000000000022034f05540a14060000000000000000220c0a0556090c0a0b0a0359058c010b03035c05740b020a1434384a0c120732384b20036605680a11384c0b190b12384d0b110a0e34384e0c0c0b010b0c384f058b010b010a0e3438500c0d0732385120037e0580010a1138520b190b0d38530b110a143438540c130b020b13385505a3010b02010b11010b01010a0e06000000000000000022039701059a01080c0b059e010a14060000000000000000220c0b0b0b03a10105a3010711270b0e0b14021e01040205075c6d0b000a0111280a01112903080718270a011135030d072a273806031107162707323c000c100b100a010a020b030b040b050a070b060b080b090b0a0b0b38490c110c0f0a0f060000000000000000220328052d0a11060000000000000000220c0c052f090c0c0b0c0332055b0a070730220337053c0b07072f220c0d053e090c0d0b0d03420711270b02034505500a010b1135381d010b010b0f35381e01055a0a010b1135381a010b010b0f35385601056c0b0f0600000000000000002203600563080c0e05670b11060000000000000000220c0e0b0e036a056c071127021f000001075d230e00100a14112a3c010c040a0437020e00100d14380b0c050a0507042203170b04010b0301071f270b0436020b05380801010b000b010b020b03380a02200000005e5d0e00100e140c0b0e00100d140c040e00100a140c050e00100e140c060b010c070e00100f140c080e001014140c090b040b080b050b060b070b09120c0c0c0b030b0c383e0e00100c14032a05360e00100a140e00100b140b0b381935381c01053f0e00100a140e00100e14353857010e001010140c0a0e00100e14350c0e0b0a350b0e180b021a0c0d0a0d3200000000000000000000000000000000240354055a0e00100a140b0d3820010b0011090221000000000c0b00350b013518320a00000000000000000000000000000038103511331a34022201000105020b3806030407162707323d000c000b00370b14022301040205075fc7030a00112f0732220306050c0b001131030b072427050e0b000138060312071627112b0c2307323c000c11320a0000000000000000000000000000000a11370c143511330c060a02350a0135180a061a320000000000000000000000000000000024032c0b11010712270a02350a0135180b0619320000000000000000000000000000000021033a0b11010712270a010a11370b142203410544080c03054a0a020a11370314220c030b0303500b11010717270a113703140a02220c180a11370138010c120600000000000000000c0f0a11370314350c190a0f0a12230366058a020a1137010a0f38030c07010b071001140a011906000000000000000022037505a0010a1136010a0f382d0c0b010e0b101238320c140a14060000000000000000240384010595010b14060100000000000000170c140d0b0f120a14382c0c1b010b1b0a230a190a113604380d057f32000000000000000000000000000000000d0b0f08150b0b11080b12060100000000000000170c120589020a1136010a0f382a0c0d010a0d101238320c170600000000000000000c210a210a172303b10105f1010a0d10120a2138330c1f010a1f101014060000000000000000240a181f03c00105c5010b1f01080c0505cd010b1f100e140a0219060000000000000000220c050b0503d00105ec010a0d0f120a21382c0c20010a0d1008140e20100e1435170a0d0f08150b200a230a190a113604380d0b17060100000000000000170c1705f0010b21060100000000000000160c2105ac010b0d10081432000000000000000000000000000000002103f8010585020a1136010a0f382d0c0e010b0e11080b12060100000000000000170c120589020b0f060100000000000000160c0f05610a11370038010c130600000000000000000c100a11370314350c1a0a100a1323039a0205be030a1137000a1038030c08010b081001140a01190600000000000000002203a90205d4020a1136000a10382d0c09010e09101238320c150a150600000000000000002403b80205c9020b15060100000000000000170c150d090f120a15382c0c1c010b1c0a230a1a0a113604380d05b30232000000000000000000000000000000000d090f08150b0911080b13060100000000000000170c1305bd030a1136000a10382a0c0a010a0a101238320c160600000000000000000c220a220a162303e50205a5030a0a10120a2238330c1d010a1d101014060000000000000000240a181f03f40205f9020b1d01080c040581030b1d100e140a0219060000000000000000220c040b0403840305a0030a0a0f120a22382c0c1e010a0a1008140e1e100e1435170a0a0f08150b1e0a230a1a0a113604380d0b16060100000000000000170c1605a4030b22060100000000000000160c2205e0020b0a10081432000000000000000000000000000000002103ac0305b9030a1136000a10382d0c0c010b0c11080b13060100000000000000170c1305bd030b10060100000000000000160c100595020b020a113603150b010b11360b150205010400050007000505050809000901040105020b060b020b050b000b030b010b04050904020b070b080b090000000101000200020106000a000601050705060503001d021d031d041d051d091d111d181d1b1d1d1d1e1d1f1d201d000000","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"clob_market","friends":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::router"],"exposed_functions":[{"name":"best_ask_au","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"best_ask_price","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Market<T0, T1>"],"return":["u64"]},{"name":"best_bid_au","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"best_bid_price","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Market<T0, T1>"],"return":["u64"]},{"name":"cancel_all","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","address"],"return":[]},{"name":"cancel_order","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","address","u128"],"return":[]},{"name":"create_market","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]},{"name":"fast_cancel_order","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","address","u128","u64","bool"],"return":[]},{"name":"load_all_orders_into_event","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer"],"return":[]},{"name":"load_market_into_event","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer"],"return":[]},{"name":"load_open_orders_into_event","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer"],"return":[]},{"name":"load_open_orders_into_event_for_address","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","address"],"return":[]},{"name":"lot_size","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"market_exists","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["bool"]},{"name":"n_ask_levels","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"n_bid_levels","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"place_market_order","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","0x1::coin::Coin<T0>","0x1::coin::Coin<T1>","bool","u64","u64","u64","u128"],"return":["0x1::coin::Coin<T0>","0x1::coin::Coin<T1>"]},{"name":"place_market_order_mut","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["address","&mut 0x1::coin::Coin<T0>","&mut 0x1::coin::Coin<T1>","bool","u64","u64","u64","u128"],"return":["u64","u64"]},{"name":"place_order","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","address","bool","u64","u64","u64","u128","u64","u64","bool","u64","u64"],"return":[]},{"name":"tick_size","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":[],"return":["u64"]},{"name":"update_market_parameter","visibility":"public","is_entry":true,"is_view":false,"generic_type_params":[{"constraints":[]},{"constraints":[]}],"params":["&signer","u64","u64"],"return":[]}],"structs":[{"name":"AllOrdersEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"bids","type":"vector<vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderEventInfo>>"},{"name":"asks","type":"vector<vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderEventInfo>>"}]},{"name":"AllOrdersStore","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"all_ordes_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::AllOrdersEvent>"}]},{"name":"L2Event","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"bids","type":"vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Quote>"},{"name":"asks","type":"vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Quote>"}]},{"name":"L2Quote","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"price","type":"u64"},{"name":"quantity","type":"u128"}]},{"name":"Level","is_native":false,"abilities":["store"],"generic_type_params":[],"fields":[{"name":"price","type":"u64"},{"name":"total_quantity","type":"u128"},{"name":"orders","type":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit_v::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Order>"}]},{"name":"Market","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"bids","type":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Level>"},{"name":"asks","type":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::Level>"},{"name":"next_order_id","type":"u64"},{"name":"base_decimals","type":"u8"},{"name":"quote_decimals","type":"u8"},{"name":"lot_size","type":"u64"},{"name":"tick_size","type":"u64"},{"name":"fill_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderFillEvent>"},{"name":"cancel_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderCancelEvent>"},{"name":"placed_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OrderPlacedEvent>"}]},{"name":"MarketDataStore","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"l2_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::L2Event>"},{"name":"open_orders_events","type":"0x1::event::EventHandle<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrdersEvent>"}]},{"name":"OpenOrderAccount","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]},{"constraints":[]}],"fields":[{"name":"open_orders","type":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::critbit::CritbitTree<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderInfo>"}]},{"name":"OpenOrderEventInfo","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"id","type":"u128"},{"name":"client_order_id","type":"u128"},{"name":"price","type":"u64"},{"name":"quantity","type":"u64"},{"name":"aux_au_to_burn_per_lot","type":"u64"},{"name":"is_bid","type":"bool"},{"name":"owner_id","type":"address"},{"name":"timeout_timestamp","type":"u64"},{"name":"order_type","type":"u64"},{"name":"timestamp","type":"u64"}]},{"name":"OpenOrderInfo","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"price","type":"u64"},{"name":"is_bid","type":"bool"}]},{"name":"OpenOrdersEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"open_orders","type":"vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market::OpenOrderEventInfo>"}]},{"name":"Order","is_native":false,"abilities":["store"],"generic_type_params":[],"fields":[{"name":"id","type":"u128"},{"name":"client_order_id","type":"u128"},{"name":"price","type":"u64"},{"name":"quantity","type":"u64"},{"name":"aux_au_to_burn_per_lot","type":"u64"},{"name":"is_bid","type":"bool"},{"name":"owner_id","type":"address"},{"name":"timeout_timestamp","type":"u64"},{"name":"order_type","type":"u64"},{"name":"timestamp","type":"u64"}]},{"name":"OrderCancelEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"order_id","type":"u128"},{"name":"client_order_id","type":"u128"},{"name":"owner","type":"address"},{"name":"cancel_qty","type":"u64"},{"name":"timestamp","type":"u64"},{"name":"order_type","type":"u64"}]},{"name":"OrderFillEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"order_id","type":"u128"},{"name":"client_order_id","type":"u128"},{"name":"is_bid","type":"bool"},{"name":"owner","type":"address"},{"name":"base_qty","type":"u64"},{"name":"price","type":"u64"},{"name":"fee","type":"u64"},{"name":"rebate","type":"u64"},{"name":"remaining_qty","type":"u64"},{"name":"timestamp","type":"u64"}]},{"name":"OrderPlacedEvent","is_native":false,"abilities":["drop","store"],"generic_type_params":[],"fields":[{"name":"order_id","type":"u128"},{"name":"client_order_id","type":"u128"},{"name":"owner","type":"address"},{"name":"is_bid","type":"bool"},{"name":"qty","type":"u64"},{"name":"price","type":"u64"},{"name":"timestamp","type":"u64"}]}]}},{"bytecode":"0xa11ceb0b050000000a01000e020e26033439046d4005ad017907a602fb0108a1044006e104220a8305050c8805e603000001010102000300040005000600070800050c00010001051300000514000005150000051600000517000005180000011908000008000102000000090201020000000a020100040d0104020000040e0001020000030f01040200000310060102000002110108000612020100030304030503050506030009000a000b000c000d000e000f0010031104110312041205110513061105120514061201150109010a010b010c010d010e010f011003060c03030001060c020b010109000b010109010101020b010109010b0101090002060c0304010101020102020802080302080208040208050803020805080402080608030208060804020807080302080708040208080b010108030208080b01010804020b010108030808020b01010804080802080208050c66616b655f6d61726b6574730a6170746f735f636f696e08636861696e5f696403616d6d0b636c6f625f6d61726b65740966616b655f636f696e057661756c740b496e697469616c697a6564126372656174655f66616b655f6d61726b6574106372656174655f66616b655f706f6f6c0b696e69745f6d6f64756c650b64756d6d795f6669656c640846616b65436f696e0d6d61726b65745f6578697374730d6372656174655f6d61726b65740b706f6f6c5f6578697374730b6372656174655f706f6f6c036765740c6372656174655f7661756c7403425443045553444304555344540345544803534f4c03415558094170746f73436f696ebd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410002010b0100000000010c380020030405090b000b010b023801050b0b000102010000000414380220030405083803200c01050a090c010b01030d05110b00061e00000000000000380405130b0001020200000007840111070c0407002900030605090b0001020a000912002d000a04310122031205170b043105220c010519090c010b01031c0581010a0011080a0006a08601000000000006102700000000000038050a0006a08601000000000006102700000000000038060a0006102700000000000006102700000000000038070a0006102700000000000006102700000000000038080a0006809698000000000006102700000000000038090a00068096980000000000061027000000000000380a0a0006a086010000000000061027000000000000380b0a0006a086010000000000061027000000000000380c380d20034205460a0006a086010000000000061027000000000000380e380f20034a054e0a0006a0860100000000000610270000000000003810381120035205563812200c020558090c020b02035b055e0a00061e000000000000003813381420036205663815200c030568090c030b03036b056e0a00061e0000000000000038160a0038170a0038180a0038190a00381a0a00381b0a00381c0a00381d0a00381e0b00381f0583010b00010200","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"fake_markets","friends":[],"exposed_functions":[],"structs":[{"name":"Initialized","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"dummy_field","type":"bool"}]}]}},{"bytecode":"0xa11ceb0b050000000c01000a020a0803122f0441040545340779a302089c034006dc032e0a8a04080c9204730d8505040f8905060003010401050106010700080800010e06000009000100000a020300000b020200000c020400031000020002110607010004120901010001130a0b0001140c03000502060801060c000105010c01010705050801060c0a0208010c01060900010a02010202070a09000a090002060c0a02020c0801010608010b636c6f625f6d61726b6574057661756c740e766f6c756d655f747261636b65720e6f6e636861696e5f7369676e6572076163636f756e7403626373067369676e657206766563746f720d4f6e636861696e5369676e6572156372656174655f6f6e636861696e5f7369676e65720a6765745f7369676e6572126765745f7369676e65725f61646472657373126861735f6f6e636861696e5f7369676e6572117369676e65725f6361706162696c697479105369676e65724361706162696c6974790f6163636f756e745f616464726573730a616464726573735f6f6608746f5f627974657306617070656e64176372656174655f7265736f757263655f6163636f756e741d6372656174655f7369676e65725f776974685f6361706162696c697479bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54100000000000000000000000000000000000000000000000000000000000000010520bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb5410a0209086175782d757365720002020d08010f050003000005230a0011042900200306052007000c010e0138000c050d05070138010a000b0511070c060c070b000c040e0711040c020b060c030b040b030b0212002d0005220b000102010300010001050b002b001000110802020300010001050b002b00100114020303000001030b002900020000000100000001000200","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"onchain_signer","friends":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::vault","0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker"],"exposed_functions":[{"name":"create_onchain_signer","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]},{"name":"get_signer","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["signer"]},{"name":"get_signer_address","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["address"]},{"name":"has_onchain_signer","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["bool"]}],"structs":[{"name":"OnchainSigner","is_native":false,"abilities":["key"],"generic_type_params":[],"fields":[{"name":"signer_capability","type":"0x1::account::SignerCapability"},{"name":"account_address","type":"address"}]}]}},{"bytecode":"0xa11ceb0b050000000f01000402040e031236044802054a3707810192030893042006b3043c10ef045d0acc051c0be805020cea05f1030ddb09100eeb09020fed09020001000200030801000100040400000504000006000101000007020300000802030100000902040100000a050400000b06040100011302020001140203000115020c00011605040002080205030104010501010001060c0305030305060a0801030304070802010900010801020105030a0801030c010c050305030708010708020b636c6f625f6d61726b65740e766f6c756d655f747261636b65720e6f6e636861696e5f7369676e65721253696e676c654173736574547261636b65720b566f6c756d65456e7472790d566f6c756d65547261636b6572166765745f706173745f33305f6461795f766f6c756d6520676c6f62616c5f766f6c756d655f747261636b65725f726567697374657265641669735f636f696e5f766f6c756d655f747261636b65641e72656769737465725f636f696e5f666f725f766f6c756d655f747261636b1e72656769737465725f676c6f62616c5f766f6c756d655f747261636b6572157570646174655f766f6c756d655f747261636b657206766f6c756d650974696d657374616d700364617911696e697469616c5f74696d657374616d700662756666657212706173745f33305f646179735f746f74616c0f6c6173745f7570646174655f646179126765745f7369676e65725f61646472657373126861735f6f6e636861696e5f7369676e65720a6765745f7369676e6572156372656174655f6f6e636861696e5f7369676e6572bd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb54103081e000000000000000308000000000000000003080100000000000000030880510100000000000308020000000000000003080300000000000000126170746f733a3a6d657461646174615f7630490200000000000000001c45434f494e5f414c52454144595f564f4c554d455f545241434b45440001000000000000001845434f494e5f4e4f545f564f4c554d455f545241434b4544000002010108020102030c040d030e030202040f03100a0801110412030008000100010007480b0011063c0036000c060b010a061001141707031a0c040a061002140a0421031405180b06100314020a0610040c0232000000000000000000000000000000000c050600000000000000000c030a030700230324053c0a020a0342091005140700160a0426032f05370b050a020a034209100614160c050b03060100000000000000160c03051f0b02010a050a060f03150b040b060f02150b05020101000004030b00110702020100000a100a0011072003050508090c01050e0b0011060c020b023b000c010b0102030300000b2b0a00110103050705270a00380020030b070127400900000000000000000c010600000000000000000c020a020700230314051f0d013200000000000000000000000000000000060000000000000000060000000000000000120144090b02060100000000000000160c02050f0b0011080c030e030600000000000000000b013200000000000000000000000000000000060000000000000000120239003f00020401000004030b0011090205030001000d3d0a00380003050702270b0011060c040b043c0036000c070a010a071001141707031a0c030a03070034190c050b070f040b0543090c060a061005140a03220325052f0b030a060f05150b02350a060f061505380a061006140b0235160a060f06150b010b060f071502000002000203020202010102010001010008000000","abi":{"address":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541","name":"volume_tracker","friends":["0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::clob_market"],"exposed_functions":[{"name":"get_past_30_day_volume","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u64"],"return":["u128"]},{"name":"global_volume_tracker_registered","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["address"],"return":["bool"]},{"name":"is_coin_volume_tracked","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address"],"return":["bool"]},{"name":"register_coin_for_volume_track","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address"],"return":[]},{"name":"register_global_volume_tracker","visibility":"public","is_entry":false,"is_view":false,"generic_type_params":[],"params":["&signer"],"return":[]},{"name":"update_volume_tracker","visibility":"friend","is_entry":false,"is_view":false,"generic_type_params":[{"constraints":[]}],"params":["address","u64","u64"],"return":[]}],"structs":[{"name":"SingleAssetTracker","is_native":false,"abilities":["key"],"generic_type_params":[{"constraints":[]}],"fields":[{"name":"volume_tracker","type":"0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::VolumeTracker"}]},{"name":"VolumeEntry","is_native":false,"abilities":["store"],"generic_type_params":[],"fields":[{"name":"volume","type":"u128"},{"name":"timestamp","type":"u64"},{"name":"day","type":"u64"}]},{"name":"VolumeTracker","is_native":false,"abilities":["store"],"generic_type_params":[],"fields":[{"name":"initial_timestamp","type":"u64"},{"name":"buffer","type":"vector<0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541::volume_tracker::VolumeEntry>"},{"name":"past_30_days_total","type":"u128"},{"name":"last_update_day","type":"u64"}]}]}}]',
2084
+ );
2085
+
2086
+ export function loadAllTypes(coder: MoveCoder) {
2087
+ _0x1.loadAllTypes(coder);
2088
+ for (const m of Object.values(MODULES)) {
2089
+ coder.load(m as any);
2090
+ }
2091
+ }
2092
+
2093
+ loadAllTypes(defaultMoveCoder());