@bloxchain/sdk 1.0.0-alpha.7 → 1.0.0

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 (169) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +411 -376
  3. package/abi/AccountBlox.abi.json +1894 -1851
  4. package/abi/BaseStateMachine.abi.json +773 -822
  5. package/abi/CopyBlox.abi.json +1609 -0
  6. package/abi/EngineBlox.abi.json +562 -552
  7. package/abi/GuardController.abi.json +1597 -1609
  8. package/abi/GuardControllerDefinitions.abi.json +235 -199
  9. package/abi/IDefinition.abi.json +57 -47
  10. package/abi/RoleBlox.abi.json +2993 -2982
  11. package/abi/RuntimeRBAC.abi.json +841 -842
  12. package/abi/RuntimeRBACDefinitions.abi.json +212 -202
  13. package/abi/SecureBlox.abi.json +2752 -2752
  14. package/abi/SecureOwnable.abi.json +1365 -1349
  15. package/abi/SecureOwnableDefinitions.abi.json +174 -164
  16. package/dist/abi/AccountBlox.abi.json +3978 -0
  17. package/dist/abi/BareBlox.abi.json +1378 -0
  18. package/dist/abi/BaseStateMachine.abi.json +1281 -1330
  19. package/dist/abi/CopyBlox.abi.json +1609 -0
  20. package/dist/abi/EngineBlox.abi.json +862 -0
  21. package/dist/abi/GuardController.abi.json +2325 -2337
  22. package/dist/abi/GuardControllerDefinitions.abi.json +416 -0
  23. package/dist/abi/IDefinition.abi.json +122 -112
  24. package/dist/abi/RoleBlox.abi.json +2994 -0
  25. package/dist/abi/RuntimeRBAC.abi.json +1629 -1630
  26. package/dist/abi/RuntimeRBACDefinitions.abi.json +386 -0
  27. package/dist/abi/SecureBlox.abi.json +2753 -0
  28. package/dist/abi/SecureOwnable.abi.json +2735 -2719
  29. package/dist/abi/SecureOwnableDefinitions.abi.json +421 -0
  30. package/{abi → dist/abi}/SimpleRWA20.abi.json +52 -74
  31. package/{abi → dist/abi}/SimpleRWA20Definitions.abi.json +5 -0
  32. package/{abi → dist/abi}/SimpleVault.abi.json +54 -76
  33. package/{abi → dist/abi}/SimpleVaultDefinitions.abi.json +5 -0
  34. package/dist/abi.d.ts +11 -0
  35. package/dist/abi.d.ts.map +1 -0
  36. package/dist/abi.js +10 -0
  37. package/dist/abi.js.map +1 -0
  38. package/dist/contracts/core/BaseStateMachine.d.ts +7 -8
  39. package/dist/contracts/core/BaseStateMachine.d.ts.map +1 -1
  40. package/dist/contracts/core/BaseStateMachine.js +77 -42
  41. package/dist/contracts/core/BaseStateMachine.js.map +1 -1
  42. package/dist/contracts/core/GuardController.d.ts +21 -14
  43. package/dist/contracts/core/GuardController.d.ts.map +1 -1
  44. package/dist/contracts/core/GuardController.js +18 -20
  45. package/dist/contracts/core/GuardController.js.map +1 -1
  46. package/dist/contracts/core/RuntimeRBAC.d.ts +5 -18
  47. package/dist/contracts/core/RuntimeRBAC.d.ts.map +1 -1
  48. package/dist/contracts/core/RuntimeRBAC.js +4 -21
  49. package/dist/contracts/core/RuntimeRBAC.js.map +1 -1
  50. package/dist/contracts/core/SecureOwnable.d.ts +14 -16
  51. package/dist/contracts/core/SecureOwnable.d.ts.map +1 -1
  52. package/dist/contracts/core/SecureOwnable.js +21 -24
  53. package/dist/contracts/core/SecureOwnable.js.map +1 -1
  54. package/dist/index.d.ts +32 -30
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +28 -26
  57. package/dist/index.js.map +1 -1
  58. package/dist/interfaces/base.index.d.ts +10 -2
  59. package/dist/interfaces/base.index.d.ts.map +1 -1
  60. package/dist/interfaces/base.state.machine.index.d.ts +4 -6
  61. package/dist/interfaces/base.state.machine.index.d.ts.map +1 -1
  62. package/dist/interfaces/core.access.index.d.ts +4 -9
  63. package/dist/interfaces/core.access.index.d.ts.map +1 -1
  64. package/dist/interfaces/core.execution.index.d.ts +9 -12
  65. package/dist/interfaces/core.execution.index.d.ts.map +1 -1
  66. package/dist/interfaces/core.security.index.d.ts +4 -7
  67. package/dist/interfaces/core.security.index.d.ts.map +1 -1
  68. package/dist/interfaces/definition.index.d.ts +1 -1
  69. package/dist/interfaces/definition.index.d.ts.map +1 -1
  70. package/dist/interfaces/lib.index.d.ts +2 -2
  71. package/dist/interfaces/lib.index.d.ts.map +1 -1
  72. package/dist/lib/Definition.d.ts +2 -2
  73. package/dist/lib/Definition.d.ts.map +1 -1
  74. package/dist/lib/Definition.js +9 -2
  75. package/dist/lib/Definition.js.map +1 -1
  76. package/dist/lib/EngineBlox.d.ts +23 -48
  77. package/dist/lib/EngineBlox.d.ts.map +1 -1
  78. package/dist/lib/EngineBlox.js +61 -136
  79. package/dist/lib/EngineBlox.js.map +1 -1
  80. package/dist/lib/definitions/GuardControllerDefinitions.d.ts +21 -22
  81. package/dist/lib/definitions/GuardControllerDefinitions.d.ts.map +1 -1
  82. package/dist/lib/definitions/GuardControllerDefinitions.js +42 -39
  83. package/dist/lib/definitions/GuardControllerDefinitions.js.map +1 -1
  84. package/dist/lib/definitions/RuntimeRBACDefinitions.d.ts +24 -27
  85. package/dist/lib/definitions/RuntimeRBACDefinitions.d.ts.map +1 -1
  86. package/dist/lib/definitions/RuntimeRBACDefinitions.js +42 -51
  87. package/dist/lib/definitions/RuntimeRBACDefinitions.js.map +1 -1
  88. package/dist/lib/definitions/SecureOwnableDefinitions.d.ts +12 -7
  89. package/dist/lib/definitions/SecureOwnableDefinitions.d.ts.map +1 -1
  90. package/dist/lib/definitions/SecureOwnableDefinitions.js +25 -9
  91. package/dist/lib/definitions/SecureOwnableDefinitions.js.map +1 -1
  92. package/dist/lib/definitions/index.d.ts +7 -6
  93. package/dist/lib/definitions/index.d.ts.map +1 -1
  94. package/dist/lib/definitions/index.js +6 -5
  95. package/dist/lib/definitions/index.js.map +1 -1
  96. package/dist/types/base.state.machine.index.d.ts +4 -20
  97. package/dist/types/base.state.machine.index.d.ts.map +1 -1
  98. package/dist/types/base.state.machine.index.js +20 -40
  99. package/dist/types/base.state.machine.index.js.map +1 -1
  100. package/dist/types/core.access.index.d.ts +0 -16
  101. package/dist/types/core.access.index.d.ts.map +1 -1
  102. package/dist/types/core.access.index.js +2 -13
  103. package/dist/types/core.access.index.js.map +1 -1
  104. package/dist/types/core.execution.index.d.ts +9 -10
  105. package/dist/types/core.execution.index.d.ts.map +1 -1
  106. package/dist/types/core.execution.index.js +16 -13
  107. package/dist/types/core.execution.index.js.map +1 -1
  108. package/dist/types/core.security.index.d.ts +4 -6
  109. package/dist/types/core.security.index.d.ts.map +1 -1
  110. package/dist/types/core.security.index.js +23 -27
  111. package/dist/types/core.security.index.js.map +1 -1
  112. package/dist/types/definition.index.d.ts +8 -1
  113. package/dist/types/definition.index.d.ts.map +1 -1
  114. package/dist/types/definition.index.js.map +1 -1
  115. package/dist/types/lib.index.d.ts +7 -28
  116. package/dist/types/lib.index.d.ts.map +1 -1
  117. package/dist/types/lib.index.js +11 -34
  118. package/dist/types/lib.index.js.map +1 -1
  119. package/dist/types/meta-transaction.signatures.d.ts +10 -0
  120. package/dist/types/meta-transaction.signatures.d.ts.map +1 -0
  121. package/dist/types/meta-transaction.signatures.js +12 -0
  122. package/dist/types/meta-transaction.signatures.js.map +1 -0
  123. package/dist/types/meta-tx-signatures.d.ts +9 -0
  124. package/dist/types/meta-tx-signatures.d.ts.map +1 -0
  125. package/dist/types/meta-tx-signatures.js +11 -0
  126. package/dist/types/meta-tx-signatures.js.map +1 -0
  127. package/dist/utils/bitmap.d.ts +1 -1
  128. package/dist/utils/bitmap.d.ts.map +1 -1
  129. package/dist/utils/contract-errors.d.ts +111 -12
  130. package/dist/utils/contract-errors.d.ts.map +1 -1
  131. package/dist/utils/contract-errors.js +362 -113
  132. package/dist/utils/contract-errors.js.map +1 -1
  133. package/dist/utils/erc20/erc20Token.d.ts +1 -1
  134. package/dist/utils/erc20/erc20Token.d.ts.map +1 -1
  135. package/dist/utils/erc20/erc20Token.js +5 -1
  136. package/dist/utils/erc20/erc20Token.js.map +1 -1
  137. package/dist/utils/interface-ids.d.ts +5 -31
  138. package/dist/utils/interface-ids.d.ts.map +1 -1
  139. package/dist/utils/interface-ids.js +27 -88
  140. package/dist/utils/interface-ids.js.map +1 -1
  141. package/dist/utils/metaTx/metaTransaction.d.ts +110 -9
  142. package/dist/utils/metaTx/metaTransaction.d.ts.map +1 -1
  143. package/dist/utils/metaTx/metaTransaction.js +146 -26
  144. package/dist/utils/metaTx/metaTransaction.js.map +1 -1
  145. package/dist/utils/validations.d.ts +1 -1
  146. package/dist/utils/validations.d.ts.map +1 -1
  147. package/dist/utils/validations.js +12 -12
  148. package/dist/utils/validations.js.map +1 -1
  149. package/dist/utils/viem-error-handler.d.ts +1 -1
  150. package/dist/utils/viem-error-handler.d.ts.map +1 -1
  151. package/dist/utils/viem-error-handler.js +1 -1
  152. package/dist/utils/viem-error-handler.js.map +1 -1
  153. package/package.json +77 -71
  154. package/dist/contracts/BaseStateMachine.d.ts +0 -92
  155. package/dist/contracts/BaseStateMachine.d.ts.map +0 -1
  156. package/dist/contracts/BaseStateMachine.js +0 -263
  157. package/dist/contracts/BaseStateMachine.js.map +0 -1
  158. package/dist/contracts/GuardController.d.ts +0 -120
  159. package/dist/contracts/GuardController.d.ts.map +0 -1
  160. package/dist/contracts/GuardController.js +0 -150
  161. package/dist/contracts/GuardController.js.map +0 -1
  162. package/dist/contracts/RuntimeRBAC.d.ts +0 -40
  163. package/dist/contracts/RuntimeRBAC.d.ts.map +0 -1
  164. package/dist/contracts/RuntimeRBAC.js +0 -50
  165. package/dist/contracts/RuntimeRBAC.js.map +0 -1
  166. package/dist/contracts/SecureOwnable.d.ts +0 -41
  167. package/dist/contracts/SecureOwnable.d.ts.map +0 -1
  168. package/dist/contracts/SecureOwnable.js +0 -81
  169. package/dist/contracts/SecureOwnable.js.map +0 -1
@@ -18,12 +18,12 @@
18
18
  {
19
19
  "inputs": [
20
20
  {
21
- "internalType": "bytes32",
22
- "name": "resourceId",
23
- "type": "bytes32"
21
+ "internalType": "bytes4",
22
+ "name": "functionSelector",
23
+ "type": "bytes4"
24
24
  }
25
25
  ],
26
- "name": "CannotModifyProtected",
26
+ "name": "ContractFunctionMustBeProtected",
27
27
  "type": "error"
28
28
  },
29
29
  {
@@ -46,27 +46,43 @@
46
46
  "inputs": [
47
47
  {
48
48
  "internalType": "uint256",
49
- "name": "from",
49
+ "name": "provided",
50
50
  "type": "uint256"
51
+ }
52
+ ],
53
+ "name": "InvalidTimeLockPeriod",
54
+ "type": "error"
55
+ },
56
+ {
57
+ "inputs": [
58
+ {
59
+ "internalType": "address",
60
+ "name": "signedContract",
61
+ "type": "address"
51
62
  },
52
63
  {
53
- "internalType": "uint256",
54
- "name": "to",
55
- "type": "uint256"
64
+ "internalType": "address",
65
+ "name": "entryContract",
66
+ "type": "address"
56
67
  }
57
68
  ],
58
- "name": "InvalidRange",
69
+ "name": "MetaTxHandlerContractMismatch",
59
70
  "type": "error"
60
71
  },
61
72
  {
62
73
  "inputs": [
63
74
  {
64
- "internalType": "uint256",
65
- "name": "provided",
66
- "type": "uint256"
75
+ "internalType": "bytes4",
76
+ "name": "signedSelector",
77
+ "type": "bytes4"
78
+ },
79
+ {
80
+ "internalType": "bytes4",
81
+ "name": "entrySelector",
82
+ "type": "bytes4"
67
83
  }
68
84
  ],
69
- "name": "InvalidTimeLockPeriod",
85
+ "name": "MetaTxHandlerSelectorMismatch",
70
86
  "type": "error"
71
87
  },
72
88
  {
@@ -445,25 +461,6 @@
445
461
  "stateMutability": "nonpayable",
446
462
  "type": "function"
447
463
  },
448
- {
449
- "inputs": [
450
- {
451
- "internalType": "bytes4",
452
- "name": "functionSelector",
453
- "type": "bytes4"
454
- }
455
- ],
456
- "name": "functionSchemaExists",
457
- "outputs": [
458
- {
459
- "internalType": "bool",
460
- "name": "",
461
- "type": "bool"
462
- }
463
- ],
464
- "stateMutability": "view",
465
- "type": "function"
466
- },
467
464
  {
468
465
  "inputs": [
469
466
  {
@@ -992,6 +989,25 @@
992
989
  "stateMutability": "view",
993
990
  "type": "function"
994
991
  },
992
+ {
993
+ "inputs": [
994
+ {
995
+ "internalType": "bytes32",
996
+ "name": "roleHash",
997
+ "type": "bytes32"
998
+ }
999
+ ],
1000
+ "name": "getAuthorizedWallets",
1001
+ "outputs": [
1002
+ {
1003
+ "internalType": "address[]",
1004
+ "name": "",
1005
+ "type": "address[]"
1006
+ }
1007
+ ],
1008
+ "stateMutability": "view",
1009
+ "type": "function"
1010
+ },
995
1011
  {
996
1012
  "inputs": [],
997
1013
  "name": "getBroadcasters",
@@ -1042,6 +1058,11 @@
1042
1058
  "name": "supportedActionsBitmap",
1043
1059
  "type": "uint16"
1044
1060
  },
1061
+ {
1062
+ "internalType": "bool",
1063
+ "name": "enforceHandlerRelations",
1064
+ "type": "bool"
1065
+ },
1045
1066
  {
1046
1067
  "internalType": "bool",
1047
1068
  "name": "isProtected",
@@ -1142,7 +1163,7 @@
1142
1163
  },
1143
1164
  {
1144
1165
  "internalType": "bytes32",
1145
- "name": "roleHashReturn",
1166
+ "name": "hash",
1146
1167
  "type": "bytes32"
1147
1168
  },
1148
1169
  {
@@ -1489,25 +1510,6 @@
1489
1510
  "stateMutability": "view",
1490
1511
  "type": "function"
1491
1512
  },
1492
- {
1493
- "inputs": [
1494
- {
1495
- "internalType": "bytes32",
1496
- "name": "roleHash",
1497
- "type": "bytes32"
1498
- }
1499
- ],
1500
- "name": "getWalletsInRole",
1501
- "outputs": [
1502
- {
1503
- "internalType": "address[]",
1504
- "name": "",
1505
- "type": "address[]"
1506
- }
1507
- ],
1508
- "stateMutability": "view",
1509
- "type": "function"
1510
- },
1511
1513
  {
1512
1514
  "inputs": [
1513
1515
  {
@@ -1545,30 +1547,6 @@
1545
1547
  "stateMutability": "view",
1546
1548
  "type": "function"
1547
1549
  },
1548
- {
1549
- "inputs": [
1550
- {
1551
- "internalType": "bytes4",
1552
- "name": "functionSelector",
1553
- "type": "bytes4"
1554
- },
1555
- {
1556
- "internalType": "enum EngineBlox.TxAction",
1557
- "name": "action",
1558
- "type": "uint8"
1559
- }
1560
- ],
1561
- "name": "isActionSupportedByFunction",
1562
- "outputs": [
1563
- {
1564
- "internalType": "bool",
1565
- "name": "",
1566
- "type": "bool"
1567
- }
1568
- ],
1569
- "stateMutability": "view",
1570
- "type": "function"
1571
- },
1572
1550
  {
1573
1551
  "inputs": [],
1574
1552
  "name": "owner",
@@ -186,6 +186,11 @@
186
186
  "name": "supportedActionsBitmap",
187
187
  "type": "uint16"
188
188
  },
189
+ {
190
+ "internalType": "bool",
191
+ "name": "enforceHandlerRelations",
192
+ "type": "bool"
193
+ },
189
194
  {
190
195
  "internalType": "bool",
191
196
  "name": "isProtected",
package/dist/abi.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Re-exports contract ABIs for use by consumers (e.g. error decoding).
3
+ * Import from '@bloxchain/sdk/abi'.
4
+ */
5
+ /** EngineBlox contract ABI (full). */
6
+ export declare const engineBloxAbi: readonly unknown[];
7
+ /** EngineBlox ABI entries for custom errors only (for decodeErrorResult). */
8
+ export declare const engineBloxErrorAbi: {
9
+ type?: string;
10
+ }[];
11
+ //# sourceMappingURL=abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../abi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,sCAAsC;AACtC,eAAO,MAAM,aAAa,EAAwB,SAAS,OAAO,EAAE,CAAC;AAErE,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB;WAAoC,MAAM;GAExE,CAAC"}
package/dist/abi.js ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Re-exports contract ABIs for use by consumers (e.g. error decoding).
3
+ * Import from '@bloxchain/sdk/abi'.
4
+ */
5
+ import engineBloxAbiJson from './abi/EngineBlox.abi.json' with { type: 'json' };
6
+ /** EngineBlox contract ABI (full). */
7
+ export const engineBloxAbi = engineBloxAbiJson;
8
+ /** EngineBlox ABI entries for custom errors only (for decodeErrorResult). */
9
+ export const engineBloxErrorAbi = engineBloxAbi.filter((item) => item.type === 'error');
10
+ //# sourceMappingURL=abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../abi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,iBAAiB,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhF,sCAAsC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAuC,CAAC;AAErE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAI,aAA0C,CAAC,MAAM,CAClF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAChC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { Address, PublicClient, WalletClient, Chain, Hex } from 'viem';
2
- import { TransactionOptions, TransactionResult } from '../../interfaces/base.index';
3
- import { IBaseStateMachine } from '../../interfaces/base.state.machine.index';
4
- import { TxRecord, MetaTransaction, MetaTxParams } from '../../interfaces/lib.index';
5
- import { TxAction } from '../../types/lib.index';
6
- import { FunctionSchema } from '../../types/definition.index';
2
+ import { TransactionOptions, TransactionResult } from '../../interfaces/base.index.js';
3
+ import { IBaseStateMachine } from '../../interfaces/base.state.machine.index.js';
4
+ import { TxRecord, MetaTransaction, MetaTxParams } from '../../interfaces/lib.index.js';
5
+ import { TxAction } from '../../types/lib.index.js';
6
+ import { FunctionSchema } from '../../types/definition.index.js';
7
7
  /**
8
8
  * @title BaseStateMachine
9
9
  * @notice TypeScript wrapper for BaseStateMachine smart contract with common utilities
@@ -30,6 +30,7 @@ export declare abstract class BaseStateMachine implements IBaseStateMachine {
30
30
  createMetaTxParams(handlerContract: Address, handlerSelector: Hex, action: TxAction, deadline: bigint, maxGasPrice: bigint, signer: Address): Promise<MetaTxParams>;
31
31
  generateUnsignedMetaTransactionForNew(requester: Address, target: Address, value: bigint, gasLimit: bigint, operationType: Hex, executionSelector: Hex, executionParams: Hex, metaTxParams: MetaTxParams): Promise<MetaTransaction>;
32
32
  generateUnsignedMetaTransactionForExisting(txId: bigint, metaTxParams: MetaTxParams): Promise<MetaTransaction>;
33
+ /** Returns `[]` when there are no txs yet or the clamped id range does not overlap `1..txCounter`. */
33
34
  getTransactionHistory(fromTxId: bigint, toTxId: bigint): Promise<TxRecord[]>;
34
35
  getTransaction(txId: bigint): Promise<TxRecord>;
35
36
  getPendingTransactions(): Promise<bigint[]>;
@@ -55,10 +56,8 @@ export declare abstract class BaseStateMachine implements IBaseStateMachine {
55
56
  * @returns Array of authorized wallet addresses
56
57
  * @notice Requires caller to have any role for privacy protection
57
58
  */
58
- getWalletsInRole(roleHash: Hex): Promise<Address[]>;
59
- isActionSupportedByFunction(functionSelector: Hex, action: TxAction): Promise<boolean>;
59
+ getAuthorizedWallets(roleHash: Hex): Promise<Address[]>;
60
60
  getActiveRolePermissions(roleHash: Hex): Promise<any[]>;
61
- functionSchemaExists(functionSelector: Hex): Promise<boolean>;
62
61
  getFunctionSchema(functionSelector: Hex): Promise<FunctionSchema>;
63
62
  getSignerNonce(signer: Address): Promise<bigint>;
64
63
  getSupportedOperationTypes(): Promise<Hex[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStateMachine.d.ts","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseStateMachine.d.ts","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- import { handleViemError } from '../../utils/viem-error-handler';
1
+ import { parseGwei } from 'viem';
2
+ import { handleViemError } from '../../utils/viem-error-handler.js';
2
3
  /**
3
4
  * @title BaseStateMachine
4
5
  * @notice TypeScript wrapper for BaseStateMachine smart contract with common utilities
5
6
  */
6
7
  export class BaseStateMachine {
8
+ client;
9
+ walletClient;
10
+ contractAddress;
11
+ chain;
12
+ abi;
7
13
  constructor(client, walletClient, contractAddress, chain, abi) {
8
14
  this.client = client;
9
15
  this.walletClient = walletClient;
@@ -30,29 +36,6 @@ export class BaseStateMachine {
30
36
  // Otherwise, let Viem use the WalletClient's account automatically
31
37
  const walletClientAccount = this.walletClient.account?.address;
32
38
  const requestedAccount = options.from.toLowerCase();
33
- // For meta-transaction functions, ensure the structure is correct
34
- if (functionName.includes('RequestAndApprove') || functionName.includes('MetaTx')) {
35
- if (args.length > 0 && args[0] && typeof args[0] === 'object' && 'txRecord' in args[0]) {
36
- const metaTx = args[0];
37
- // Ensure all nested structures are properly formatted
38
- if (metaTx.txRecord && typeof metaTx.txRecord === 'object') {
39
- // Ensure txRecord.params exists and is an object
40
- if (!metaTx.txRecord.params || typeof metaTx.txRecord.params !== 'object') {
41
- throw new Error('Invalid meta-transaction: txRecord.params must be an object');
42
- }
43
- // Ensure txRecord.payment exists and is an object
44
- if (!metaTx.txRecord.payment || typeof metaTx.txRecord.payment !== 'object') {
45
- throw new Error('Invalid meta-transaction: txRecord.payment must be an object');
46
- }
47
- }
48
- if (metaTx.params && typeof metaTx.params === 'object') {
49
- // Ensure params is properly formatted
50
- if (typeof metaTx.params.action !== 'number') {
51
- throw new Error('Invalid meta-transaction: params.action must be a number');
52
- }
53
- }
54
- }
55
- }
56
39
  const writeContractParams = {
57
40
  chain: this.chain,
58
41
  address: this.contractAddress,
@@ -65,17 +48,74 @@ export class BaseStateMachine {
65
48
  if (!walletClientAccount || walletClientAccount.toLowerCase() !== requestedAccount) {
66
49
  writeContractParams.account = options.from;
67
50
  }
51
+ // Determine how strictly to enforce pre-flight simulation.
52
+ const simulationMode = options.simulationMode ?? 'strict';
68
53
  try {
69
- // First, simulate the contract call to get better error messages
70
- try {
71
- await this.client.simulateContract({
72
- ...writeContractParams,
73
- account: writeContractParams.account || this.walletClient.account
74
- });
54
+ // Simulate the contract call first for better error messages (no gas params for eth_call).
55
+ if (simulationMode !== 'skip') {
56
+ try {
57
+ await this.client.simulateContract({
58
+ ...writeContractParams,
59
+ account: writeContractParams.account || this.walletClient.account
60
+ });
61
+ }
62
+ catch (simulateError) {
63
+ if (simulationMode === 'strict') {
64
+ throw simulateError;
65
+ }
66
+ const msg = simulateError?.shortMessage ??
67
+ simulateError?.message ??
68
+ simulateError?.cause?.shortMessage ??
69
+ simulateError?.cause?.message ??
70
+ String(simulateError);
71
+ // eslint-disable-next-line no-console
72
+ console.warn(`[BaseStateMachine] Pre-flight simulation failed for ${functionName} (mode=${simulationMode}); continuing to send tx: ${msg}`);
73
+ }
74
+ }
75
+ // Forward explicit gas limit when provided so callers can bypass eth_estimateGas.
76
+ if (options.gas !== undefined) {
77
+ const rawGas = options.gas;
78
+ let gasLimit;
79
+ if (typeof rawGas === 'bigint') {
80
+ gasLimit = rawGas;
81
+ }
82
+ else if (typeof rawGas === 'number') {
83
+ if (!Number.isSafeInteger(rawGas) || rawGas < 0) {
84
+ throw new Error(`Invalid gas: number inputs must be non-negative safe integers (got "${rawGas}"). ` +
85
+ 'Use a bigint or decimal string for larger values.');
86
+ }
87
+ gasLimit = BigInt(rawGas);
88
+ }
89
+ else {
90
+ const s = String(rawGas).trim();
91
+ if (!/^\d+$/.test(s)) {
92
+ throw new Error(`Invalid gas: must be a non-negative integer (got "${options.gas}"). Use a number-like value, decimal string, or bigint.`);
93
+ }
94
+ gasLimit = BigInt(s);
95
+ }
96
+ if (gasLimit < 0n) {
97
+ throw new Error(`Invalid gas: must be non-negative (got ${gasLimit.toString()})`);
98
+ }
99
+ writeContractParams.gas = gasLimit;
75
100
  }
76
- catch (simulateError) {
77
- // Re-throw to get better error handling
78
- throw simulateError;
101
+ // Add gas price override for write only (EIP-1559); viem rejects mixing gasPrice with maxFeePerGas.
102
+ if (options.gasPrice !== undefined && options.gasPrice !== '') {
103
+ const raw = options.gasPrice;
104
+ let gasPriceWei;
105
+ if (typeof raw === 'bigint') {
106
+ gasPriceWei = raw;
107
+ }
108
+ else {
109
+ const s = String(raw).trim();
110
+ if (!/^\d+$/.test(s)) {
111
+ throw new Error(`Invalid gas price: must be a non-negative integer (got "${options.gasPrice}"). Use wei as a string or bigint.`);
112
+ }
113
+ gasPriceWei = BigInt(s);
114
+ }
115
+ writeContractParams.maxFeePerGas = gasPriceWei;
116
+ // Use a separate priority fee so when base fee is high the tip does not go to zero (avoids tx stalling).
117
+ const oneGwei = parseGwei('1');
118
+ writeContractParams.maxPriorityFeePerGas = gasPriceWei <= oneGwei ? gasPriceWei : oneGwei;
79
119
  }
80
120
  const hash = await this.walletClient.writeContract(writeContractParams);
81
121
  return {
@@ -157,6 +197,7 @@ export class BaseStateMachine {
157
197
  ]);
158
198
  }
159
199
  // ============ STATE QUERIES ============
200
+ /** Returns `[]` when there are no txs yet or the clamped id range does not overlap `1..txCounter`. */
160
201
  async getTransactionHistory(fromTxId, toTxId) {
161
202
  return this.executeReadContract('getTransactionHistory', [fromTxId, toTxId]);
162
203
  }
@@ -189,18 +230,12 @@ export class BaseStateMachine {
189
230
  * @returns Array of authorized wallet addresses
190
231
  * @notice Requires caller to have any role for privacy protection
191
232
  */
192
- async getWalletsInRole(roleHash) {
193
- return this.executeReadContract('getWalletsInRole', [roleHash]);
194
- }
195
- async isActionSupportedByFunction(functionSelector, action) {
196
- return this.executeReadContract('isActionSupportedByFunction', [functionSelector, action]);
233
+ async getAuthorizedWallets(roleHash) {
234
+ return this.executeReadContract('getAuthorizedWallets', [roleHash]);
197
235
  }
198
236
  async getActiveRolePermissions(roleHash) {
199
237
  return this.executeReadContract('getActiveRolePermissions', [roleHash]);
200
238
  }
201
- async functionSchemaExists(functionSelector) {
202
- return this.executeReadContract('functionSchemaExists', [functionSelector]);
203
- }
204
239
  async getFunctionSchema(functionSelector) {
205
240
  return this.executeReadContract('getFunctionSchema', [functionSelector]);
206
241
  }
@@ -263,7 +298,7 @@ export class BaseStateMachine {
263
298
  */
264
299
  async supportsBaseStateMachineInterface() {
265
300
  // Import dynamically to avoid circular dependencies
266
- const { INTERFACE_IDS } = await import('../../utils/interface-ids');
301
+ const { INTERFACE_IDS } = await import('../../utils/interface-ids.js');
267
302
  return this.supportsInterface(INTERFACE_IDS.IBaseStateMachine);
268
303
  }
269
304
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStateMachine.js","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseStateMachine.js","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmD,SAAS,EAAE,MAAM,MAAM,CAAC;AAMlF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE;;;GAGG;AACH,MAAM,OAAgB,gBAAgB;IAExB;IACA;IACA;IACA;IACA;IALZ,YACY,MAAoB,EACpB,YAAsC,EACtC,eAAwB,EACxB,KAAY,EACZ,GAAQ;QAJR,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAA0B;QACtC,oBAAe,GAAf,eAAe,CAAS;QACxB,UAAK,GAAL,KAAK,CAAO;QACZ,QAAG,GAAH,GAAG,CAAK;IACjB,CAAC;IAEJ,mDAAmD;IAEnD;;OAEG;IACO,oBAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAClC,YAAoB,EACpB,IAAW,EACX,OAA2B;QAE3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAa,CAAC,OAAO,EAAE,OAAO,CAAC;QAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpD,MAAM,mBAAmB,GAAQ;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY;YACZ,IAAI;SACL,CAAC;QACF,6DAA6D;QAC7D,0DAA0D;QAC1D,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC;YACnF,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7C,CAAC;QAED,2DAA2D;QAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC;QAE1D,IAAI,CAAC;YACH,2FAA2F;YAC3F,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;wBACjC,GAAG,mBAAmB;wBACtB,OAAO,EAAE,mBAAmB,CAAC,OAAO,IAAI,IAAI,CAAC,YAAa,CAAC,OAAO;qBACnE,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,aAAkB,EAAE,CAAC;oBAC5B,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;wBAChC,MAAM,aAAa,CAAC;oBACtB,CAAC;oBAED,MAAM,GAAG,GACP,aAAa,EAAE,YAAY;wBAC3B,aAAa,EAAE,OAAO;wBACtB,aAAa,EAAE,KAAK,EAAE,YAAY;wBAClC,aAAa,EAAE,KAAK,EAAE,OAAO;wBAC7B,MAAM,CAAC,aAAa,CAAC,CAAC;oBACxB,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CACV,uDAAuD,YAAY,UAAU,cAAc,6BAA6B,GAAG,EAAE,CAC9H,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,kFAAkF;YAClF,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;gBAC3B,IAAI,QAAgB,CAAC;gBACrB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,QAAQ,GAAG,MAAM,CAAC;gBACpB,CAAC;qBAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChD,MAAM,IAAI,KAAK,CACb,uEAAuE,MAAM,MAAM;4BACnF,mDAAmD,CACpD,CAAC;oBACJ,CAAC;oBACD,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,CAAC,GAAG,yDAAyD,CAC1H,CAAC;oBACJ,CAAC;oBACD,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACpF,CAAC;gBACD,mBAAmB,CAAC,GAAG,GAAG,QAAQ,CAAC;YACrC,CAAC;YAED,oGAAoG;YACpG,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC7B,IAAI,WAAmB,CAAC;gBACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC5B,WAAW,GAAG,GAAG,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,2DAA2D,OAAO,CAAC,QAAQ,oCAAoC,CAAC,CAAC;oBACnI,CAAC;oBACD,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;gBACD,mBAAmB,CAAC,YAAY,GAAG,WAAW,CAAC;gBAC/C,yGAAyG;gBACzG,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC/B,mBAAmB,CAAC,oBAAoB,GAAG,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5F,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAEzE,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC;aAC5D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,uEAAuE;YACvE,sFAAsF;YACtF,sFAAsF;YACtF,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,mBAAmB,CACjC,YAAoB,EACpB,OAAc,EAAE;QAEhB,IAAI,CAAC;YACL,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC5C,OAAO,EAAE,IAAI,CAAC,eAAe;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,YAAY;gBACZ,IAAI;gBACJ,sEAAsE;gBACtE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO;aACpC,CAAC,CAAC;YAEH,OAAO,MAAW,CAAC;QACnB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,oDAAoD;YACpD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;gBAClD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7E,IAAI,CAAC;wBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC;4BAChC,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,IAAI,EAAE,SAA0B;yBACjC,CAAC,CAAC;wBACH,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3E,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,8CAA8C;wBAC9C,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,uDAAuD;IAEvD,KAAK,CAAC,kBAAkB,CACtB,eAAwB,EACxB,eAAoB,EACpB,MAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,MAAe;QAEf,OAAO,IAAI,CAAC,mBAAmB,CAAe,oBAAoB,EAAE;YAClE,eAAe;YACf,eAAe;YACf,MAAM;YACN,QAAQ;YACR,WAAW;YACX,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qCAAqC,CACzC,SAAkB,EAClB,MAAe,EACf,KAAa,EACb,QAAgB,EAChB,aAAkB,EAClB,iBAAsB,EACtB,eAAoB,EACpB,YAA0B;QAE1B,OAAO,IAAI,CAAC,mBAAmB,CAAkB,uCAAuC,EAAE;YACxF,SAAS;YACT,MAAM;YACN,KAAK;YACL,QAAQ;YACR,aAAa;YACb,iBAAiB;YACjB,eAAe;YACf,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,0CAA0C,CAC9C,IAAY,EACZ,YAA0B;QAE1B,OAAO,IAAI,CAAC,mBAAmB,CAAkB,4CAA4C,EAAE;YAC7F,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAE1C,sGAAsG;IACtG,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,MAAc;QAC1D,OAAO,IAAI,CAAC,mBAAmB,CAAa,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAW,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAW,wBAAwB,CAAC,CAAC;IACtE,CAAC;IAED,wDAAwD;IAExD,KAAK,CAAC,OAAO,CAAC,QAAa;QAOzB,OAAO,IAAI,CAAC,mBAAmB,CAM5B,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,MAAe;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAU,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,MAAe;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAQ,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,QAAa;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAY,sBAAsB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,QAAa;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAQ,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,gBAAqB;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAiB,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAe;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAS,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,iDAAiD;IAEjD,KAAK,CAAC,0BAA0B;QAC9B,OAAO,IAAI,CAAC,mBAAmB,CAAQ,4BAA4B,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,mBAAmB,CAAQ,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAQ,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAS,sBAAsB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAU,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,wDAAwD;IAExD;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,mBAAmB,CAAU,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAY,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAU,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,gBAAqB;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAY,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,8CAA8C;IAE9C,KAAK,CAAC,iBAAiB,CAAC,WAAgB;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAU,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iCAAiC;QACrC,oDAAoD;QACpD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { Address, PublicClient, WalletClient, Chain, Hex } from 'viem';
2
- import { TransactionOptions, TransactionResult } from '../../interfaces/base.index';
3
- import { IGuardController } from '../../interfaces/core.execution.index';
4
- import { MetaTransaction } from '../../interfaces/lib.index';
5
- import { BaseStateMachine } from './BaseStateMachine';
2
+ import { TransactionOptions, TransactionResult } from '../../interfaces/base.index.js';
3
+ import { IGuardController } from '../../interfaces/core.execution.index.js';
4
+ import { MetaTransaction } from '../../interfaces/lib.index.js';
5
+ import { BaseStateMachine } from './BaseStateMachine.js';
6
6
  /**
7
7
  * @title GuardController
8
8
  * @notice TypeScript wrapper for GuardController smart contract
@@ -43,6 +43,23 @@ export declare class GuardController extends BaseStateMachine implements IGuardC
43
43
  * @notice For simple ETH transfers: value>0, functionSelector=0x00000000, params=""
44
44
  */
45
45
  executeWithTimeLock(target: Address, value: bigint, functionSelector: Hex, params: Hex, gasLimit: bigint, operationType: Hex, options: TransactionOptions): Promise<TransactionResult>;
46
+ /**
47
+ * @dev Requests a time-locked execution with payment details
48
+ * @param target The address of the target contract
49
+ * @param value The ETH value to send
50
+ * @param functionSelector The function selector to execute
51
+ * @param params The encoded parameters for the function
52
+ * @param gasLimit The gas limit for execution
53
+ * @param operationType The operation type hash
54
+ * @param paymentDetails Payment details (recipient, nativeTokenAmount, erc20TokenAddress, erc20TokenAmount)
55
+ * @param options Transaction options including from address
56
+ */
57
+ executeWithPayment(target: Address, value: bigint, functionSelector: Hex, params: Hex, gasLimit: bigint, operationType: Hex, paymentDetails: {
58
+ recipient: Address;
59
+ nativeTokenAmount: bigint;
60
+ erc20TokenAddress: Address;
61
+ erc20TokenAmount: bigint;
62
+ }, options: TransactionOptions): Promise<TransactionResult>;
46
63
  /**
47
64
  * @dev Approves and executes a time-locked transaction
48
65
  * @param txId The transaction ID
@@ -85,15 +102,6 @@ export declare class GuardController extends BaseStateMachine implements IGuardC
85
102
  * @notice Requires EXECUTE_META_REQUEST_AND_APPROVE permission for the execution function selector
86
103
  */
87
104
  requestAndApproveExecution(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
88
- /**
89
- * @dev Creates execution params for a guard configuration batch (definition helper; no contract call)
90
- * @param actions Guard configuration actions
91
- * @return Promise<Hex> The execution params to be used in a meta-transaction
92
- */
93
- guardConfigBatchExecutionParams(actions: Array<{
94
- actionType: number;
95
- data: Hex;
96
- }>): Promise<Hex>;
97
105
  /**
98
106
  * @dev Requests and approves a guard configuration batch using a meta-transaction
99
107
  * @param metaTx The meta-transaction describing the guard configuration batch
@@ -107,7 +115,6 @@ export declare class GuardController extends BaseStateMachine implements IGuardC
107
115
  * @dev Gets all whitelisted targets for a function selector (from BaseStateMachine).
108
116
  * @param functionSelector The function selector
109
117
  * @return Promise<Address[]> Array of whitelisted target addresses
110
- * @notice Requires caller to have any role (via _validateAnyRole) for privacy protection
111
118
  */
112
119
  getFunctionWhitelistTargets(functionSelector: Hex): Promise<Address[]>;
113
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GuardController.d.ts","sourceRoot":"","sources":["../../../contracts/core/GuardController.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,gBAAiB,YAAW,gBAAgB;gBAE7E,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,KAAK;IAOd;;;;;;;;;OASG;IACG,UAAU,CACd,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,OAAO,EACjB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAU7B;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,CACvB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,wBAAwB,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,kCAAkC,CACtC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,iCAAiC,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;;;OAQG;IACG,0BAA0B,CAC9B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAU7B;;;;OAIG;IACG,+BAA+B,CACnC,OAAO,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,GAChD,OAAO,CAAC,GAAG,CAAC;IAIf;;;;;;;OAOG;IACG,iCAAiC,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;;OAKG;IACG,2BAA2B,CAC/B,gBAAgB,EAAE,GAAG,GACpB,OAAO,CAAC,OAAO,EAAE,CAAC;IAcrB;;;OAGG;IACG,gCAAgC,IAAI,OAAO,CAAC,OAAO,CAAC;CAY3D;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"GuardController.d.ts","sourceRoot":"","sources":["../../../contracts/core/GuardController.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,gBAAiB,YAAW,gBAAgB;gBAE7E,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,KAAK;IAOd;;;;;;;;;OASG;IACG,UAAU,CACd,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,OAAO,EACjB,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAU7B;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,CACvB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;;;;;OAUG;IACG,kBAAkB,CACtB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,GAAG,EAClB,cAAc,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,EACD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,wBAAwB,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,kCAAkC,CACtC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;OAMG;IACG,iCAAiC,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;;;;;;OAQG;IACG,0BAA0B,CAC9B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAU7B;;;;;;;OAOG;IACG,iCAAiC,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;OAIG;IACG,2BAA2B,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAM5E;;;OAGG;IACG,gCAAgC,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3D;AAED,eAAe,eAAe,CAAC"}
@@ -1,7 +1,6 @@
1
- import GuardControllerABIJson from '../../abi/GuardController.abi.json';
2
- import { BaseStateMachine } from './BaseStateMachine';
3
- import { INTERFACE_IDS } from '../../utils/interface-ids';
4
- import { guardConfigBatchExecutionParams as defGuardConfigBatchExecutionParams } from '../../lib/definitions/GuardControllerDefinitions';
1
+ import GuardControllerABIJson from '../../abi/GuardController.abi.json' with { type: 'json' };
2
+ import { BaseStateMachine } from './BaseStateMachine.js';
3
+ import { INTERFACE_IDS } from '../../utils/interface-ids.js';
5
4
  /**
6
5
  * @title GuardController
7
6
  * @notice TypeScript wrapper for GuardController smart contract
@@ -50,6 +49,20 @@ export class GuardController extends BaseStateMachine {
50
49
  async executeWithTimeLock(target, value, functionSelector, params, gasLimit, operationType, options) {
51
50
  return this.executeWriteContract('executeWithTimeLock', [target, value, functionSelector, params, gasLimit, operationType], options);
52
51
  }
52
+ /**
53
+ * @dev Requests a time-locked execution with payment details
54
+ * @param target The address of the target contract
55
+ * @param value The ETH value to send
56
+ * @param functionSelector The function selector to execute
57
+ * @param params The encoded parameters for the function
58
+ * @param gasLimit The gas limit for execution
59
+ * @param operationType The operation type hash
60
+ * @param paymentDetails Payment details (recipient, nativeTokenAmount, erc20TokenAddress, erc20TokenAmount)
61
+ * @param options Transaction options including from address
62
+ */
63
+ async executeWithPayment(target, value, functionSelector, params, gasLimit, operationType, paymentDetails, options) {
64
+ return this.executeWriteContract('executeWithPayment', [target, value, functionSelector, params, gasLimit, operationType, paymentDetails], options);
65
+ }
53
66
  /**
54
67
  * @dev Approves and executes a time-locked transaction
55
68
  * @param txId The transaction ID
@@ -103,14 +116,6 @@ export class GuardController extends BaseStateMachine {
103
116
  return this.executeWriteContract('requestAndApproveExecution', [metaTx], options);
104
117
  }
105
118
  // ============ GUARD CONFIGURATION BATCH ============
106
- /**
107
- * @dev Creates execution params for a guard configuration batch (definition helper; no contract call)
108
- * @param actions Guard configuration actions
109
- * @return Promise<Hex> The execution params to be used in a meta-transaction
110
- */
111
- async guardConfigBatchExecutionParams(actions) {
112
- return Promise.resolve(defGuardConfigBatchExecutionParams(actions));
113
- }
114
119
  /**
115
120
  * @dev Requests and approves a guard configuration batch using a meta-transaction
116
121
  * @param metaTx The meta-transaction describing the guard configuration batch
@@ -126,16 +131,9 @@ export class GuardController extends BaseStateMachine {
126
131
  * @dev Gets all whitelisted targets for a function selector (from BaseStateMachine).
127
132
  * @param functionSelector The function selector
128
133
  * @return Promise<Address[]> Array of whitelisted target addresses
129
- * @notice Requires caller to have any role (via _validateAnyRole) for privacy protection
130
134
  */
131
135
  async getFunctionWhitelistTargets(functionSelector) {
132
- const result = await this.executeReadContract('getFunctionWhitelistTargets', [
133
- functionSelector
134
- ]);
135
- if (!Array.isArray(result)) {
136
- throw new Error(`Unexpected return type from getFunctionWhitelistTargets: ${typeof result}`);
137
- }
138
- return result;
136
+ return this.executeReadContract('getFunctionWhitelistTargets', [functionSelector]);
139
137
  }
140
138
  // ============ INTERFACE SUPPORT ============
141
139
  /**