@o2exchange/contracts 0.0.1 → 0.1.8

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 (98) hide show
  1. package/README.md +4 -39
  2. package/dist/OrderBook.d.ts +549 -0
  3. package/dist/OrderBook.d.ts.map +1 -0
  4. package/dist/OrderBook.js +3460 -0
  5. package/dist/OrderBook.js.map +1 -0
  6. package/dist/OrderBookBlacklist.d.ts +155 -0
  7. package/dist/OrderBookBlacklist.d.ts.map +1 -0
  8. package/dist/OrderBookBlacklist.js +379 -0
  9. package/dist/OrderBookBlacklist.js.map +1 -0
  10. package/dist/OrderBookBlacklistFactory.d.ts +9 -0
  11. package/dist/OrderBookBlacklistFactory.d.ts.map +1 -0
  12. package/dist/OrderBookBlacklistFactory.js +21 -0
  13. package/dist/OrderBookBlacklistFactory.js.map +1 -0
  14. package/dist/OrderBookFactory.d.ts +9 -0
  15. package/dist/OrderBookFactory.d.ts.map +1 -0
  16. package/dist/OrderBookFactory.js +21 -0
  17. package/dist/OrderBookFactory.js.map +1 -0
  18. package/dist/OrderBookProxy.d.ts +192 -0
  19. package/dist/OrderBookProxy.d.ts.map +1 -0
  20. package/dist/OrderBookProxy.js +850 -0
  21. package/dist/OrderBookProxy.js.map +1 -0
  22. package/dist/OrderBookProxyFactory.d.ts +9 -0
  23. package/dist/OrderBookProxyFactory.d.ts.map +1 -0
  24. package/dist/OrderBookProxyFactory.js +21 -0
  25. package/dist/OrderBookProxyFactory.js.map +1 -0
  26. package/dist/OrderBookRegistry.d.ts +237 -0
  27. package/dist/OrderBookRegistry.d.ts.map +1 -0
  28. package/dist/OrderBookRegistry.js +676 -0
  29. package/dist/OrderBookRegistry.js.map +1 -0
  30. package/dist/OrderBookRegistryFactory.d.ts +9 -0
  31. package/dist/OrderBookRegistryFactory.d.ts.map +1 -0
  32. package/dist/OrderBookRegistryFactory.js +21 -0
  33. package/dist/OrderBookRegistryFactory.js.map +1 -0
  34. package/dist/OrderBookRegistryProxy.d.ts +192 -0
  35. package/dist/OrderBookRegistryProxy.d.ts.map +1 -0
  36. package/dist/OrderBookRegistryProxy.js +850 -0
  37. package/dist/OrderBookRegistryProxy.js.map +1 -0
  38. package/dist/OrderBookRegistryProxyFactory.d.ts +9 -0
  39. package/dist/OrderBookRegistryProxyFactory.d.ts.map +1 -0
  40. package/dist/OrderBookRegistryProxyFactory.js +21 -0
  41. package/dist/OrderBookRegistryProxyFactory.js.map +1 -0
  42. package/dist/OrderBookWhitelist.d.ts +155 -0
  43. package/dist/OrderBookWhitelist.d.ts.map +1 -0
  44. package/dist/OrderBookWhitelist.js +379 -0
  45. package/dist/OrderBookWhitelist.js.map +1 -0
  46. package/dist/OrderBookWhitelistFactory.d.ts +9 -0
  47. package/dist/OrderBookWhitelistFactory.d.ts.map +1 -0
  48. package/dist/OrderBookWhitelistFactory.js +21 -0
  49. package/dist/OrderBookWhitelistFactory.js.map +1 -0
  50. package/dist/TradeAccount.d.ts +472 -0
  51. package/dist/TradeAccount.d.ts.map +1 -0
  52. package/dist/TradeAccount.js +2846 -0
  53. package/dist/TradeAccount.js.map +1 -0
  54. package/dist/TradeAccountFactory.d.ts +9 -0
  55. package/dist/TradeAccountFactory.d.ts.map +1 -0
  56. package/dist/TradeAccountFactory.js +21 -0
  57. package/dist/TradeAccountFactory.js.map +1 -0
  58. package/dist/TradeAccountOracle.d.ts +161 -0
  59. package/dist/TradeAccountOracle.d.ts.map +1 -0
  60. package/dist/TradeAccountOracle.js +1013 -0
  61. package/dist/TradeAccountOracle.js.map +1 -0
  62. package/dist/TradeAccountOracleFactory.d.ts +9 -0
  63. package/dist/TradeAccountOracleFactory.d.ts.map +1 -0
  64. package/dist/TradeAccountOracleFactory.js +21 -0
  65. package/dist/TradeAccountOracleFactory.js.map +1 -0
  66. package/dist/TradeAccountProxy.d.ts +335 -0
  67. package/dist/TradeAccountProxy.d.ts.map +1 -0
  68. package/dist/TradeAccountProxy.js +1421 -0
  69. package/dist/TradeAccountProxy.js.map +1 -0
  70. package/dist/TradeAccountProxyFactory.d.ts +9 -0
  71. package/dist/TradeAccountProxyFactory.d.ts.map +1 -0
  72. package/dist/TradeAccountProxyFactory.js +21 -0
  73. package/dist/TradeAccountProxyFactory.js.map +1 -0
  74. package/dist/TradeAccountRegistry.d.ts +271 -0
  75. package/dist/TradeAccountRegistry.d.ts.map +1 -0
  76. package/dist/TradeAccountRegistry.js +839 -0
  77. package/dist/TradeAccountRegistry.js.map +1 -0
  78. package/dist/TradeAccountRegistryFactory.d.ts +9 -0
  79. package/dist/TradeAccountRegistryFactory.d.ts.map +1 -0
  80. package/dist/TradeAccountRegistryFactory.js +21 -0
  81. package/dist/TradeAccountRegistryFactory.js.map +1 -0
  82. package/dist/TradeAccountRegistryProxy.d.ts +192 -0
  83. package/dist/TradeAccountRegistryProxy.d.ts.map +1 -0
  84. package/dist/TradeAccountRegistryProxy.js +850 -0
  85. package/dist/TradeAccountRegistryProxy.js.map +1 -0
  86. package/dist/TradeAccountRegistryProxyFactory.d.ts +9 -0
  87. package/dist/TradeAccountRegistryProxyFactory.d.ts.map +1 -0
  88. package/dist/TradeAccountRegistryProxyFactory.js +21 -0
  89. package/dist/TradeAccountRegistryProxyFactory.js.map +1 -0
  90. package/dist/common.d.ts +24 -0
  91. package/dist/common.d.ts.map +1 -0
  92. package/dist/common.js +3 -0
  93. package/dist/common.js.map +1 -0
  94. package/dist/index.d.ts +23 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +30 -0
  97. package/dist/index.js.map +1 -0
  98. package/package.json +71 -8
@@ -0,0 +1,2846 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* eslint-disable max-classes-per-file */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ /* eslint-disable @typescript-eslint/consistent-type-imports */
5
+ /*
6
+ Fuels version: 0.103.0
7
+ */
8
+ import { Contract as __Contract, Interface } from "fuels";
9
+ export var CallerErrorInput;
10
+ (function (CallerErrorInput) {
11
+ CallerErrorInput["InvalidCaller"] = "InvalidCaller";
12
+ })(CallerErrorInput || (CallerErrorInput = {}));
13
+ ;
14
+ export var CallerErrorOutput;
15
+ (function (CallerErrorOutput) {
16
+ CallerErrorOutput["InvalidCaller"] = "InvalidCaller";
17
+ })(CallerErrorOutput || (CallerErrorOutput = {}));
18
+ ;
19
+ export var EncodingInput;
20
+ (function (EncodingInput) {
21
+ EncodingInput["SRC16"] = "SRC16";
22
+ EncodingInput["EIP712"] = "EIP712";
23
+ })(EncodingInput || (EncodingInput = {}));
24
+ ;
25
+ export var EncodingOutput;
26
+ (function (EncodingOutput) {
27
+ EncodingOutput["SRC16"] = "SRC16";
28
+ EncodingOutput["EIP712"] = "EIP712";
29
+ })(EncodingOutput || (EncodingOutput = {}));
30
+ ;
31
+ export var NonceErrorInput;
32
+ (function (NonceErrorInput) {
33
+ NonceErrorInput["InvalidNonce"] = "InvalidNonce";
34
+ })(NonceErrorInput || (NonceErrorInput = {}));
35
+ ;
36
+ export var NonceErrorOutput;
37
+ (function (NonceErrorOutput) {
38
+ NonceErrorOutput["InvalidNonce"] = "InvalidNonce";
39
+ })(NonceErrorOutput || (NonceErrorOutput = {}));
40
+ ;
41
+ export var SessionErrorInput;
42
+ (function (SessionErrorInput) {
43
+ SessionErrorInput["SessionInThePast"] = "SessionInThePast";
44
+ SessionErrorInput["NoApprovedContractIdsProvided"] = "NoApprovedContractIdsProvided";
45
+ })(SessionErrorInput || (SessionErrorInput = {}));
46
+ ;
47
+ export var SessionErrorOutput;
48
+ (function (SessionErrorOutput) {
49
+ SessionErrorOutput["SessionInThePast"] = "SessionInThePast";
50
+ SessionErrorOutput["NoApprovedContractIdsProvided"] = "NoApprovedContractIdsProvided";
51
+ })(SessionErrorOutput || (SessionErrorOutput = {}));
52
+ ;
53
+ export var SignatureErrorInput;
54
+ (function (SignatureErrorInput) {
55
+ SignatureErrorInput["UnrecoverablePublicKey"] = "UnrecoverablePublicKey";
56
+ SignatureErrorInput["InvalidPublicKey"] = "InvalidPublicKey";
57
+ SignatureErrorInput["InvalidSignature"] = "InvalidSignature";
58
+ SignatureErrorInput["InvalidOperation"] = "InvalidOperation";
59
+ })(SignatureErrorInput || (SignatureErrorInput = {}));
60
+ ;
61
+ export var SignatureErrorOutput;
62
+ (function (SignatureErrorOutput) {
63
+ SignatureErrorOutput["UnrecoverablePublicKey"] = "UnrecoverablePublicKey";
64
+ SignatureErrorOutput["InvalidPublicKey"] = "InvalidPublicKey";
65
+ SignatureErrorOutput["InvalidSignature"] = "InvalidSignature";
66
+ SignatureErrorOutput["InvalidOperation"] = "InvalidOperation";
67
+ })(SignatureErrorOutput || (SignatureErrorOutput = {}));
68
+ ;
69
+ export var SignerErrorInput;
70
+ (function (SignerErrorInput) {
71
+ SignerErrorInput["InvalidSigner"] = "InvalidSigner";
72
+ SignerErrorInput["ProxyOwnerIsContract"] = "ProxyOwnerIsContract";
73
+ })(SignerErrorInput || (SignerErrorInput = {}));
74
+ ;
75
+ export var SignerErrorOutput;
76
+ (function (SignerErrorOutput) {
77
+ SignerErrorOutput["InvalidSigner"] = "InvalidSigner";
78
+ SignerErrorOutput["ProxyOwnerIsContract"] = "ProxyOwnerIsContract";
79
+ })(SignerErrorOutput || (SignerErrorOutput = {}));
80
+ ;
81
+ export var WithdrawErrorInput;
82
+ (function (WithdrawErrorInput) {
83
+ WithdrawErrorInput["AmountIsZero"] = "AmountIsZero";
84
+ WithdrawErrorInput["NotEnoughBalance"] = "NotEnoughBalance";
85
+ })(WithdrawErrorInput || (WithdrawErrorInput = {}));
86
+ ;
87
+ export var WithdrawErrorOutput;
88
+ (function (WithdrawErrorOutput) {
89
+ WithdrawErrorOutput["AmountIsZero"] = "AmountIsZero";
90
+ WithdrawErrorOutput["NotEnoughBalance"] = "NotEnoughBalance";
91
+ })(WithdrawErrorOutput || (WithdrawErrorOutput = {}));
92
+ ;
93
+ const abi = {
94
+ "programType": "contract",
95
+ "specVersion": "1.2",
96
+ "encodingVersion": "1",
97
+ "concreteTypes": [
98
+ {
99
+ "type": "()",
100
+ "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
101
+ },
102
+ {
103
+ "type": "b256",
104
+ "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
105
+ },
106
+ {
107
+ "type": "bool",
108
+ "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903"
109
+ },
110
+ {
111
+ "type": "enum contract_schema::src16::Domain",
112
+ "concreteTypeId": "5f05ed49298866d467640c48af64b5e978f95a74358b7050b09adfa77ea558b2",
113
+ "metadataTypeId": 1
114
+ },
115
+ {
116
+ "type": "enum contract_schema::src16::Encoding",
117
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07",
118
+ "metadataTypeId": 2
119
+ },
120
+ {
121
+ "type": "enum contract_schema::trade_account::CallerError",
122
+ "concreteTypeId": "0b65ce7c65308b155a42d67dba9a8f5ec826782ec477a1970fe592016e92d527",
123
+ "metadataTypeId": 3
124
+ },
125
+ {
126
+ "type": "enum contract_schema::trade_account::NonceError",
127
+ "concreteTypeId": "f88b7359b6a93f09790d042f771eb46a798919cde0d85a95d291dae15d746312",
128
+ "metadataTypeId": 4
129
+ },
130
+ {
131
+ "type": "enum contract_schema::trade_account::SessionError",
132
+ "concreteTypeId": "25f7b773d2b66be695d008d06f344b78146367854413f2041eaf21356640e568",
133
+ "metadataTypeId": 5
134
+ },
135
+ {
136
+ "type": "enum contract_schema::trade_account::SignerError",
137
+ "concreteTypeId": "9924f5da95b424d9efb5403e33f96557a6fa8e766014c055159e9c3bd457ca83",
138
+ "metadataTypeId": 6
139
+ },
140
+ {
141
+ "type": "enum contract_schema::trade_account::WithdrawError",
142
+ "concreteTypeId": "ce9db9ff03aafaa4ef9ebd0dac288345a961aff0262337411b6ef4db9df07039",
143
+ "metadataTypeId": 7
144
+ },
145
+ {
146
+ "type": "enum std::crypto::signature::Signature",
147
+ "concreteTypeId": "2a32867dec49ed8ddf6b7d2ed19d53c626d3f593369b5dd82a317d7b300e1c39",
148
+ "metadataTypeId": 8
149
+ },
150
+ {
151
+ "type": "enum std::crypto::signature_error::SignatureError",
152
+ "concreteTypeId": "c95b1133ba0fd973819faa015c9a3bf27edbbef753c977f859ba593b89ae22e5",
153
+ "metadataTypeId": 9
154
+ },
155
+ {
156
+ "type": "enum std::identity::Identity",
157
+ "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335",
158
+ "metadataTypeId": 10
159
+ },
160
+ {
161
+ "type": "enum std::option::Option<enum std::crypto::signature::Signature>",
162
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40",
163
+ "metadataTypeId": 11,
164
+ "typeArguments": [
165
+ "2a32867dec49ed8ddf6b7d2ed19d53c626d3f593369b5dd82a317d7b300e1c39"
166
+ ]
167
+ },
168
+ {
169
+ "type": "enum std::option::Option<struct contract_schema::trade_account::Session>",
170
+ "concreteTypeId": "db4bc0201be00cc6d049122ba4e5eaf2e1a8d67e87ae531c85204a496c41add4",
171
+ "metadataTypeId": 11,
172
+ "typeArguments": [
173
+ "a59f4af5e00bdd0ab9aed213f6b7592136f986fe5f5224aa707f439dbd510aa9"
174
+ ]
175
+ },
176
+ {
177
+ "type": "str",
178
+ "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a"
179
+ },
180
+ {
181
+ "type": "str[12]",
182
+ "concreteTypeId": "d41cd041a54363a3d61ab80537895c873f2315f976fc58def6e5035f6b1f0710"
183
+ },
184
+ {
185
+ "type": "str[1]",
186
+ "concreteTypeId": "6354581bfa62ac188c9f243cc30e1bf38a150773f871be8765351ef8c5db6c1e"
187
+ },
188
+ {
189
+ "type": "struct contract_libs::signature::IncrementNonceEvent",
190
+ "concreteTypeId": "1f60fe48a54d08956985da0422f2d7d44834b7c4d4687f0376f26dce46fe44bf",
191
+ "metadataTypeId": 14
192
+ },
193
+ {
194
+ "type": "struct contract_schema::trade_account::CallContractArg",
195
+ "concreteTypeId": "2e811073316cb5af9b64bcd703b0f5957a35112aa0f1f86782a8fd42b485c3d4",
196
+ "metadataTypeId": 17
197
+ },
198
+ {
199
+ "type": "struct contract_schema::trade_account::CallContractArgs",
200
+ "concreteTypeId": "f5137e8860728aa53b731dc6f4be35633f71e6cf3a24439ae80bb38d7ec67d5e",
201
+ "metadataTypeId": 18
202
+ },
203
+ {
204
+ "type": "struct contract_schema::trade_account::FailedToValidateEvent",
205
+ "concreteTypeId": "98fa03034b6a5a596d6121040d525eabb78d224d2411b6d5d0151727499bbd09",
206
+ "metadataTypeId": 19
207
+ },
208
+ {
209
+ "type": "struct contract_schema::trade_account::MultiCallContractArgs",
210
+ "concreteTypeId": "f4be05417a57a0fa163ebf6c649786e15dc74d541e39b1071bb7cfaa675759ad",
211
+ "metadataTypeId": 20
212
+ },
213
+ {
214
+ "type": "struct contract_schema::trade_account::RevokeArgs",
215
+ "concreteTypeId": "fa245643e7467acf010e5f8b65e5c1b8f23a3973dd24fe755acd630ac3fa7557",
216
+ "metadataTypeId": 21
217
+ },
218
+ {
219
+ "type": "struct contract_schema::trade_account::Session",
220
+ "concreteTypeId": "a59f4af5e00bdd0ab9aed213f6b7592136f986fe5f5224aa707f439dbd510aa9",
221
+ "metadataTypeId": 22
222
+ },
223
+ {
224
+ "type": "struct contract_schema::trade_account::SessionArgs",
225
+ "concreteTypeId": "bb7bd7d8bcce22513cea4a375d13aeff84ff17c9aecf40ae825265179de131be",
226
+ "metadataTypeId": 23
227
+ },
228
+ {
229
+ "type": "struct contract_schema::trade_account::SessionContractCallEvent",
230
+ "concreteTypeId": "55cb585aadd106832bdedaef0a231b5587db28871e2b12e5137ec4cb66b9b829",
231
+ "metadataTypeId": 24
232
+ },
233
+ {
234
+ "type": "struct contract_schema::trade_account::SessionCreatedEvent",
235
+ "concreteTypeId": "6f9ef4e7a983e700685ab472ed2e625822ad32b8f04de92adc81ed60911e5e77",
236
+ "metadataTypeId": 25
237
+ },
238
+ {
239
+ "type": "struct contract_schema::trade_account::SessionRevokedEvent",
240
+ "concreteTypeId": "2765c1864fc179c9ee1938cc4a28acedc0b1c76f0a63434b33149f432eb4e8c3",
241
+ "metadataTypeId": 26
242
+ },
243
+ {
244
+ "type": "struct contract_schema::trade_account::WithdrawArgs",
245
+ "concreteTypeId": "c86b3b5bfe482d7adedfc0fac7d7c73b4fd6e7c97a31a76afa54deeff1d5c49a",
246
+ "metadataTypeId": 27
247
+ },
248
+ {
249
+ "type": "struct contract_schema::trade_account::WithdrawEvent",
250
+ "concreteTypeId": "0e9654327e3d67d706825c5e4e2df18533389b6566d8c1c298c7bd5b5e0c6da5",
251
+ "metadataTypeId": 28
252
+ },
253
+ {
254
+ "type": "struct std::asset_id::AssetId",
255
+ "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974",
256
+ "metadataTypeId": 30
257
+ },
258
+ {
259
+ "type": "struct std::vec::Vec<struct contract_schema::trade_account::CallContractArg>",
260
+ "concreteTypeId": "d5d0add462df804d0d75443e00c45391dcc2f0c5c02c439a798cc7549b528449",
261
+ "metadataTypeId": 41,
262
+ "typeArguments": [
263
+ "2e811073316cb5af9b64bcd703b0f5957a35112aa0f1f86782a8fd42b485c3d4"
264
+ ]
265
+ },
266
+ {
267
+ "type": "u64",
268
+ "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
269
+ }
270
+ ],
271
+ "metadataTypes": [
272
+ {
273
+ "type": "[_; 64]",
274
+ "metadataTypeId": 0,
275
+ "components": [
276
+ {
277
+ "name": "__array_element",
278
+ "typeId": 43
279
+ }
280
+ ]
281
+ },
282
+ {
283
+ "type": "enum contract_schema::src16::Domain",
284
+ "metadataTypeId": 1,
285
+ "components": [
286
+ {
287
+ "name": "SRC16Domain",
288
+ "typeId": 16
289
+ },
290
+ {
291
+ "name": "EIP712Domain",
292
+ "typeId": 15
293
+ }
294
+ ]
295
+ },
296
+ {
297
+ "type": "enum contract_schema::src16::Encoding",
298
+ "metadataTypeId": 2,
299
+ "components": [
300
+ {
301
+ "name": "SRC16",
302
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
303
+ },
304
+ {
305
+ "name": "EIP712",
306
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "type": "enum contract_schema::trade_account::CallerError",
312
+ "metadataTypeId": 3,
313
+ "components": [
314
+ {
315
+ "name": "InvalidCaller",
316
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
317
+ }
318
+ ]
319
+ },
320
+ {
321
+ "type": "enum contract_schema::trade_account::NonceError",
322
+ "metadataTypeId": 4,
323
+ "components": [
324
+ {
325
+ "name": "InvalidNonce",
326
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "type": "enum contract_schema::trade_account::SessionError",
332
+ "metadataTypeId": 5,
333
+ "components": [
334
+ {
335
+ "name": "SessionInThePast",
336
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
337
+ },
338
+ {
339
+ "name": "NoApprovedContractIdsProvided",
340
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "type": "enum contract_schema::trade_account::SignerError",
346
+ "metadataTypeId": 6,
347
+ "components": [
348
+ {
349
+ "name": "InvalidSigner",
350
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
351
+ },
352
+ {
353
+ "name": "ProxyOwnerIsContract",
354
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "type": "enum contract_schema::trade_account::WithdrawError",
360
+ "metadataTypeId": 7,
361
+ "components": [
362
+ {
363
+ "name": "AmountIsZero",
364
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
365
+ },
366
+ {
367
+ "name": "NotEnoughBalance",
368
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "type": "enum std::crypto::signature::Signature",
374
+ "metadataTypeId": 8,
375
+ "components": [
376
+ {
377
+ "name": "Secp256k1",
378
+ "typeId": 35
379
+ },
380
+ {
381
+ "name": "Secp256r1",
382
+ "typeId": 36
383
+ },
384
+ {
385
+ "name": "Ed25519",
386
+ "typeId": 34
387
+ }
388
+ ]
389
+ },
390
+ {
391
+ "type": "enum std::crypto::signature_error::SignatureError",
392
+ "metadataTypeId": 9,
393
+ "components": [
394
+ {
395
+ "name": "UnrecoverablePublicKey",
396
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
397
+ },
398
+ {
399
+ "name": "InvalidPublicKey",
400
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
401
+ },
402
+ {
403
+ "name": "InvalidSignature",
404
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
405
+ },
406
+ {
407
+ "name": "InvalidOperation",
408
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
409
+ }
410
+ ]
411
+ },
412
+ {
413
+ "type": "enum std::identity::Identity",
414
+ "metadataTypeId": 10,
415
+ "components": [
416
+ {
417
+ "name": "Address",
418
+ "typeId": 29
419
+ },
420
+ {
421
+ "name": "ContractId",
422
+ "typeId": 33
423
+ }
424
+ ]
425
+ },
426
+ {
427
+ "type": "enum std::option::Option",
428
+ "metadataTypeId": 11,
429
+ "components": [
430
+ {
431
+ "name": "None",
432
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
433
+ },
434
+ {
435
+ "name": "Some",
436
+ "typeId": 12
437
+ }
438
+ ],
439
+ "typeParameters": [
440
+ 12
441
+ ]
442
+ },
443
+ {
444
+ "type": "generic T",
445
+ "metadataTypeId": 12
446
+ },
447
+ {
448
+ "type": "raw untyped ptr",
449
+ "metadataTypeId": 13
450
+ },
451
+ {
452
+ "type": "struct contract_libs::signature::IncrementNonceEvent",
453
+ "metadataTypeId": 14,
454
+ "components": [
455
+ {
456
+ "name": "nonce",
457
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
458
+ }
459
+ ]
460
+ },
461
+ {
462
+ "type": "struct contract_schema::src16::EIP712Domain",
463
+ "metadataTypeId": 15,
464
+ "components": [
465
+ {
466
+ "name": "name",
467
+ "typeId": 11,
468
+ "typeArguments": [
469
+ {
470
+ "name": "",
471
+ "typeId": 38
472
+ }
473
+ ]
474
+ },
475
+ {
476
+ "name": "version",
477
+ "typeId": 11,
478
+ "typeArguments": [
479
+ {
480
+ "name": "",
481
+ "typeId": 38
482
+ }
483
+ ]
484
+ },
485
+ {
486
+ "name": "chain_id",
487
+ "typeId": 11,
488
+ "typeArguments": [
489
+ {
490
+ "name": "",
491
+ "typeId": 42
492
+ }
493
+ ]
494
+ },
495
+ {
496
+ "name": "verifying_contract",
497
+ "typeId": 11,
498
+ "typeArguments": [
499
+ {
500
+ "name": "",
501
+ "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
502
+ }
503
+ ]
504
+ },
505
+ {
506
+ "name": "salt",
507
+ "typeId": 11,
508
+ "typeArguments": [
509
+ {
510
+ "name": "",
511
+ "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
512
+ }
513
+ ]
514
+ }
515
+ ]
516
+ },
517
+ {
518
+ "type": "struct contract_schema::src16::SRC16Domain",
519
+ "metadataTypeId": 16,
520
+ "components": [
521
+ {
522
+ "name": "name",
523
+ "typeId": 11,
524
+ "typeArguments": [
525
+ {
526
+ "name": "",
527
+ "typeId": 38
528
+ }
529
+ ]
530
+ },
531
+ {
532
+ "name": "version",
533
+ "typeId": 11,
534
+ "typeArguments": [
535
+ {
536
+ "name": "",
537
+ "typeId": 38
538
+ }
539
+ ]
540
+ },
541
+ {
542
+ "name": "chain_id",
543
+ "typeId": 11,
544
+ "typeArguments": [
545
+ {
546
+ "name": "",
547
+ "typeId": 42
548
+ }
549
+ ]
550
+ },
551
+ {
552
+ "name": "verifying_contract",
553
+ "typeId": 11,
554
+ "typeArguments": [
555
+ {
556
+ "name": "",
557
+ "typeId": 33
558
+ }
559
+ ]
560
+ },
561
+ {
562
+ "name": "salt",
563
+ "typeId": 11,
564
+ "typeArguments": [
565
+ {
566
+ "name": "",
567
+ "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
568
+ }
569
+ ]
570
+ }
571
+ ]
572
+ },
573
+ {
574
+ "type": "struct contract_schema::trade_account::CallContractArg",
575
+ "metadataTypeId": 17,
576
+ "components": [
577
+ {
578
+ "name": "contract_id",
579
+ "typeId": 33
580
+ },
581
+ {
582
+ "name": "function_selector",
583
+ "typeId": 31
584
+ },
585
+ {
586
+ "name": "call_params",
587
+ "typeId": 37
588
+ },
589
+ {
590
+ "name": "call_data",
591
+ "typeId": 11,
592
+ "typeArguments": [
593
+ {
594
+ "name": "",
595
+ "typeId": 31
596
+ }
597
+ ]
598
+ }
599
+ ]
600
+ },
601
+ {
602
+ "type": "struct contract_schema::trade_account::CallContractArgs",
603
+ "metadataTypeId": 18,
604
+ "components": [
605
+ {
606
+ "name": "nonce",
607
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
608
+ },
609
+ {
610
+ "name": "call_contract_args",
611
+ "typeId": 17
612
+ }
613
+ ]
614
+ },
615
+ {
616
+ "type": "struct contract_schema::trade_account::FailedToValidateEvent",
617
+ "metadataTypeId": 19,
618
+ "components": [
619
+ {
620
+ "name": "account",
621
+ "typeId": 10
622
+ },
623
+ {
624
+ "name": "reason",
625
+ "typeId": 38
626
+ },
627
+ {
628
+ "name": "timestamp",
629
+ "typeId": 39
630
+ }
631
+ ]
632
+ },
633
+ {
634
+ "type": "struct contract_schema::trade_account::MultiCallContractArgs",
635
+ "metadataTypeId": 20,
636
+ "components": [
637
+ {
638
+ "name": "nonce",
639
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
640
+ },
641
+ {
642
+ "name": "call_contract_args",
643
+ "typeId": 41,
644
+ "typeArguments": [
645
+ {
646
+ "name": "",
647
+ "typeId": 17
648
+ }
649
+ ]
650
+ }
651
+ ]
652
+ },
653
+ {
654
+ "type": "struct contract_schema::trade_account::RevokeArgs",
655
+ "metadataTypeId": 21,
656
+ "components": [
657
+ {
658
+ "name": "nonce",
659
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
660
+ }
661
+ ]
662
+ },
663
+ {
664
+ "type": "struct contract_schema::trade_account::Session",
665
+ "metadataTypeId": 22,
666
+ "components": [
667
+ {
668
+ "name": "session_id",
669
+ "typeId": 10
670
+ },
671
+ {
672
+ "name": "expiry",
673
+ "typeId": 39
674
+ },
675
+ {
676
+ "name": "contract_ids",
677
+ "typeId": 41,
678
+ "typeArguments": [
679
+ {
680
+ "name": "",
681
+ "typeId": 33
682
+ }
683
+ ]
684
+ }
685
+ ]
686
+ },
687
+ {
688
+ "type": "struct contract_schema::trade_account::SessionArgs",
689
+ "metadataTypeId": 23,
690
+ "components": [
691
+ {
692
+ "name": "nonce",
693
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
694
+ },
695
+ {
696
+ "name": "session_id",
697
+ "typeId": 10
698
+ },
699
+ {
700
+ "name": "expiry",
701
+ "typeId": 39
702
+ },
703
+ {
704
+ "name": "contract_ids",
705
+ "typeId": 41,
706
+ "typeArguments": [
707
+ {
708
+ "name": "",
709
+ "typeId": 33
710
+ }
711
+ ]
712
+ }
713
+ ]
714
+ },
715
+ {
716
+ "type": "struct contract_schema::trade_account::SessionContractCallEvent",
717
+ "metadataTypeId": 24,
718
+ "components": [
719
+ {
720
+ "name": "session_id",
721
+ "typeId": 10
722
+ },
723
+ {
724
+ "name": "called_contract",
725
+ "typeId": 33
726
+ },
727
+ {
728
+ "name": "nonce",
729
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
730
+ }
731
+ ]
732
+ },
733
+ {
734
+ "type": "struct contract_schema::trade_account::SessionCreatedEvent",
735
+ "metadataTypeId": 25,
736
+ "components": [
737
+ {
738
+ "name": "account",
739
+ "typeId": 10
740
+ },
741
+ {
742
+ "name": "session",
743
+ "typeId": 22
744
+ }
745
+ ]
746
+ },
747
+ {
748
+ "type": "struct contract_schema::trade_account::SessionRevokedEvent",
749
+ "metadataTypeId": 26,
750
+ "components": [
751
+ {
752
+ "name": "account",
753
+ "typeId": 10
754
+ },
755
+ {
756
+ "name": "session_id",
757
+ "typeId": 10
758
+ }
759
+ ]
760
+ },
761
+ {
762
+ "type": "struct contract_schema::trade_account::WithdrawArgs",
763
+ "metadataTypeId": 27,
764
+ "components": [
765
+ {
766
+ "name": "nonce",
767
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
768
+ },
769
+ {
770
+ "name": "to",
771
+ "typeId": 10
772
+ },
773
+ {
774
+ "name": "amount",
775
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
776
+ },
777
+ {
778
+ "name": "asset_id",
779
+ "typeId": 30
780
+ }
781
+ ]
782
+ },
783
+ {
784
+ "type": "struct contract_schema::trade_account::WithdrawEvent",
785
+ "metadataTypeId": 28,
786
+ "components": [
787
+ {
788
+ "name": "account",
789
+ "typeId": 10
790
+ },
791
+ {
792
+ "name": "to",
793
+ "typeId": 10
794
+ },
795
+ {
796
+ "name": "amount",
797
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
798
+ },
799
+ {
800
+ "name": "asset_id",
801
+ "typeId": 30
802
+ },
803
+ {
804
+ "name": "timestamp",
805
+ "typeId": 39
806
+ }
807
+ ]
808
+ },
809
+ {
810
+ "type": "struct std::address::Address",
811
+ "metadataTypeId": 29,
812
+ "components": [
813
+ {
814
+ "name": "bits",
815
+ "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
816
+ }
817
+ ]
818
+ },
819
+ {
820
+ "type": "struct std::asset_id::AssetId",
821
+ "metadataTypeId": 30,
822
+ "components": [
823
+ {
824
+ "name": "bits",
825
+ "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
826
+ }
827
+ ]
828
+ },
829
+ {
830
+ "type": "struct std::bytes::Bytes",
831
+ "metadataTypeId": 31,
832
+ "components": [
833
+ {
834
+ "name": "buf",
835
+ "typeId": 32
836
+ },
837
+ {
838
+ "name": "len",
839
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
840
+ }
841
+ ]
842
+ },
843
+ {
844
+ "type": "struct std::bytes::RawBytes",
845
+ "metadataTypeId": 32,
846
+ "components": [
847
+ {
848
+ "name": "ptr",
849
+ "typeId": 13
850
+ },
851
+ {
852
+ "name": "cap",
853
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
854
+ }
855
+ ]
856
+ },
857
+ {
858
+ "type": "struct std::contract_id::ContractId",
859
+ "metadataTypeId": 33,
860
+ "components": [
861
+ {
862
+ "name": "bits",
863
+ "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
864
+ }
865
+ ]
866
+ },
867
+ {
868
+ "type": "struct std::crypto::ed25519::Ed25519",
869
+ "metadataTypeId": 34,
870
+ "components": [
871
+ {
872
+ "name": "bits",
873
+ "typeId": 0
874
+ }
875
+ ]
876
+ },
877
+ {
878
+ "type": "struct std::crypto::secp256k1::Secp256k1",
879
+ "metadataTypeId": 35,
880
+ "components": [
881
+ {
882
+ "name": "bits",
883
+ "typeId": 0
884
+ }
885
+ ]
886
+ },
887
+ {
888
+ "type": "struct std::crypto::secp256r1::Secp256r1",
889
+ "metadataTypeId": 36,
890
+ "components": [
891
+ {
892
+ "name": "bits",
893
+ "typeId": 0
894
+ }
895
+ ]
896
+ },
897
+ {
898
+ "type": "struct std::low_level_call::CallParams",
899
+ "metadataTypeId": 37,
900
+ "components": [
901
+ {
902
+ "name": "coins",
903
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
904
+ },
905
+ {
906
+ "name": "asset_id",
907
+ "typeId": 30
908
+ },
909
+ {
910
+ "name": "gas",
911
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
912
+ }
913
+ ]
914
+ },
915
+ {
916
+ "type": "struct std::string::String",
917
+ "metadataTypeId": 38,
918
+ "components": [
919
+ {
920
+ "name": "bytes",
921
+ "typeId": 31
922
+ }
923
+ ]
924
+ },
925
+ {
926
+ "type": "struct std::time::Time",
927
+ "metadataTypeId": 39,
928
+ "components": [
929
+ {
930
+ "name": "unix",
931
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
932
+ }
933
+ ]
934
+ },
935
+ {
936
+ "type": "struct std::vec::RawVec",
937
+ "metadataTypeId": 40,
938
+ "components": [
939
+ {
940
+ "name": "ptr",
941
+ "typeId": 13
942
+ },
943
+ {
944
+ "name": "cap",
945
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
946
+ }
947
+ ],
948
+ "typeParameters": [
949
+ 12
950
+ ]
951
+ },
952
+ {
953
+ "type": "struct std::vec::Vec",
954
+ "metadataTypeId": 41,
955
+ "components": [
956
+ {
957
+ "name": "buf",
958
+ "typeId": 40,
959
+ "typeArguments": [
960
+ {
961
+ "name": "",
962
+ "typeId": 12
963
+ }
964
+ ]
965
+ },
966
+ {
967
+ "name": "len",
968
+ "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
969
+ }
970
+ ],
971
+ "typeParameters": [
972
+ 12
973
+ ]
974
+ },
975
+ {
976
+ "type": "u256",
977
+ "metadataTypeId": 42
978
+ },
979
+ {
980
+ "type": "u8",
981
+ "metadataTypeId": 43
982
+ }
983
+ ],
984
+ "functions": [
985
+ {
986
+ "name": "call_contract",
987
+ "inputs": [
988
+ {
989
+ "name": "signature",
990
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
991
+ },
992
+ {
993
+ "name": "call",
994
+ "concreteTypeId": "2e811073316cb5af9b64bcd703b0f5957a35112aa0f1f86782a8fd42b485c3d4"
995
+ }
996
+ ],
997
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
998
+ "attributes": [
999
+ {
1000
+ "name": "doc-comment",
1001
+ "arguments": [
1002
+ " Executes a call to another contract on behalf of the trading account."
1003
+ ]
1004
+ },
1005
+ {
1006
+ "name": "doc-comment",
1007
+ "arguments": [
1008
+ " Allows the account to interact with other contracts (e.g., order books)."
1009
+ ]
1010
+ },
1011
+ {
1012
+ "name": "doc-comment",
1013
+ "arguments": [
1014
+ ""
1015
+ ]
1016
+ },
1017
+ {
1018
+ "name": "doc-comment",
1019
+ "arguments": [
1020
+ " # Arguments"
1021
+ ]
1022
+ },
1023
+ {
1024
+ "name": "doc-comment",
1025
+ "arguments": [
1026
+ ""
1027
+ ]
1028
+ },
1029
+ {
1030
+ "name": "doc-comment",
1031
+ "arguments": [
1032
+ " * `contract_id` - The contract to call"
1033
+ ]
1034
+ },
1035
+ {
1036
+ "name": "doc-comment",
1037
+ "arguments": [
1038
+ " * `forward` - Optional assets to forward with the call"
1039
+ ]
1040
+ },
1041
+ {
1042
+ "name": "doc-comment",
1043
+ "arguments": [
1044
+ " * `args` - Optional encoded arguments for the call"
1045
+ ]
1046
+ },
1047
+ {
1048
+ "name": "doc-comment",
1049
+ "arguments": [
1050
+ ""
1051
+ ]
1052
+ },
1053
+ {
1054
+ "name": "doc-comment",
1055
+ "arguments": [
1056
+ " # Returns"
1057
+ ]
1058
+ },
1059
+ {
1060
+ "name": "doc-comment",
1061
+ "arguments": [
1062
+ ""
1063
+ ]
1064
+ },
1065
+ {
1066
+ "name": "doc-comment",
1067
+ "arguments": [
1068
+ " * `Bytes` - The encoded return value from the called contract"
1069
+ ]
1070
+ },
1071
+ {
1072
+ "name": "doc-comment",
1073
+ "arguments": [
1074
+ ""
1075
+ ]
1076
+ },
1077
+ {
1078
+ "name": "doc-comment",
1079
+ "arguments": [
1080
+ " # Storage Access"
1081
+ ]
1082
+ },
1083
+ {
1084
+ "name": "doc-comment",
1085
+ "arguments": [
1086
+ ""
1087
+ ]
1088
+ },
1089
+ {
1090
+ "name": "doc-comment",
1091
+ "arguments": [
1092
+ " - Reads: Verifies caller permissions (owner or valid session)"
1093
+ ]
1094
+ },
1095
+ {
1096
+ "name": "doc-comment",
1097
+ "arguments": [
1098
+ ""
1099
+ ]
1100
+ },
1101
+ {
1102
+ "name": "doc-comment",
1103
+ "arguments": [
1104
+ " # Security"
1105
+ ]
1106
+ },
1107
+ {
1108
+ "name": "doc-comment",
1109
+ "arguments": [
1110
+ ""
1111
+ ]
1112
+ },
1113
+ {
1114
+ "name": "doc-comment",
1115
+ "arguments": [
1116
+ " - Only callable by account owner or valid session key holder"
1117
+ ]
1118
+ },
1119
+ {
1120
+ "name": "doc-comment",
1121
+ "arguments": [
1122
+ " - Validates forwarded amounts against account balance"
1123
+ ]
1124
+ },
1125
+ {
1126
+ "name": "doc-comment",
1127
+ "arguments": [
1128
+ ""
1129
+ ]
1130
+ },
1131
+ {
1132
+ "name": "doc-comment",
1133
+ "arguments": [
1134
+ " # Events"
1135
+ ]
1136
+ },
1137
+ {
1138
+ "name": "doc-comment",
1139
+ "arguments": [
1140
+ ""
1141
+ ]
1142
+ },
1143
+ {
1144
+ "name": "doc-comment",
1145
+ "arguments": [
1146
+ " - May emit `FailedToValidateEvent` if session validation fails"
1147
+ ]
1148
+ },
1149
+ {
1150
+ "name": "doc-comment",
1151
+ "arguments": [
1152
+ ""
1153
+ ]
1154
+ },
1155
+ {
1156
+ "name": "doc-comment",
1157
+ "arguments": [
1158
+ " # Reverts"
1159
+ ]
1160
+ },
1161
+ {
1162
+ "name": "doc-comment",
1163
+ "arguments": [
1164
+ ""
1165
+ ]
1166
+ },
1167
+ {
1168
+ "name": "doc-comment",
1169
+ "arguments": [
1170
+ " - If caller is not authorized (neither owner nor valid session)"
1171
+ ]
1172
+ },
1173
+ {
1174
+ "name": "doc-comment",
1175
+ "arguments": [
1176
+ " - If insufficient balance for forwarded assets"
1177
+ ]
1178
+ },
1179
+ {
1180
+ "name": "doc-comment",
1181
+ "arguments": [
1182
+ " - If external call fails"
1183
+ ]
1184
+ },
1185
+ {
1186
+ "name": "storage",
1187
+ "arguments": [
1188
+ "read",
1189
+ "write"
1190
+ ]
1191
+ }
1192
+ ]
1193
+ },
1194
+ {
1195
+ "name": "call_contracts",
1196
+ "inputs": [
1197
+ {
1198
+ "name": "signature",
1199
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
1200
+ },
1201
+ {
1202
+ "name": "calls",
1203
+ "concreteTypeId": "d5d0add462df804d0d75443e00c45391dcc2f0c5c02c439a798cc7549b528449"
1204
+ }
1205
+ ],
1206
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
1207
+ "attributes": [
1208
+ {
1209
+ "name": "doc-comment",
1210
+ "arguments": [
1211
+ " Executes multiple calls to other contracts on behalf of the trading account via the trading account owner."
1212
+ ]
1213
+ },
1214
+ {
1215
+ "name": "doc-comment",
1216
+ "arguments": [
1217
+ " Allows the account to interact with other contracts (e.g., order books)."
1218
+ ]
1219
+ },
1220
+ {
1221
+ "name": "doc-comment",
1222
+ "arguments": [
1223
+ ""
1224
+ ]
1225
+ },
1226
+ {
1227
+ "name": "doc-comment",
1228
+ "arguments": [
1229
+ " # Arguments"
1230
+ ]
1231
+ },
1232
+ {
1233
+ "name": "doc-comment",
1234
+ "arguments": [
1235
+ ""
1236
+ ]
1237
+ },
1238
+ {
1239
+ "name": "doc-comment",
1240
+ "arguments": [
1241
+ " * `contract_id` - The contract to call"
1242
+ ]
1243
+ },
1244
+ {
1245
+ "name": "doc-comment",
1246
+ "arguments": [
1247
+ " * `call_params` - Optional assets to forward with the call"
1248
+ ]
1249
+ },
1250
+ {
1251
+ "name": "doc-comment",
1252
+ "arguments": [
1253
+ " * `args` - Optional encoded arguments for the call"
1254
+ ]
1255
+ },
1256
+ {
1257
+ "name": "doc-comment",
1258
+ "arguments": [
1259
+ ""
1260
+ ]
1261
+ },
1262
+ {
1263
+ "name": "doc-comment",
1264
+ "arguments": [
1265
+ " # Returns"
1266
+ ]
1267
+ },
1268
+ {
1269
+ "name": "doc-comment",
1270
+ "arguments": [
1271
+ ""
1272
+ ]
1273
+ },
1274
+ {
1275
+ "name": "doc-comment",
1276
+ "arguments": [
1277
+ " * `Bytes` - The encoded return value from the called contract"
1278
+ ]
1279
+ },
1280
+ {
1281
+ "name": "doc-comment",
1282
+ "arguments": [
1283
+ ""
1284
+ ]
1285
+ },
1286
+ {
1287
+ "name": "doc-comment",
1288
+ "arguments": [
1289
+ " # Storage Access"
1290
+ ]
1291
+ },
1292
+ {
1293
+ "name": "doc-comment",
1294
+ "arguments": [
1295
+ ""
1296
+ ]
1297
+ },
1298
+ {
1299
+ "name": "doc-comment",
1300
+ "arguments": [
1301
+ " - Reads: Verifies caller permissions (owner or valid session)"
1302
+ ]
1303
+ },
1304
+ {
1305
+ "name": "doc-comment",
1306
+ "arguments": [
1307
+ ""
1308
+ ]
1309
+ },
1310
+ {
1311
+ "name": "doc-comment",
1312
+ "arguments": [
1313
+ " # Security"
1314
+ ]
1315
+ },
1316
+ {
1317
+ "name": "doc-comment",
1318
+ "arguments": [
1319
+ ""
1320
+ ]
1321
+ },
1322
+ {
1323
+ "name": "doc-comment",
1324
+ "arguments": [
1325
+ " - Only callable by account owner or valid session key holder"
1326
+ ]
1327
+ },
1328
+ {
1329
+ "name": "doc-comment",
1330
+ "arguments": [
1331
+ " - Validates forwarded amounts against account balance"
1332
+ ]
1333
+ },
1334
+ {
1335
+ "name": "doc-comment",
1336
+ "arguments": [
1337
+ ""
1338
+ ]
1339
+ },
1340
+ {
1341
+ "name": "doc-comment",
1342
+ "arguments": [
1343
+ " # Events"
1344
+ ]
1345
+ },
1346
+ {
1347
+ "name": "doc-comment",
1348
+ "arguments": [
1349
+ ""
1350
+ ]
1351
+ },
1352
+ {
1353
+ "name": "doc-comment",
1354
+ "arguments": [
1355
+ " - May emit `FailedToValidateEvent` if session validation fails"
1356
+ ]
1357
+ },
1358
+ {
1359
+ "name": "doc-comment",
1360
+ "arguments": [
1361
+ ""
1362
+ ]
1363
+ },
1364
+ {
1365
+ "name": "doc-comment",
1366
+ "arguments": [
1367
+ " # Reverts"
1368
+ ]
1369
+ },
1370
+ {
1371
+ "name": "doc-comment",
1372
+ "arguments": [
1373
+ ""
1374
+ ]
1375
+ },
1376
+ {
1377
+ "name": "doc-comment",
1378
+ "arguments": [
1379
+ " - If caller is not the trading account owner"
1380
+ ]
1381
+ },
1382
+ {
1383
+ "name": "doc-comment",
1384
+ "arguments": [
1385
+ " - If insufficient balance for forwarded assets"
1386
+ ]
1387
+ },
1388
+ {
1389
+ "name": "doc-comment",
1390
+ "arguments": [
1391
+ " - If external call fails"
1392
+ ]
1393
+ },
1394
+ {
1395
+ "name": "storage",
1396
+ "arguments": [
1397
+ "read",
1398
+ "write"
1399
+ ]
1400
+ }
1401
+ ]
1402
+ },
1403
+ {
1404
+ "name": "get_current_session",
1405
+ "inputs": [],
1406
+ "output": "db4bc0201be00cc6d049122ba4e5eaf2e1a8d67e87ae531c85204a496c41add4",
1407
+ "attributes": [
1408
+ {
1409
+ "name": "doc-comment",
1410
+ "arguments": [
1411
+ " Returns information about the current active session."
1412
+ ]
1413
+ },
1414
+ {
1415
+ "name": "doc-comment",
1416
+ "arguments": [
1417
+ ""
1418
+ ]
1419
+ },
1420
+ {
1421
+ "name": "doc-comment",
1422
+ "arguments": [
1423
+ " # Returns"
1424
+ ]
1425
+ },
1426
+ {
1427
+ "name": "doc-comment",
1428
+ "arguments": [
1429
+ ""
1430
+ ]
1431
+ },
1432
+ {
1433
+ "name": "doc-comment",
1434
+ "arguments": [
1435
+ " * `Option<Session>` - Session if a session exists, None otherwise"
1436
+ ]
1437
+ },
1438
+ {
1439
+ "name": "doc-comment",
1440
+ "arguments": [
1441
+ ""
1442
+ ]
1443
+ },
1444
+ {
1445
+ "name": "doc-comment",
1446
+ "arguments": [
1447
+ " # Storage Access"
1448
+ ]
1449
+ },
1450
+ {
1451
+ "name": "doc-comment",
1452
+ "arguments": [
1453
+ ""
1454
+ ]
1455
+ },
1456
+ {
1457
+ "name": "doc-comment",
1458
+ "arguments": [
1459
+ " - Reads: Current session data"
1460
+ ]
1461
+ },
1462
+ {
1463
+ "name": "doc-comment",
1464
+ "arguments": [
1465
+ ""
1466
+ ]
1467
+ },
1468
+ {
1469
+ "name": "doc-comment",
1470
+ "arguments": [
1471
+ " # Note"
1472
+ ]
1473
+ },
1474
+ {
1475
+ "name": "doc-comment",
1476
+ "arguments": [
1477
+ ""
1478
+ ]
1479
+ },
1480
+ {
1481
+ "name": "doc-comment",
1482
+ "arguments": [
1483
+ " - Returns the session even if it has expired (caller should check expiry)"
1484
+ ]
1485
+ },
1486
+ {
1487
+ "name": "doc-comment",
1488
+ "arguments": [
1489
+ " - Returns None if no session has been set"
1490
+ ]
1491
+ },
1492
+ {
1493
+ "name": "storage",
1494
+ "arguments": [
1495
+ "read"
1496
+ ]
1497
+ }
1498
+ ]
1499
+ },
1500
+ {
1501
+ "name": "get_nonce",
1502
+ "inputs": [],
1503
+ "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0",
1504
+ "attributes": [
1505
+ {
1506
+ "name": "doc-comment",
1507
+ "arguments": [
1508
+ " Returns the current nonce value for replay protection."
1509
+ ]
1510
+ },
1511
+ {
1512
+ "name": "doc-comment",
1513
+ "arguments": [
1514
+ " Nonce increments with each session-authorized operation."
1515
+ ]
1516
+ },
1517
+ {
1518
+ "name": "doc-comment",
1519
+ "arguments": [
1520
+ ""
1521
+ ]
1522
+ },
1523
+ {
1524
+ "name": "doc-comment",
1525
+ "arguments": [
1526
+ " # Returns"
1527
+ ]
1528
+ },
1529
+ {
1530
+ "name": "doc-comment",
1531
+ "arguments": [
1532
+ ""
1533
+ ]
1534
+ },
1535
+ {
1536
+ "name": "doc-comment",
1537
+ "arguments": [
1538
+ " * `u64` - Current nonce value (starts at 0)"
1539
+ ]
1540
+ },
1541
+ {
1542
+ "name": "doc-comment",
1543
+ "arguments": [
1544
+ ""
1545
+ ]
1546
+ },
1547
+ {
1548
+ "name": "doc-comment",
1549
+ "arguments": [
1550
+ " # Storage Access"
1551
+ ]
1552
+ },
1553
+ {
1554
+ "name": "doc-comment",
1555
+ "arguments": [
1556
+ ""
1557
+ ]
1558
+ },
1559
+ {
1560
+ "name": "doc-comment",
1561
+ "arguments": [
1562
+ " - Reads: Current nonce from storage"
1563
+ ]
1564
+ },
1565
+ {
1566
+ "name": "doc-comment",
1567
+ "arguments": [
1568
+ ""
1569
+ ]
1570
+ },
1571
+ {
1572
+ "name": "doc-comment",
1573
+ "arguments": [
1574
+ " # Note"
1575
+ ]
1576
+ },
1577
+ {
1578
+ "name": "doc-comment",
1579
+ "arguments": [
1580
+ ""
1581
+ ]
1582
+ },
1583
+ {
1584
+ "name": "doc-comment",
1585
+ "arguments": [
1586
+ " - Used to prevent replay attacks on session operations"
1587
+ ]
1588
+ },
1589
+ {
1590
+ "name": "doc-comment",
1591
+ "arguments": [
1592
+ " - Increments automatically with each session call"
1593
+ ]
1594
+ },
1595
+ {
1596
+ "name": "storage",
1597
+ "arguments": [
1598
+ "read"
1599
+ ]
1600
+ }
1601
+ ]
1602
+ },
1603
+ {
1604
+ "name": "session_call_contract",
1605
+ "inputs": [
1606
+ {
1607
+ "name": "signature",
1608
+ "concreteTypeId": "2a32867dec49ed8ddf6b7d2ed19d53c626d3f593369b5dd82a317d7b300e1c39"
1609
+ },
1610
+ {
1611
+ "name": "call",
1612
+ "concreteTypeId": "2e811073316cb5af9b64bcd703b0f5957a35112aa0f1f86782a8fd42b485c3d4"
1613
+ }
1614
+ ],
1615
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
1616
+ "attributes": [
1617
+ {
1618
+ "name": "doc-comment",
1619
+ "arguments": [
1620
+ " Executes a single contract call using session key authorization."
1621
+ ]
1622
+ },
1623
+ {
1624
+ "name": "doc-comment",
1625
+ "arguments": [
1626
+ " Allows delegated operations without exposing the owner's private key."
1627
+ ]
1628
+ },
1629
+ {
1630
+ "name": "doc-comment",
1631
+ "arguments": [
1632
+ ""
1633
+ ]
1634
+ },
1635
+ {
1636
+ "name": "doc-comment",
1637
+ "arguments": [
1638
+ " # Arguments"
1639
+ ]
1640
+ },
1641
+ {
1642
+ "name": "doc-comment",
1643
+ "arguments": [
1644
+ ""
1645
+ ]
1646
+ },
1647
+ {
1648
+ "name": "doc-comment",
1649
+ "arguments": [
1650
+ " * `signature` - Session key signature proving authorization"
1651
+ ]
1652
+ },
1653
+ {
1654
+ "name": "doc-comment",
1655
+ "arguments": [
1656
+ " * `call` - The contract call details including target, selector, and parameters"
1657
+ ]
1658
+ },
1659
+ {
1660
+ "name": "doc-comment",
1661
+ "arguments": [
1662
+ ""
1663
+ ]
1664
+ },
1665
+ {
1666
+ "name": "doc-comment",
1667
+ "arguments": [
1668
+ " # Storage Access"
1669
+ ]
1670
+ },
1671
+ {
1672
+ "name": "doc-comment",
1673
+ "arguments": [
1674
+ ""
1675
+ ]
1676
+ },
1677
+ {
1678
+ "name": "doc-comment",
1679
+ "arguments": [
1680
+ " - Reads: Current session for validation, current nonce"
1681
+ ]
1682
+ },
1683
+ {
1684
+ "name": "doc-comment",
1685
+ "arguments": [
1686
+ " - Writes: Increments nonce for replay protection"
1687
+ ]
1688
+ },
1689
+ {
1690
+ "name": "doc-comment",
1691
+ "arguments": [
1692
+ ""
1693
+ ]
1694
+ },
1695
+ {
1696
+ "name": "doc-comment",
1697
+ "arguments": [
1698
+ " # Security"
1699
+ ]
1700
+ },
1701
+ {
1702
+ "name": "doc-comment",
1703
+ "arguments": [
1704
+ ""
1705
+ ]
1706
+ },
1707
+ {
1708
+ "name": "doc-comment",
1709
+ "arguments": [
1710
+ " - Validates signature against the session key"
1711
+ ]
1712
+ },
1713
+ {
1714
+ "name": "doc-comment",
1715
+ "arguments": [
1716
+ " - Verifies session is active and not expired"
1717
+ ]
1718
+ },
1719
+ {
1720
+ "name": "doc-comment",
1721
+ "arguments": [
1722
+ " - Uses nonce to prevent replay attacks"
1723
+ ]
1724
+ },
1725
+ {
1726
+ "name": "doc-comment",
1727
+ "arguments": [
1728
+ ""
1729
+ ]
1730
+ },
1731
+ {
1732
+ "name": "doc-comment",
1733
+ "arguments": [
1734
+ " # Events"
1735
+ ]
1736
+ },
1737
+ {
1738
+ "name": "doc-comment",
1739
+ "arguments": [
1740
+ ""
1741
+ ]
1742
+ },
1743
+ {
1744
+ "name": "doc-comment",
1745
+ "arguments": [
1746
+ " - Emits `SessionContractCallEvent` for audit trail"
1747
+ ]
1748
+ },
1749
+ {
1750
+ "name": "doc-comment",
1751
+ "arguments": [
1752
+ ""
1753
+ ]
1754
+ },
1755
+ {
1756
+ "name": "doc-comment",
1757
+ "arguments": [
1758
+ " # Reverts"
1759
+ ]
1760
+ },
1761
+ {
1762
+ "name": "doc-comment",
1763
+ "arguments": [
1764
+ ""
1765
+ ]
1766
+ },
1767
+ {
1768
+ "name": "doc-comment",
1769
+ "arguments": [
1770
+ " - If signature is invalid"
1771
+ ]
1772
+ },
1773
+ {
1774
+ "name": "doc-comment",
1775
+ "arguments": [
1776
+ " - If session is expired or revoked"
1777
+ ]
1778
+ },
1779
+ {
1780
+ "name": "doc-comment",
1781
+ "arguments": [
1782
+ " - If recovered address doesn't match session_id"
1783
+ ]
1784
+ },
1785
+ {
1786
+ "name": "doc-comment",
1787
+ "arguments": [
1788
+ " - If external call fails"
1789
+ ]
1790
+ },
1791
+ {
1792
+ "name": "storage",
1793
+ "arguments": [
1794
+ "read",
1795
+ "write"
1796
+ ]
1797
+ }
1798
+ ]
1799
+ },
1800
+ {
1801
+ "name": "session_call_contracts",
1802
+ "inputs": [
1803
+ {
1804
+ "name": "signature",
1805
+ "concreteTypeId": "2a32867dec49ed8ddf6b7d2ed19d53c626d3f593369b5dd82a317d7b300e1c39"
1806
+ },
1807
+ {
1808
+ "name": "calls",
1809
+ "concreteTypeId": "d5d0add462df804d0d75443e00c45391dcc2f0c5c02c439a798cc7549b528449"
1810
+ }
1811
+ ],
1812
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
1813
+ "attributes": [
1814
+ {
1815
+ "name": "doc-comment",
1816
+ "arguments": [
1817
+ " Executes multiple contract calls using session key authorization."
1818
+ ]
1819
+ },
1820
+ {
1821
+ "name": "doc-comment",
1822
+ "arguments": [
1823
+ " Enables batch operations for efficiency and atomicity."
1824
+ ]
1825
+ },
1826
+ {
1827
+ "name": "doc-comment",
1828
+ "arguments": [
1829
+ ""
1830
+ ]
1831
+ },
1832
+ {
1833
+ "name": "doc-comment",
1834
+ "arguments": [
1835
+ " # Arguments"
1836
+ ]
1837
+ },
1838
+ {
1839
+ "name": "doc-comment",
1840
+ "arguments": [
1841
+ ""
1842
+ ]
1843
+ },
1844
+ {
1845
+ "name": "doc-comment",
1846
+ "arguments": [
1847
+ " * `signature` - Session key signature for the batch operation"
1848
+ ]
1849
+ },
1850
+ {
1851
+ "name": "doc-comment",
1852
+ "arguments": [
1853
+ " * `calls` - Vector of contract calls to execute in sequence"
1854
+ ]
1855
+ },
1856
+ {
1857
+ "name": "doc-comment",
1858
+ "arguments": [
1859
+ ""
1860
+ ]
1861
+ },
1862
+ {
1863
+ "name": "doc-comment",
1864
+ "arguments": [
1865
+ " # Storage Access"
1866
+ ]
1867
+ },
1868
+ {
1869
+ "name": "doc-comment",
1870
+ "arguments": [
1871
+ ""
1872
+ ]
1873
+ },
1874
+ {
1875
+ "name": "doc-comment",
1876
+ "arguments": [
1877
+ " - Reads: Current session for validation, current nonce"
1878
+ ]
1879
+ },
1880
+ {
1881
+ "name": "doc-comment",
1882
+ "arguments": [
1883
+ " - Writes: Increments nonce once for the entire batch"
1884
+ ]
1885
+ },
1886
+ {
1887
+ "name": "doc-comment",
1888
+ "arguments": [
1889
+ ""
1890
+ ]
1891
+ },
1892
+ {
1893
+ "name": "doc-comment",
1894
+ "arguments": [
1895
+ " # Security"
1896
+ ]
1897
+ },
1898
+ {
1899
+ "name": "doc-comment",
1900
+ "arguments": [
1901
+ ""
1902
+ ]
1903
+ },
1904
+ {
1905
+ "name": "doc-comment",
1906
+ "arguments": [
1907
+ " - Single signature validates the entire batch"
1908
+ ]
1909
+ },
1910
+ {
1911
+ "name": "doc-comment",
1912
+ "arguments": [
1913
+ " - All calls share the same nonce for atomicity"
1914
+ ]
1915
+ },
1916
+ {
1917
+ "name": "doc-comment",
1918
+ "arguments": [
1919
+ " - Session must be valid for all calls to execute"
1920
+ ]
1921
+ },
1922
+ {
1923
+ "name": "doc-comment",
1924
+ "arguments": [
1925
+ ""
1926
+ ]
1927
+ },
1928
+ {
1929
+ "name": "doc-comment",
1930
+ "arguments": [
1931
+ " # Events"
1932
+ ]
1933
+ },
1934
+ {
1935
+ "name": "doc-comment",
1936
+ "arguments": [
1937
+ ""
1938
+ ]
1939
+ },
1940
+ {
1941
+ "name": "doc-comment",
1942
+ "arguments": [
1943
+ " - Emits `SessionContractCallEvent` for each call in the batch"
1944
+ ]
1945
+ },
1946
+ {
1947
+ "name": "doc-comment",
1948
+ "arguments": [
1949
+ ""
1950
+ ]
1951
+ },
1952
+ {
1953
+ "name": "doc-comment",
1954
+ "arguments": [
1955
+ " # Note"
1956
+ ]
1957
+ },
1958
+ {
1959
+ "name": "doc-comment",
1960
+ "arguments": [
1961
+ ""
1962
+ ]
1963
+ },
1964
+ {
1965
+ "name": "doc-comment",
1966
+ "arguments": [
1967
+ " - Calls are executed sequentially in the order provided"
1968
+ ]
1969
+ },
1970
+ {
1971
+ "name": "doc-comment",
1972
+ "arguments": [
1973
+ " - If any call fails, subsequent calls may not execute"
1974
+ ]
1975
+ },
1976
+ {
1977
+ "name": "doc-comment",
1978
+ "arguments": [
1979
+ ""
1980
+ ]
1981
+ },
1982
+ {
1983
+ "name": "doc-comment",
1984
+ "arguments": [
1985
+ " # Reverts"
1986
+ ]
1987
+ },
1988
+ {
1989
+ "name": "doc-comment",
1990
+ "arguments": [
1991
+ ""
1992
+ ]
1993
+ },
1994
+ {
1995
+ "name": "doc-comment",
1996
+ "arguments": [
1997
+ " - If signature validation fails"
1998
+ ]
1999
+ },
2000
+ {
2001
+ "name": "doc-comment",
2002
+ "arguments": [
2003
+ " - If session is invalid"
2004
+ ]
2005
+ },
2006
+ {
2007
+ "name": "doc-comment",
2008
+ "arguments": [
2009
+ " - If any individual call fails"
2010
+ ]
2011
+ },
2012
+ {
2013
+ "name": "storage",
2014
+ "arguments": [
2015
+ "read",
2016
+ "write"
2017
+ ]
2018
+ }
2019
+ ]
2020
+ },
2021
+ {
2022
+ "name": "set_session",
2023
+ "inputs": [
2024
+ {
2025
+ "name": "signature",
2026
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2027
+ },
2028
+ {
2029
+ "name": "session",
2030
+ "concreteTypeId": "db4bc0201be00cc6d049122ba4e5eaf2e1a8d67e87ae531c85204a496c41add4"
2031
+ }
2032
+ ],
2033
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2034
+ "attributes": [
2035
+ {
2036
+ "name": "doc-comment",
2037
+ "arguments": [
2038
+ " Sets a new session identity for delegated operations."
2039
+ ]
2040
+ },
2041
+ {
2042
+ "name": "doc-comment",
2043
+ "arguments": [
2044
+ " Only one session can be active at a time - setting a new session automatically revokes any existing session."
2045
+ ]
2046
+ },
2047
+ {
2048
+ "name": "doc-comment",
2049
+ "arguments": [
2050
+ " Sessions allow temporary access to trading functions without exposing the owner's keys."
2051
+ ]
2052
+ },
2053
+ {
2054
+ "name": "doc-comment",
2055
+ "arguments": [
2056
+ " Sessions must specify at least one allowed contract for security."
2057
+ ]
2058
+ },
2059
+ {
2060
+ "name": "doc-comment",
2061
+ "arguments": [
2062
+ ""
2063
+ ]
2064
+ },
2065
+ {
2066
+ "name": "doc-comment",
2067
+ "arguments": [
2068
+ " # Arguments"
2069
+ ]
2070
+ },
2071
+ {
2072
+ "name": "doc-comment",
2073
+ "arguments": [
2074
+ ""
2075
+ ]
2076
+ },
2077
+ {
2078
+ "name": "doc-comment",
2079
+ "arguments": [
2080
+ " * `session` - The new session to make active (pass None to revoke without replacement)"
2081
+ ]
2082
+ },
2083
+ {
2084
+ "name": "doc-comment",
2085
+ "arguments": [
2086
+ ""
2087
+ ]
2088
+ },
2089
+ {
2090
+ "name": "doc-comment",
2091
+ "arguments": [
2092
+ " # Storage Access"
2093
+ ]
2094
+ },
2095
+ {
2096
+ "name": "doc-comment",
2097
+ "arguments": [
2098
+ ""
2099
+ ]
2100
+ },
2101
+ {
2102
+ "name": "doc-comment",
2103
+ "arguments": [
2104
+ " - Reads: Verifies caller is the account owner"
2105
+ ]
2106
+ },
2107
+ {
2108
+ "name": "doc-comment",
2109
+ "arguments": [
2110
+ " - Writes: Replaces any existing session with the new one"
2111
+ ]
2112
+ },
2113
+ {
2114
+ "name": "doc-comment",
2115
+ "arguments": [
2116
+ ""
2117
+ ]
2118
+ },
2119
+ {
2120
+ "name": "doc-comment",
2121
+ "arguments": [
2122
+ " # Events"
2123
+ ]
2124
+ },
2125
+ {
2126
+ "name": "doc-comment",
2127
+ "arguments": [
2128
+ ""
2129
+ ]
2130
+ },
2131
+ {
2132
+ "name": "doc-comment",
2133
+ "arguments": [
2134
+ " - Emits `SessionRevokedEvent` if a previous session existed"
2135
+ ]
2136
+ },
2137
+ {
2138
+ "name": "doc-comment",
2139
+ "arguments": [
2140
+ " - Emits `SessionCreatedEvent` if new session is created"
2141
+ ]
2142
+ },
2143
+ {
2144
+ "name": "doc-comment",
2145
+ "arguments": [
2146
+ ""
2147
+ ]
2148
+ },
2149
+ {
2150
+ "name": "doc-comment",
2151
+ "arguments": [
2152
+ " # Security"
2153
+ ]
2154
+ },
2155
+ {
2156
+ "name": "doc-comment",
2157
+ "arguments": [
2158
+ ""
2159
+ ]
2160
+ },
2161
+ {
2162
+ "name": "doc-comment",
2163
+ "arguments": [
2164
+ " - Automatically revokes any existing session before creating the new one"
2165
+ ]
2166
+ },
2167
+ {
2168
+ "name": "doc-comment",
2169
+ "arguments": [
2170
+ " - Only one session can be active per account at any time"
2171
+ ]
2172
+ },
2173
+ {
2174
+ "name": "doc-comment",
2175
+ "arguments": [
2176
+ " - Sessions must specify at least one allowed contract ID"
2177
+ ]
2178
+ },
2179
+ {
2180
+ "name": "doc-comment",
2181
+ "arguments": [
2182
+ " - Pass None to revoke without setting a new session"
2183
+ ]
2184
+ },
2185
+ {
2186
+ "name": "doc-comment",
2187
+ "arguments": [
2188
+ ""
2189
+ ]
2190
+ },
2191
+ {
2192
+ "name": "doc-comment",
2193
+ "arguments": [
2194
+ " # Reverts"
2195
+ ]
2196
+ },
2197
+ {
2198
+ "name": "doc-comment",
2199
+ "arguments": [
2200
+ ""
2201
+ ]
2202
+ },
2203
+ {
2204
+ "name": "doc-comment",
2205
+ "arguments": [
2206
+ " - If caller is not the account owner"
2207
+ ]
2208
+ },
2209
+ {
2210
+ "name": "doc-comment",
2211
+ "arguments": [
2212
+ " - If expiry is in the past (when session is Some)"
2213
+ ]
2214
+ },
2215
+ {
2216
+ "name": "doc-comment",
2217
+ "arguments": [
2218
+ " - If session has no allowed contracts (when session is Some)"
2219
+ ]
2220
+ },
2221
+ {
2222
+ "name": "storage",
2223
+ "arguments": [
2224
+ "read",
2225
+ "write"
2226
+ ]
2227
+ }
2228
+ ]
2229
+ },
2230
+ {
2231
+ "name": "typed_call_contract",
2232
+ "inputs": [
2233
+ {
2234
+ "name": "signature",
2235
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2236
+ },
2237
+ {
2238
+ "name": "call",
2239
+ "concreteTypeId": "f5137e8860728aa53b731dc6f4be35633f71e6cf3a24439ae80bb38d7ec67d5e"
2240
+ }
2241
+ ],
2242
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2243
+ "attributes": [
2244
+ {
2245
+ "name": "storage",
2246
+ "arguments": [
2247
+ "read",
2248
+ "write"
2249
+ ]
2250
+ }
2251
+ ]
2252
+ },
2253
+ {
2254
+ "name": "typed_call_contracts",
2255
+ "inputs": [
2256
+ {
2257
+ "name": "signature",
2258
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2259
+ },
2260
+ {
2261
+ "name": "calls",
2262
+ "concreteTypeId": "f4be05417a57a0fa163ebf6c649786e15dc74d541e39b1071bb7cfaa675759ad"
2263
+ }
2264
+ ],
2265
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2266
+ "attributes": [
2267
+ {
2268
+ "name": "storage",
2269
+ "arguments": [
2270
+ "read",
2271
+ "write"
2272
+ ]
2273
+ }
2274
+ ]
2275
+ },
2276
+ {
2277
+ "name": "typed_revoke_session",
2278
+ "inputs": [
2279
+ {
2280
+ "name": "signature",
2281
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2282
+ },
2283
+ {
2284
+ "name": "revoke",
2285
+ "concreteTypeId": "fa245643e7467acf010e5f8b65e5c1b8f23a3973dd24fe755acd630ac3fa7557"
2286
+ }
2287
+ ],
2288
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2289
+ "attributes": [
2290
+ {
2291
+ "name": "storage",
2292
+ "arguments": [
2293
+ "read",
2294
+ "write"
2295
+ ]
2296
+ }
2297
+ ]
2298
+ },
2299
+ {
2300
+ "name": "typed_set_session",
2301
+ "inputs": [
2302
+ {
2303
+ "name": "signature",
2304
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2305
+ },
2306
+ {
2307
+ "name": "session_args",
2308
+ "concreteTypeId": "bb7bd7d8bcce22513cea4a375d13aeff84ff17c9aecf40ae825265179de131be"
2309
+ }
2310
+ ],
2311
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2312
+ "attributes": [
2313
+ {
2314
+ "name": "storage",
2315
+ "arguments": [
2316
+ "read",
2317
+ "write"
2318
+ ]
2319
+ }
2320
+ ]
2321
+ },
2322
+ {
2323
+ "name": "typed_withdraw",
2324
+ "inputs": [
2325
+ {
2326
+ "name": "signature",
2327
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2328
+ },
2329
+ {
2330
+ "name": "withdraw_args",
2331
+ "concreteTypeId": "c86b3b5bfe482d7adedfc0fac7d7c73b4fd6e7c97a31a76afa54deeff1d5c49a"
2332
+ }
2333
+ ],
2334
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2335
+ "attributes": [
2336
+ {
2337
+ "name": "storage",
2338
+ "arguments": [
2339
+ "read",
2340
+ "write"
2341
+ ]
2342
+ }
2343
+ ]
2344
+ },
2345
+ {
2346
+ "name": "validate_session",
2347
+ "inputs": [
2348
+ {
2349
+ "name": "session_id",
2350
+ "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335"
2351
+ }
2352
+ ],
2353
+ "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903",
2354
+ "attributes": [
2355
+ {
2356
+ "name": "doc-comment",
2357
+ "arguments": [
2358
+ " Validates if a session identity is currently active."
2359
+ ]
2360
+ },
2361
+ {
2362
+ "name": "doc-comment",
2363
+ "arguments": [
2364
+ " Checks both if this is the current session and if it hasn't expired."
2365
+ ]
2366
+ },
2367
+ {
2368
+ "name": "doc-comment",
2369
+ "arguments": [
2370
+ ""
2371
+ ]
2372
+ },
2373
+ {
2374
+ "name": "doc-comment",
2375
+ "arguments": [
2376
+ " # Arguments"
2377
+ ]
2378
+ },
2379
+ {
2380
+ "name": "doc-comment",
2381
+ "arguments": [
2382
+ ""
2383
+ ]
2384
+ },
2385
+ {
2386
+ "name": "doc-comment",
2387
+ "arguments": [
2388
+ " * `session_id` - The session Identity to validate"
2389
+ ]
2390
+ },
2391
+ {
2392
+ "name": "doc-comment",
2393
+ "arguments": [
2394
+ ""
2395
+ ]
2396
+ },
2397
+ {
2398
+ "name": "doc-comment",
2399
+ "arguments": [
2400
+ " # Returns"
2401
+ ]
2402
+ },
2403
+ {
2404
+ "name": "doc-comment",
2405
+ "arguments": [
2406
+ ""
2407
+ ]
2408
+ },
2409
+ {
2410
+ "name": "doc-comment",
2411
+ "arguments": [
2412
+ " * `bool` - True if this is the current session and not expired, false otherwise"
2413
+ ]
2414
+ },
2415
+ {
2416
+ "name": "doc-comment",
2417
+ "arguments": [
2418
+ ""
2419
+ ]
2420
+ },
2421
+ {
2422
+ "name": "doc-comment",
2423
+ "arguments": [
2424
+ " # Storage Access"
2425
+ ]
2426
+ },
2427
+ {
2428
+ "name": "doc-comment",
2429
+ "arguments": [
2430
+ ""
2431
+ ]
2432
+ },
2433
+ {
2434
+ "name": "doc-comment",
2435
+ "arguments": [
2436
+ " - Reads: Current session identity and expiry time"
2437
+ ]
2438
+ },
2439
+ {
2440
+ "name": "doc-comment",
2441
+ "arguments": [
2442
+ ""
2443
+ ]
2444
+ },
2445
+ {
2446
+ "name": "doc-comment",
2447
+ "arguments": [
2448
+ " # Note"
2449
+ ]
2450
+ },
2451
+ {
2452
+ "name": "doc-comment",
2453
+ "arguments": [
2454
+ ""
2455
+ ]
2456
+ },
2457
+ {
2458
+ "name": "doc-comment",
2459
+ "arguments": [
2460
+ " - Returns false if the provided identity doesn't match the current session"
2461
+ ]
2462
+ },
2463
+ {
2464
+ "name": "doc-comment",
2465
+ "arguments": [
2466
+ " - Returns false if the current session has expired"
2467
+ ]
2468
+ },
2469
+ {
2470
+ "name": "storage",
2471
+ "arguments": [
2472
+ "read"
2473
+ ]
2474
+ }
2475
+ ]
2476
+ },
2477
+ {
2478
+ "name": "withdraw",
2479
+ "inputs": [
2480
+ {
2481
+ "name": "signature",
2482
+ "concreteTypeId": "8c8a9aeea8dc1a1ac1f1fe31c77823653152feda3fa93cd494eedbf84395ca40"
2483
+ },
2484
+ {
2485
+ "name": "to",
2486
+ "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335"
2487
+ },
2488
+ {
2489
+ "name": "amount",
2490
+ "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
2491
+ },
2492
+ {
2493
+ "name": "asset_id",
2494
+ "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974"
2495
+ }
2496
+ ],
2497
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
2498
+ "attributes": [
2499
+ {
2500
+ "name": "doc-comment",
2501
+ "arguments": [
2502
+ " Withdraws assets from the trading account to a specified recipient."
2503
+ ]
2504
+ },
2505
+ {
2506
+ "name": "doc-comment",
2507
+ "arguments": [
2508
+ " Only the account owner can withdraw funds."
2509
+ ]
2510
+ },
2511
+ {
2512
+ "name": "doc-comment",
2513
+ "arguments": [
2514
+ ""
2515
+ ]
2516
+ },
2517
+ {
2518
+ "name": "doc-comment",
2519
+ "arguments": [
2520
+ " # Arguments"
2521
+ ]
2522
+ },
2523
+ {
2524
+ "name": "doc-comment",
2525
+ "arguments": [
2526
+ ""
2527
+ ]
2528
+ },
2529
+ {
2530
+ "name": "doc-comment",
2531
+ "arguments": [
2532
+ " * `to` - The recipient Identity for the withdrawal"
2533
+ ]
2534
+ },
2535
+ {
2536
+ "name": "doc-comment",
2537
+ "arguments": [
2538
+ " * `amount` - The amount to withdraw"
2539
+ ]
2540
+ },
2541
+ {
2542
+ "name": "doc-comment",
2543
+ "arguments": [
2544
+ " * `asset_id` - The asset to withdraw"
2545
+ ]
2546
+ },
2547
+ {
2548
+ "name": "doc-comment",
2549
+ "arguments": [
2550
+ ""
2551
+ ]
2552
+ },
2553
+ {
2554
+ "name": "doc-comment",
2555
+ "arguments": [
2556
+ " # Storage Access"
2557
+ ]
2558
+ },
2559
+ {
2560
+ "name": "doc-comment",
2561
+ "arguments": [
2562
+ ""
2563
+ ]
2564
+ },
2565
+ {
2566
+ "name": "doc-comment",
2567
+ "arguments": [
2568
+ " - Reads: Verifies caller is owner and checks balance"
2569
+ ]
2570
+ },
2571
+ {
2572
+ "name": "doc-comment",
2573
+ "arguments": [
2574
+ " - Writes: Updates the balance after withdrawal"
2575
+ ]
2576
+ },
2577
+ {
2578
+ "name": "doc-comment",
2579
+ "arguments": [
2580
+ ""
2581
+ ]
2582
+ },
2583
+ {
2584
+ "name": "doc-comment",
2585
+ "arguments": [
2586
+ " # Events"
2587
+ ]
2588
+ },
2589
+ {
2590
+ "name": "doc-comment",
2591
+ "arguments": [
2592
+ ""
2593
+ ]
2594
+ },
2595
+ {
2596
+ "name": "doc-comment",
2597
+ "arguments": [
2598
+ " - Emits `WithdrawEvent` with withdrawal details"
2599
+ ]
2600
+ },
2601
+ {
2602
+ "name": "doc-comment",
2603
+ "arguments": [
2604
+ ""
2605
+ ]
2606
+ },
2607
+ {
2608
+ "name": "doc-comment",
2609
+ "arguments": [
2610
+ " # Reverts"
2611
+ ]
2612
+ },
2613
+ {
2614
+ "name": "doc-comment",
2615
+ "arguments": [
2616
+ ""
2617
+ ]
2618
+ },
2619
+ {
2620
+ "name": "doc-comment",
2621
+ "arguments": [
2622
+ " - If caller is not the account owner"
2623
+ ]
2624
+ },
2625
+ {
2626
+ "name": "doc-comment",
2627
+ "arguments": [
2628
+ " - If insufficient balance"
2629
+ ]
2630
+ },
2631
+ {
2632
+ "name": "doc-comment",
2633
+ "arguments": [
2634
+ " - If amount is zero"
2635
+ ]
2636
+ },
2637
+ {
2638
+ "name": "doc-comment",
2639
+ "arguments": [
2640
+ " - If transfer fails"
2641
+ ]
2642
+ },
2643
+ {
2644
+ "name": "storage",
2645
+ "arguments": [
2646
+ "read",
2647
+ "write"
2648
+ ]
2649
+ }
2650
+ ]
2651
+ },
2652
+ {
2653
+ "name": "call_contract_arg_type_hash",
2654
+ "inputs": [
2655
+ {
2656
+ "name": "encoding",
2657
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2658
+ }
2659
+ ],
2660
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2661
+ "attributes": null
2662
+ },
2663
+ {
2664
+ "name": "call_contract_args_type_hash",
2665
+ "inputs": [
2666
+ {
2667
+ "name": "encoding",
2668
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2669
+ }
2670
+ ],
2671
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2672
+ "attributes": null
2673
+ },
2674
+ {
2675
+ "name": "call_params_type_hash",
2676
+ "inputs": [
2677
+ {
2678
+ "name": "encoding",
2679
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2680
+ }
2681
+ ],
2682
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2683
+ "attributes": null
2684
+ },
2685
+ {
2686
+ "name": "domain_separator",
2687
+ "inputs": [
2688
+ {
2689
+ "name": "encoding",
2690
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2691
+ }
2692
+ ],
2693
+ "output": "5f05ed49298866d467640c48af64b5e978f95a74358b7050b09adfa77ea558b2",
2694
+ "attributes": null
2695
+ },
2696
+ {
2697
+ "name": "domain_separator_hash",
2698
+ "inputs": [
2699
+ {
2700
+ "name": "encoding",
2701
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2702
+ }
2703
+ ],
2704
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2705
+ "attributes": null
2706
+ },
2707
+ {
2708
+ "name": "multi_call_contract_args_type_hash",
2709
+ "inputs": [
2710
+ {
2711
+ "name": "encoding",
2712
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2713
+ }
2714
+ ],
2715
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2716
+ "attributes": null
2717
+ },
2718
+ {
2719
+ "name": "revoke_args_type_hash",
2720
+ "inputs": [
2721
+ {
2722
+ "name": "encoding",
2723
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2724
+ }
2725
+ ],
2726
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2727
+ "attributes": null
2728
+ },
2729
+ {
2730
+ "name": "session_args_type_hash",
2731
+ "inputs": [
2732
+ {
2733
+ "name": "encoding",
2734
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2735
+ }
2736
+ ],
2737
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2738
+ "attributes": null
2739
+ },
2740
+ {
2741
+ "name": "withdraw_args_type_hash",
2742
+ "inputs": [
2743
+ {
2744
+ "name": "encoding",
2745
+ "concreteTypeId": "5eb19a24b67b9922247392ca34ef7e4726b323401f4d6b3f65d4a8f382632a07"
2746
+ }
2747
+ ],
2748
+ "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b",
2749
+ "attributes": null
2750
+ }
2751
+ ],
2752
+ "loggedTypes": [
2753
+ {
2754
+ "logId": "2261086600904378517",
2755
+ "concreteTypeId": "1f60fe48a54d08956985da0422f2d7d44834b7c4d4687f0376f26dce46fe44bf"
2756
+ },
2757
+ {
2758
+ "logId": "10098701174489624218",
2759
+ "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a"
2760
+ },
2761
+ {
2762
+ "logId": "1051120138880640983",
2763
+ "concreteTypeId": "0e9654327e3d67d706825c5e4e2df18533389b6566d8c1c298c7bd5b5e0c6da5"
2764
+ },
2765
+ {
2766
+ "logId": "8043135260348901120",
2767
+ "concreteTypeId": "6f9ef4e7a983e700685ab472ed2e625822ad32b8f04de92adc81ed60911e5e77"
2768
+ },
2769
+ {
2770
+ "logId": "2838887922734823881",
2771
+ "concreteTypeId": "2765c1864fc179c9ee1938cc4a28acedc0b1c76f0a63434b33149f432eb4e8c3"
2772
+ },
2773
+ {
2774
+ "logId": "17909535172322737929",
2775
+ "concreteTypeId": "f88b7359b6a93f09790d042f771eb46a798919cde0d85a95d291dae15d746312"
2776
+ },
2777
+ {
2778
+ "logId": "11035215306127844569",
2779
+ "concreteTypeId": "9924f5da95b424d9efb5403e33f96557a6fa8e766014c055159e9c3bd457ca83"
2780
+ },
2781
+ {
2782
+ "logId": "14509209538366790003",
2783
+ "concreteTypeId": "c95b1133ba0fd973819faa015c9a3bf27edbbef753c977f859ba593b89ae22e5"
2784
+ },
2785
+ {
2786
+ "logId": "821289540733930261",
2787
+ "concreteTypeId": "0b65ce7c65308b155a42d67dba9a8f5ec826782ec477a1970fe592016e92d527"
2788
+ },
2789
+ {
2790
+ "logId": "14888260448086063780",
2791
+ "concreteTypeId": "ce9db9ff03aafaa4ef9ebd0dac288345a961aff0262337411b6ef4db9df07039"
2792
+ },
2793
+ {
2794
+ "logId": "11023126350627756633",
2795
+ "concreteTypeId": "98fa03034b6a5a596d6121040d525eabb78d224d2411b6d5d0151727499bbd09"
2796
+ },
2797
+ {
2798
+ "logId": "2735857006735158246",
2799
+ "concreteTypeId": "25f7b773d2b66be695d008d06f344b78146367854413f2041eaf21356640e568"
2800
+ },
2801
+ {
2802
+ "logId": "6182132059982595715",
2803
+ "concreteTypeId": "55cb585aadd106832bdedaef0a231b5587db28871e2b12e5137ec4cb66b9b829"
2804
+ }
2805
+ ],
2806
+ "messagesTypes": [],
2807
+ "configurables": [
2808
+ {
2809
+ "name": "DOMAIN",
2810
+ "concreteTypeId": "d41cd041a54363a3d61ab80537895c873f2315f976fc58def6e5035f6b1f0710",
2811
+ "offset": 83392,
2812
+ "indirect": false
2813
+ },
2814
+ {
2815
+ "name": "VERSION",
2816
+ "concreteTypeId": "6354581bfa62ac188c9f243cc30e1bf38a150773f871be8765351ef8c5db6c1e",
2817
+ "offset": 83408,
2818
+ "indirect": false
2819
+ }
2820
+ ],
2821
+ "errorCodes": {},
2822
+ "panickingCalls": {}
2823
+ };
2824
+ const storageSlots = [
2825
+ {
2826
+ "key": "01d66960d3120f08228f6113a5f43d715a03ec130422f4b1920c8ede5c377bc2",
2827
+ "value": "0000000000000000000000000000000000000000000000000000000000000000"
2828
+ },
2829
+ {
2830
+ "key": "01d66960d3120f08228f6113a5f43d715a03ec130422f4b1920c8ede5c377bc3",
2831
+ "value": "0000000000000000000000000000000000000000000000000000000000000000"
2832
+ }
2833
+ ];
2834
+ export class TradeAccountInterface extends Interface {
2835
+ constructor() {
2836
+ super(abi);
2837
+ }
2838
+ }
2839
+ export class TradeAccount extends __Contract {
2840
+ static abi = abi;
2841
+ static storageSlots = storageSlots;
2842
+ constructor(id, accountOrProvider) {
2843
+ super(id, abi, accountOrProvider);
2844
+ }
2845
+ }
2846
+ //# sourceMappingURL=TradeAccount.js.map