diff --git a/client/src/gamedata/gamedata.json b/client/src/gamedata/gamedata.json index 8ec982889..125e61f86 100644 --- a/client/src/gamedata/gamedata.json +++ b/client/src/gamedata/gamedata.json @@ -459,7 +459,7 @@ "deployParams": [], "deployFunds": 0, "deployId": "29", - "instanceGas": 250000, + "instanceGas": 1000000, "author": "AgeManning" }, { diff --git a/client/src/utils/ethutil.js b/client/src/utils/ethutil.js index d01ab48dd..a9e9f8bd0 100644 --- a/client/src/utils/ethutil.js +++ b/client/src/utils/ethutil.js @@ -171,18 +171,43 @@ export const verifySignature = (json) => { export const signMessageWithMetamask = (addr, message, callback) => { const msg = ethjs.bufferToHex(new Buffer(message, 'utf8')); - web3.currentProvider.sendAsync({ - method: 'personal_sign', - params: [msg, addr], - addr - }, function (err, res) { - callback({ - address: addr, - msg: message, - sig: res.result, - version: '2' + + // Use modern ethereum.request() method instead of deprecated sendAsync + if (window.ethereum && window.ethereum.request) { + window.ethereum.request({ + method: 'personal_sign', + params: [msg, addr] + }).then(res => { + callback({ + address: addr, + msg: message, + sig: res, + version: '2' + }); + }).catch(err => { + console.error('MetaMask signing error:', err); + callback(null); }); - }); + } else { + // Fallback to sendAsync for older providers + web3.currentProvider.sendAsync({ + method: 'personal_sign', + params: [msg, addr], + addr + }, function (err, res) { + if (err) { + console.error('Fallback signing error:', err); + callback(null); + } else { + callback({ + address: addr, + msg: message, + sig: res.result, + version: '2' + }); + } + }); + } } export const logger = (req, res, next, end) => {