near-safe 0.5.1 → 0.6.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.
@@ -14,7 +14,7 @@ export declare class SafeContractSuite {
14
14
  addressForSetup(setup: Hex, saltNonce?: string): Promise<Address>;
15
15
  getSetup(owners: string[]): Hex;
16
16
  addOwnerData(newOwner: Address): Hex;
17
- getOpHash(unsignedUserOp: UserOperation): Promise<Hash>;
17
+ getOpHash(chainId: number, unsignedUserOp: UserOperation): Promise<Hash>;
18
18
  private factoryDataForSetup;
19
19
  buildUserOp(nonce: bigint, txData: MetaTransaction, safeAddress: Address, feeData: GasPrice, setup: string, safeNotDeployed: boolean, safeSaltNonce: string): Promise<UnsignedUserOperation>;
20
20
  getNonce(address: Address, chainId: number): Promise<bigint>;
@@ -64,9 +64,10 @@ class SafeContractSuite {
64
64
  args: [newOwner, 1],
65
65
  });
66
66
  }
67
- async getOpHash(unsignedUserOp) {
67
+ async getOpHash(chainId, unsignedUserOp) {
68
68
  const { factory, factoryData, verificationGasLimit, callGasLimit, maxPriorityFeePerGas, maxFeePerGas, } = unsignedUserOp;
69
- const opHash = await this.dummyClient.readContract({
69
+ const client = await (0, util_1.getClient)(chainId);
70
+ const opHash = await client.readContract({
70
71
  address: this.m4337.address,
71
72
  abi: this.m4337.abi,
72
73
  functionName: "getOperationHash",
@@ -85,7 +85,7 @@ export declare class NearSafe {
85
85
  * @param {UserOperation} userOp - The user operation for which the hash needs to be computed.
86
86
  * @returns {Promise<Hash>} - A promise that resolves to the hash of the provided user operation.
87
87
  */
88
- opHash(userOp: UserOperation): Promise<Hash>;
88
+ opHash(chainId: number, userOp: UserOperation): Promise<Hash>;
89
89
  /**
90
90
  * Encodes a request to sign a transaction using either a paymaster or the user's own funds.
91
91
  *
@@ -118,8 +118,8 @@ class NearSafe {
118
118
  * @param {UserOperation} userOp - The user operation for which the hash needs to be computed.
119
119
  * @returns {Promise<Hash>} - A promise that resolves to the hash of the provided user operation.
120
120
  */
121
- async opHash(userOp) {
122
- return this.safePack.getOpHash(userOp);
121
+ async opHash(chainId, userOp) {
122
+ return this.safePack.getOpHash(chainId, userOp);
123
123
  }
124
124
  /**
125
125
  * Encodes a request to sign a transaction using either a paymaster or the user's own funds.
@@ -317,11 +317,11 @@ class NearSafe {
317
317
  transactions,
318
318
  usePaymaster,
319
319
  });
320
- const opHash = await this.opHash(userOp);
320
+ const opHash = await this.opHash(chainId, userOp);
321
321
  return {
322
322
  payload: (0, near_ca_1.toPayload)(opHash),
323
323
  evmMessage: JSON.stringify(userOp),
324
- hash: await this.opHash(userOp),
324
+ hash: await this.opHash(chainId, userOp),
325
325
  };
326
326
  }
327
327
  }
@@ -14,7 +14,7 @@ export declare class SafeContractSuite {
14
14
  addressForSetup(setup: Hex, saltNonce?: string): Promise<Address>;
15
15
  getSetup(owners: string[]): Hex;
16
16
  addOwnerData(newOwner: Address): Hex;
17
- getOpHash(unsignedUserOp: UserOperation): Promise<Hash>;
17
+ getOpHash(chainId: number, unsignedUserOp: UserOperation): Promise<Hash>;
18
18
  private factoryDataForSetup;
19
19
  buildUserOp(nonce: bigint, txData: MetaTransaction, safeAddress: Address, feeData: GasPrice, setup: string, safeNotDeployed: boolean, safeSaltNonce: string): Promise<UnsignedUserOperation>;
20
20
  getNonce(address: Address, chainId: number): Promise<bigint>;
@@ -68,9 +68,10 @@ export class SafeContractSuite {
68
68
  args: [newOwner, 1],
69
69
  });
70
70
  }
71
- async getOpHash(unsignedUserOp) {
71
+ async getOpHash(chainId, unsignedUserOp) {
72
72
  const { factory, factoryData, verificationGasLimit, callGasLimit, maxPriorityFeePerGas, maxFeePerGas, } = unsignedUserOp;
73
- const opHash = await this.dummyClient.readContract({
73
+ const client = await getClient(chainId);
74
+ const opHash = await client.readContract({
74
75
  address: this.m4337.address,
75
76
  abi: this.m4337.abi,
76
77
  functionName: "getOperationHash",
@@ -85,7 +85,7 @@ export declare class NearSafe {
85
85
  * @param {UserOperation} userOp - The user operation for which the hash needs to be computed.
86
86
  * @returns {Promise<Hash>} - A promise that resolves to the hash of the provided user operation.
87
87
  */
88
- opHash(userOp: UserOperation): Promise<Hash>;
88
+ opHash(chainId: number, userOp: UserOperation): Promise<Hash>;
89
89
  /**
90
90
  * Encodes a request to sign a transaction using either a paymaster or the user's own funds.
91
91
  *
@@ -121,8 +121,8 @@ export class NearSafe {
121
121
  * @param {UserOperation} userOp - The user operation for which the hash needs to be computed.
122
122
  * @returns {Promise<Hash>} - A promise that resolves to the hash of the provided user operation.
123
123
  */
124
- async opHash(userOp) {
125
- return this.safePack.getOpHash(userOp);
124
+ async opHash(chainId, userOp) {
125
+ return this.safePack.getOpHash(chainId, userOp);
126
126
  }
127
127
  /**
128
128
  * Encodes a request to sign a transaction using either a paymaster or the user's own funds.
@@ -320,11 +320,11 @@ export class NearSafe {
320
320
  transactions,
321
321
  usePaymaster,
322
322
  });
323
- const opHash = await this.opHash(userOp);
323
+ const opHash = await this.opHash(chainId, userOp);
324
324
  return {
325
325
  payload: toPayload(opHash),
326
326
  evmMessage: JSON.stringify(userOp),
327
- hash: await this.opHash(userOp),
327
+ hash: await this.opHash(chainId, userOp),
328
328
  };
329
329
  }
330
330
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "near-safe",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "license": "MIT",
5
5
  "description": "An SDK for controlling Ethereum Smart Accounts via ERC4337 from a Near Account.",
6
6
  "author": "bh2smith",