11import { Box , Button } from '@chakra-ui/react' ;
22import { createCoinbaseWalletSDK , getCryptoKeyAccount } from '@coinbase/wallet-sdk' ;
33import { useCallback , useState } from 'react' ;
4- import { Hex , numberToHex } from 'viem' ;
4+ import { encodeFunctionData , Hex , numberToHex } from 'viem' ;
55import { baseSepolia } from 'viem/chains' ;
66
77import {
@@ -45,6 +45,7 @@ export function SpendPermissions({
4545 extraData : data . extraData ,
4646 } ;
4747
48+
4849 try {
4950 const response = await provider ?. request ( {
5051 method : 'wallet_sendCalls' ,
@@ -56,15 +57,21 @@ export function SpendPermissions({
5657 calls : [
5758 {
5859 to : SPEND_PERMISSION_MANAGER_ADDRESS ,
59- abi : spendPermissionManagerAbi ,
60- functionName : 'approveWithSignature' ,
61- args : [ spendPermission , signature ] ,
60+ data : encodeFunctionData ( {
61+ abi : spendPermissionManagerAbi ,
62+ functionName : 'approveWithSignature' ,
63+ args : [ spendPermission , signature ] ,
64+ } ) ,
65+ value : '0x0' ,
6266 } ,
6367 {
6468 to : SPEND_PERMISSION_MANAGER_ADDRESS ,
65- abi : spendPermissionManagerAbi ,
66- functionName : 'spend' ,
67- args : [ spendPermission , BigInt ( 1 ) ] ,
69+ data : encodeFunctionData ( {
70+ abi : spendPermissionManagerAbi ,
71+ functionName : 'spend' ,
72+ args : [ spendPermission , BigInt ( 1 ) ] ,
73+ } ) ,
74+ value : '0x0' ,
6875 } ,
6976 // extra calls...
7077 ] ,
0 commit comments