@0xsequence/wallet-primitives 0.0.0-20250520201059

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.
Files changed (96) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/CHANGELOG.md +7 -0
  3. package/LICENSE +202 -0
  4. package/dist/address.d.ts +5 -0
  5. package/dist/address.d.ts.map +1 -0
  6. package/dist/address.js +7 -0
  7. package/dist/address.js.map +1 -0
  8. package/dist/attestation.d.ts +24 -0
  9. package/dist/attestation.d.ts.map +1 -0
  10. package/dist/attestation.js +77 -0
  11. package/dist/attestation.js.map +1 -0
  12. package/dist/config.d.ts +85 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +381 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/constants.d.ts +173 -0
  17. package/dist/constants.d.ts.map +1 -0
  18. package/dist/constants.js +31 -0
  19. package/dist/constants.js.map +1 -0
  20. package/dist/context.d.ts +9 -0
  21. package/dist/context.d.ts.map +1 -0
  22. package/dist/context.js +8 -0
  23. package/dist/context.js.map +1 -0
  24. package/dist/erc-6492.d.ts +19 -0
  25. package/dist/erc-6492.d.ts.map +1 -0
  26. package/dist/erc-6492.js +64 -0
  27. package/dist/erc-6492.js.map +1 -0
  28. package/dist/extensions/index.d.ts +9 -0
  29. package/dist/extensions/index.d.ts.map +1 -0
  30. package/dist/extensions/index.js +7 -0
  31. package/dist/extensions/index.js.map +1 -0
  32. package/dist/extensions/passkeys.d.ts +31 -0
  33. package/dist/extensions/passkeys.d.ts.map +1 -0
  34. package/dist/extensions/passkeys.js +224 -0
  35. package/dist/extensions/passkeys.js.map +1 -0
  36. package/dist/extensions/recovery.d.ts +310 -0
  37. package/dist/extensions/recovery.d.ts.map +1 -0
  38. package/dist/extensions/recovery.js +444 -0
  39. package/dist/extensions/recovery.js.map +1 -0
  40. package/dist/generic-tree.d.ts +14 -0
  41. package/dist/generic-tree.d.ts.map +1 -0
  42. package/dist/generic-tree.js +34 -0
  43. package/dist/generic-tree.js.map +1 -0
  44. package/dist/index.d.ts +16 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.js +16 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/network.d.ts +15 -0
  49. package/dist/network.d.ts.map +1 -0
  50. package/dist/network.js +24 -0
  51. package/dist/network.js.map +1 -0
  52. package/dist/payload.d.ts +108 -0
  53. package/dist/payload.d.ts.map +1 -0
  54. package/dist/payload.js +627 -0
  55. package/dist/payload.js.map +1 -0
  56. package/dist/permission.d.ts +73 -0
  57. package/dist/permission.d.ts.map +1 -0
  58. package/dist/permission.js +188 -0
  59. package/dist/permission.js.map +1 -0
  60. package/dist/session-config.d.ts +113 -0
  61. package/dist/session-config.d.ts.map +1 -0
  62. package/dist/session-config.js +554 -0
  63. package/dist/session-config.js.map +1 -0
  64. package/dist/session-signature.d.ts +24 -0
  65. package/dist/session-signature.d.ts.map +1 -0
  66. package/dist/session-signature.js +141 -0
  67. package/dist/session-signature.js.map +1 -0
  68. package/dist/signature.d.ts +108 -0
  69. package/dist/signature.d.ts.map +1 -0
  70. package/dist/signature.js +1079 -0
  71. package/dist/signature.js.map +1 -0
  72. package/dist/utils.d.ts +45 -0
  73. package/dist/utils.d.ts.map +1 -0
  74. package/dist/utils.js +100 -0
  75. package/dist/utils.js.map +1 -0
  76. package/eslint.config.mjs +4 -0
  77. package/package.json +27 -0
  78. package/src/address.ts +19 -0
  79. package/src/attestation.ts +114 -0
  80. package/src/config.ts +521 -0
  81. package/src/constants.ts +39 -0
  82. package/src/context.ts +16 -0
  83. package/src/erc-6492.ts +97 -0
  84. package/src/extensions/index.ts +14 -0
  85. package/src/extensions/passkeys.ts +283 -0
  86. package/src/extensions/recovery.ts +542 -0
  87. package/src/generic-tree.ts +55 -0
  88. package/src/index.ts +15 -0
  89. package/src/network.ts +37 -0
  90. package/src/payload.ts +825 -0
  91. package/src/permission.ts +252 -0
  92. package/src/session-config.ts +681 -0
  93. package/src/session-signature.ts +197 -0
  94. package/src/signature.ts +1398 -0
  95. package/src/utils.ts +114 -0
  96. package/tsconfig.json +10 -0
@@ -0,0 +1,108 @@
1
+ import { AbiFunction, Address, Bytes, Hex } from 'ox';
2
+ import { RECOVER_SAPIENT_SIGNATURE } from './constants.js';
3
+ import { Attestation } from './index.js';
4
+ export declare const KIND_TRANSACTIONS = 0;
5
+ export declare const KIND_MESSAGE = 1;
6
+ export declare const KIND_CONFIG_UPDATE = 2;
7
+ export declare const KIND_DIGEST = 3;
8
+ export declare const BEHAVIOR_IGNORE_ERROR = 0;
9
+ export declare const BEHAVIOR_REVERT_ON_ERROR = 1;
10
+ export declare const BEHAVIOR_ABORT_ON_ERROR = 2;
11
+ interface SolidityCall {
12
+ to: Address.Address;
13
+ value: bigint;
14
+ data: Hex.Hex;
15
+ gasLimit: bigint;
16
+ delegateCall: boolean;
17
+ onlyFallback: boolean;
18
+ behaviorOnError: bigint;
19
+ }
20
+ export interface SolidityDecoded {
21
+ kind: number;
22
+ noChainId: boolean;
23
+ calls: SolidityCall[];
24
+ space: bigint;
25
+ nonce: bigint;
26
+ message: Hex.Hex;
27
+ imageHash: Hex.Hex;
28
+ digest: Hex.Hex;
29
+ parentWallets: Address.Address[];
30
+ }
31
+ export type Call = {
32
+ to: Address.Address;
33
+ value: bigint;
34
+ data: Hex.Hex;
35
+ gasLimit: bigint;
36
+ delegateCall: boolean;
37
+ onlyFallback: boolean;
38
+ behaviorOnError: 'ignore' | 'revert' | 'abort';
39
+ };
40
+ export type Calls = {
41
+ type: 'call';
42
+ space: bigint;
43
+ nonce: bigint;
44
+ calls: Call[];
45
+ };
46
+ export type Message = {
47
+ type: 'message';
48
+ message: Hex.Hex;
49
+ };
50
+ export type ConfigUpdate = {
51
+ type: 'config-update';
52
+ imageHash: Hex.Hex;
53
+ };
54
+ export type Digest = {
55
+ type: 'digest';
56
+ digest: Hex.Hex;
57
+ };
58
+ export type SessionImplicitAuthorize = {
59
+ type: 'session-implicit-authorize';
60
+ sessionAddress: Address.Address;
61
+ attestation: Attestation.Attestation;
62
+ };
63
+ export type Parent = {
64
+ parentWallets?: Address.Address[];
65
+ };
66
+ export type Recovery<T extends Calls | Message | ConfigUpdate | Digest> = T & {
67
+ recovery: true;
68
+ };
69
+ export type MayRecoveryPayload = Calls | Message | ConfigUpdate | Digest;
70
+ export type Payload = Calls | Message | ConfigUpdate | Digest | Recovery<Calls | Message | ConfigUpdate | Digest> | SessionImplicitAuthorize;
71
+ export type Parented = Payload & Parent;
72
+ export type TypedDataToSign = {
73
+ domain: {
74
+ name: string;
75
+ version: string;
76
+ chainId: number;
77
+ verifyingContract: Address.Address;
78
+ };
79
+ types: Record<string, Array<{
80
+ name: string;
81
+ type: string;
82
+ }>>;
83
+ primaryType: string;
84
+ message: Record<string, unknown>;
85
+ };
86
+ export declare function fromMessage(message: Hex.Hex): Message;
87
+ export declare function fromConfigUpdate(imageHash: Hex.Hex): ConfigUpdate;
88
+ export declare function fromDigest(digest: Hex.Hex): Digest;
89
+ export declare function fromCall(nonce: bigint, space: bigint, calls: Call[]): Calls;
90
+ export declare function isCalls(payload: Payload): payload is Calls;
91
+ export declare function isMessage(payload: Payload): payload is Message;
92
+ export declare function isConfigUpdate(payload: Payload): payload is ConfigUpdate;
93
+ export declare function isDigest(payload: Payload): payload is Digest;
94
+ export declare function isRecovery<T extends MayRecoveryPayload>(payload: Payload): payload is Recovery<T>;
95
+ export declare function toRecovery<T extends MayRecoveryPayload>(payload: T): Recovery<T>;
96
+ export declare function isSessionImplicitAuthorize(payload: Payload): payload is SessionImplicitAuthorize;
97
+ export declare function encode(payload: Calls, self?: Address.Address): Bytes.Bytes;
98
+ export declare function encodeSapient(chainId: bigint, payload: Parented): Exclude<AbiFunction.encodeData.Args<typeof RECOVER_SAPIENT_SIGNATURE>[0], undefined>[0];
99
+ export declare function hash(wallet: Address.Address, chainId: bigint, payload: Parented): Bytes.Bytes;
100
+ export declare function toTyped(wallet: Address.Address, chainId: bigint, payload: Parented): TypedDataToSign;
101
+ export declare function encodeBehaviorOnError(behaviorOnError: Call['behaviorOnError']): number;
102
+ export declare function hashCall(call: Call): Hex.Hex;
103
+ export declare function decode(packed: Bytes.Bytes, self?: Address.Address): Calls;
104
+ export declare function decodeBehaviorOnError(value: number): Call['behaviorOnError'];
105
+ export declare function fromAbiFormat(decoded: SolidityDecoded): Parented;
106
+ export declare function toAbiFormat(payload: Parented): SolidityDecoded;
107
+ export {};
108
+ //# sourceMappingURL=payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}