@pancakeswap/permit2-sdk 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { BigintIsh } from '@pancakeswap/sdk';
2
- import { Address, TypedData } from 'viem';
2
+ import { Address, Hex, TypedData } from 'viem';
3
3
  import { TypedDataDomain } from './utils/types';
4
4
  export interface PermitDetails {
5
5
  token: string;
@@ -19,19 +19,41 @@ export interface PermitBatch {
19
19
  sigDeadline: BigintIsh;
20
20
  [key: string]: unknown;
21
21
  }
22
- type TypedStructData<TValue> = {
22
+ type TypedStructData<TTypes extends TypedData, TValue, TType> = {
23
23
  domain: TypedDataDomain;
24
- types: TypedData;
24
+ types: TTypes;
25
25
  values: TValue;
26
+ primaryType: TType;
27
+ };
28
+ export type PermitSingleData = TypedStructData<typeof PERMIT_TYPES, PermitSingle, 'PermitSingle'>;
29
+ export type PermitBatchData = TypedStructData<typeof PERMIT_BATCH_TYPES, PermitBatch, 'PermitBatch'>;
30
+ declare const PERMIT_TYPES: {
31
+ PermitSingle: {
32
+ name: string;
33
+ type: string;
34
+ }[];
35
+ PermitDetails: {
36
+ name: string;
37
+ type: string;
38
+ }[];
39
+ };
40
+ declare const PERMIT_BATCH_TYPES: {
41
+ PermitBatch: {
42
+ name: string;
43
+ type: string;
44
+ }[];
45
+ PermitDetails: {
46
+ name: string;
47
+ type: string;
48
+ }[];
26
49
  };
27
- export type PermitSingleData = TypedStructData<PermitSingle>;
28
- export type PermitBatchData = TypedStructData<PermitBatch>;
29
50
  export declare abstract class AllowanceTransfer {
30
51
  /**
31
52
  * Cannot be constructed.
32
53
  */
33
54
  private constructor();
34
- static getPermitData(permit: PermitSingle | PermitBatch, permit2Address: Address, chainId: number): PermitSingleData | PermitBatchData;
55
+ static getPermitData<TPermit extends PermitSingle | PermitBatch, ReturnType = TPermit extends PermitSingle ? PermitSingleData : PermitBatchData>(permit: TPermit, permit2Address: Address | undefined, chainId: number): ReturnType;
56
+ static hash(permit: PermitSingle | PermitBatch, permit2Address: Address, chainId: number): Hex;
35
57
  }
36
58
  export {};
37
59
  //# sourceMappingURL=allowanceTransfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"allowanceTransfer.d.ts","sourceRoot":"","sources":["../src/allowanceTransfer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,EAAE,SAAS,CAAA;IACrB,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,SAAS,CAAA;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,SAAS,CAAA;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,KAAK,eAAe,CAAC,MAAM,IAAI;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;AA+B1D,8BAAsB,iBAAiB;IACrC;;OAEG;IAEH,OAAO;WAIO,aAAa,CACzB,MAAM,EAAE,YAAY,GAAG,WAAW,EAClC,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,MAAM,GACd,gBAAgB,GAAG,eAAe;CAmBtC"}
1
+ {"version":3,"file":"allowanceTransfer.d.ts","sourceRoot":"","sources":["../src/allowanceTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAiB,MAAM,MAAM,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,EAAE,SAAS,CAAA;IACrB,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,SAAS,CAAA;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,SAAS,CAAA;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,KAAK,eAAe,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI;IAC9D,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,KAAK,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;AACjG,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,kBAAkB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;AASpG,QAAA,MAAM,YAAY;;;;;;;;;CAOjB,CAAA;AAED,QAAA,MAAM,kBAAkB;;;;;;;;;CAOvB,CAAA;AAMD,8BAAsB,iBAAiB;IACrC;;OAEG;IAEH,OAAO;WAIO,aAAa,CACzB,OAAO,SAAS,YAAY,GAAG,WAAW,EAC1C,UAAU,GAAG,OAAO,SAAS,YAAY,GAAG,gBAAgB,GAAG,eAAe,EAC9E,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;WAsBtE,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG;CAStG"}
@@ -1,6 +1,6 @@
1
1
  import { ChainId } from '@pancakeswap/chains';
2
2
  import { Address } from 'viem';
3
- export declare const getPermit2Address: (chainId: ChainId | undefined) => Address;
3
+ export declare const getPermit2Address: (chainId: ChainId | undefined) => Address | undefined;
4
4
  export declare const MaxUint48: bigint;
5
5
  export declare const MaxUint160: bigint;
6
6
  export declare const MaxUint256: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAmC9B,eAAO,MAAM,iBAAiB,YAAa,OAAO,GAAG,SAAS,KAAG,OAIhE,CAAA;AAED,eAAO,MAAM,SAAS,QAA2B,CAAA;AACjD,eAAO,MAAM,UAAU,QAAuD,CAAA;AAC9E,eAAO,MAAM,UAAU,QAA+E,CAAA;AAItG,eAAO,MAAM,0BAA0B,QAAa,CAAA;AACpD,eAAO,MAAM,sBAAsB,QAAY,CAAA;AAC/C,eAAO,MAAM,eAAe,QAAY,CAAA;AAGxC,eAAO,MAAM,0BAA0B,QAAa,CAAA;AACpD,eAAO,MAAM,iBAAiB,QAAa,CAAA;AAC3C,eAAO,MAAM,cAAc,QAAa,CAAA;AAExC,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAE5C,eAAO,MAAM,iBAAiB,QAAc,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAmC9B,eAAO,MAAM,iBAAiB,YAAa,OAAO,GAAG,SAAS,KAAG,OAAO,GAAG,SAI1E,CAAA;AAED,eAAO,MAAM,SAAS,QAA2B,CAAA;AACjD,eAAO,MAAM,UAAU,QAAuD,CAAA;AAC9E,eAAO,MAAM,UAAU,QAA+E,CAAA;AAItG,eAAO,MAAM,0BAA0B,QAAa,CAAA;AACpD,eAAO,MAAM,sBAAsB,QAAY,CAAA;AAC/C,eAAO,MAAM,eAAe,QAAY,CAAA;AAGxC,eAAO,MAAM,0BAA0B,QAAa,CAAA;AACpD,eAAO,MAAM,iBAAiB,QAAa,CAAA;AAC3C,eAAO,MAAM,cAAc,QAAa,CAAA;AAExC,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAE5C,eAAO,MAAM,iBAAiB,QAAc,CAAA"}
package/dist/domain.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Address } from 'viem';
2
2
  import { TypedDataDomain, TypedDataParameter } from './utils/types';
3
- export declare function permit2Domain(permit2Address: Address, chainId: number): TypedDataDomain;
3
+ export declare function permit2Domain(permit2Address: Address | undefined, chainId: number): TypedDataDomain;
4
4
  export type PermitData = {
5
5
  domain: TypedDataDomain;
6
6
  types: Record<string, TypedDataParameter[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAInE,wBAAgB,aAAa,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAMvF;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC3C,MAAM,EAAE,GAAG,CAAA;CACZ,CAAA"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAInE,wBAAgB,aAAa,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAMnG;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC3C,MAAM,EAAE,GAAG,CAAA;CACZ,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var invariant = require('tiny-invariant');
4
+ var viem = require('viem');
4
5
  var chains = require('@pancakeswap/chains');
5
6
 
6
7
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -35,7 +36,7 @@ var getPermit2Address = (chainId) => {
35
36
  if (chainId === void 0)
36
37
  return PERMIT2_ADDRESSES[chains.ChainId.BSC];
37
38
  if (!(chainId in PERMIT2_ADDRESSES))
38
- throw new Error(`Permit2 Contract not deployed on chain ${chainId}`);
39
+ return void 0;
39
40
  return PERMIT2_ADDRESSES[chainId];
40
41
  };
41
42
  var MaxUint48 = BigInt("0xffffffffffff");
@@ -104,16 +105,27 @@ var AllowanceTransfer = class {
104
105
  return {
105
106
  domain,
106
107
  types: PERMIT_TYPES,
107
- values: permit
108
+ values: permit,
109
+ primaryType: "PermitSingle"
108
110
  };
109
111
  }
110
112
  permit.details.forEach(validatePermitDetails);
111
113
  return {
112
114
  domain,
113
115
  types: PERMIT_BATCH_TYPES,
114
- values: permit
116
+ values: permit,
117
+ primaryType: "PermitBatch"
115
118
  };
116
119
  }
120
+ static hash(permit, permit2Address, chainId) {
121
+ const { domain, types, values, primaryType } = AllowanceTransfer.getPermitData(permit, permit2Address, chainId);
122
+ return viem.hashTypedData({
123
+ message: values,
124
+ domain,
125
+ types,
126
+ primaryType
127
+ });
128
+ }
117
129
  };
118
130
  function validatePermitDetails(details) {
119
131
  invariant__default.default(MaxOrderedNonce >= BigInt(details.nonce), "NONCE_OUT_OF_RANGE");
@@ -188,21 +200,39 @@ var SignatureTransfer = class {
188
200
  validateTokenPermissions(permit.permitted);
189
201
  const types2 = witness ? permitTransferFromWithWitnessType(witness) : PERMIT_TRANSFER_FROM_TYPES;
190
202
  const values2 = witness ? Object.assign(permit, { witness: witness.witness }) : permit;
203
+ const primaryType2 = witness ? "PermitWitnessTransferFrom" : "PermitTransferFrom";
191
204
  return {
192
205
  domain,
193
206
  types: types2,
194
- values: values2
207
+ values: values2,
208
+ primaryType: primaryType2
195
209
  };
196
210
  }
197
211
  permit.permitted.forEach(validateTokenPermissions);
198
212
  const types = witness ? permitBatchTransferFromWithWitnessType(witness) : PERMIT_BATCH_TRANSFER_FROM_TYPES;
199
213
  const values = witness ? Object.assign(permit, { witness: witness.witness }) : permit;
214
+ const primaryType = witness ? "PermitBatchWitnessTransferFrom" : "PermitBatchTransferFrom";
200
215
  return {
201
216
  domain,
202
217
  types,
203
- values
218
+ values,
219
+ primaryType
204
220
  };
205
221
  }
222
+ static hash(permit, permit2Address, chainId, witness) {
223
+ const { domain, types, values, primaryType } = SignatureTransfer.getPermitData(
224
+ permit,
225
+ permit2Address,
226
+ chainId,
227
+ witness
228
+ );
229
+ return viem.hashTypedData({
230
+ domain,
231
+ types,
232
+ primaryType,
233
+ message: values
234
+ });
235
+ }
206
236
  };
207
237
  function validateTokenPermissions(permissions) {
208
238
  invariant__default.default(MaxSignatureTransferAmount >= BigInt(permissions.amount), "AMOUNT_OUT_OF_RANGE");
package/dist/index.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import invariant from 'tiny-invariant';
2
+ import { hashTypedData } from 'viem';
2
3
  import { ChainId } from '@pancakeswap/chains';
3
4
 
4
5
  // src/allowanceTransfer.ts
@@ -29,7 +30,7 @@ var getPermit2Address = (chainId) => {
29
30
  if (chainId === void 0)
30
31
  return PERMIT2_ADDRESSES[ChainId.BSC];
31
32
  if (!(chainId in PERMIT2_ADDRESSES))
32
- throw new Error(`Permit2 Contract not deployed on chain ${chainId}`);
33
+ return void 0;
33
34
  return PERMIT2_ADDRESSES[chainId];
34
35
  };
35
36
  var MaxUint48 = BigInt("0xffffffffffff");
@@ -98,16 +99,27 @@ var AllowanceTransfer = class {
98
99
  return {
99
100
  domain,
100
101
  types: PERMIT_TYPES,
101
- values: permit
102
+ values: permit,
103
+ primaryType: "PermitSingle"
102
104
  };
103
105
  }
104
106
  permit.details.forEach(validatePermitDetails);
105
107
  return {
106
108
  domain,
107
109
  types: PERMIT_BATCH_TYPES,
108
- values: permit
110
+ values: permit,
111
+ primaryType: "PermitBatch"
109
112
  };
110
113
  }
114
+ static hash(permit, permit2Address, chainId) {
115
+ const { domain, types, values, primaryType } = AllowanceTransfer.getPermitData(permit, permit2Address, chainId);
116
+ return hashTypedData({
117
+ message: values,
118
+ domain,
119
+ types,
120
+ primaryType
121
+ });
122
+ }
111
123
  };
112
124
  function validatePermitDetails(details) {
113
125
  invariant(MaxOrderedNonce >= BigInt(details.nonce), "NONCE_OUT_OF_RANGE");
@@ -182,21 +194,39 @@ var SignatureTransfer = class {
182
194
  validateTokenPermissions(permit.permitted);
183
195
  const types2 = witness ? permitTransferFromWithWitnessType(witness) : PERMIT_TRANSFER_FROM_TYPES;
184
196
  const values2 = witness ? Object.assign(permit, { witness: witness.witness }) : permit;
197
+ const primaryType2 = witness ? "PermitWitnessTransferFrom" : "PermitTransferFrom";
185
198
  return {
186
199
  domain,
187
200
  types: types2,
188
- values: values2
201
+ values: values2,
202
+ primaryType: primaryType2
189
203
  };
190
204
  }
191
205
  permit.permitted.forEach(validateTokenPermissions);
192
206
  const types = witness ? permitBatchTransferFromWithWitnessType(witness) : PERMIT_BATCH_TRANSFER_FROM_TYPES;
193
207
  const values = witness ? Object.assign(permit, { witness: witness.witness }) : permit;
208
+ const primaryType = witness ? "PermitBatchWitnessTransferFrom" : "PermitBatchTransferFrom";
194
209
  return {
195
210
  domain,
196
211
  types,
197
- values
212
+ values,
213
+ primaryType
198
214
  };
199
215
  }
216
+ static hash(permit, permit2Address, chainId, witness) {
217
+ const { domain, types, values, primaryType } = SignatureTransfer.getPermitData(
218
+ permit,
219
+ permit2Address,
220
+ chainId,
221
+ witness
222
+ );
223
+ return hashTypedData({
224
+ domain,
225
+ types,
226
+ primaryType,
227
+ message: values
228
+ });
229
+ }
200
230
  };
201
231
  function validateTokenPermissions(permissions) {
202
232
  invariant(MaxSignatureTransferAmount >= BigInt(permissions.amount), "AMOUNT_OUT_OF_RANGE");
@@ -1,42 +1,67 @@
1
1
  import { BigintIsh } from '@pancakeswap/sdk';
2
- import { Address } from 'viem';
2
+ import { Address, Hex } from 'viem';
3
3
  import { TypedDataDomain, TypedDataParameter } from './utils/types';
4
- export interface Witness {
5
- witness: any;
4
+ export type Witness = {
5
+ witness: {
6
+ [key: string]: unknown;
7
+ };
6
8
  witnessTypeName: string;
7
9
  witnessType: Record<string, TypedDataParameter[]>;
8
- }
9
- export interface TokenPermissions {
10
+ };
11
+ export type TokenPermissions = {
10
12
  token: string;
11
13
  amount: BigintIsh;
12
- }
13
- export interface PermitTransferFrom {
14
+ };
15
+ export type PermitTransferFrom = {
14
16
  permitted: TokenPermissions;
15
17
  spender: string;
16
18
  nonce: BigintIsh;
17
19
  deadline: BigintIsh;
18
- }
19
- export interface PermitBatchTransferFrom {
20
+ };
21
+ export type PermitBatchTransferFrom = {
20
22
  permitted: TokenPermissions[];
21
23
  spender: string;
22
24
  nonce: BigintIsh;
23
25
  deadline: BigintIsh;
24
- }
26
+ };
25
27
  export type PermitTransferFromData = {
26
28
  domain: TypedDataDomain;
27
29
  types: Record<string, TypedDataParameter[]>;
28
30
  values: PermitTransferFrom;
31
+ primaryType: 'PermitTransferFrom';
32
+ };
33
+ export type PermitWitnessTransferFromData = {
34
+ domain: TypedDataDomain;
35
+ types: Record<string, TypedDataParameter[]>;
36
+ values: PermitTransferFrom & {
37
+ witness: {
38
+ [key: string]: unknown;
39
+ };
40
+ };
41
+ primaryType: 'PermitWitnessTransferFrom';
29
42
  };
30
43
  export type PermitBatchTransferFromData = {
31
44
  domain: TypedDataDomain;
32
45
  types: Record<string, TypedDataParameter[]>;
33
46
  values: PermitBatchTransferFrom;
47
+ primaryType: 'PermitBatchTransferFrom';
48
+ };
49
+ export type PermitBatchWitnessTransferFromData = {
50
+ domain: TypedDataDomain;
51
+ types: Record<string, TypedDataParameter[]>;
52
+ values: PermitBatchTransferFrom & {
53
+ witness: {
54
+ [key: string]: unknown;
55
+ };
56
+ };
57
+ primaryType: 'PermitBatchWitnessTransferFrom';
34
58
  };
35
59
  export declare abstract class SignatureTransfer {
36
60
  /**
37
61
  * Cannot be constructed.
38
62
  */
39
63
  private constructor();
40
- static getPermitData(permit: PermitTransferFrom | PermitBatchTransferFrom, permit2Address: Address, chainId: number, witness?: Witness): PermitTransferFromData | PermitBatchTransferFromData;
64
+ static getPermitData<TPermit extends PermitTransferFrom | PermitBatchTransferFrom, TWitness extends Witness | undefined, ReturnType = TPermit extends PermitTransferFrom ? TWitness extends undefined ? PermitTransferFromData : PermitWitnessTransferFromData : TWitness extends undefined ? PermitBatchTransferFromData : PermitBatchWitnessTransferFromData>(permit: TPermit, permit2Address: Address | undefined, chainId: number, witness?: TWitness): ReturnType;
65
+ static hash(permit: PermitTransferFrom | PermitBatchTransferFrom, permit2Address: Address, chainId: number, witness?: Witness): Hex;
41
66
  }
42
67
  //# sourceMappingURL=signatureTransfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signatureTransfer.d.ts","sourceRoot":"","sources":["../src/signatureTransfer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAG9B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEnE,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,GAAG,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC3C,MAAM,EAAE,kBAAkB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC3C,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAA;AA2DD,8BAAsB,iBAAiB;IACrC;;OAEG;IAEH,OAAO;WAIO,aAAa,CACzB,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,EACpD,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,sBAAsB,GAAG,2BAA2B;CAwBxD"}
1
+ {"version":3,"file":"signatureTransfer.d.ts","sourceRoot":"","sources":["../src/signatureTransfer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pancakeswap/permit2-sdk",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "An sdk for interacting with permit2.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -27,9 +27,9 @@
27
27
  ],
28
28
  "dependencies": {
29
29
  "tiny-invariant": "^1.3.1",
30
- "viem": "1.19.11",
31
- "@pancakeswap/chains": "0.4.1",
32
- "@pancakeswap/sdk": "5.8.0"
30
+ "viem": "2.9.19",
31
+ "@pancakeswap/chains": "0.4.2",
32
+ "@pancakeswap/sdk": "5.8.1"
33
33
  },
34
34
  "devDependencies": {
35
35
  "tslib": "^2.6.2",
@@ -38,6 +38,7 @@
38
38
  "scripts": {
39
39
  "build": "tsup",
40
40
  "dev": "tsup --watch",
41
+ "test": "vitest --run",
41
42
  "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json}\"",
42
43
  "format:write": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json}\""
43
44
  }