diff --git a/src/connectors/argentMobile/modal/starknet/account.ts b/src/connectors/argentMobile/modal/starknet/account.ts index 6f69bcf..47927f2 100644 --- a/src/connectors/argentMobile/modal/starknet/account.ts +++ b/src/connectors/argentMobile/modal/starknet/account.ts @@ -37,7 +37,7 @@ export class StarknetRemoteAccount extends Account implements AccountInterface { ? transactionsDetail : abisOrDetails - return await this.wallet.starknet_requestAddInvokeTransaction({ + return await this.wallet.wallet_requestAddInvokeTransaction({ accountAddress: this.address, executionRequest: { calls, invocationDetails: details }, }) diff --git a/src/connectors/argentMobile/modal/starknet/adapter.ts b/src/connectors/argentMobile/modal/starknet/adapter.ts index 3d80a8a..e5c0e95 100644 --- a/src/connectors/argentMobile/modal/starknet/adapter.ts +++ b/src/connectors/argentMobile/modal/starknet/adapter.ts @@ -53,6 +53,9 @@ export class StarknetAdapter "starknet_supportedSpecs", "starknet_signTypedData", "starknet_requestAddInvokeTransaction", + "wallet_supportedSpecs", + "wallet_signTypedData", + "wallet_requestAddInvokeTransaction", ] public events = ["chainChanged", "accountsChanged"] @@ -103,6 +106,9 @@ export class StarknetAdapter starknet_addInvokeTransaction: this.handleAddInvokeTransaction, starknet_signTypedData: this.handleSignTypedData, starknet_supportedSpecs: this.handleSupportedSpecs, + wallet_addInvokeTransaction: this.handleAddInvokeTransaction, + wallet_signTypedData: this.handleSignTypedData, + wallet_supportedSpecs: this.handleSupportedSpecs, }) } @@ -123,7 +129,19 @@ export class StarknetAdapter throw new Error("No session") } - const requestToCall = this.handleRequest[call.type] + let type = call.type as string + + // temporarily for backwards compatibility + if ( + type === "wallet_addInvokeTransaction" || + type === "wallet_supportedSpecs" || + type === "wallet_signTypedData" + ) { + type = type.replace("wallet_", "starknet_") as string + } + + const requestToCall = this.handleRequest[type] + if (requestToCall) { return requestToCall(call.params) } diff --git a/src/connectors/argentMobile/modal/starknet/signer.ts b/src/connectors/argentMobile/modal/starknet/signer.ts index 5815f16..5c041c8 100644 --- a/src/connectors/argentMobile/modal/starknet/signer.ts +++ b/src/connectors/argentMobile/modal/starknet/signer.ts @@ -21,7 +21,7 @@ export class StarknetRemoteSigner implements SignerInterface { typedData: TypedData, accountAddress: string, ): Promise { - const { signature } = await this.wallet.starknet_signTypedData({ + const { signature } = await this.wallet.wallet_signTypedData({ accountAddress, typedData, }) diff --git a/src/connectors/argentMobile/modal/starknet/starknet.model.ts b/src/connectors/argentMobile/modal/starknet/starknet.model.ts index daabc3f..5f97bc3 100644 --- a/src/connectors/argentMobile/modal/starknet/starknet.model.ts +++ b/src/connectors/argentMobile/modal/starknet/starknet.model.ts @@ -9,11 +9,11 @@ import { TypedData } from "starknet-types" // see https://github.com/WalletConnect/walletconnect-docs/pull/288/files export interface IStarknetRpc { - starknet_signTypedData(params: { + wallet_signTypedData(params: { accountAddress: string typedData: TypedData }): Promise<{ signature: Signature }> - starknet_requestAddInvokeTransaction(params: { + wallet_requestAddInvokeTransaction(params: { accountAddress: string executionRequest: { calls: Call[]