Skip to content

Commit

Permalink
Add validation for paymaster sign accountOp
Browse files Browse the repository at this point in the history
  • Loading branch information
JIOjosBG committed Nov 30, 2023
1 parent b3ba14c commit 8eea648
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 3 deletions.
4 changes: 4 additions & 0 deletions src/interfaces/accountOp.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export interface RelayerResponsePaymasterSign {
data: { paymasterAndData: any }
errorState: any[]
}
6 changes: 4 additions & 2 deletions src/libs/schemaValidation/generateSchemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ const source = TJS.getProgramFromFiles(
[
resolve('src', 'interfaces', 'emailVault.ts'),
resolve('src', 'interfaces', 'account.ts'),
resolve('src', 'interfaces', 'portfolio.ts')
resolve('src', 'interfaces', 'portfolio.ts'),
resolve('src', 'interfaces', 'accountOp.ts')
],
COMPILER_OPTIONS,
__dirname
Expand All @@ -30,7 +31,8 @@ const allInterfaces = [
'RecoveryKey',
'EmailVaultData',
'RelayerResponseLinkedAccount',
'RelayerReponsePortfolioAdditional'
'RelayerReponsePortfolioAdditional',
'RelayerResponsePaymasterSign'
]

allInterfaces.forEach((interfaceName) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"paymasterAndData": {}
},
"required": [
"paymasterAndData"
]
},
"errorState": {
"type": "array",
"items": {}
}
},
"required": [
"data",
"errorState"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}
3 changes: 2 additions & 1 deletion src/libs/schemaValidation/validateScehmas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ export const schemas: any = {
RelayerResponseLinkedAccount: ajv.compile(require('./schemas/RelayerResponseLinkedAccount.json')),
RelayerReponsePortfolioAdditional: ajv.compile(
require('./schemas/RelayerReponsePortfolioAdditional.json')
)
),
RelayerResponsePaymasterSign: ajv.compile(require('./schemas/RelayerResponsePaymasterSign.json'))
}
8 changes: 8 additions & 0 deletions src/libs/schemaValidation/validation.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ const data = {
errors: [new Error('asd')]
}
]
},
RelayerResponsePaymasterSign: {
correct: [{ data: { paymasterAndData: 'paymasterAndData' }, errorState: [] }]
}
}

Expand All @@ -42,4 +45,9 @@ describe('Describe', () => {
expect(res).toBeTruthy()
expect(schemas.EmailVaultData.errors).toBeNull()
})
test('RelayerResponsePaymasterSign', () => {
const res = schemas.RelayerResponsePaymasterSign(data.RelayerResponsePaymasterSign.correct[0])
expect(res).toBeTruthy()
expect(schemas.RelayerResponsePaymasterSign.errors).toBeNull()
})
})

0 comments on commit 8eea648

Please sign in to comment.