@ercworldio/blockchain-shared 1.0.3-dev.7 → 1.0.5-dev.1

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 (99) hide show
  1. package/build/chains/networks_dev.json +17 -17
  2. package/build/chains/networks_prod-dz.json +0 -35
  3. package/build/chains/networks_prod-sh.json +40 -4
  4. package/build/chains/networks_prod-yb.json +40 -4
  5. package/build/contracts/Escrow.d.ts +16 -6
  6. package/build/contracts/Escrow.d.ts.map +1 -1
  7. package/build/contracts/Escrow.js +112 -4
  8. package/build/contracts/EscrowErrors.d.ts +110 -1
  9. package/build/contracts/EscrowErrors.d.ts.map +1 -1
  10. package/build/contracts/EscrowErrors.js +71 -14
  11. package/build/contracts/artifacts/Escrow.json +244 -14
  12. package/build/contracts/contract-events/AccessControlEvents.d.ts +12 -2
  13. package/build/contracts/contract-events/AccessControlEvents.d.ts.map +1 -1
  14. package/build/contracts/contract-events/AccessControlEvents.js +29 -5
  15. package/build/contracts/contract-events/EscrowEvents.d.ts +134 -2
  16. package/build/contracts/contract-events/EscrowEvents.d.ts.map +1 -1
  17. package/build/contracts/contract-events/EscrowEvents.js +67 -17
  18. package/build/contracts/contract-events/types/events.d.ts +35 -1
  19. package/build/contracts/contract-events/types/events.d.ts.map +1 -1
  20. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts +76 -15
  21. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts.map +1 -1
  22. package/build/contracts/typechain-types/contracts/lib/Events.d.ts +2 -8
  23. package/build/contracts/typechain-types/contracts/lib/Events.d.ts.map +1 -1
  24. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts +69 -1
  25. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts.map +1 -1
  26. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.js +91 -1
  27. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts +69 -1
  28. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts.map +1 -1
  29. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.js +91 -1
  30. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts +1 -1
  31. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.js +1 -1
  32. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts +188 -13
  33. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts.map +1 -1
  34. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.js +245 -15
  35. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts +1 -11
  36. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts.map +1 -1
  37. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.js +1 -13
  38. package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts +45 -1
  39. package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts.map +1 -1
  40. package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.js +59 -1
  41. package/build/contracts/types/escrow.d.ts +16 -2
  42. package/build/contracts/types/escrow.d.ts.map +1 -1
  43. package/build/contracts/types/escrow.js +4 -0
  44. package/build/entities/AdminOperationThresholds.d.ts +0 -1
  45. package/build/entities/AdminOperationThresholds.d.ts.map +1 -1
  46. package/build/entities/AdminOperationThresholds.js +1 -5
  47. package/build/entities/ClaimJob.d.ts +1 -0
  48. package/build/entities/ClaimJob.d.ts.map +1 -1
  49. package/build/entities/ClaimJob.js +4 -0
  50. package/build/entities/EscrowRoles.js +1 -1
  51. package/build/entities/GlobalTimelock.d.ts +0 -1
  52. package/build/entities/GlobalTimelock.d.ts.map +1 -1
  53. package/build/entities/GlobalTimelock.js +1 -5
  54. package/build/entities/RoleHash.js +1 -1
  55. package/build/entities/TokenExecutionThresholds.d.ts +0 -1
  56. package/build/entities/TokenExecutionThresholds.d.ts.map +1 -1
  57. package/build/entities/TokenExecutionThresholds.js +1 -5
  58. package/build/errors/errors.d.ts +33 -0
  59. package/build/errors/errors.d.ts.map +1 -1
  60. package/build/errors/errors.js +70 -2
  61. package/build/index.d.ts +6 -9
  62. package/build/index.d.ts.map +1 -1
  63. package/build/index.js +22 -11
  64. package/build/interfaces.d.ts +2 -2
  65. package/build/interfaces.d.ts.map +1 -1
  66. package/build/services/AlchemyService.d.ts +2 -1
  67. package/build/services/AlchemyService.d.ts.map +1 -1
  68. package/build/services/AlchemyService.js +8 -2
  69. package/build/services/AlchemyWebhooks.d.ts.map +1 -1
  70. package/build/services/AlchemyWebhooks.js +34 -29
  71. package/build/services/AzureEventHubHandler.d.ts.map +1 -1
  72. package/build/services/AzureEventHubHandler.js +17 -5
  73. package/build/services/ClaimJobService.d.ts +6 -2
  74. package/build/services/ClaimJobService.d.ts.map +1 -1
  75. package/build/services/ClaimJobService.js +155 -24
  76. package/build/services/WithdrawalService.d.ts.map +1 -1
  77. package/build/services/WithdrawalService.js +4 -2
  78. package/build/services/db/roles/ContractRoles.d.ts +2 -2
  79. package/build/services/db/roles/ContractRoles.d.ts.map +1 -1
  80. package/build/services/db/roles/ContractRoles.js +18 -12
  81. package/build/services/types/azure_event_hub_handler.d.ts +9 -1
  82. package/build/services/types/azure_event_hub_handler.d.ts.map +1 -1
  83. package/build/services/types/azure_event_hub_handler.js +8 -0
  84. package/build/services/types/claim.d.ts +17 -1
  85. package/build/services/types/claim.d.ts.map +1 -1
  86. package/build/services/types/claim_job_service.d.ts +9 -1
  87. package/build/services/types/claim_job_service.d.ts.map +1 -1
  88. package/build/services/types/index.d.ts +1 -0
  89. package/build/services/types/index.d.ts.map +1 -1
  90. package/build/services/types/index.js +1 -0
  91. package/build/services/utils/alchemy.d.ts.map +1 -1
  92. package/build/services/utils/alchemy.js +6 -1
  93. package/build/utils/AsyncTTLCache.d.ts +2 -0
  94. package/build/utils/AsyncTTLCache.d.ts.map +1 -1
  95. package/build/utils/AsyncTTLCache.js +10 -2
  96. package/build/utils/custodial.d.ts +9 -0
  97. package/build/utils/custodial.d.ts.map +1 -1
  98. package/build/utils/custodial.js +32 -4
  99. package/package.json +6 -3
@@ -1,7 +1,7 @@
1
1
  import { Result } from "ethers";
2
- import { EventObject } from "../../interfaces";
2
+ import { ChainId, EventObject } from "../../interfaces";
3
3
  import { IConfig } from "../../interfaces/config";
4
- import { LowReservesEventData } from "./types/events";
4
+ import { AdminWithdrawEventData, ConfigureAdminMultisigEventData, ConfigureTokenMultisigEventData, LowReservesEventData, SetTimelockGranularEventData, SetTokenTimelockEventData, WithdrawalExecutedEventData, WithdrawalScheduledEventData } from "./types/events";
5
5
  /**
6
6
  * Handles the mutation of deposit and withdrawal events before they are used to produce events to the event hub
7
7
  */
@@ -32,6 +32,136 @@ declare class EscrowEvents {
32
32
  user: string;
33
33
  requestedToken: string;
34
34
  };
35
+ mutateSetTokenTimelockEvent(chainId: string, baseEvent: SetTokenTimelockEventData, eventArgs: Result): {
36
+ thresholdAmount: number;
37
+ thresholdAmountWei: string;
38
+ durationBelow: number;
39
+ durationAbove: number;
40
+ gasUsed: number;
41
+ eventName: string;
42
+ confirmed: boolean;
43
+ blockchain: import("../../interfaces").BlockchainType;
44
+ parentContract: string;
45
+ caller?: string;
46
+ timestamp: number | bigint;
47
+ blockNumber?: number;
48
+ txHash: string;
49
+ chainId: number;
50
+ tokenAddress: string;
51
+ };
52
+ mutateTimelockGranularEvent(baseEvent: SetTimelockGranularEventData, eventArgs: Result): {
53
+ duration: number;
54
+ gasUsed: number;
55
+ eventName: string;
56
+ confirmed: boolean;
57
+ blockchain: import("../../interfaces").BlockchainType;
58
+ parentContract: string;
59
+ caller?: string;
60
+ timestamp: number | bigint;
61
+ blockNumber?: number;
62
+ txHash: string;
63
+ chainId: number;
64
+ receiverAddress: string;
65
+ };
66
+ mutateConfigureTokenMultiSig(chainId: string, baseEvent: ConfigureTokenMultisigEventData, eventArgs: Result): {
67
+ thresholdAmount: number;
68
+ thresholdAmountWei: string;
69
+ sigsExecutiveBelow: number;
70
+ sigsExecutiveAbove: number;
71
+ sigsManagerBelow: number;
72
+ sigsManagerAbove: number;
73
+ gasUsed: number;
74
+ eventName: string;
75
+ confirmed: boolean;
76
+ blockchain: import("../../interfaces").BlockchainType;
77
+ parentContract: string;
78
+ caller?: string;
79
+ timestamp: number | bigint;
80
+ blockNumber?: number;
81
+ txHash: string;
82
+ chainId: number;
83
+ opType: bigint;
84
+ tokenAddress: string;
85
+ };
86
+ mutateConfigureAdminMultisig(baseEvent: ConfigureAdminMultisigEventData, eventArgs: Result): {
87
+ sigsManagerRequired: number;
88
+ sigsExecutiveRequired: number;
89
+ gasUsed: number;
90
+ eventName: string;
91
+ confirmed: boolean;
92
+ blockchain: import("../../interfaces").BlockchainType;
93
+ parentContract: string;
94
+ caller?: string;
95
+ timestamp: number | bigint;
96
+ blockNumber?: number;
97
+ txHash: string;
98
+ chainId: number;
99
+ opType: bigint;
100
+ };
101
+ mutateAdminWithdraw(chainId: string, baseEvent: AdminWithdrawEventData, eventArgs: Result): {
102
+ amount: number;
103
+ amountWei: string;
104
+ gasUsed: number;
105
+ eventName: string;
106
+ confirmed: boolean;
107
+ blockchain: import("../../interfaces").BlockchainType;
108
+ parentContract: string;
109
+ caller?: string;
110
+ timestamp: number | bigint;
111
+ blockNumber?: number;
112
+ txHash: string;
113
+ chainId: number;
114
+ receiver: string;
115
+ tokenAddress: string;
116
+ requestId: bigint;
117
+ };
118
+ mutateWithdrawalScheduled(chainId: string, baseEvent: WithdrawalScheduledEventData, eventArgs: Result): {
119
+ amount: number;
120
+ amountWei: string;
121
+ gasUsed: number;
122
+ eventName: string;
123
+ confirmed: boolean;
124
+ blockchain: import("../../interfaces").BlockchainType;
125
+ parentContract: string;
126
+ caller?: string;
127
+ timestamp: number | bigint;
128
+ blockNumber?: number;
129
+ txHash: string;
130
+ chainId: number;
131
+ commitmentHash: string;
132
+ requestId: bigint;
133
+ tokenAddress: string;
134
+ receiverAddress: string;
135
+ executeAt: bigint;
136
+ };
137
+ mutateWithdrawalExecuted(baseEvent: WithdrawalExecutedEventData, eventArgs: Result): {
138
+ requestId: number;
139
+ gasUsed: number;
140
+ eventName: string;
141
+ confirmed: boolean;
142
+ blockchain: import("../../interfaces").BlockchainType;
143
+ parentContract: string;
144
+ caller?: string;
145
+ timestamp: number | bigint;
146
+ blockNumber?: number;
147
+ txHash: string;
148
+ chainId: number;
149
+ commitmentHash: string;
150
+ };
151
+ mutateWithdrawalCancelled(baseEvent: WithdrawalExecutedEventData, eventArgs: Result): {
152
+ requestId: number;
153
+ gasUsed: number;
154
+ eventName: string;
155
+ confirmed: boolean;
156
+ blockchain: import("../../interfaces").BlockchainType;
157
+ parentContract: string;
158
+ caller?: string;
159
+ timestamp: number | bigint;
160
+ blockNumber?: number;
161
+ txHash: string;
162
+ chainId: number;
163
+ commitmentHash: string;
164
+ };
35
165
  mutateDirectDepositEvent(chainId: string, baseEvent: EventObject, tokenAddress: string, amount: bigint): EventObject[];
36
166
  /**
37
167
  * Mutates the base event object with the respective payment token details
@@ -59,6 +189,8 @@ declare class EscrowEvents {
59
189
  * @returns Array of mutated event objects
60
190
  */
61
191
  private mutatePaymentEvent;
192
+ /** Converts from wei to decimals */
193
+ formatTokenAmount(chainId: ChainId, token: string, amount: bigint): number;
62
194
  }
63
195
  export default EscrowEvents;
64
196
  //# sourceMappingURL=EscrowEvents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EscrowEvents.d.ts","sourceRoot":"","sources":["../../../src/contracts/contract-events/EscrowEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAe,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAA4D,oBAAoB,EAA4C,MAAM,gBAAgB,CAAC;AAI1J;;GAEG;AACH,cAAM,YAAY;IACd,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC5C,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO;IAIP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO;IAOlC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IA6BzC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;IA6B1F,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAUtG;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAc7F;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAiBhG;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;CAqB7B;AAGD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"EscrowEvents.d.ts","sourceRoot":"","sources":["../../../src/contracts/contract-events/EscrowEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAe,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAA0B,sBAAsB,EAAmC,+BAA+B,EAAmC,+BAA+B,EAA4D,oBAAoB,EAAgC,4BAA4B,EAA6B,yBAAyB,EAAuG,2BAA2B,EAAgC,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAIplB;;GAEG;AACH,cAAM,YAAY;IACd,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC5C,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO;IAIP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO;IAOlC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IA6BzC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;IA6B1F,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;IAcpG,2BAA2B,CAAC,SAAS,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;IAStF,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;IAgB3G,4BAA4B,CAAC,SAAS,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;IAU1F,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;IAYzF,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAYrG,wBAAwB,CAAC,SAAS,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;IAWlF,yBAAyB,CAAC,SAAS,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;IAWnF,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAUtG;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAc7F;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAiBhG;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAsB1B,oCAAoC;IACpC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAcpE;AAGD,eAAe,YAAY,CAAC"}
@@ -45,23 +45,59 @@ class EscrowEvents {
45
45
  }
46
46
  mutateLowReservesEvent(chainId, baseEvent, eventArgs) {
47
47
  const _eventArgs = eventArgs;
48
- let amountRequested = 0;
49
- let availableReserves = 0;
50
- if (_eventArgs.requestedToken === ethers_1.ethers.ZeroAddress) {
51
- amountRequested = Number(ethers_1.ethers.formatEther(_eventArgs.amountRequested));
52
- availableReserves = Number(ethers_1.ethers.formatEther(_eventArgs.availableReserves));
53
- }
54
- else {
55
- const paymentTokens = ChainManager_1.default.getInstance(this.config).getPaymentTokensForChain(parseInt(chainId));
56
- const targetToken = paymentTokens === null || paymentTokens === void 0 ? void 0 : paymentTokens.find((t) => t.address === _eventArgs.requestedToken);
57
- if (!targetToken) {
58
- throw new Error(`Failed to find target payment token for ${chainId}`);
59
- }
60
- amountRequested = Number(ethers_1.ethers.formatUnits(_eventArgs.amountRequested, targetToken.decimals));
61
- availableReserves = Number(ethers_1.ethers.formatUnits(_eventArgs.availableReserves, targetToken.decimals));
62
- }
48
+ let amountRequested = this.formatTokenAmount(chainId, _eventArgs.requestedToken, _eventArgs.amountRequested);
49
+ let availableReserves = this.formatTokenAmount(chainId, _eventArgs.requestedToken, _eventArgs.availableReserves);
50
+ // if (_eventArgs.requestedToken === ethers.ZeroAddress) {
51
+ // amountRequested = Number(ethers.formatEther(_eventArgs.amountRequested));
52
+ // availableReserves = Number(ethers.formatEther(_eventArgs.availableReserves));
53
+ // }
54
+ // else {
55
+ // const paymentTokens = ChainManager.getInstance(this.config).getPaymentTokensForChain(parseInt(chainId));
56
+ // const targetToken = paymentTokens?.find((t: PaymentToken) => t.address === _eventArgs.requestedToken);
57
+ // if (!targetToken) {
58
+ // throw new Error(`Failed to find target payment token for ${chainId}`);
59
+ // }
60
+ // amountRequested = Number(ethers.formatUnits(_eventArgs.amountRequested, targetToken.decimals));
61
+ // availableReserves = Number(ethers.formatUnits(_eventArgs.availableReserves, targetToken.decimals));
62
+ // }
63
63
  return Object.assign(Object.assign({}, baseEvent), { amountRequested,
64
- availableReserves, gasUsed: Number(baseEvent.gasUsed) });
64
+ availableReserves, gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
65
+ }
66
+ mutateSetTokenTimelockEvent(chainId, baseEvent, eventArgs) {
67
+ const _eventArgs = eventArgs;
68
+ let thresholdAmountDecimals = this.formatTokenAmount(chainId, _eventArgs.tokenAddress, _eventArgs.thresholdAmount);
69
+ return Object.assign(Object.assign({}, baseEvent), { thresholdAmount: thresholdAmountDecimals, thresholdAmountWei: _eventArgs.thresholdAmount.toString(), durationBelow: Number(_eventArgs.durationBelow), durationAbove: Number(_eventArgs.durationAbove), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
70
+ }
71
+ mutateTimelockGranularEvent(baseEvent, eventArgs) {
72
+ const _eventArgs = eventArgs;
73
+ return Object.assign(Object.assign({}, baseEvent), { duration: Number(_eventArgs.duration), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
74
+ }
75
+ mutateConfigureTokenMultiSig(chainId, baseEvent, eventArgs) {
76
+ const _eventArgs = eventArgs;
77
+ let thresholdAmountDecimals = this.formatTokenAmount(chainId, _eventArgs.tokenAddress, _eventArgs.thresholdAmount);
78
+ return Object.assign(Object.assign({}, baseEvent), { thresholdAmount: thresholdAmountDecimals, thresholdAmountWei: _eventArgs.thresholdAmount.toString(), sigsExecutiveBelow: Number(_eventArgs.sigsExecutiveBelow), sigsExecutiveAbove: Number(_eventArgs.sigsExecutiveAbove), sigsManagerBelow: Number(_eventArgs.sigsManagerBelow), sigsManagerAbove: Number(_eventArgs.sigsManagerAbove), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
79
+ }
80
+ mutateConfigureAdminMultisig(baseEvent, eventArgs) {
81
+ const _eventArgs = eventArgs;
82
+ return Object.assign(Object.assign({}, baseEvent), { sigsManagerRequired: Number(_eventArgs.sigsManagerRequired), sigsExecutiveRequired: Number(_eventArgs.sigsExecutiveRequired), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
83
+ }
84
+ mutateAdminWithdraw(chainId, baseEvent, eventArgs) {
85
+ const _eventArgs = eventArgs;
86
+ let amount = this.formatTokenAmount(chainId, _eventArgs.tokenAddress, _eventArgs.amount);
87
+ return Object.assign(Object.assign({}, baseEvent), { amount, amountWei: _eventArgs.amount.toString(), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
88
+ }
89
+ mutateWithdrawalScheduled(chainId, baseEvent, eventArgs) {
90
+ const _eventArgs = eventArgs;
91
+ let amount = this.formatTokenAmount(chainId, _eventArgs.tokenAddress, _eventArgs.amount);
92
+ return Object.assign(Object.assign({}, baseEvent), { amount, amountWei: _eventArgs.amount.toString(), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
93
+ }
94
+ mutateWithdrawalExecuted(baseEvent, eventArgs) {
95
+ const _eventArgs = eventArgs;
96
+ return Object.assign(Object.assign({}, baseEvent), { requestId: Number(_eventArgs.requestId), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
97
+ }
98
+ mutateWithdrawalCancelled(baseEvent, eventArgs) {
99
+ const _eventArgs = eventArgs;
100
+ return Object.assign(Object.assign({}, baseEvent), { requestId: Number(_eventArgs.requestId), gasUsed: Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0) });
65
101
  }
66
102
  mutateDirectDepositEvent(chainId, baseEvent, tokenAddress, amount) {
67
103
  const chainManager = ChainManager_1.default.getInstance(this.config);
@@ -124,7 +160,7 @@ class EscrowEvents {
124
160
  if (token) {
125
161
  const decimals = token.decimals;
126
162
  const formattedAmount = ethers_1.ethers.formatUnits(amount, decimals);
127
- baseEvent.gasUsed = Number(baseEvent.gasUsed);
163
+ baseEvent.gasUsed = Number(baseEvent.gasUsed ? baseEvent.gasUsed : 0);
128
164
  baseEvent.amount = Number(formattedAmount);
129
165
  baseEvent.isDirectDeposit = isDirectDeposit;
130
166
  // Push to events list
@@ -137,6 +173,20 @@ class EscrowEvents {
137
173
  }
138
174
  return events;
139
175
  }
176
+ /** Converts from wei to decimals */
177
+ formatTokenAmount(chainId, token, amount) {
178
+ if (token === ethers_1.ethers.ZeroAddress) {
179
+ return Number(ethers_1.ethers.formatEther(amount));
180
+ }
181
+ else {
182
+ const paymentTokens = ChainManager_1.default.getInstance(this.config).getPaymentTokensForChain(parseInt(chainId));
183
+ const targetToken = paymentTokens === null || paymentTokens === void 0 ? void 0 : paymentTokens.find((t) => t.address === token);
184
+ if (!targetToken) {
185
+ throw new Error(`Failed to find target payment token for ${chainId}`);
186
+ }
187
+ return Number(ethers_1.ethers.formatUnits(amount, targetToken.decimals));
188
+ }
189
+ }
140
190
  }
141
191
  EscrowEvents.instance = null;
142
192
  exports.default = EscrowEvents;
@@ -1,6 +1,6 @@
1
1
  import { EventHeader } from "../../../interfaces";
2
2
  import { TransferEvent } from "../../typechain-types/@openzeppelin/contracts/token/ERC20/ERC20";
3
- import { RoleGrantedEvent, RoleRevokedEvent, DepositEvent, WithdrawalEvent, LowReservesEvent } from "../../typechain-types/contracts/escrow/Escrow";
3
+ import { ConfigureTokenMultisigEvent, ConfigureAdminMultisigEvent, RoleGrantedEvent, RoleRevokedEvent, DepositEvent, WithdrawalEvent, LowReservesEvent, SetTimelockGranularEvent, SetTokenTimelockEvent, AdminWithdrawEvent, WithdrawalScheduledEvent, WithdrawalExecutedEvent, WithdrawalCancelledEvent } from "../../typechain-types/contracts/escrow/Escrow";
4
4
  export interface GrantRoleEventData extends EventHeader, RoleGrantedEvent.OutputObject {
5
5
  }
6
6
  export interface RevokeRoleEventData extends EventHeader, RoleRevokedEvent.OutputObject {
@@ -9,16 +9,50 @@ export interface RenounceRoleEventData extends RevokeRoleEventData {
9
9
  }
10
10
  export interface TransferEventArgs extends TransferEvent.OutputObject {
11
11
  }
12
+ /** Event payload*/
12
13
  export interface DepositEventData extends EventHeader, DepositEvent.OutputObject {
13
14
  }
14
15
  export interface WithdrawalEventData extends EventHeader, WithdrawalEvent.OutputObject {
15
16
  }
16
17
  export interface LowReservesEventData extends EventHeader, LowReservesEvent.OutputObject {
17
18
  }
19
+ export interface SetTokenTimelockEventData extends EventHeader, SetTokenTimelockEvent.OutputObject {
20
+ }
21
+ export interface SetTimelockGranularEventData extends EventHeader, SetTimelockGranularEvent.OutputObject {
22
+ }
23
+ export interface ConfigureTokenMultisigEventData extends EventHeader, ConfigureTokenMultisigEvent.OutputObject {
24
+ }
25
+ export interface ConfigureAdminMultisigEventData extends EventHeader, ConfigureAdminMultisigEvent.OutputObject {
26
+ }
27
+ export interface AdminWithdrawEventData extends EventHeader, AdminWithdrawEvent.OutputObject {
28
+ }
29
+ export interface WithdrawalScheduledEventData extends EventHeader, WithdrawalScheduledEvent.OutputObject {
30
+ }
31
+ export interface WithdrawalExecutedEventData extends EventHeader, WithdrawalExecutedEvent.OutputObject {
32
+ }
33
+ export interface WithdrawalCancelledEventData extends EventHeader, WithdrawalCancelledEvent.OutputObject {
34
+ }
35
+ /** Event args */
18
36
  export interface DepositEventArgs extends DepositEvent.OutputObject {
19
37
  }
20
38
  export interface WithdrawalEventArgs extends WithdrawalEvent.OutputObject {
21
39
  }
22
40
  export interface LowReservesEventArgs extends LowReservesEvent.OutputObject {
23
41
  }
42
+ export interface SetTokenTimelockEventArgs extends SetTokenTimelockEvent.OutputObject {
43
+ }
44
+ export interface SetTimelockGranularEventArgs extends SetTimelockGranularEvent.OutputObject {
45
+ }
46
+ export interface ConfigureTokenMultisigEventArgs extends ConfigureTokenMultisigEvent.OutputObject {
47
+ }
48
+ export interface ConfigureAdminMultisigEventArgs extends ConfigureAdminMultisigEvent.OutputObject {
49
+ }
50
+ export interface AdminWithdrawEventArgs extends AdminWithdrawEvent.OutputObject {
51
+ }
52
+ export interface WithdrawalScheduledEventArgs extends WithdrawalScheduledEvent.OutputObject {
53
+ }
54
+ export interface WithdrawalExecutedEventArgs extends WithdrawalExecutedEvent.OutputObject {
55
+ }
56
+ export interface WithdrawalCancelledEventArgs extends WithdrawalCancelledEvent.OutputObject {
57
+ }
24
58
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/contracts/contract-events/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iEAAiE,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGpJ,MAAM,WAAW,kBAAmB,SAAQ,WAAW,EAAE,gBAAgB,CAAC,YAAY;CAAI;AAC1F,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,gBAAgB,CAAC,YAAY;CAAI;AAC3F,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CAAI;AACtE,MAAM,WAAW,iBAAkB,SAAQ,aAAa,CAAC,YAAY;CAAI;AAEzE,MAAM,WAAW,gBAAiB,SAAQ,WAAW,EAAE,YAAY,CAAC,YAAY;CAAI;AACpF,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,eAAe,CAAC,YAAY;CAAI;AAC1F,MAAM,WAAW,oBAAqB,SAAQ,WAAW,EAAE,gBAAgB,CAAC,YAAY;CAAI;AAC5F,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,YAAY;CAAI;AACvE,MAAM,WAAW,mBAAoB,SAAQ,eAAe,CAAC,YAAY;CAAI;AAC7E,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB,CAAC,YAAY;CAAI"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/contracts/contract-events/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iEAAiE,CAAC;AAChG,OAAO,EACH,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EAC3B,MAAM,+CAA+C,CAAC;AAGvD,MAAM,WAAW,kBAAmB,SAAQ,WAAW,EAAE,gBAAgB,CAAC,YAAY;CAAI;AAC1F,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,gBAAgB,CAAC,YAAY;CAAI;AAC3F,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CAAI;AACtE,MAAM,WAAW,iBAAkB,SAAQ,aAAa,CAAC,YAAY;CAAI;AAEzE,mBAAmB;AACnB,MAAM,WAAW,gBAAiB,SAAQ,WAAW,EAAE,YAAY,CAAC,YAAY;CAAI;AACpF,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,eAAe,CAAC,YAAY;CAAI;AAC1F,MAAM,WAAW,oBAAqB,SAAQ,WAAW,EAAE,gBAAgB,CAAC,YAAY;CAAI;AAC5F,MAAM,WAAW,yBAA0B,SAAQ,WAAW,EAAE,qBAAqB,CAAC,YAAY;CAAI;AACtG,MAAM,WAAW,4BAA6B,SAAQ,WAAW,EAAE,wBAAwB,CAAC,YAAY;CAAI;AAC5G,MAAM,WAAW,+BAAgC,SAAQ,WAAW,EAAE,2BAA2B,CAAC,YAAY;CAAI;AAClH,MAAM,WAAW,+BAAgC,SAAQ,WAAW,EAAE,2BAA2B,CAAC,YAAY;CAAI;AAClH,MAAM,WAAW,sBAAuB,SAAQ,WAAW,EAAE,kBAAkB,CAAC,YAAY;CAAI;AAChG,MAAM,WAAW,4BAA6B,SAAQ,WAAW,EAAE,wBAAwB,CAAC,YAAY;CAAI;AAC5G,MAAM,WAAW,2BAA4B,SAAQ,WAAW,EAAE,uBAAuB,CAAC,YAAY;CAAI;AAC1G,MAAM,WAAW,4BAA6B,SAAQ,WAAW,EAAE,wBAAwB,CAAC,YAAY;CAAI;AAE5G,iBAAiB;AACjB,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,YAAY;CAAI;AACvE,MAAM,WAAW,mBAAoB,SAAQ,eAAe,CAAC,YAAY;CAAI;AAC7E,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB,CAAC,YAAY;CAAI;AAC/E,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB,CAAC,YAAY;CAAI;AACzF,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB,CAAC,YAAY;CAAI;AAC/F,MAAM,WAAW,+BAAgC,SAAQ,2BAA2B,CAAC,YAAY;CAAI;AACrG,MAAM,WAAW,+BAAgC,SAAQ,2BAA2B,CAAC,YAAY;CAAI;AACrG,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB,CAAC,YAAY;CAAI;AACnF,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB,CAAC,YAAY;CAAI;AAC/F,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB,CAAC,YAAY;CAAI;AAC7F,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB,CAAC,YAAY;CAAI"}
@@ -34,6 +34,29 @@ export declare namespace Types {
34
34
  r: string;
35
35
  s: string;
36
36
  };
37
+ type ExecuteWithdrawalPayloadStruct = {
38
+ committedAmount: BigNumberish;
39
+ netAmount: BigNumberish;
40
+ requestId: BigNumberish;
41
+ tokenAddress: AddressLike;
42
+ receiverAddress: AddressLike;
43
+ executeAt: BigNumberish;
44
+ };
45
+ type ExecuteWithdrawalPayloadStructOutput = [
46
+ committedAmount: bigint,
47
+ netAmount: bigint,
48
+ requestId: bigint,
49
+ tokenAddress: string,
50
+ receiverAddress: string,
51
+ executeAt: bigint
52
+ ] & {
53
+ committedAmount: bigint;
54
+ netAmount: bigint;
55
+ requestId: bigint;
56
+ tokenAddress: string;
57
+ receiverAddress: string;
58
+ executeAt: bigint;
59
+ };
37
60
  type SweepJobStruct = {
38
61
  wallet: AddressLike;
39
62
  token: AddressLike;
@@ -43,20 +66,23 @@ export declare namespace Types {
43
66
  token: string;
44
67
  };
45
68
  type BatchWithdrawWithTimelockStruct = {
46
- amount: BigNumberish;
69
+ committedAmount: BigNumberish;
70
+ netAmount: BigNumberish;
47
71
  requestId: BigNumberish;
48
72
  tokenAddress: AddressLike;
49
73
  receiverAddress: AddressLike;
50
74
  signatures: Types.SignatureStruct[];
51
75
  };
52
76
  type BatchWithdrawWithTimelockStructOutput = [
53
- amount: bigint,
77
+ committedAmount: bigint,
78
+ netAmount: bigint,
54
79
  requestId: bigint,
55
80
  tokenAddress: string,
56
81
  receiverAddress: string,
57
82
  signatures: Types.SignatureStructOutput[]
58
83
  ] & {
59
- amount: bigint;
84
+ committedAmount: bigint;
85
+ netAmount: bigint;
60
86
  requestId: bigint;
61
87
  tokenAddress: string;
62
88
  receiverAddress: string;
@@ -238,7 +264,7 @@ export declare namespace Types {
238
264
  };
239
265
  }
240
266
  export interface EscrowInterface extends Interface {
241
- getFunction(nameOrSignature: "ADMIN_TREASURY_EXECUTIVE_ROLE" | "ADMIN_TREASURY_MANAGER_ROLE" | "CONFIG_EXECUTIVE_ROLE" | "CONFIG_MANAGER_ROLE" | "DEFAULT_ADMIN_ROLE" | "DOMAIN_SEPARATOR" | "FUNDS_MANAGER_ROLE" | "OPERATOR_ROLE" | "TIMELOCK_CONFIG_EXECUTIVE_ROLE" | "TIMELOCK_CONFIG_MANAGER_ROLE" | "TIMELOCK_DELAY" | "TREASURY_DISPATCH_ROLE" | "TREASURY_EXECUTIVE_ROLE" | "TREASURY_MANAGER_ROLE" | "TREASURY_RECEIVER_ROLE" | "__AccessControl_init" | "__Signature_init" | "__TokensWhitelist_init" | "addTokens" | "adminTokenThresholdSettings" | "adminWithdraw" | "batchSweepERC20" | "batchWithdrawWithTimelock" | "batch_withdraw" | "cancelWithdrawal" | "configNonce" | "configThresholdSettings" | "deposit" | "depositErc20" | "executeWithdrawal" | "fundWallets" | "getAdminMultisigConfig" | "getBalance()" | "getBalance(address)" | "getDepositSigner" | "getGroupConfig" | "getNonce" | "getRequestStatus" | "getReservesCoverage" | "getRoleAdmin" | "getTokenMultisigConfig" | "getWithdrawalSigner" | "get_admin_used_ids" | "get_used_ids" | "grantRole" | "hasRole" | "initialize" | "isFundsManager" | "isPaused" | "isWhitelisted" | "nonces" | "pause" | "receiverTimelockConfig" | "removeTokens" | "renounceRole" | "reset_admin_request_ids" | "reset_request_ids" | "revokeRole" | "setAdminTokenMultisigThreshold" | "setGroupConfig" | "setTimelock" | "setTimelockGranular" | "setTokenMultisigThreshold" | "signerBitmap" | "supportsInterface" | "sweepFunds" | "timelockCommitments" | "timelockConfig" | "timelockConfigNonce" | "timelockThresholdSettings" | "tokenThresholdSettings" | "unpackAdminThresholds" | "unpackTokenThresholds" | "unpause" | "whitelist" | "withdraw" | "withdrawWithTimelock"): FunctionFragment;
267
+ getFunction(nameOrSignature: "ADMIN_TREASURY_EXECUTIVE_ROLE" | "ADMIN_TREASURY_MANAGER_ROLE" | "CONFIG_EXECUTIVE_ROLE" | "CONFIG_MANAGER_ROLE" | "DEFAULT_ADMIN_ROLE" | "DOMAIN_SEPARATOR" | "FUNDS_MANAGER_ROLE" | "OPERATOR_ROLE" | "TIMELOCK_CONFIG_EXECUTIVE_ROLE" | "TIMELOCK_CONFIG_MANAGER_ROLE" | "TIMELOCK_DELAY" | "TREASURY_DISPATCH_ROLE" | "TREASURY_EXECUTIVE_ROLE" | "TREASURY_MANAGER_ROLE" | "TREASURY_RECEIVER_ROLE" | "__AccessControl_init" | "__Signature_init" | "__TokensWhitelist_init" | "addTokens" | "adminTokenThresholdSettings" | "adminWithdraw" | "batchExecuteWithdrawal" | "batchSweepERC20" | "batchWithdrawWithTimelock" | "batch_withdraw" | "cancelWithdrawal" | "configNonce" | "configThresholdSettings" | "deposit" | "depositErc20" | "executeWithdrawal" | "fundWallets" | "getAdminMultisigConfig" | "getBalance()" | "getBalance(address)" | "getDepositSigner" | "getGroupConfig" | "getNonce" | "getRequestStatus" | "getReservesCoverage" | "getRoleAdmin" | "getTokenMultisigConfig" | "getWithdrawalSigner" | "get_admin_used_ids" | "get_used_ids" | "grantRole" | "hasRole" | "initialize" | "isFundsManager" | "isPaused" | "isWhitelisted" | "maxFeeDelta" | "nonces" | "pause" | "receiverTimelockConfig" | "removeTokens" | "renounceRole" | "reset_admin_request_ids" | "reset_request_ids" | "revokeRole" | "setAdminTokenMultisigThreshold" | "setGroupConfig" | "setMaxFeeDelta" | "setMaxFundWalletAmount" | "setTimelock" | "setTimelockGranular" | "setTokenMultisigThreshold" | "signerBitmap" | "supportsInterface" | "sweepFunds" | "timelockCommitments" | "timelockConfig" | "timelockConfigNonce" | "timelockThresholdSettings" | "tokenThresholdSettings" | "unpackAdminThresholds" | "unpackTokenThresholds" | "unpause" | "whitelist" | "withdraw" | "withdrawWithTimelock"): FunctionFragment;
242
268
  getEvent(nameOrSignatureOrTopic: "AdminWithdraw" | "ConfigureAdminMultisig" | "ConfigureTokenMultisig" | "Deposit" | "FundWallets" | "FundedContract" | "Initialized" | "LowReserves" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "SetTimelockGranular" | "SetTokenTimelock" | "SweepTokens" | "TokenAdded" | "TokenRemoved" | "Withdrawal" | "WithdrawalCancelled" | "WithdrawalExecuted" | "WithdrawalScheduled"): EventFragment;
243
269
  encodeFunctionData(functionFragment: "ADMIN_TREASURY_EXECUTIVE_ROLE", values?: undefined): string;
244
270
  encodeFunctionData(functionFragment: "ADMIN_TREASURY_MANAGER_ROLE", values?: undefined): string;
@@ -267,6 +293,7 @@ export interface EscrowInterface extends Interface {
267
293
  AddressLike,
268
294
  Types.SignatureStruct[]
269
295
  ]): string;
296
+ encodeFunctionData(functionFragment: "batchExecuteWithdrawal", values: [Types.ExecuteWithdrawalPayloadStruct[]]): string;
270
297
  encodeFunctionData(functionFragment: "batchSweepERC20", values: [Types.SweepJobStruct[], AddressLike]): string;
271
298
  encodeFunctionData(functionFragment: "batchWithdrawWithTimelock", values: [Types.BatchWithdrawWithTimelockStruct[]]): string;
272
299
  encodeFunctionData(functionFragment: "batch_withdraw", values: [Types.BatchWithdrawStruct[]]): string;
@@ -275,7 +302,14 @@ export interface EscrowInterface extends Interface {
275
302
  encodeFunctionData(functionFragment: "configThresholdSettings", values?: undefined): string;
276
303
  encodeFunctionData(functionFragment: "deposit", values: [string, Types.SignatureStruct]): string;
277
304
  encodeFunctionData(functionFragment: "depositErc20", values: [BigNumberish, AddressLike, string, Types.SignatureStruct]): string;
278
- encodeFunctionData(functionFragment: "executeWithdrawal", values: [BigNumberish, BigNumberish, AddressLike, AddressLike, BigNumberish]): string;
305
+ encodeFunctionData(functionFragment: "executeWithdrawal", values: [
306
+ BigNumberish,
307
+ BigNumberish,
308
+ BigNumberish,
309
+ AddressLike,
310
+ AddressLike,
311
+ BigNumberish
312
+ ]): string;
279
313
  encodeFunctionData(functionFragment: "fundWallets", values: [AddressLike[], BigNumberish]): string;
280
314
  encodeFunctionData(functionFragment: "getAdminMultisigConfig", values?: undefined): string;
281
315
  encodeFunctionData(functionFragment: "getBalance()", values?: undefined): string;
@@ -316,6 +350,7 @@ export interface EscrowInterface extends Interface {
316
350
  encodeFunctionData(functionFragment: "isFundsManager", values: [AddressLike]): string;
317
351
  encodeFunctionData(functionFragment: "isPaused", values?: undefined): string;
318
352
  encodeFunctionData(functionFragment: "isWhitelisted", values: [AddressLike]): string;
353
+ encodeFunctionData(functionFragment: "maxFeeDelta", values?: undefined): string;
319
354
  encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string;
320
355
  encodeFunctionData(functionFragment: "pause", values?: undefined): string;
321
356
  encodeFunctionData(functionFragment: "receiverTimelockConfig", values: [AddressLike]): string;
@@ -329,6 +364,8 @@ export interface EscrowInterface extends Interface {
329
364
  Types.SignatureStruct[]
330
365
  ]): string;
331
366
  encodeFunctionData(functionFragment: "setGroupConfig", values: [BigNumberish, BigNumberish, BigNumberish]): string;
367
+ encodeFunctionData(functionFragment: "setMaxFeeDelta", values: [BigNumberish]): string;
368
+ encodeFunctionData(functionFragment: "setMaxFundWalletAmount", values: [BigNumberish]): string;
332
369
  encodeFunctionData(functionFragment: "setTimelock", values: [Types.SetTimelockConfigSignDataStruct, Types.SignatureStruct[]]): string;
333
370
  encodeFunctionData(functionFragment: "setTimelockGranular", values: [
334
371
  Types.SetReceiverTimelockConfigSignDataStruct,
@@ -383,6 +420,7 @@ export interface EscrowInterface extends Interface {
383
420
  decodeFunctionResult(functionFragment: "addTokens", data: BytesLike): Result;
384
421
  decodeFunctionResult(functionFragment: "adminTokenThresholdSettings", data: BytesLike): Result;
385
422
  decodeFunctionResult(functionFragment: "adminWithdraw", data: BytesLike): Result;
423
+ decodeFunctionResult(functionFragment: "batchExecuteWithdrawal", data: BytesLike): Result;
386
424
  decodeFunctionResult(functionFragment: "batchSweepERC20", data: BytesLike): Result;
387
425
  decodeFunctionResult(functionFragment: "batchWithdrawWithTimelock", data: BytesLike): Result;
388
426
  decodeFunctionResult(functionFragment: "batch_withdraw", data: BytesLike): Result;
@@ -412,6 +450,7 @@ export interface EscrowInterface extends Interface {
412
450
  decodeFunctionResult(functionFragment: "isFundsManager", data: BytesLike): Result;
413
451
  decodeFunctionResult(functionFragment: "isPaused", data: BytesLike): Result;
414
452
  decodeFunctionResult(functionFragment: "isWhitelisted", data: BytesLike): Result;
453
+ decodeFunctionResult(functionFragment: "maxFeeDelta", data: BytesLike): Result;
415
454
  decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
416
455
  decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
417
456
  decodeFunctionResult(functionFragment: "receiverTimelockConfig", data: BytesLike): Result;
@@ -422,6 +461,8 @@ export interface EscrowInterface extends Interface {
422
461
  decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
423
462
  decodeFunctionResult(functionFragment: "setAdminTokenMultisigThreshold", data: BytesLike): Result;
424
463
  decodeFunctionResult(functionFragment: "setGroupConfig", data: BytesLike): Result;
464
+ decodeFunctionResult(functionFragment: "setMaxFeeDelta", data: BytesLike): Result;
465
+ decodeFunctionResult(functionFragment: "setMaxFundWalletAmount", data: BytesLike): Result;
425
466
  decodeFunctionResult(functionFragment: "setTimelock", data: BytesLike): Result;
426
467
  decodeFunctionResult(functionFragment: "setTimelockGranular", data: BytesLike): Result;
427
468
  decodeFunctionResult(functionFragment: "setTokenMultisigThreshold", data: BytesLike): Result;
@@ -442,21 +483,18 @@ export interface EscrowInterface extends Interface {
442
483
  }
443
484
  export declare namespace AdminWithdrawEvent {
444
485
  type InputTuple = [
445
- caller: AddressLike,
446
486
  receiver: AddressLike,
447
487
  amount: BigNumberish,
448
488
  tokenAddress: AddressLike,
449
489
  requestId: BigNumberish
450
490
  ];
451
491
  type OutputTuple = [
452
- caller: string,
453
492
  receiver: string,
454
493
  amount: bigint,
455
494
  tokenAddress: string,
456
495
  requestId: bigint
457
496
  ];
458
497
  interface OutputObject {
459
- caller: string;
460
498
  receiver: string;
461
499
  amount: bigint;
462
500
  tokenAddress: string;
@@ -703,21 +741,18 @@ export declare namespace SetTokenTimelockEvent {
703
741
  }
704
742
  export declare namespace SweepTokensEvent {
705
743
  type InputTuple = [
706
- caller: AddressLike,
707
744
  from: AddressLike,
708
745
  to: AddressLike,
709
746
  token: AddressLike,
710
747
  amount: BigNumberish
711
748
  ];
712
749
  type OutputTuple = [
713
- caller: string,
714
750
  from: string,
715
751
  to: string,
716
752
  token: string,
717
753
  amount: bigint
718
754
  ];
719
755
  interface OutputObject {
720
- caller: string;
721
756
  from: string;
722
757
  to: string;
723
758
  token: string;
@@ -895,6 +930,11 @@ export interface Escrow extends BaseContract {
895
930
  ], [
896
931
  void
897
932
  ], "nonpayable">;
933
+ batchExecuteWithdrawal: TypedContractMethod<[
934
+ payload: Types.ExecuteWithdrawalPayloadStruct[]
935
+ ], [
936
+ void
937
+ ], "nonpayable">;
898
938
  batchSweepERC20: TypedContractMethod<[
899
939
  jobs: Types.SweepJobStruct[],
900
940
  receiver: AddressLike
@@ -937,7 +977,8 @@ export interface Escrow extends BaseContract {
937
977
  void
938
978
  ], "nonpayable">;
939
979
  executeWithdrawal: TypedContractMethod<[
940
- amount: BigNumberish,
980
+ committedAmount: BigNumberish,
981
+ netAmount: BigNumberish,
941
982
  requestId: BigNumberish,
942
983
  tokenAddress: AddressLike,
943
984
  receiverAddress: AddressLike,
@@ -1039,6 +1080,7 @@ export interface Escrow extends BaseContract {
1039
1080
  isFundsManager: TypedContractMethod<[caller: AddressLike], [boolean], "view">;
1040
1081
  isPaused: TypedContractMethod<[], [boolean], "view">;
1041
1082
  isWhitelisted: TypedContractMethod<[_token: AddressLike], [boolean], "view">;
1083
+ maxFeeDelta: TypedContractMethod<[], [bigint], "view">;
1042
1084
  nonces: TypedContractMethod<[_owner: AddressLike], [bigint], "view">;
1043
1085
  pause: TypedContractMethod<[], [void], "nonpayable">;
1044
1086
  receiverTimelockConfig: TypedContractMethod<[
@@ -1091,6 +1133,16 @@ export interface Escrow extends BaseContract {
1091
1133
  ], [
1092
1134
  void
1093
1135
  ], "nonpayable">;
1136
+ setMaxFeeDelta: TypedContractMethod<[
1137
+ amount: BigNumberish
1138
+ ], [
1139
+ void
1140
+ ], "nonpayable">;
1141
+ setMaxFundWalletAmount: TypedContractMethod<[
1142
+ amount: BigNumberish
1143
+ ], [
1144
+ void
1145
+ ], "nonpayable">;
1094
1146
  setTimelock: TypedContractMethod<[
1095
1147
  configData: Types.SetTimelockConfigSignDataStruct,
1096
1148
  signatures: Types.SignatureStruct[]
@@ -1224,6 +1276,11 @@ export interface Escrow extends BaseContract {
1224
1276
  ], [
1225
1277
  void
1226
1278
  ], "nonpayable">;
1279
+ getFunction(nameOrSignature: "batchExecuteWithdrawal"): TypedContractMethod<[
1280
+ payload: Types.ExecuteWithdrawalPayloadStruct[]
1281
+ ], [
1282
+ void
1283
+ ], "nonpayable">;
1227
1284
  getFunction(nameOrSignature: "batchSweepERC20"): TypedContractMethod<[
1228
1285
  jobs: Types.SweepJobStruct[],
1229
1286
  receiver: AddressLike
@@ -1266,7 +1323,8 @@ export interface Escrow extends BaseContract {
1266
1323
  void
1267
1324
  ], "nonpayable">;
1268
1325
  getFunction(nameOrSignature: "executeWithdrawal"): TypedContractMethod<[
1269
- amount: BigNumberish,
1326
+ committedAmount: BigNumberish,
1327
+ netAmount: BigNumberish,
1270
1328
  requestId: BigNumberish,
1271
1329
  tokenAddress: AddressLike,
1272
1330
  receiverAddress: AddressLike,
@@ -1353,6 +1411,7 @@ export interface Escrow extends BaseContract {
1353
1411
  getFunction(nameOrSignature: "isFundsManager"): TypedContractMethod<[caller: AddressLike], [boolean], "view">;
1354
1412
  getFunction(nameOrSignature: "isPaused"): TypedContractMethod<[], [boolean], "view">;
1355
1413
  getFunction(nameOrSignature: "isWhitelisted"): TypedContractMethod<[_token: AddressLike], [boolean], "view">;
1414
+ getFunction(nameOrSignature: "maxFeeDelta"): TypedContractMethod<[], [bigint], "view">;
1356
1415
  getFunction(nameOrSignature: "nonces"): TypedContractMethod<[_owner: AddressLike], [bigint], "view">;
1357
1416
  getFunction(nameOrSignature: "pause"): TypedContractMethod<[], [void], "nonpayable">;
1358
1417
  getFunction(nameOrSignature: "receiverTimelockConfig"): TypedContractMethod<[
@@ -1401,6 +1460,8 @@ export interface Escrow extends BaseContract {
1401
1460
  ], [
1402
1461
  void
1403
1462
  ], "nonpayable">;
1463
+ getFunction(nameOrSignature: "setMaxFeeDelta"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">;
1464
+ getFunction(nameOrSignature: "setMaxFundWalletAmount"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">;
1404
1465
  getFunction(nameOrSignature: "setTimelock"): TypedContractMethod<[
1405
1466
  configData: Types.SetTimelockConfigSignDataStruct,
1406
1467
  signatures: Types.SignatureStruct[]
@@ -1498,7 +1559,7 @@ export interface Escrow extends BaseContract {
1498
1559
  getEvent(key: "WithdrawalExecuted"): TypedContractEvent<WithdrawalExecutedEvent.InputTuple, WithdrawalExecutedEvent.OutputTuple, WithdrawalExecutedEvent.OutputObject>;
1499
1560
  getEvent(key: "WithdrawalScheduled"): TypedContractEvent<WithdrawalScheduledEvent.InputTuple, WithdrawalScheduledEvent.OutputTuple, WithdrawalScheduledEvent.OutputObject>;
1500
1561
  filters: {
1501
- "AdminWithdraw(address,address,uint256,address,uint256)": TypedContractEvent<AdminWithdrawEvent.InputTuple, AdminWithdrawEvent.OutputTuple, AdminWithdrawEvent.OutputObject>;
1562
+ "AdminWithdraw(address,uint256,address,uint256)": TypedContractEvent<AdminWithdrawEvent.InputTuple, AdminWithdrawEvent.OutputTuple, AdminWithdrawEvent.OutputObject>;
1502
1563
  AdminWithdraw: TypedContractEvent<AdminWithdrawEvent.InputTuple, AdminWithdrawEvent.OutputTuple, AdminWithdrawEvent.OutputObject>;
1503
1564
  "ConfigureAdminMultisig(uint8,uint256,uint256)": TypedContractEvent<ConfigureAdminMultisigEvent.InputTuple, ConfigureAdminMultisigEvent.OutputTuple, ConfigureAdminMultisigEvent.OutputObject>;
1504
1565
  ConfigureAdminMultisig: TypedContractEvent<ConfigureAdminMultisigEvent.InputTuple, ConfigureAdminMultisigEvent.OutputTuple, ConfigureAdminMultisigEvent.OutputObject>;
@@ -1524,7 +1585,7 @@ export interface Escrow extends BaseContract {
1524
1585
  SetTimelockGranular: TypedContractEvent<SetTimelockGranularEvent.InputTuple, SetTimelockGranularEvent.OutputTuple, SetTimelockGranularEvent.OutputObject>;
1525
1586
  "SetTokenTimelock(address,uint256,uint256,uint256)": TypedContractEvent<SetTokenTimelockEvent.InputTuple, SetTokenTimelockEvent.OutputTuple, SetTokenTimelockEvent.OutputObject>;
1526
1587
  SetTokenTimelock: TypedContractEvent<SetTokenTimelockEvent.InputTuple, SetTokenTimelockEvent.OutputTuple, SetTokenTimelockEvent.OutputObject>;
1527
- "SweepTokens(address,address,address,address,uint256)": TypedContractEvent<SweepTokensEvent.InputTuple, SweepTokensEvent.OutputTuple, SweepTokensEvent.OutputObject>;
1588
+ "SweepTokens(address,address,address,uint256)": TypedContractEvent<SweepTokensEvent.InputTuple, SweepTokensEvent.OutputTuple, SweepTokensEvent.OutputObject>;
1528
1589
  SweepTokens: TypedContractEvent<SweepTokensEvent.InputTuple, SweepTokensEvent.OutputTuple, SweepTokensEvent.OutputObject>;
1529
1590
  "TokenAdded(address)": TypedContractEvent<TokenAddedEvent.InputTuple, TokenAddedEvent.OutputTuple, TokenAddedEvent.OutputObject>;
1530
1591
  TokenAdded: TypedContractEvent<TokenAddedEvent.InputTuple, TokenAddedEvent.OutputTuple, TokenAddedEvent.OutputObject>;