Skip to content

Commit

Permalink
Merge pull request #158 from blockful-io/eip-5559-v2
Browse files Browse the repository at this point in the history
EIP-5559 v2
  • Loading branch information
pikonha authored Sep 6, 2024
2 parents 09bdcee + b6b2bf4 commit 3d49010
Show file tree
Hide file tree
Showing 9 changed files with 66 additions and 362 deletions.
24 changes: 2 additions & 22 deletions packages/client/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
Address,
Abi,
createPublicClient,
encodeFunctionData,
PrivateKeyAccount,
walletActions,
http,
Expand All @@ -18,7 +17,6 @@ import {
MessageData,
TypedSignature,
} from '@blockful/gateway/src/types'
import { abi as dbABI } from '@blockful/contracts/out/DatabaseResolver.sol/DatabaseResolver.json'

export function getRevertErrorData(err: unknown) {
if (!(err instanceof BaseError)) return undefined
Expand Down Expand Up @@ -81,45 +79,27 @@ export async function handleDBStorage({
url,
message,
signer,
multicall,
}: {
domain: DomainData
url: string
message: MessageData
signer: PrivateKeyAccount
multicall?: boolean
}) {
const signature = await signer.signTypedData({
domain,
message,
types: {
Message: [
{ name: 'functionSelector', type: 'bytes4' },
{ name: 'callData', type: 'bytes' },
{ name: 'sender', type: 'address' },
{ name: 'parameters', type: 'Parameter[]' },
{ name: 'expirationTimestamp', type: 'uint256' },
],
Parameter: [
{ name: 'name', type: 'string' },
{ name: 'value', type: 'string' },
],
},
primaryType: 'Message',
})

let callData
if (multicall) {
callData = message.parameters[0].value as `0x${string}`
} else {
callData = encodeFunctionData({
abi: dbABI,
functionName: message.functionSelector,
args: message.parameters.map((arg) => arg.value),
})
}
return await ccipRequest({
body: {
data: callData,
data: message.callData,
signature: { message, domain, signature },
sender: message.sender,
},
Expand Down
2 changes: 1 addition & 1 deletion packages/client/src/db.write.ts
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ const _ = (async () => {
string,
MessageData,
]
await handleDBStorage({ domain, url, message, signer, multicall: true })
await handleDBStorage({ domain, url, message, signer })
} else {
console.error('writing failed: ', { err })
}
Expand Down
8 changes: 1 addition & 7 deletions packages/client/test/db.e2e.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,6 @@ async function offchainWriting({
signer,
abi,
universalResolverAddress,
multicall,
chainId,
}: {
name: string
Expand All @@ -210,7 +209,6 @@ async function offchainWriting({
abi: unknown[]
args: unknown[]
universalResolverAddress: Hex
multicall?: boolean
chainId?: number
}): Promise<Response | void> {
const [resolverAddr] = (await client.readContract({
Expand Down Expand Up @@ -239,7 +237,7 @@ async function offchainWriting({
if (chainId) {
domain.chainId = chainId
}
return await handleDBStorage({ domain, url, message, signer, multicall })
return await handleDBStorage({ domain, url, message, signer })
}
}
}
Expand Down Expand Up @@ -595,7 +593,6 @@ describe('DatabaseResolver', () => {
args: [calls],
universalResolverAddress,
signer: owner,
multicall: true,
})

expect(response?.status).eq(200)
Expand Down Expand Up @@ -638,7 +635,6 @@ describe('DatabaseResolver', () => {
args: [calls],
universalResolverAddress,
signer: owner,
multicall: true,
})

expect(response?.status).eq(200)
Expand Down Expand Up @@ -869,7 +865,6 @@ describe('DatabaseResolver', () => {
args: [calls],
universalResolverAddress,
signer: owner,
multicall: true,
})

expect(response?.status).eq(200)
Expand Down Expand Up @@ -912,7 +907,6 @@ describe('DatabaseResolver', () => {
args: [calls],
universalResolverAddress,
signer: owner,
multicall: true,
})

expect(response?.status).eq(200)
Expand Down
Loading

0 comments on commit 3d49010

Please sign in to comment.