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.mjs CHANGED
@@ -11951,6 +11951,188 @@ var WalletAccount = class _WalletAccount extends Account {
11951
11951
  // TODO: MISSING ESTIMATES
11952
11952
  };
11953
11953
 
11954
+ // src/wallet/connectV5.ts
11955
+ var connectV5_exports = {};
11956
+ __export(connectV5_exports, {
11957
+ addDeclareTransaction: () => addDeclareTransaction2,
11958
+ addInvokeTransaction: () => addInvokeTransaction2,
11959
+ addStarknetChain: () => addStarknetChain2,
11960
+ deploymentData: () => deploymentData2,
11961
+ getPermissions: () => getPermissions2,
11962
+ requestAccounts: () => requestAccounts2,
11963
+ requestChainId: () => requestChainId2,
11964
+ signMessage: () => signMessage2,
11965
+ subscribeWalletEvent: () => subscribeWalletEvent,
11966
+ supportedSpecs: () => supportedSpecs2,
11967
+ switchStarknetChain: () => switchStarknetChain2,
11968
+ watchAsset: () => watchAsset2
11969
+ });
11970
+ function requestAccounts2(walletWSF, silent_mode = false) {
11971
+ return walletWSF.features["starknet:walletApi"].request({
11972
+ type: "wallet_requestAccounts",
11973
+ params: { silent_mode }
11974
+ });
11975
+ }
11976
+ function getPermissions2(walletWSF) {
11977
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_getPermissions" });
11978
+ }
11979
+ function watchAsset2(walletWSF, asset) {
11980
+ return walletWSF.features["starknet:walletApi"].request({
11981
+ type: "wallet_watchAsset",
11982
+ params: asset
11983
+ });
11984
+ }
11985
+ function addStarknetChain2(walletWSF, chain) {
11986
+ return walletWSF.features["starknet:walletApi"].request({
11987
+ type: "wallet_addStarknetChain",
11988
+ params: chain
11989
+ });
11990
+ }
11991
+ function switchStarknetChain2(walletWSF, chainId) {
11992
+ return walletWSF.features["starknet:walletApi"].request({
11993
+ type: "wallet_switchStarknetChain",
11994
+ params: { chainId }
11995
+ });
11996
+ }
11997
+ function requestChainId2(walletWSF) {
11998
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_requestChainId" });
11999
+ }
12000
+ function deploymentData2(walletWSF) {
12001
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_deploymentData" });
12002
+ }
12003
+ function addInvokeTransaction2(walletWSF, params) {
12004
+ return walletWSF.features["starknet:walletApi"].request({
12005
+ type: "wallet_addInvokeTransaction",
12006
+ params
12007
+ });
12008
+ }
12009
+ function addDeclareTransaction2(walletWSF, params) {
12010
+ return walletWSF.features["starknet:walletApi"].request({
12011
+ type: "wallet_addDeclareTransaction",
12012
+ params
12013
+ });
12014
+ }
12015
+ function signMessage2(walletWSF, typedData) {
12016
+ return walletWSF.features["starknet:walletApi"].request({
12017
+ type: "wallet_signTypedData",
12018
+ params: typedData
12019
+ });
12020
+ }
12021
+ function supportedSpecs2(walletWSF) {
12022
+ return walletWSF.features["starknet:walletApi"].request({ type: "wallet_supportedSpecs" });
12023
+ }
12024
+ function subscribeWalletEvent(walletWSF, callback) {
12025
+ return walletWSF.features["standard:events"].on("change", callback);
12026
+ }
12027
+
12028
+ // src/wallet/accountV5.ts
12029
+ var WalletAccountV5 = class _WalletAccountV5 extends Account {
12030
+ walletProvider;
12031
+ /**
12032
+ * The function to use to unsubscribe from the wallet events.
12033
+ * To call before the instance is deleted.
12034
+ */
12035
+ unsubscribe;
12036
+ constructor(options) {
12037
+ super({ ...options, signer: "" });
12038
+ this.walletProvider = options.walletProvider;
12039
+ this.unsubscribe = this.walletProvider.features["standard:events"].on(
12040
+ "change",
12041
+ (change) => {
12042
+ if (!change.accounts?.length) return;
12043
+ if (change.accounts[0].address) this.address = change.accounts[0].address;
12044
+ if (change.accounts[0].chains)
12045
+ this.channel.setChainId(change.accounts[0].chains[0].slice(9));
12046
+ }
12047
+ );
12048
+ }
12049
+ /**
12050
+ * WALLET EVENTS
12051
+ */
12052
+ onChange(callback) {
12053
+ subscribeWalletEvent(this.walletProvider, callback);
12054
+ }
12055
+ unsubscribeChange() {
12056
+ this.unsubscribe();
12057
+ }
12058
+ /**
12059
+ * WALLET SPECIFIC METHODS
12060
+ */
12061
+ requestAccounts(silentMode = false) {
12062
+ return requestAccounts2(this.walletProvider, silentMode);
12063
+ }
12064
+ getPermissions() {
12065
+ return getPermissions2(this.walletProvider);
12066
+ }
12067
+ switchStarknetChain(chainId) {
12068
+ return switchStarknetChain2(this.walletProvider, chainId);
12069
+ }
12070
+ watchAsset(asset) {
12071
+ return watchAsset2(this.walletProvider, asset);
12072
+ }
12073
+ addStarknetChain(chain) {
12074
+ return addStarknetChain2(this.walletProvider, chain);
12075
+ }
12076
+ /**
12077
+ * ACCOUNT METHODS
12078
+ */
12079
+ execute(calls) {
12080
+ const txCalls = [].concat(calls).map((it) => {
12081
+ const { contractAddress, entrypoint, calldata } = it;
12082
+ return {
12083
+ contract_address: contractAddress,
12084
+ entry_point: entrypoint,
12085
+ calldata
12086
+ };
12087
+ });
12088
+ const params = {
12089
+ calls: txCalls
12090
+ };
12091
+ return addInvokeTransaction2(this.walletProvider, params);
12092
+ }
12093
+ declare(payload) {
12094
+ const declareContractPayload = extractContractHashes(payload);
12095
+ const pContract = payload.contract;
12096
+ const cairo1Contract = {
12097
+ ...pContract,
12098
+ abi: stringify2(pContract.abi)
12099
+ };
12100
+ if (!declareContractPayload.compiledClassHash) {
12101
+ throw Error("compiledClassHash is required");
12102
+ }
12103
+ const params = {
12104
+ compiled_class_hash: declareContractPayload.compiledClassHash,
12105
+ contract_class: cairo1Contract
12106
+ };
12107
+ return addDeclareTransaction2(this.walletProvider, params);
12108
+ }
12109
+ async deploy(payload) {
12110
+ const { calls, addresses } = defaultDeployer.buildDeployerCall(payload, this.address);
12111
+ const invokeResponse = await this.execute(calls);
12112
+ return {
12113
+ ...invokeResponse,
12114
+ contract_address: addresses
12115
+ };
12116
+ }
12117
+ signMessage(typedData) {
12118
+ return signMessage2(this.walletProvider, typedData);
12119
+ }
12120
+ static async connect(provider, walletProvider, cairoVersion, paymaster, silentMode = false) {
12121
+ const [accountAddress] = await requestAccounts2(walletProvider, silentMode);
12122
+ return new _WalletAccountV5({
12123
+ provider,
12124
+ walletProvider,
12125
+ address: accountAddress,
12126
+ cairoVersion,
12127
+ paymaster
12128
+ });
12129
+ }
12130
+ static async connectSilent(provider, walletProvider, cairoVersion, paymaster) {
12131
+ return _WalletAccountV5.connect(provider, walletProvider, cairoVersion, paymaster, true);
12132
+ }
12133
+ // TODO: MISSING ESTIMATES
12134
+ };
12135
+
11954
12136
  // src/utils/events/index.ts
11955
12137
  var events_exports = {};
11956
12138
  __export(events_exports, {
@@ -12639,6 +12821,7 @@ export {
12639
12821
  Uint,
12640
12822
  ValidateType,
12641
12823
  WalletAccount,
12824
+ WalletAccountV5,
12642
12825
  WebSocketChannel,
12643
12826
  WebSocketNotConnectedError,
12644
12827
  addAddressPadding,
@@ -12704,6 +12887,7 @@ export {
12704
12887
  validateAndParseAddress,
12705
12888
  validateChecksumAddress,
12706
12889
  verifyMessageInStarknet,
12707
- connect_exports as wallet
12890
+ connect_exports as wallet,
12891
+ connectV5_exports as walletV5
12708
12892
  };
12709
12893
  //# sourceMappingURL=index.mjs.map