@cartridge/controller-wasm 0.8.0 → 0.9.0

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.
Binary file
@@ -1,109 +1,5 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- /**
4
- * Subscribes to the creation of a session for a given controller, session_key_guid and cartridge api url.
5
- * The goal of this function is to know from any place when the register session flow has been completed, and to
6
- * get the authorization.
7
- */
8
- export function subscribeCreateSession(session_key_guid: JsFelt, cartridge_api_url: string): Promise<JsSubscribeSessionResult>;
9
- export function signerToGuid(signer: Signer): JsFelt;
10
- export enum ErrorCode {
11
- StarknetFailedToReceiveTransaction = 1,
12
- StarknetContractNotFound = 20,
13
- StarknetBlockNotFound = 24,
14
- StarknetInvalidTransactionIndex = 27,
15
- StarknetClassHashNotFound = 28,
16
- StarknetTransactionHashNotFound = 29,
17
- StarknetPageSizeTooBig = 31,
18
- StarknetNoBlocks = 32,
19
- StarknetInvalidContinuationToken = 33,
20
- StarknetTooManyKeysInFilter = 34,
21
- StarknetContractError = 40,
22
- StarknetTransactionExecutionError = 41,
23
- StarknetClassAlreadyDeclared = 51,
24
- StarknetInvalidTransactionNonce = 52,
25
- StarknetInsufficientMaxFee = 53,
26
- StarknetInsufficientAccountBalance = 54,
27
- StarknetValidationFailure = 55,
28
- StarknetCompilationFailed = 56,
29
- StarknetContractClassSizeIsTooLarge = 57,
30
- StarknetNonAccount = 58,
31
- StarknetDuplicateTx = 59,
32
- StarknetCompiledClassHashMismatch = 60,
33
- StarknetUnsupportedTxVersion = 61,
34
- StarknetUnsupportedContractClassVersion = 62,
35
- StarknetUnexpectedError = 63,
36
- StarknetNoTraceAvailable = 10,
37
- StarknetReplacementTransactionUnderpriced = 64,
38
- StarknetFeeBelowMinimum = 65,
39
- SignError = 101,
40
- StorageError = 102,
41
- AccountFactoryError = 103,
42
- PaymasterExecutionTimeNotReached = 104,
43
- PaymasterExecutionTimePassed = 105,
44
- PaymasterInvalidCaller = 106,
45
- PaymasterRateLimitExceeded = 107,
46
- PaymasterNotSupported = 108,
47
- PaymasterHttp = 109,
48
- PaymasterExcecution = 110,
49
- PaymasterSerialization = 111,
50
- CartridgeControllerNotDeployed = 112,
51
- InsufficientBalance = 113,
52
- OriginError = 114,
53
- EncodingError = 115,
54
- SerdeWasmBindgenError = 116,
55
- CairoSerdeError = 117,
56
- CairoShortStringToFeltError = 118,
57
- DeviceCreateCredential = 119,
58
- DeviceGetAssertion = 120,
59
- DeviceBadAssertion = 121,
60
- DeviceChannel = 122,
61
- DeviceOrigin = 123,
62
- AccountSigning = 124,
63
- AccountProvider = 125,
64
- AccountClassHashCalculation = 126,
65
- AccountFeeOutOfRange = 128,
66
- ProviderRateLimited = 129,
67
- ProviderArrayLengthMismatch = 130,
68
- ProviderOther = 131,
69
- SessionAlreadyRegistered = 132,
70
- UrlParseError = 133,
71
- Base64DecodeError = 134,
72
- CoseError = 135,
73
- PolicyChainIdMismatch = 136,
74
- InvalidOwner = 137,
75
- GasPriceTooHigh = 138,
76
- TransactionTimeout = 139,
77
- ConversionError = 140,
78
- InvalidChainId = 141,
79
- SessionRefreshRequired = 142,
80
- ManualExecutionRequired = 143,
81
- ForbiddenEntrypoint = 144,
82
- GasAmountTooHigh = 145,
83
- ApproveExecutionRequired = 146,
84
- }
85
- export interface JsCall {
86
- contractAddress: JsFelt;
87
- entrypoint: string;
88
- calldata: JsFelt[];
89
- }
90
-
91
- export type JsPriceUnit = "WEI" | "FRI";
92
-
93
- export interface JsEstimateFeeDetails {
94
- nonce: JsFelt;
95
- }
96
-
97
- export interface JsFeeEstimate {
98
- l1_gas_consumed: number;
99
- l1_gas_price: number;
100
- l2_gas_consumed: number;
101
- l2_gas_price: number;
102
- l1_data_gas_consumed: number;
103
- l1_data_gas_price: number;
104
- overall_fee: number;
105
- }
106
-
107
3
  /**
108
4
  * JavaScript-friendly OutsideExecution V3 structure
109
5
  */
@@ -123,33 +19,47 @@ export interface JsSignedOutsideExecution {
123
19
  signature: JsFelt[];
124
20
  }
125
21
 
22
+ export type JsFeeSource = "PAYMASTER" | "CREDITS";
23
+
24
+ export type Felts = JsFelt[];
25
+
26
+ export type JsFelt = Felt;
27
+
28
+ export interface JsCall {
29
+ contractAddress: JsFelt;
30
+ entrypoint: string;
31
+ calldata: JsFelt[];
32
+ }
33
+
126
34
  export interface Owner {
127
35
  signer?: Signer;
128
36
  account?: JsFelt;
129
37
  }
130
38
 
131
- export interface CallPolicy {
132
- target: JsFelt;
133
- method: JsFelt;
134
- authorized?: boolean;
135
- }
136
-
137
39
  export interface TypedDataPolicy {
138
40
  scope_hash: JsFelt;
139
41
  authorized?: boolean;
140
42
  }
141
43
 
44
+ export type Policy = CallPolicy | TypedDataPolicy | ApprovalPolicy;
45
+
142
46
  export interface ApprovalPolicy {
143
47
  target: JsFelt;
144
48
  spender: JsFelt;
145
49
  amount: JsFelt;
146
50
  }
147
51
 
148
- export type Policy = CallPolicy | TypedDataPolicy | ApprovalPolicy;
52
+ export interface CallPolicy {
53
+ target: JsFelt;
54
+ method: JsFelt;
55
+ authorized?: boolean;
56
+ }
149
57
 
150
- export type JsRegister = RegisterInput;
58
+ export type JsAddSignerInput = SignerInput;
151
59
 
152
- export type JsRegisterResponse = ResponseData;
60
+ export interface Eip191Signer {
61
+ address: string;
62
+ }
153
63
 
154
64
  export interface WebauthnSigner {
155
65
  rpId: string;
@@ -157,14 +67,6 @@ export interface WebauthnSigner {
157
67
  publicKey: string;
158
68
  }
159
69
 
160
- export interface StarknetSigner {
161
- privateKey: JsFelt;
162
- }
163
-
164
- export interface Eip191Signer {
165
- address: string;
166
- }
167
-
168
70
  export interface Signer {
169
71
  webauthns?: WebauthnSigner[];
170
72
  webauthn?: WebauthnSigner;
@@ -172,20 +74,14 @@ export interface Signer {
172
74
  eip191?: Eip191Signer;
173
75
  }
174
76
 
175
- export type JsAddSignerInput = SignerInput;
77
+ export interface StarknetSigner {
78
+ privateKey: JsFelt;
79
+ }
176
80
 
177
81
  export type JsRemoveSignerInput = SignerInput;
178
82
 
179
- export type JsFelt = Felt;
180
-
181
- export type Felts = JsFelt[];
182
-
183
- export type JsFeeSource = "PAYMASTER" | "CREDITS";
184
-
185
83
  export type JsSubscribeSessionResult = SubscribeCreateSessionSubscribeCreateSession;
186
84
 
187
- export type JsRevokableSession = RevokableSession;
188
-
189
85
  export interface AuthorizedSession {
190
86
  session: Session;
191
87
  authorization: JsFelt[] | null;
@@ -205,21 +101,121 @@ export interface Session {
205
101
  guardianKeyGuid: JsFelt;
206
102
  }
207
103
 
104
+ export type JsRevokableSession = RevokableSession;
105
+
208
106
  export interface Credentials {
209
107
  authorization: JsFelt[];
210
108
  privateKey: JsFelt;
211
109
  }
212
110
 
111
+ export interface JsFeeEstimate {
112
+ l1_gas_consumed: number;
113
+ l1_gas_price: number;
114
+ l2_gas_consumed: number;
115
+ l2_gas_price: number;
116
+ l1_data_gas_consumed: number;
117
+ l1_data_gas_price: number;
118
+ overall_fee: number;
119
+ }
120
+
121
+ export type JsPriceUnit = "WEI" | "FRI";
122
+
123
+ export interface JsEstimateFeeDetails {
124
+ nonce: JsFelt;
125
+ }
126
+
127
+ export type JsRegister = RegisterInput;
128
+
129
+ export type JsRegisterResponse = ResponseData;
130
+
131
+
213
132
  export class CartridgeSessionAccount {
214
133
  private constructor();
215
134
  free(): void;
216
135
  [Symbol.dispose](): void;
217
- static new(rpc_url: string, signer: JsFelt, address: JsFelt, chain_id: JsFelt, session_authorization: JsFelt[], session: Session): CartridgeSessionAccount;
218
136
  static newAsRegistered(rpc_url: string, signer: JsFelt, address: JsFelt, owner_guid: JsFelt, chain_id: JsFelt, session: Session): CartridgeSessionAccount;
137
+ executeFromOutside(calls: JsCall[]): Promise<any>;
138
+ static new(rpc_url: string, signer: JsFelt, address: JsFelt, chain_id: JsFelt, session_authorization: JsFelt[], session: Session): CartridgeSessionAccount;
219
139
  sign(hash: JsFelt, calls: JsCall[]): Promise<Felts>;
220
140
  execute(calls: JsCall[]): Promise<any>;
221
- executeFromOutside(calls: JsCall[]): Promise<any>;
222
141
  }
142
+
143
+ export enum ErrorCode {
144
+ StarknetFailedToReceiveTransaction = 1,
145
+ StarknetContractNotFound = 20,
146
+ StarknetBlockNotFound = 24,
147
+ StarknetInvalidTransactionIndex = 27,
148
+ StarknetClassHashNotFound = 28,
149
+ StarknetTransactionHashNotFound = 29,
150
+ StarknetPageSizeTooBig = 31,
151
+ StarknetNoBlocks = 32,
152
+ StarknetInvalidContinuationToken = 33,
153
+ StarknetTooManyKeysInFilter = 34,
154
+ StarknetContractError = 40,
155
+ StarknetTransactionExecutionError = 41,
156
+ StarknetClassAlreadyDeclared = 51,
157
+ StarknetInvalidTransactionNonce = 52,
158
+ StarknetInsufficientMaxFee = 53,
159
+ StarknetInsufficientAccountBalance = 54,
160
+ StarknetValidationFailure = 55,
161
+ StarknetCompilationFailed = 56,
162
+ StarknetContractClassSizeIsTooLarge = 57,
163
+ StarknetNonAccount = 58,
164
+ StarknetDuplicateTx = 59,
165
+ StarknetCompiledClassHashMismatch = 60,
166
+ StarknetUnsupportedTxVersion = 61,
167
+ StarknetUnsupportedContractClassVersion = 62,
168
+ StarknetUnexpectedError = 63,
169
+ StarknetNoTraceAvailable = 10,
170
+ StarknetReplacementTransactionUnderpriced = 64,
171
+ StarknetFeeBelowMinimum = 65,
172
+ SignError = 101,
173
+ StorageError = 102,
174
+ AccountFactoryError = 103,
175
+ PaymasterExecutionTimeNotReached = 104,
176
+ PaymasterExecutionTimePassed = 105,
177
+ PaymasterInvalidCaller = 106,
178
+ PaymasterRateLimitExceeded = 107,
179
+ PaymasterNotSupported = 108,
180
+ PaymasterHttp = 109,
181
+ PaymasterExcecution = 110,
182
+ PaymasterSerialization = 111,
183
+ CartridgeControllerNotDeployed = 112,
184
+ InsufficientBalance = 113,
185
+ OriginError = 114,
186
+ EncodingError = 115,
187
+ SerdeWasmBindgenError = 116,
188
+ CairoSerdeError = 117,
189
+ CairoShortStringToFeltError = 118,
190
+ DeviceCreateCredential = 119,
191
+ DeviceGetAssertion = 120,
192
+ DeviceBadAssertion = 121,
193
+ DeviceChannel = 122,
194
+ DeviceOrigin = 123,
195
+ AccountSigning = 124,
196
+ AccountProvider = 125,
197
+ AccountClassHashCalculation = 126,
198
+ AccountFeeOutOfRange = 128,
199
+ ProviderRateLimited = 129,
200
+ ProviderArrayLengthMismatch = 130,
201
+ ProviderOther = 131,
202
+ SessionAlreadyRegistered = 132,
203
+ UrlParseError = 133,
204
+ Base64DecodeError = 134,
205
+ CoseError = 135,
206
+ PolicyChainIdMismatch = 136,
207
+ InvalidOwner = 137,
208
+ GasPriceTooHigh = 138,
209
+ TransactionTimeout = 139,
210
+ ConversionError = 140,
211
+ InvalidChainId = 141,
212
+ SessionRefreshRequired = 142,
213
+ ManualExecutionRequired = 143,
214
+ ForbiddenEntrypoint = 144,
215
+ GasAmountTooHigh = 145,
216
+ ApproveExecutionRequired = 146,
217
+ }
218
+
223
219
  export class JsControllerError {
224
220
  private constructor();
225
221
  free(): void;
@@ -229,3 +225,12 @@ export class JsControllerError {
229
225
  get data(): string | undefined;
230
226
  set data(value: string | null | undefined);
231
227
  }
228
+
229
+ export function signerToGuid(signer: Signer): JsFelt;
230
+
231
+ /**
232
+ * Subscribes to the creation of a session for a given controller, session_key_guid and cartridge api url.
233
+ * The goal of this function is to know from any place when the register session flow has been completed, and to
234
+ * get the authorization.
235
+ */
236
+ export function subscribeCreateSession(session_key_guid: JsFelt, cartridge_api_url: string): Promise<JsSubscribeSessionResult>;