Skip to content

Commit 81206b0

Browse files
committed
fix: accept uppercase x402 addresses
1 parent b06ec40 commit 81206b0

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

packages/x402/src/ethereum.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export function getAddress(value: string): Address {
2727
}
2828

2929
const lowerAddress = value.toLowerCase();
30-
const upperAddress = value.toUpperCase();
30+
const upperAddress = `0x${value.slice(2).toUpperCase()}`;
3131
const checksummedAddress = getChecksumAddress(value);
3232

3333
if (

packages/x402/test/x402Server.test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,20 @@ describe('x402Erc7710Server', () => {
119119
]);
120120
});
121121

122+
it('normalizes all-uppercase facilitatorAddresses', async () => {
123+
const server = new x402Erc7710Server();
124+
125+
const result = await server.enhancePaymentRequirements(baseRequirements, {
126+
extra: {
127+
facilitatorAddresses: ['0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'],
128+
},
129+
});
130+
131+
expect(result.extra?.facilitatorAddresses).toEqual([
132+
'0xaAaAaAaaAaAaAaaAaAAAAAAAAaaaAaAaAaaAaaAa',
133+
]);
134+
});
135+
122136
it('throws when facilitatorAddresses is not an array', async () => {
123137
const server = new x402Erc7710Server();
124138

0 commit comments

Comments
 (0)