@walletmesh/aztec-rpc-wallet 0.3.1 → 0.4.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.
- package/CHANGELOG.md +20 -0
- package/README.md +290 -228
- package/dist/.tsbuildinfo +1 -1
- package/dist/client/aztec-dapp-wallet.d.ts +401 -0
- package/dist/client/aztec-dapp-wallet.d.ts.map +1 -0
- package/dist/client/aztec-dapp-wallet.js +705 -0
- package/dist/client/aztec-router-provider.d.ts +58 -0
- package/dist/client/aztec-router-provider.d.ts.map +1 -0
- package/dist/client/aztec-router-provider.js +62 -0
- package/dist/client/helpers.d.ts +44 -0
- package/dist/client/helpers.d.ts.map +1 -0
- package/dist/client/helpers.js +79 -0
- package/dist/client/register-serializers.d.ts +41 -0
- package/dist/client/register-serializers.d.ts.map +1 -0
- package/dist/client/register-serializers.js +97 -0
- package/dist/contractArtifactCache.d.ts +49 -32
- package/dist/contractArtifactCache.d.ts.map +1 -1
- package/dist/contractArtifactCache.js +47 -34
- package/dist/errors.d.ts +50 -8
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +50 -10
- package/dist/index.d.ts +53 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -17
- package/dist/types.d.ts +345 -270
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -8
- package/dist/wallet/create-node.d.ts +73 -0
- package/dist/wallet/create-node.d.ts.map +1 -0
- package/dist/wallet/create-node.js +99 -0
- package/dist/wallet/handlers/account.d.ts +67 -0
- package/dist/wallet/handlers/account.d.ts.map +1 -0
- package/dist/wallet/handlers/account.js +85 -0
- package/dist/wallet/handlers/contract-interaction.d.ts +77 -0
- package/dist/wallet/handlers/contract-interaction.d.ts.map +1 -0
- package/dist/wallet/handlers/contract-interaction.js +219 -0
- package/dist/wallet/handlers/contract.d.ts +96 -0
- package/dist/wallet/handlers/contract.d.ts.map +1 -0
- package/dist/wallet/handlers/contract.js +146 -0
- package/dist/wallet/handlers/event.d.ts +62 -0
- package/dist/wallet/handlers/event.d.ts.map +1 -0
- package/dist/wallet/handlers/event.js +85 -0
- package/dist/wallet/handlers/index.d.ts +88 -0
- package/dist/wallet/handlers/index.d.ts.map +1 -0
- package/dist/wallet/handlers/index.js +47 -0
- package/dist/wallet/handlers/node.d.ts +117 -0
- package/dist/wallet/handlers/node.d.ts.map +1 -0
- package/dist/wallet/handlers/node.js +196 -0
- package/dist/wallet/handlers/senders.d.ts +70 -0
- package/dist/wallet/handlers/senders.d.ts.map +1 -0
- package/dist/wallet/handlers/senders.js +92 -0
- package/dist/wallet/handlers/transaction.d.ts +123 -0
- package/dist/wallet/handlers/transaction.d.ts.map +1 -0
- package/dist/wallet/handlers/transaction.js +191 -0
- package/dist/wallet/serializers.d.ts +75 -0
- package/dist/wallet/serializers.d.ts.map +1 -0
- package/dist/wallet/serializers.js +501 -0
- package/docs/README.md +290 -229
- package/docs/classes/AztecDappWallet.md +1304 -0
- package/docs/classes/AztecRouterProvider.md +1058 -0
- package/docs/classes/AztecWalletError.md +124 -47
- package/docs/classes/ContractArtifactCache.md +48 -31
- package/docs/functions/connectAztec.md +62 -0
- package/docs/functions/createAztecWallet.md +46 -0
- package/docs/functions/createAztecWalletNode.md +96 -0
- package/docs/functions/registerAztecSerializers.md +61 -0
- package/docs/functions/registerWalletAztecSerializers.md +39 -0
- package/docs/globals.md +16 -14
- package/docs/interfaces/AztecHandlerContext.md +54 -0
- package/docs/interfaces/AztecWalletContext.md +50 -0
- package/docs/interfaces/AztecWalletMethodMap.md +470 -477
- package/docs/type-aliases/AztecChainId.md +16 -3
- package/docs/variables/ALL_AZTEC_METHODS.md +20 -0
- package/docs/variables/AztecWalletErrorMap.md +9 -4
- package/docs/variables/AztecWalletSerializer.md +45 -0
- package/package.json +9 -9
- package/src/client/aztec-dapp-wallet.test.ts +628 -0
- package/src/client/aztec-dapp-wallet.ts +879 -0
- package/src/client/aztec-router-provider.test.ts +235 -0
- package/src/client/aztec-router-provider.ts +64 -0
- package/src/client/helpers.test.ts +187 -0
- package/src/client/helpers.ts +91 -0
- package/src/client/register-serializers.ts +108 -0
- package/src/contractArtifactCache.test.ts +21 -10
- package/src/contractArtifactCache.ts +54 -35
- package/src/errors.ts +58 -10
- package/src/index.test.ts +2 -6
- package/src/index.ts +73 -37
- package/src/types.ts +379 -217
- package/src/wallet/create-node.test.ts +332 -0
- package/src/wallet/create-node.ts +120 -0
- package/src/wallet/handlers/account.test.ts +172 -0
- package/src/wallet/handlers/account.ts +99 -0
- package/src/wallet/handlers/contract-interaction.test.ts +248 -0
- package/src/wallet/handlers/contract-interaction.ts +269 -0
- package/src/wallet/handlers/contract.test.ts +245 -0
- package/src/wallet/handlers/contract.ts +174 -0
- package/src/wallet/handlers/event.test.ts +216 -0
- package/src/wallet/handlers/event.ts +99 -0
- package/src/wallet/handlers/index.ts +84 -0
- package/src/wallet/handlers/node.test.ts +304 -0
- package/src/wallet/handlers/node.ts +230 -0
- package/src/wallet/handlers/senders.test.ts +172 -0
- package/src/wallet/handlers/senders.ts +106 -0
- package/src/wallet/handlers/transaction.test.ts +371 -0
- package/src/wallet/handlers/transaction.ts +239 -0
- package/src/wallet/serializers.test.ts +253 -0
- package/src/wallet/serializers.ts +586 -0
- package/typedoc.json +23 -1
- package/dist/aztecRemoteWallet.d.ts +0 -70
- package/dist/aztecRemoteWallet.d.ts.map +0 -1
- package/dist/aztecRemoteWallet.js +0 -335
- package/dist/chainProvider.d.ts +0 -56
- package/dist/chainProvider.d.ts.map +0 -1
- package/dist/chainProvider.js +0 -98
- package/dist/handlers/aztecAccountWallet.d.ts +0 -4
- package/dist/handlers/aztecAccountWallet.d.ts.map +0 -1
- package/dist/handlers/aztecAccountWallet.js +0 -295
- package/dist/handlers/transactions.d.ts +0 -21
- package/dist/handlers/transactions.d.ts.map +0 -1
- package/dist/handlers/transactions.js +0 -98
- package/dist/handlers.d.ts +0 -27
- package/dist/handlers.d.ts.map +0 -1
- package/dist/handlers.js +0 -55
- package/dist/provider.d.ts +0 -105
- package/dist/provider.d.ts.map +0 -1
- package/dist/provider.js +0 -160
- package/dist/serializers/account.d.ts +0 -164
- package/dist/serializers/account.d.ts.map +0 -1
- package/dist/serializers/account.js +0 -244
- package/dist/serializers/contract.d.ts +0 -62
- package/dist/serializers/contract.d.ts.map +0 -1
- package/dist/serializers/contract.js +0 -130
- package/dist/serializers/index.d.ts +0 -21
- package/dist/serializers/index.d.ts.map +0 -1
- package/dist/serializers/index.js +0 -154
- package/dist/serializers/log.d.ts +0 -66
- package/dist/serializers/log.d.ts.map +0 -1
- package/dist/serializers/log.js +0 -222
- package/dist/serializers/note.d.ts +0 -124
- package/dist/serializers/note.d.ts.map +0 -1
- package/dist/serializers/note.js +0 -208
- package/dist/serializers/transaction.d.ts +0 -99
- package/dist/serializers/transaction.d.ts.map +0 -1
- package/dist/serializers/transaction.js +0 -275
- package/dist/wallet.d.ts +0 -62
- package/dist/wallet.d.ts.map +0 -1
- package/dist/wallet.js +0 -77
- package/docs/classes/AztecChainProvider.md +0 -553
- package/docs/classes/AztecChainWallet.md +0 -409
- package/docs/classes/AztecProvider.md +0 -1112
- package/docs/interfaces/AztecWalletBaseMethodMap.md +0 -135
- package/docs/interfaces/AztecWalletEventMap.md +0 -17
- package/docs/type-aliases/AztecChainWalletMiddleware.md +0 -13
- package/docs/type-aliases/AztecWalletContext.md +0 -29
- package/docs/type-aliases/AztecWalletMethodHandler.md +0 -37
- package/docs/type-aliases/AztecWalletMiddleware.md +0 -13
- package/docs/type-aliases/AztecWalletRouterClient.md +0 -13
- package/docs/type-aliases/TransactionFunctionCall.md +0 -33
- package/docs/type-aliases/TransactionParams.md +0 -27
- package/src/aztecRemoteWallet.test.ts +0 -505
- package/src/aztecRemoteWallet.ts +0 -467
- package/src/chainProvider.test.ts +0 -401
- package/src/chainProvider.ts +0 -116
- package/src/handlers/aztecAccountWallet.test.ts +0 -650
- package/src/handlers/aztecAccountWallet.ts +0 -531
- package/src/handlers/transactions.ts +0 -124
- package/src/handlers.test.ts +0 -270
- package/src/handlers.ts +0 -70
- package/src/provider.test.ts +0 -277
- package/src/provider.ts +0 -189
- package/src/serializers/account.test.ts +0 -125
- package/src/serializers/account.ts +0 -301
- package/src/serializers/contract.test.ts +0 -24
- package/src/serializers/contract.ts +0 -183
- package/src/serializers/index.test.ts +0 -136
- package/src/serializers/index.ts +0 -191
- package/src/serializers/log.test.ts +0 -286
- package/src/serializers/log.ts +0 -292
- package/src/serializers/note.test.ts +0 -125
- package/src/serializers/note.ts +0 -250
- package/src/serializers/transaction.test.ts +0 -320
- package/src/serializers/transaction.ts +0 -409
- package/src/wallet.test.ts +0 -275
- package/src/wallet.ts +0 -94
@@ -1,275 +0,0 @@
|
|
1
|
-
import { FunctionCall, PrivateExecutionResult, TxEffect, TxSimulationResult, inBlockSchemaFor, TxHash, TxProvingResult, } from '@aztec/circuit-types';
|
2
|
-
import { GasSettings } from '@aztec/circuits.js';
|
3
|
-
import { AuthWitness, AztecAddress, Fr, FunctionSelector, HashedValues, NoFeePaymentMethod, TxExecutionRequest, TxReceipt, Tx, } from '@aztec/aztec.js';
|
4
|
-
import { AbiTypeSchema } from '@aztec/foundation/abi';
|
5
|
-
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
6
|
-
/**
|
7
|
-
* Serializer for the aztec_createTxExecutionRequest RPC method.
|
8
|
-
* Handles serialization of transaction execution requests between JSON-RPC format and native Aztec types.
|
9
|
-
*/
|
10
|
-
export class AztecCreateTxExecutionRequestSerializer {
|
11
|
-
constructor() {
|
12
|
-
this.params = {
|
13
|
-
serialize: async (method, value) => {
|
14
|
-
const { exec } = value;
|
15
|
-
const calls = exec.calls.map((call) => {
|
16
|
-
return {
|
17
|
-
name: call.name,
|
18
|
-
to: jsonStringify(call.to),
|
19
|
-
selector: jsonStringify(call.selector),
|
20
|
-
type: call.type,
|
21
|
-
isStatic: call.isStatic,
|
22
|
-
args: call.args.map((arg) => jsonStringify(arg)),
|
23
|
-
returnTypes: call.returnTypes.map((r) => jsonStringify(r)),
|
24
|
-
};
|
25
|
-
});
|
26
|
-
const authWitnesses = exec.authWitnesses ? exec.authWitnesses.map((w) => jsonStringify(w)) : undefined;
|
27
|
-
const hashedArguments = exec.hashedArguments
|
28
|
-
? exec.hashedArguments.map((h) => jsonStringify(h))
|
29
|
-
: undefined;
|
30
|
-
const fee = { gasSettings: jsonStringify(exec.fee.gasSettings) };
|
31
|
-
const nonce = exec.nonce ? jsonStringify(exec.nonce) : undefined;
|
32
|
-
return {
|
33
|
-
method,
|
34
|
-
serialized: JSON.stringify({
|
35
|
-
calls,
|
36
|
-
fee,
|
37
|
-
authWitnesses,
|
38
|
-
hashedArguments,
|
39
|
-
nonce,
|
40
|
-
cancellable: exec.cancellable,
|
41
|
-
}),
|
42
|
-
};
|
43
|
-
},
|
44
|
-
deserialize: async (_method, data) => {
|
45
|
-
const parsed = JSON.parse(data.serialized);
|
46
|
-
const calls = await Promise.all(parsed.calls.map(async (call) => {
|
47
|
-
return new FunctionCall(call.name, await jsonParseWithSchema(call.to, AztecAddress.schema), await jsonParseWithSchema(call.selector, FunctionSelector.schema), call.type, call.isStatic, await Promise.all(call.args.map(async (arg) => jsonParseWithSchema(arg, Fr.schema))), await Promise.all(call.returnTypes.map(async (t) => jsonParseWithSchema(t, AbiTypeSchema))));
|
48
|
-
}));
|
49
|
-
const authWitnesses = parsed.authWitnesses
|
50
|
-
? parsed.authWitnesses.map(async (w) => await jsonParseWithSchema(w, AuthWitness.schema))
|
51
|
-
: undefined;
|
52
|
-
const hashedArguments = parsed.hashedArguments
|
53
|
-
? parsed.hashedArguments.map(async (h) => await jsonParseWithSchema(h, HashedValues.schema))
|
54
|
-
: undefined;
|
55
|
-
const cancellable = parsed.cancellable;
|
56
|
-
const nonce = parsed.nonce ? await jsonParseWithSchema(parsed.nonce, Fr.schema) : undefined;
|
57
|
-
const fee = {
|
58
|
-
paymentMethod: new NoFeePaymentMethod(), // Default, caller should override
|
59
|
-
gasSettings: await jsonParseWithSchema(parsed.fee.gasSettings, GasSettings.schema),
|
60
|
-
};
|
61
|
-
const exec = { calls, fee };
|
62
|
-
if (authWitnesses)
|
63
|
-
exec.authWitnesses = authWitnesses;
|
64
|
-
if (hashedArguments)
|
65
|
-
exec.hashedArguments = hashedArguments;
|
66
|
-
if (nonce)
|
67
|
-
exec.nonce = nonce;
|
68
|
-
if (cancellable)
|
69
|
-
exec.cancellable = cancellable;
|
70
|
-
return { exec };
|
71
|
-
},
|
72
|
-
};
|
73
|
-
this.result = {
|
74
|
-
serialize: async (method, value) => {
|
75
|
-
return {
|
76
|
-
method,
|
77
|
-
serialized: jsonStringify(value),
|
78
|
-
};
|
79
|
-
},
|
80
|
-
deserialize: async (_method, data) => {
|
81
|
-
return await jsonParseWithSchema(data.serialized, TxExecutionRequest.schema);
|
82
|
-
},
|
83
|
-
};
|
84
|
-
}
|
85
|
-
}
|
86
|
-
/**
|
87
|
-
* Serializer for the aztec_proveTx RPC method.
|
88
|
-
* Handles serialization of transaction proving requests and results between JSON-RPC format and native Aztec types.
|
89
|
-
*/
|
90
|
-
export class AztecProveTxSerializer {
|
91
|
-
constructor() {
|
92
|
-
this.params = {
|
93
|
-
serialize: async (method, value) => {
|
94
|
-
const { txRequest, privateExecutionResult } = value;
|
95
|
-
return {
|
96
|
-
method,
|
97
|
-
serialized: JSON.stringify({
|
98
|
-
txRequest: jsonStringify(txRequest),
|
99
|
-
privateExecutionResult: jsonStringify(privateExecutionResult),
|
100
|
-
}),
|
101
|
-
};
|
102
|
-
},
|
103
|
-
deserialize: async (_method, data) => {
|
104
|
-
const { txRequest, privateExecutionResult } = JSON.parse(data.serialized);
|
105
|
-
return {
|
106
|
-
txRequest: await jsonParseWithSchema(txRequest, TxExecutionRequest.schema),
|
107
|
-
privateExecutionResult: await jsonParseWithSchema(privateExecutionResult, PrivateExecutionResult.schema),
|
108
|
-
};
|
109
|
-
},
|
110
|
-
};
|
111
|
-
this.result = {
|
112
|
-
serialize: async (method, value) => {
|
113
|
-
return {
|
114
|
-
method,
|
115
|
-
serialized: jsonStringify(value),
|
116
|
-
};
|
117
|
-
},
|
118
|
-
deserialize: async (_method, data) => {
|
119
|
-
return await jsonParseWithSchema(data.serialized, TxProvingResult.schema);
|
120
|
-
},
|
121
|
-
};
|
122
|
-
}
|
123
|
-
}
|
124
|
-
/**
|
125
|
-
* Serializer for the aztec_sendTx RPC method.
|
126
|
-
* Handles serialization of transaction sending requests and transaction hash results between JSON-RPC format and native Aztec types.
|
127
|
-
*/
|
128
|
-
export class AztecSendTxSerializer {
|
129
|
-
constructor() {
|
130
|
-
this.params = {
|
131
|
-
serialize: async (method, value) => {
|
132
|
-
const { tx } = value;
|
133
|
-
return {
|
134
|
-
method,
|
135
|
-
serialized: jsonStringify(tx),
|
136
|
-
};
|
137
|
-
},
|
138
|
-
deserialize: async (_method, data) => {
|
139
|
-
return { tx: await jsonParseWithSchema(data.serialized, Tx.schema) };
|
140
|
-
},
|
141
|
-
};
|
142
|
-
this.result = {
|
143
|
-
serialize: async (method, value) => {
|
144
|
-
return {
|
145
|
-
method,
|
146
|
-
serialized: jsonStringify(value),
|
147
|
-
};
|
148
|
-
},
|
149
|
-
deserialize: async (_method, data) => {
|
150
|
-
return await jsonParseWithSchema(data.serialized, TxHash.schema);
|
151
|
-
},
|
152
|
-
};
|
153
|
-
}
|
154
|
-
}
|
155
|
-
/**
|
156
|
-
* Serializer for the aztec_getTxEffect RPC method.
|
157
|
-
* Handles serialization of transaction effect queries and results between JSON-RPC format and native Aztec types.
|
158
|
-
*/
|
159
|
-
export class AztecGetTxEffectSerializer {
|
160
|
-
constructor() {
|
161
|
-
this.params = {
|
162
|
-
serialize: async (method, value) => {
|
163
|
-
const { txHash } = value;
|
164
|
-
return {
|
165
|
-
method,
|
166
|
-
serialized: jsonStringify(txHash),
|
167
|
-
};
|
168
|
-
},
|
169
|
-
deserialize: async (_method, data) => {
|
170
|
-
const txHash = await jsonParseWithSchema(data.serialized, TxHash.schema);
|
171
|
-
return { txHash };
|
172
|
-
},
|
173
|
-
};
|
174
|
-
this.result = {
|
175
|
-
serialize: async (method, value) => {
|
176
|
-
return {
|
177
|
-
method,
|
178
|
-
serialized: jsonStringify(value),
|
179
|
-
};
|
180
|
-
},
|
181
|
-
deserialize: async (_method, data) => {
|
182
|
-
return await jsonParseWithSchema(data.serialized, inBlockSchemaFor(TxEffect.schema));
|
183
|
-
},
|
184
|
-
};
|
185
|
-
}
|
186
|
-
}
|
187
|
-
/**
|
188
|
-
* Serializer for the aztec_getTxReceipt RPC method.
|
189
|
-
* Handles serialization of transaction receipt queries and results between JSON-RPC format and native Aztec types.
|
190
|
-
*/
|
191
|
-
export class AztecGetTxReceiptSerializer {
|
192
|
-
constructor() {
|
193
|
-
this.params = {
|
194
|
-
serialize: async (method, value) => {
|
195
|
-
const { txHash } = value;
|
196
|
-
return {
|
197
|
-
method,
|
198
|
-
serialized: jsonStringify(txHash),
|
199
|
-
};
|
200
|
-
},
|
201
|
-
deserialize: async (_method, data) => {
|
202
|
-
const txHash = await jsonParseWithSchema(data.serialized, TxHash.schema);
|
203
|
-
return { txHash };
|
204
|
-
},
|
205
|
-
};
|
206
|
-
this.result = {
|
207
|
-
serialize: async (method, value) => {
|
208
|
-
return {
|
209
|
-
method,
|
210
|
-
serialized: jsonStringify(value),
|
211
|
-
};
|
212
|
-
},
|
213
|
-
deserialize: async (_method, data) => {
|
214
|
-
return await jsonParseWithSchema(data.serialized, TxReceipt.schema);
|
215
|
-
},
|
216
|
-
};
|
217
|
-
}
|
218
|
-
}
|
219
|
-
/**
|
220
|
-
* Serializer for the aztec_simulateTx RPC method.
|
221
|
-
* Handles serialization of transaction simulation requests and results between JSON-RPC format and native Aztec types.
|
222
|
-
*/
|
223
|
-
export class AztecSimulateTxSerializer {
|
224
|
-
constructor() {
|
225
|
-
this.params = {
|
226
|
-
serialize: async (method, value) => {
|
227
|
-
const { txRequest, simulatePublic, msgSender, skipTxValidation, enforceFeePayment, profile } = value;
|
228
|
-
return {
|
229
|
-
method,
|
230
|
-
serialized: JSON.stringify({
|
231
|
-
txRequest: jsonStringify(txRequest),
|
232
|
-
simulatePublic,
|
233
|
-
msgSender: JSON.stringify(msgSender),
|
234
|
-
skipTxValidation,
|
235
|
-
enforceFeePayment,
|
236
|
-
profile,
|
237
|
-
}),
|
238
|
-
};
|
239
|
-
},
|
240
|
-
deserialize: async (_method, data) => {
|
241
|
-
const { txRequest, simulatePublic, msgSender, skipTxValidation, enforceFeePayment, profile } = JSON.parse(data.serialized);
|
242
|
-
return {
|
243
|
-
txRequest: await jsonParseWithSchema(txRequest, TxExecutionRequest.schema),
|
244
|
-
simulatePublic,
|
245
|
-
msgSender: await jsonParseWithSchema(msgSender, AztecAddress.schema),
|
246
|
-
skipTxValidation,
|
247
|
-
enforceFeePayment,
|
248
|
-
profile,
|
249
|
-
};
|
250
|
-
},
|
251
|
-
};
|
252
|
-
this.result = {
|
253
|
-
serialize: async (method, value) => {
|
254
|
-
return {
|
255
|
-
method,
|
256
|
-
serialized: jsonStringify(value),
|
257
|
-
};
|
258
|
-
},
|
259
|
-
deserialize: async (_method, data) => {
|
260
|
-
return await jsonParseWithSchema(data.serialized, TxSimulationResult.schema);
|
261
|
-
},
|
262
|
-
};
|
263
|
-
}
|
264
|
-
}
|
265
|
-
/**
|
266
|
-
* Pre-instantiated serializer instances for each Aztec transaction-related RPC method.
|
267
|
-
* These instances can be used directly by the RPC handler implementation.
|
268
|
-
*/
|
269
|
-
export const aztecCreateTxExecutionRequestSerializer = new AztecCreateTxExecutionRequestSerializer();
|
270
|
-
export const aztecProveTxSerializer = new AztecProveTxSerializer();
|
271
|
-
export const aztecSendTxSerializer = new AztecSendTxSerializer();
|
272
|
-
export const aztecGetTxEffectSerializer = new AztecGetTxEffectSerializer();
|
273
|
-
export const aztecGetTxReceiptSerializer = new AztecGetTxReceiptSerializer();
|
274
|
-
export const aztecSimulateTxSerializer = new AztecSimulateTxSerializer();
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplcnMvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osRUFBRSxFQUNGLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsRUFBRSxHQUNILE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFhaEY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVDQUF1QztJQUFwRDtRQU9FLFdBQU0sR0FBRztZQUNQLFNBQVMsRUFBRSxLQUFLLEVBQ2QsTUFBYyxFQUNkLEtBQXVFLEVBQ3ZDLEVBQUU7Z0JBQ2xDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFO29CQUNsRCxPQUFPO3dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixFQUFFLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQzFCLFFBQVEsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzt3QkFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJ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
|
package/dist/wallet.d.ts
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
import type { AccountWallet, PXE } from '@aztec/aztec.js';
|
2
|
-
import { JSONRPCNode, type JSONRPCTransport } from '@walletmesh/jsonrpc';
|
3
|
-
import type { AztecWalletMethodMap, AztecWalletContext, AztecWalletEventMap, AztecWalletRouterClient } from './types.js';
|
4
|
-
/**
|
5
|
-
* @module wallet
|
6
|
-
*
|
7
|
-
* This module provides the server-side implementation of the Aztec RPC interface.
|
8
|
-
* It handles incoming RPC requests from dApps and executes them using an Aztec wallet instance.
|
9
|
-
*/
|
10
|
-
/**
|
11
|
-
* JSON-RPC interface implementation for an Aztec Wallet.
|
12
|
-
*
|
13
|
-
* This class provides the core wallet functionality exposed through JSON-RPC:
|
14
|
-
* - Handles incoming RPC requests from dApps
|
15
|
-
* - Manages wallet state and context
|
16
|
-
* - Executes operations through the underlying Aztec wallet
|
17
|
-
* - Serializes responses back to JSON-RPC format
|
18
|
-
*
|
19
|
-
* The wallet supports operations like:
|
20
|
-
* - Account management
|
21
|
-
* - Transaction execution
|
22
|
-
* - Contract interaction
|
23
|
-
* - Note management
|
24
|
-
* - Event logging
|
25
|
-
*
|
26
|
-
* @example
|
27
|
-
* ```typescript
|
28
|
-
* // Create wallet instance
|
29
|
-
* const wallet = new AztecChainWallet(aztecWallet, transport);
|
30
|
-
*
|
31
|
-
* // Handle incoming RPC requests
|
32
|
-
* transport.on('message', async (request) => {
|
33
|
-
* const response = await wallet.handleRequest(request);
|
34
|
-
* // Send response back to dApp
|
35
|
-
* });
|
36
|
-
* ```
|
37
|
-
*
|
38
|
-
* @public
|
39
|
-
*/
|
40
|
-
export declare class AztecChainWallet extends JSONRPCNode<AztecWalletMethodMap, AztecWalletEventMap, AztecWalletContext> {
|
41
|
-
/**
|
42
|
-
* Creates a new AztecWallet instance.
|
43
|
-
*
|
44
|
-
* @param pxe - The PXE instance for the Aztec protocol
|
45
|
-
* @param wallet - The underlying Aztec wallet instance that executes operations
|
46
|
-
* @param transport - Transport layer for sending/receiving JSON-RPC messages
|
47
|
-
*
|
48
|
-
* The wallet instance sets up:
|
49
|
-
* - Contract artifact caching
|
50
|
-
* - Default request handlers
|
51
|
-
* - Custom serialization for Aztec types
|
52
|
-
*/
|
53
|
-
constructor(pxe: PXE, wallet: AccountWallet, transport: JSONRPCTransport);
|
54
|
-
/**
|
55
|
-
* Creates a client wrapper for use with WalletMesh router.
|
56
|
-
* This enables the wallet to be used as a client in a routing setup.
|
57
|
-
*
|
58
|
-
* @returns Client interface for the wallet
|
59
|
-
*/
|
60
|
-
asWalletRouterClient(): AztecWalletRouterClient;
|
61
|
-
}
|
62
|
-
//# sourceMappingURL=wallet.d.ts.map
|
package/dist/wallet.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAMpB;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,gBAAiB,SAAQ,WAAW,CAC/C,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,CACnB;IACC;;;;;;;;;;;OAWG;gBACS,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB;IAcxE;;;;;OAKG;IACH,oBAAoB,IAAI,uBAAuB;CAGhD"}
|
package/dist/wallet.js
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
import { JSONRPCNode } from '@walletmesh/jsonrpc';
|
2
|
-
import { JSONRPCWalletClient } from '@walletmesh/router';
|
3
|
-
import { AztecWalletSerializer } from './serializers/index.js';
|
4
|
-
import { ContractArtifactCache } from './contractArtifactCache.js';
|
5
|
-
import { handler } from './handlers.js';
|
6
|
-
/**
|
7
|
-
* @module wallet
|
8
|
-
*
|
9
|
-
* This module provides the server-side implementation of the Aztec RPC interface.
|
10
|
-
* It handles incoming RPC requests from dApps and executes them using an Aztec wallet instance.
|
11
|
-
*/
|
12
|
-
/**
|
13
|
-
* JSON-RPC interface implementation for an Aztec Wallet.
|
14
|
-
*
|
15
|
-
* This class provides the core wallet functionality exposed through JSON-RPC:
|
16
|
-
* - Handles incoming RPC requests from dApps
|
17
|
-
* - Manages wallet state and context
|
18
|
-
* - Executes operations through the underlying Aztec wallet
|
19
|
-
* - Serializes responses back to JSON-RPC format
|
20
|
-
*
|
21
|
-
* The wallet supports operations like:
|
22
|
-
* - Account management
|
23
|
-
* - Transaction execution
|
24
|
-
* - Contract interaction
|
25
|
-
* - Note management
|
26
|
-
* - Event logging
|
27
|
-
*
|
28
|
-
* @example
|
29
|
-
* ```typescript
|
30
|
-
* // Create wallet instance
|
31
|
-
* const wallet = new AztecChainWallet(aztecWallet, transport);
|
32
|
-
*
|
33
|
-
* // Handle incoming RPC requests
|
34
|
-
* transport.on('message', async (request) => {
|
35
|
-
* const response = await wallet.handleRequest(request);
|
36
|
-
* // Send response back to dApp
|
37
|
-
* });
|
38
|
-
* ```
|
39
|
-
*
|
40
|
-
* @public
|
41
|
-
*/
|
42
|
-
export class AztecChainWallet extends JSONRPCNode {
|
43
|
-
/**
|
44
|
-
* Creates a new AztecWallet instance.
|
45
|
-
*
|
46
|
-
* @param pxe - The PXE instance for the Aztec protocol
|
47
|
-
* @param wallet - The underlying Aztec wallet instance that executes operations
|
48
|
-
* @param transport - Transport layer for sending/receiving JSON-RPC messages
|
49
|
-
*
|
50
|
-
* The wallet instance sets up:
|
51
|
-
* - Contract artifact caching
|
52
|
-
* - Default request handlers
|
53
|
-
* - Custom serialization for Aztec types
|
54
|
-
*/
|
55
|
-
constructor(pxe, wallet, transport) {
|
56
|
-
const context = {
|
57
|
-
pxe,
|
58
|
-
wallet,
|
59
|
-
contractArtifactCache: new ContractArtifactCache(wallet),
|
60
|
-
};
|
61
|
-
super(transport, context);
|
62
|
-
this.setFallbackHandler(async (handlerContext, method, params) => {
|
63
|
-
return await handler(handlerContext, method, params);
|
64
|
-
});
|
65
|
-
this.setFallbackSerializer(AztecWalletSerializer);
|
66
|
-
}
|
67
|
-
/**
|
68
|
-
* Creates a client wrapper for use with WalletMesh router.
|
69
|
-
* This enables the wallet to be used as a client in a routing setup.
|
70
|
-
*
|
71
|
-
* @returns Client interface for the wallet
|
72
|
-
*/
|
73
|
-
asWalletRouterClient() {
|
74
|
-
return new JSONRPCWalletClient(this);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUF5QixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUXpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7O0dBS0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FJckM7SUFDQzs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQVksR0FBUSxFQUFFLE1BQXFCLEVBQUUsU0FBMkI7UUFDdEUsTUFBTSxPQUFPLEdBQXVCO1lBQ2xDLEdBQUc7WUFDSCxNQUFNO1lBQ04scUJBQXFCLEVBQUUsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7U0FDekQsQ0FBQztRQUNGLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxjQUFrQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRixPQUFPLE1BQU0sT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiJ9
|