Skip to content

Commit eaa3bdf

Browse files
authored
Add permit type schema (#399)
1 parent 66a8c09 commit eaa3bdf

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/sign-typed-data.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,22 @@ export type TypedMessage<T extends MessageTypes> = {
105105
message: Record<string, unknown>;
106106
};
107107

108+
const PERMIT_TYPE_SCHEMA = {
109+
properties: {
110+
message: {
111+
type: 'object',
112+
properties: {
113+
owner: { type: 'string' },
114+
spender: { type: 'string' },
115+
value: { type: 'string' },
116+
nonce: { type: 'string' },
117+
deadline: { type: 'string' },
118+
},
119+
required: ['owner', 'spender', 'value', 'nonce', 'deadline'],
120+
},
121+
},
122+
};
123+
108124
export const TYPED_MESSAGE_SCHEMA = {
109125
type: 'object',
110126
properties: {
@@ -127,6 +143,10 @@ export const TYPED_MESSAGE_SCHEMA = {
127143
message: { type: 'object' },
128144
},
129145
required: ['types', 'primaryType', 'domain', 'message'],
146+
if: {
147+
properties: { primaryType: { const: 'Permit' } },
148+
},
149+
then: PERMIT_TYPE_SCHEMA,
130150
};
131151

132152
/**

0 commit comments

Comments
 (0)