starknet 9.0.0 → 9.1.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/dist/index.js CHANGED
@@ -123,6 +123,7 @@ __export(index_exports, {
123
123
  Uint: () => Uint,
124
124
  ValidateType: () => ValidateType,
125
125
  WalletAccount: () => WalletAccount,
126
+ WalletAccountV5: () => WalletAccountV5,
126
127
  WebSocketChannel: () => WebSocketChannel,
127
128
  WebSocketNotConnectedError: () => WebSocketNotConnectedError,
128
129
  addAddressPadding: () => addAddressPadding,
@@ -188,7 +189,8 @@ __export(index_exports, {
188
189
  validateAndParseAddress: () => validateAndParseAddress,
189
190
  validateChecksumAddress: () => validateChecksumAddress,
190
191
  verifyMessageInStarknet: () => verifyMessageInStarknet,
191
- wallet: () => connect_exports
192
+ wallet: () => connect_exports,
193
+ walletV5: () => connectV5_exports
192
194
  });
193
195
  module.exports = __toCommonJS(index_exports);
194
196
 
@@ -12126,6 +12128,188 @@ var WalletAccount = class _WalletAccount extends Account {
12126
12128
  // TODO: MISSING ESTIMATES
12127
12129
  };
12128
12130
 
12131
+ // src/wallet/connectV5.ts
12132
+ var connectV5_exports = {};
12133
+ __export(connectV5_exports, {
12134
+ addDeclareTransaction: () => addDeclareTransaction2,
12135
+ addInvokeTransaction: () => addInvokeTransaction2,
12136
+ addStarknetChain: () => addStarknetChain2,
12137
+ deploymentData: () => deploymentData2,
12138
+ getPermissions: () => getPermissions2,
12139
+ requestAccounts: () => requestAccounts2,
12140
+ requestChainId: () => requestChainId2,
12141
+ signMessage: () => signMessage2,
12142
+ subscribeWalletEvent: () => subscribeWalletEvent,
12143
+ supportedSpecs: () => supportedSpecs2,
12144
+ switchStarknetChain: () => switchStarknetChain2,
12145
+ watchAsset: () => watchAsset2
12146
+ });
12147
+ function requestAccounts2(walletWSF, silent_mode = false) {
12148
+ return walletWSF.features["starknet:walletApi"].request({
12149
+ type: "wallet_requestAccounts",
12150
+ params: { silent_mode }
12151
+ });
12152
+ }
12153
+ function getPermissions2(walletWSF) {
12154
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_getPermissions" });
12155
+ }
12156
+ function watchAsset2(walletWSF, asset) {
12157
+ return walletWSF.features["starknet:walletApi"].request({
12158
+ type: "wallet_watchAsset",
12159
+ params: asset
12160
+ });
12161
+ }
12162
+ function addStarknetChain2(walletWSF, chain) {
12163
+ return walletWSF.features["starknet:walletApi"].request({
12164
+ type: "wallet_addStarknetChain",
12165
+ params: chain
12166
+ });
12167
+ }
12168
+ function switchStarknetChain2(walletWSF, chainId) {
12169
+ return walletWSF.features["starknet:walletApi"].request({
12170
+ type: "wallet_switchStarknetChain",
12171
+ params: { chainId }
12172
+ });
12173
+ }
12174
+ function requestChainId2(walletWSF) {
12175
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_requestChainId" });
12176
+ }
12177
+ function deploymentData2(walletWSF) {
12178
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_deploymentData" });
12179
+ }
12180
+ function addInvokeTransaction2(walletWSF, params) {
12181
+ return walletWSF.features["starknet:walletApi"].request({
12182
+ type: "wallet_addInvokeTransaction",
12183
+ params
12184
+ });
12185
+ }
12186
+ function addDeclareTransaction2(walletWSF, params) {
12187
+ return walletWSF.features["starknet:walletApi"].request({
12188
+ type: "wallet_addDeclareTransaction",
12189
+ params
12190
+ });
12191
+ }
12192
+ function signMessage2(walletWSF, typedData) {
12193
+ return walletWSF.features["starknet:walletApi"].request({
12194
+ type: "wallet_signTypedData",
12195
+ params: typedData
12196
+ });
12197
+ }
12198
+ function supportedSpecs2(walletWSF) {
12199
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_supportedSpecs" });
12200
+ }
12201
+ function subscribeWalletEvent(walletWSF, callback) {
12202
+ return walletWSF.features["standard:events"].on("change", callback);
12203
+ }
12204
+
12205
+ // src/wallet/accountV5.ts
12206
+ var WalletAccountV5 = class _WalletAccountV5 extends Account {
12207
+ walletProvider;
12208
+ /**
12209
+ * The function to use to unsubscribe from the wallet events.
12210
+ * To call before the instance is deleted.
12211
+ */
12212
+ unsubscribe;
12213
+ constructor(options) {
12214
+ super({ ...options, signer: "" });
12215
+ this.walletProvider = options.walletProvider;
12216
+ this.unsubscribe = this.walletProvider.features["standard:events"].on(
12217
+ "change",
12218
+ (change) => {
12219
+ if (!change.accounts?.length) return;
12220
+ if (change.accounts[0].address) this.address = change.accounts[0].address;
12221
+ if (change.accounts[0].chains)
12222
+ this.channel.setChainId(change.accounts[0].chains[0].slice(9));
12223
+ }
12224
+ );
12225
+ }
12226
+ /**
12227
+ * WALLET EVENTS
12228
+ */
12229
+ onChange(callback) {
12230
+ subscribeWalletEvent(this.walletProvider, callback);
12231
+ }
12232
+ unsubscribeChange() {
12233
+ this.unsubscribe();
12234
+ }
12235
+ /**
12236
+ * WALLET SPECIFIC METHODS
12237
+ */
12238
+ requestAccounts(silentMode = false) {
12239
+ return requestAccounts2(this.walletProvider, silentMode);
12240
+ }
12241
+ getPermissions() {
12242
+ return getPermissions2(this.walletProvider);
12243
+ }
12244
+ switchStarknetChain(chainId) {
12245
+ return switchStarknetChain2(this.walletProvider, chainId);
12246
+ }
12247
+ watchAsset(asset) {
12248
+ return watchAsset2(this.walletProvider, asset);
12249
+ }
12250
+ addStarknetChain(chain) {
12251
+ return addStarknetChain2(this.walletProvider, chain);
12252
+ }
12253
+ /**
12254
+ * ACCOUNT METHODS
12255
+ */
12256
+ execute(calls) {
12257
+ const txCalls = [].concat(calls).map((it) => {
12258
+ const { contractAddress, entrypoint, calldata } = it;
12259
+ return {
12260
+ contract_address: contractAddress,
12261
+ entry_point: entrypoint,
12262
+ calldata
12263
+ };
12264
+ });
12265
+ const params = {
12266
+ calls: txCalls
12267
+ };
12268
+ return addInvokeTransaction2(this.walletProvider, params);
12269
+ }
12270
+ declare(payload) {
12271
+ const declareContractPayload = extractContractHashes(payload);
12272
+ const pContract = payload.contract;
12273
+ const cairo1Contract = {
12274
+ ...pContract,
12275
+ abi: stringify2(pContract.abi)
12276
+ };
12277
+ if (!declareContractPayload.compiledClassHash) {
12278
+ throw Error("compiledClassHash is required");
12279
+ }
12280
+ const params = {
12281
+ compiled_class_hash: declareContractPayload.compiledClassHash,
12282
+ contract_class: cairo1Contract
12283
+ };
12284
+ return addDeclareTransaction2(this.walletProvider, params);
12285
+ }
12286
+ async deploy(payload) {
12287
+ const { calls, addresses } = defaultDeployer.buildDeployerCall(payload, this.address);
12288
+ const invokeResponse = await this.execute(calls);
12289
+ return {
12290
+ ...invokeResponse,
12291
+ contract_address: addresses
12292
+ };
12293
+ }
12294
+ signMessage(typedData) {
12295
+ return signMessage2(this.walletProvider, typedData);
12296
+ }
12297
+ static async connect(provider, walletProvider, cairoVersion, paymaster, silentMode = false) {
12298
+ const [accountAddress] = await requestAccounts2(walletProvider, silentMode);
12299
+ return new _WalletAccountV5({
12300
+ provider,
12301
+ walletProvider,
12302
+ address: accountAddress,
12303
+ cairoVersion,
12304
+ paymaster
12305
+ });
12306
+ }
12307
+ static async connectSilent(provider, walletProvider, cairoVersion, paymaster) {
12308
+ return _WalletAccountV5.connect(provider, walletProvider, cairoVersion, paymaster, true);
12309
+ }
12310
+ // TODO: MISSING ESTIMATES
12311
+ };
12312
+
12129
12313
  // src/utils/events/index.ts
12130
12314
  var events_exports = {};
12131
12315
  __export(events_exports, {
@@ -12814,6 +12998,7 @@ function units(amount, simbol = "fri") {
12814
12998
  Uint,
12815
12999
  ValidateType,
12816
13000
  WalletAccount,
13001
+ WalletAccountV5,
12817
13002
  WebSocketChannel,
12818
13003
  WebSocketNotConnectedError,
12819
13004
  addAddressPadding,
@@ -12879,6 +13064,7 @@ function units(amount, simbol = "fri") {
12879
13064
  validateAndParseAddress,
12880
13065
  validateChecksumAddress,
12881
13066
  verifyMessageInStarknet,
12882
- wallet
13067
+ wallet,
13068
+ walletV5
12883
13069
  });
12884
13070
  //# sourceMappingURL=index.js.map