The logic to pretty print EIP-712 messages assumes that nested array elements are strings, and attempts to call toUnicodeBold on them, resulting in an exception being raised back to the caller.
|
data.message[key].forEach((item: any, index: number) => { |
|
result += ` ${index}: \n`; |
|
for (const subKey in item) { |
|
if (Array.isArray(item[subKey])) { |
|
result += ` ${subKey}: \n`; |
|
item[subKey].forEach((item: any, index: number) => { |
|
result += ` ${index}: ${toUnicodeBold(item)}\n`; |
Reproduction URL: https://ymax.app and create a portfolio.
After signing the permit2 allowance, observe that the wallet invocation for the permit2 EIP-712 signature fails with e.split is not a function.

The logic to pretty print EIP-712 messages assumes that nested array elements are strings, and attempts to call
toUnicodeBoldon them, resulting in an exception being raised back to the caller.core-vm-modules/packages/evm-module/src/handlers/eth-sign/utils/beautify-message/beautify-message.ts
Lines 26 to 32 in 2508d55
Reproduction URL: https://ymax.app and create a portfolio.
After signing the permit2 allowance, observe that the wallet invocation for the permit2 EIP-712 signature fails with
e.split is not a function.