@hyperlane-xyz/sdk 14.4.0 → 16.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.
- package/dist/aws/s3.d.ts.map +1 -1
- package/dist/aws/s3.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +20 -6
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/testChains.d.ts +1 -0
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +8 -0
- package/dist/consts/testChains.js.map +1 -1
- package/dist/deploy/warp.d.ts +2 -1
- package/dist/deploy/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js.map +1 -1
- package/dist/gas/token-prices.test.js +5 -7
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/ism/metadata/builder.hardhat-test.js +1 -1
- package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/multisig.test.js +1 -1
- package/dist/ism/metadata/multisig.test.js.map +1 -1
- package/dist/metadata/customZodTypes.d.ts +2 -0
- package/dist/metadata/customZodTypes.d.ts.map +1 -1
- package/dist/metadata/customZodTypes.js +9 -0
- package/dist/metadata/customZodTypes.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +3 -4
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +8 -8
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +1 -1
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +2 -2
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +4 -2
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts +3 -3
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js +4 -5
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +2 -2
- package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts +2 -1
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.d.ts +23 -451
- package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.js +67 -35
- package/dist/providers/transactions/submitter/builder/types.js.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.test.js +40 -0
- package/dist/providers/transactions/submitter/builder/types.test.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +5 -2
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts +21 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js +86 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts +26 -2
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/types.js +28 -2
- package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +7 -7
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js +12 -7
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -1
- package/dist/providers/transactions/submitter/types.d.ts +16 -262
- package/dist/providers/transactions/submitter/types.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/types.js +1 -17
- package/dist/providers/transactions/submitter/types.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -0
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +6 -0
- package/dist/test/testUtils.js.map +1 -1
- package/dist/timelock/evm/EvmTimelockDeployer.d.ts +12 -0
- package/dist/timelock/evm/EvmTimelockDeployer.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts +2 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js +210 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.js +68 -0
- package/dist/timelock/evm/EvmTimelockDeployer.js.map +1 -0
- package/dist/timelock/evm/constants.d.ts +5 -0
- package/dist/timelock/evm/constants.d.ts.map +1 -0
- package/dist/timelock/evm/constants.js +6 -0
- package/dist/timelock/evm/constants.js.map +1 -0
- package/dist/timelock/evm/contracts.d.ts +6 -0
- package/dist/timelock/evm/contracts.d.ts.map +1 -0
- package/dist/timelock/evm/contracts.js +5 -0
- package/dist/timelock/evm/contracts.js.map +1 -0
- package/dist/timelock/types.d.ts +42 -0
- package/dist/timelock/types.d.ts.map +1 -0
- package/dist/timelock/types.js +11 -0
- package/dist/timelock/types.js.map +1 -0
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +1 -0
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +3 -2
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +7 -1
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +3 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.js +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
- package/dist/token/types.d.ts +1 -1
- package/dist/utils/fork.d.ts +7 -3
- package/dist/utils/fork.d.ts.map +1 -1
- package/dist/utils/fork.js +7 -7
- package/dist/utils/fork.js.map +1 -1
- package/dist/utils/ism.d.ts +2 -1
- package/dist/utils/ism.d.ts.map +1 -1
- package/dist/utils/ism.js.map +1 -1
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +11 -3
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +9 -0
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/package.json +7 -12
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import chai, { expect } from 'chai';
|
|
2
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
3
|
+
import hre from 'hardhat';
|
|
4
|
+
import { TimelockController__factory } from '@hyperlane-xyz/core';
|
|
5
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
6
|
+
import { TestChainName } from '../../consts/testChains.js';
|
|
7
|
+
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
8
|
+
import { randomAddress } from '../../test/testUtils.js';
|
|
9
|
+
import { EvmTimelockDeployer } from './EvmTimelockDeployer.js';
|
|
10
|
+
import { CANCELLER_ROLE, EMPTY_BYTES_32, EXECUTOR_ROLE, PROPOSER_ROLE, } from './constants.js';
|
|
11
|
+
chai.use(chaiAsPromised);
|
|
12
|
+
describe('EvmTimelockDeployer', async () => {
|
|
13
|
+
let multiProvider;
|
|
14
|
+
let deployer;
|
|
15
|
+
let signer;
|
|
16
|
+
const signerAddress = '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266';
|
|
17
|
+
const otherSignerAddress = '0x70997970C51812dc3A010C7d01b50e0d17dc79C8';
|
|
18
|
+
let otherSigner;
|
|
19
|
+
beforeEach(async () => {
|
|
20
|
+
[signer, otherSigner] = await hre.ethers.getSigners();
|
|
21
|
+
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
22
|
+
deployer = new EvmTimelockDeployer(multiProvider);
|
|
23
|
+
assert(signer.address === signerAddress, 'Expected signer.address to be equal signerAddress');
|
|
24
|
+
assert(otherSigner.address === otherSignerAddress, 'Expected otherSigner.address address to be equal otherSignerAddress');
|
|
25
|
+
});
|
|
26
|
+
describe('basic config', async () => {
|
|
27
|
+
const testCases = [
|
|
28
|
+
{
|
|
29
|
+
title: 'should deploy TimelockController with correct parameters',
|
|
30
|
+
config: {
|
|
31
|
+
minimumDelay: 3600,
|
|
32
|
+
proposers: [signerAddress],
|
|
33
|
+
executors: [signerAddress],
|
|
34
|
+
admin: signerAddress,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
title: 'should deploy TimelockController with multiple proposers and executors',
|
|
39
|
+
config: {
|
|
40
|
+
minimumDelay: 7200,
|
|
41
|
+
proposers: [signerAddress, randomAddress()],
|
|
42
|
+
executors: [signerAddress, randomAddress()],
|
|
43
|
+
admin: signerAddress,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: 'should deploy with minimum delay of 0',
|
|
48
|
+
config: {
|
|
49
|
+
minimumDelay: 0,
|
|
50
|
+
proposers: [signerAddress],
|
|
51
|
+
executors: [signerAddress],
|
|
52
|
+
admin: signerAddress,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
for (const { title, config } of testCases) {
|
|
57
|
+
it(title, async () => {
|
|
58
|
+
const { TimelockController } = await deployer.deployContracts(TestChainName.test2, config);
|
|
59
|
+
const timelockAddress = TimelockController.address;
|
|
60
|
+
const timelock = TimelockController__factory.connect(timelockAddress, multiProvider.getProvider(TestChainName.test2));
|
|
61
|
+
expect(await timelock.getMinDelay()).to.equal(config.minimumDelay);
|
|
62
|
+
for (const proposer of config.proposers) {
|
|
63
|
+
expect(await timelock.hasRole(PROPOSER_ROLE, proposer)).to.be.true;
|
|
64
|
+
}
|
|
65
|
+
// proposers are also cancellers by default
|
|
66
|
+
for (const proposer of config.proposers) {
|
|
67
|
+
expect(await timelock.hasRole(CANCELLER_ROLE, proposer)).to.be.true;
|
|
68
|
+
}
|
|
69
|
+
assert(config.executors, 'Expected executors to be defined');
|
|
70
|
+
for (const executor of config.executors) {
|
|
71
|
+
expect(await timelock.hasRole(EXECUTOR_ROLE, executor)).to.be.true;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
describe('multichain deployments', () => {
|
|
77
|
+
const config = {
|
|
78
|
+
minimumDelay: 3600,
|
|
79
|
+
proposers: [signerAddress],
|
|
80
|
+
executors: [signerAddress],
|
|
81
|
+
admin: signerAddress,
|
|
82
|
+
};
|
|
83
|
+
it('should not redeploy if contract already exists', async () => {
|
|
84
|
+
const chainName = TestChainName.test1;
|
|
85
|
+
// Deploy first time
|
|
86
|
+
await deployer.deployContracts(chainName, config);
|
|
87
|
+
const firstAddress = deployer.deployedContracts[chainName];
|
|
88
|
+
// Deploy again with same config
|
|
89
|
+
await deployer.deployContracts(chainName, config);
|
|
90
|
+
const secondAddress = deployer.deployedContracts[chainName];
|
|
91
|
+
expect(firstAddress).to.equal(secondAddress);
|
|
92
|
+
});
|
|
93
|
+
it('should deploy different contracts for different chains', async () => {
|
|
94
|
+
const { TimelockController: { address: address1 }, } = await deployer.deployContracts(TestChainName.test1, config);
|
|
95
|
+
const { TimelockController: { address: address2 }, } = await deployer.deployContracts(TestChainName.test2, config);
|
|
96
|
+
expect(address1).to.not.equal(address2);
|
|
97
|
+
expect(address1).to.exist;
|
|
98
|
+
expect(address2).to.exist;
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
it('should allow anyone to execute a transaction if no one is set in the input config', async () => {
|
|
102
|
+
const openExecutorRoleConfig = {
|
|
103
|
+
minimumDelay: 0,
|
|
104
|
+
proposers: [signerAddress],
|
|
105
|
+
admin: signerAddress,
|
|
106
|
+
};
|
|
107
|
+
const { TimelockController } = await deployer.deployContracts(TestChainName.test4, openExecutorRoleConfig);
|
|
108
|
+
const timelockAddress = TimelockController.address;
|
|
109
|
+
const timelock = TimelockController__factory.connect(timelockAddress, signer);
|
|
110
|
+
// If the 0 address has the executor role anyone can execute
|
|
111
|
+
expect(await timelock.hasRole(EXECUTOR_ROLE, hre.ethers.constants.AddressZero)).to.be.true;
|
|
112
|
+
// Test that someone who does not have the executor role can execute proposed transactions
|
|
113
|
+
expect(await timelock.hasRole(EXECUTOR_ROLE, otherSignerAddress)).to.be
|
|
114
|
+
.false;
|
|
115
|
+
const updatedDelay = 100;
|
|
116
|
+
const testTxData = TimelockController__factory.createInterface().encodeFunctionData('updateDelay', [updatedDelay]);
|
|
117
|
+
const scheduleTx = await timelock.schedule(timelockAddress, 0, testTxData, EMPTY_BYTES_32, EMPTY_BYTES_32, 0);
|
|
118
|
+
await scheduleTx.wait();
|
|
119
|
+
const otherSignerTimelockInstance = TimelockController__factory.connect(timelockAddress, otherSigner);
|
|
120
|
+
const executeTx = await otherSignerTimelockInstance.execute(timelockAddress, 0, testTxData, EMPTY_BYTES_32, EMPTY_BYTES_32);
|
|
121
|
+
await executeTx.wait();
|
|
122
|
+
expect(await timelock.getMinDelay()).to.equal(updatedDelay);
|
|
123
|
+
});
|
|
124
|
+
describe('canceller config', () => {
|
|
125
|
+
it('should deploy with the correct canceller config', async () => {
|
|
126
|
+
const proposer = randomAddress();
|
|
127
|
+
const cancellerConfig = {
|
|
128
|
+
minimumDelay: 30,
|
|
129
|
+
proposers: [proposer],
|
|
130
|
+
executors: [signerAddress],
|
|
131
|
+
cancellers: [randomAddress(), randomAddress()],
|
|
132
|
+
};
|
|
133
|
+
const { TimelockController } = await deployer.deployContracts(TestChainName.test4, cancellerConfig);
|
|
134
|
+
// proposer should be a proposer but not a canceller if not in canceller config
|
|
135
|
+
assert(cancellerConfig.proposers, 'Expected proposers to be defined');
|
|
136
|
+
for (const proposer of cancellerConfig.proposers) {
|
|
137
|
+
expect(await TimelockController.hasRole(PROPOSER_ROLE, proposer)).to.be
|
|
138
|
+
.true;
|
|
139
|
+
expect(await TimelockController.hasRole(CANCELLER_ROLE, proposer)).to.be
|
|
140
|
+
.false;
|
|
141
|
+
}
|
|
142
|
+
assert(cancellerConfig.cancellers, 'Expected cancellers to be defined');
|
|
143
|
+
for (const canceller of cancellerConfig.cancellers) {
|
|
144
|
+
expect(await TimelockController.hasRole(CANCELLER_ROLE, canceller)).to
|
|
145
|
+
.be.true;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
it('should not remove a proposer that it is also a canceller', async () => {
|
|
149
|
+
const proposer = randomAddress();
|
|
150
|
+
const cancellerConfig = {
|
|
151
|
+
minimumDelay: 30,
|
|
152
|
+
proposers: [proposer],
|
|
153
|
+
executors: [signerAddress],
|
|
154
|
+
cancellers: [proposer, randomAddress()],
|
|
155
|
+
};
|
|
156
|
+
const { TimelockController } = await deployer.deployContracts(TestChainName.test4, cancellerConfig);
|
|
157
|
+
expect(await TimelockController.hasRole(PROPOSER_ROLE, proposer)).to.be
|
|
158
|
+
.true;
|
|
159
|
+
assert(cancellerConfig.cancellers, 'Expected cancellers to be defined');
|
|
160
|
+
for (const canceller of cancellerConfig.cancellers) {
|
|
161
|
+
expect(await TimelockController.hasRole(CANCELLER_ROLE, canceller)).to
|
|
162
|
+
.be.true;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
describe('admin config', () => {
|
|
167
|
+
const proposer = randomAddress();
|
|
168
|
+
const customAdmin = randomAddress();
|
|
169
|
+
const testCases = [
|
|
170
|
+
{
|
|
171
|
+
title: 'should deploy TimelockController with the timelock as the only admin when an admin address is not provided',
|
|
172
|
+
config: {
|
|
173
|
+
minimumDelay: 1800,
|
|
174
|
+
proposers: [signerAddress],
|
|
175
|
+
executors: [signerAddress],
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
title: 'should not revoke the admin role from the deployer if it is the expected admin',
|
|
180
|
+
config: {
|
|
181
|
+
minimumDelay: 30,
|
|
182
|
+
proposers: [randomAddress()],
|
|
183
|
+
executors: [signerAddress],
|
|
184
|
+
cancellers: [randomAddress()],
|
|
185
|
+
admin: signerAddress,
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
title: 'should set the expected admin from the config after applying the changes',
|
|
190
|
+
config: {
|
|
191
|
+
minimumDelay: 30,
|
|
192
|
+
proposers: [proposer],
|
|
193
|
+
executors: [signerAddress],
|
|
194
|
+
cancellers: [proposer, randomAddress()],
|
|
195
|
+
admin: customAdmin,
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
];
|
|
199
|
+
for (const { title, config } of testCases) {
|
|
200
|
+
it(title, async () => {
|
|
201
|
+
const { TimelockController } = await deployer.deployContracts(TestChainName.test3, config);
|
|
202
|
+
const timelockAdminRoleHash = await TimelockController.TIMELOCK_ADMIN_ROLE();
|
|
203
|
+
// if an admin was set in the config we expect the timelock to be the admin
|
|
204
|
+
const expectedAdmin = config.admin ?? TimelockController.address;
|
|
205
|
+
expect(await TimelockController.hasRole(timelockAdminRoleHash, expectedAdmin)).to.be.true;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
//# sourceMappingURL=EvmTimelockDeployer.hardhat-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmTimelockDeployer.hardhat-test.js","sourceRoot":"","sources":["../../../src/timelock/evm/EvmTimelockDeployer.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { addBufferToGasLimit, eqAddress, isZeroishAddress, rootLogger, } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { HyperlaneDeployer } from '../../deploy/HyperlaneDeployer.js';
|
|
4
|
+
import { CANCELLER_ROLE } from './constants.js';
|
|
5
|
+
import { evmTimelockFactories } from './contracts.js';
|
|
6
|
+
export class EvmTimelockDeployer extends HyperlaneDeployer {
|
|
7
|
+
constructor(multiProvider, concurrentDeploy, contractVerifier, logger) {
|
|
8
|
+
super(multiProvider, evmTimelockFactories, {
|
|
9
|
+
logger: logger ?? rootLogger.child({ module: EvmTimelockDeployer.name }),
|
|
10
|
+
contractVerifier,
|
|
11
|
+
concurrentDeploy,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async deployContracts(chain, config) {
|
|
15
|
+
const deployerAddress = await this.multiProvider.getSignerAddress(chain);
|
|
16
|
+
const deployedContract = await this.deployContract(chain, 'TimelockController', [
|
|
17
|
+
config.minimumDelay,
|
|
18
|
+
config.proposers,
|
|
19
|
+
config.executors ?? [ethers.constants.AddressZero],
|
|
20
|
+
deployerAddress,
|
|
21
|
+
]);
|
|
22
|
+
if (config.cancellers && config.cancellers.length !== 0) {
|
|
23
|
+
// Remove all the proposers that should not be cancellers
|
|
24
|
+
const cancellers = new Set(config.cancellers ?? []);
|
|
25
|
+
const cancellersToRemove = config.proposers.filter((address) => !cancellers.has(address));
|
|
26
|
+
this.logger.info(`Revoking CANCELLER_ROLE from ${cancellersToRemove}`);
|
|
27
|
+
for (const proposer of cancellersToRemove) {
|
|
28
|
+
// Estimate gas before calling revokeRole
|
|
29
|
+
const estimatedGas = await deployedContract.estimateGas.revokeRole(CANCELLER_ROLE, proposer);
|
|
30
|
+
await this.multiProvider.handleTx(chain, deployedContract.revokeRole(CANCELLER_ROLE, proposer, {
|
|
31
|
+
gasLimit: addBufferToGasLimit(estimatedGas),
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
// Give canceller role only to the addresses in the cancellers config
|
|
35
|
+
this.logger.info(`Setting CANCELLER_ROLE to ${config.cancellers}`);
|
|
36
|
+
for (const canceller of config.cancellers) {
|
|
37
|
+
// Estimate gas before calling grantRole
|
|
38
|
+
const estimatedGas = await deployedContract.estimateGas.grantRole(CANCELLER_ROLE, canceller);
|
|
39
|
+
await this.multiProvider.handleTx(chain, deployedContract.grantRole(CANCELLER_ROLE, canceller, {
|
|
40
|
+
gasLimit: addBufferToGasLimit(estimatedGas),
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const expectedFinalAdmin = config.admin ?? ethers.constants.AddressZero;
|
|
45
|
+
const adminRole = await deployedContract.TIMELOCK_ADMIN_ROLE();
|
|
46
|
+
const isAdminSetCorrectly = await deployedContract.hasRole(adminRole, expectedFinalAdmin);
|
|
47
|
+
if (!isAdminSetCorrectly && !isZeroishAddress(expectedFinalAdmin)) {
|
|
48
|
+
this.logger.info(`Granting admin role to the expected admin ${expectedFinalAdmin}`);
|
|
49
|
+
// Estimate gas before calling grantRole
|
|
50
|
+
const estimatedGas = await deployedContract.estimateGas.grantRole(adminRole, expectedFinalAdmin);
|
|
51
|
+
await this.multiProvider.handleTx(chain, deployedContract.grantRole(adminRole, expectedFinalAdmin, {
|
|
52
|
+
gasLimit: addBufferToGasLimit(estimatedGas),
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
if (!eqAddress(expectedFinalAdmin, deployerAddress)) {
|
|
56
|
+
this.logger.info(`Revoking temporary admin role from deployer ${deployerAddress}`);
|
|
57
|
+
// Estimate gas before calling revokeRole
|
|
58
|
+
const estimatedGas = await deployedContract.estimateGas.revokeRole(adminRole, deployerAddress);
|
|
59
|
+
await this.multiProvider.handleTx(chain, deployedContract.revokeRole(adminRole, deployerAddress, {
|
|
60
|
+
gasLimit: addBufferToGasLimit(estimatedGas),
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
TimelockController: deployedContract,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=EvmTimelockDeployer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmTimelockDeployer.js","sourceRoot":"","sources":["../../../src/timelock/evm/EvmTimelockDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const EMPTY_BYTES_32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
2
|
+
export declare const PROPOSER_ROLE: string;
|
|
3
|
+
export declare const EXECUTOR_ROLE: string;
|
|
4
|
+
export declare const CANCELLER_ROLE: string;
|
|
5
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/timelock/evm/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,uEAC2C,CAAC;AAEvE,eAAO,MAAM,aAAa,EAAE,MAAgD,CAAC;AAC7E,eAAO,MAAM,aAAa,EAAE,MAAgD,CAAC;AAC7E,eAAO,MAAM,cAAc,EAAE,MAAiD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { keccak256 } from 'ethers/lib/utils.js';
|
|
2
|
+
export const EMPTY_BYTES_32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
3
|
+
export const PROPOSER_ROLE = keccak256(Buffer.from('PROPOSER_ROLE'));
|
|
4
|
+
export const EXECUTOR_ROLE = keccak256(Buffer.from('EXECUTOR_ROLE'));
|
|
5
|
+
export const CANCELLER_ROLE = keccak256(Buffer.from('CANCELLER_ROLE'));
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/timelock/evm/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GACzB,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAW,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TimelockController__factory } from '@hyperlane-xyz/core';
|
|
2
|
+
export declare const evmTimelockFactories: {
|
|
3
|
+
readonly TimelockController: TimelockController__factory;
|
|
4
|
+
};
|
|
5
|
+
export type EvmTimelockFactories = typeof evmTimelockFactories;
|
|
6
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/timelock/evm/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,eAAO,MAAM,oBAAoB;;CAEvB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/timelock/evm/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kBAAkB,EAAE,IAAI,2BAA2B,EAAE;CAC7C,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const TimelockConfigSchema: z.ZodObject<{
|
|
3
|
+
minimumDelay: z.ZodNumber;
|
|
4
|
+
proposers: z.ZodArray<z.ZodString, "many">;
|
|
5
|
+
executors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6
|
+
cancellers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
7
|
+
admin: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
minimumDelay: number;
|
|
10
|
+
proposers: string[];
|
|
11
|
+
executors?: string[] | undefined;
|
|
12
|
+
cancellers?: string[] | undefined;
|
|
13
|
+
admin?: string | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
minimumDelay: number;
|
|
16
|
+
proposers: string[];
|
|
17
|
+
executors?: string[] | undefined;
|
|
18
|
+
cancellers?: string[] | undefined;
|
|
19
|
+
admin?: string | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const TimelockConfigMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
22
|
+
minimumDelay: z.ZodNumber;
|
|
23
|
+
proposers: z.ZodArray<z.ZodString, "many">;
|
|
24
|
+
executors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
25
|
+
cancellers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
26
|
+
admin: z.ZodOptional<z.ZodString>;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
minimumDelay: number;
|
|
29
|
+
proposers: string[];
|
|
30
|
+
executors?: string[] | undefined;
|
|
31
|
+
cancellers?: string[] | undefined;
|
|
32
|
+
admin?: string | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
minimumDelay: number;
|
|
35
|
+
proposers: string[];
|
|
36
|
+
executors?: string[] | undefined;
|
|
37
|
+
cancellers?: string[] | undefined;
|
|
38
|
+
admin?: string | undefined;
|
|
39
|
+
}>>;
|
|
40
|
+
export type TimelockConfig = z.infer<typeof TimelockConfigSchema>;
|
|
41
|
+
export type TimelockConfigMap = z.infer<typeof TimelockConfigMapSchema>;
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/timelock/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;GAGnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ZChainName, ZHash, ZNzUint } from '../metadata/customZodTypes.js';
|
|
3
|
+
export const TimelockConfigSchema = z.object({
|
|
4
|
+
minimumDelay: ZNzUint,
|
|
5
|
+
proposers: z.array(ZHash).min(1),
|
|
6
|
+
executors: z.array(ZHash).min(1).optional(),
|
|
7
|
+
cancellers: z.array(ZHash).min(1).optional(),
|
|
8
|
+
admin: ZHash.optional(),
|
|
9
|
+
});
|
|
10
|
+
export const TimelockConfigMapSchema = z.record(ZChainName, TimelockConfigSchema);
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/timelock/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAC7C,UAAU,EACV,oBAAoB,CACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStandard.d.ts","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAEL,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,aAAa;IAEvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAG/C,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IAGvB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IAGjC,uBAAuB,8BAA8B;IACrD,sBAAsB,6BAA6B;IAGnD,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;CAC9C;AAGD,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CA+C1E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,aAAa,EACb,YAAY,CAUZ,CAAC;AAEH,eAAO,MAAM,mBAAmB,iBAK/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,iBAU1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,iBAK5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"TokenStandard.d.ts","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAEL,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,aAAa;IAEvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAG/C,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IAGvB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IAGjC,uBAAuB,8BAA8B;IACrD,sBAAsB,6BAA6B;IAGnD,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;CAC9C;AAGD,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CA+C1E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,aAAa,EACb,YAAY,CAUZ,CAAC;AAEH,eAAO,MAAM,mBAAmB,iBAK/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,iBAU1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,iBAK5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,iBAMlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,iBAuB/B,CAAC;AAEF,eAAO,MAAM,2BAA2B,iBAGvC,CAAC;AAIF,eAAO,MAAM,wBAAwB,iBAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,iBAChB,YAAY,aACf,SAAS,kBA2BrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAgBvE,CAAC;AAGF,eAAO,MAAM,mCAAmC,sDAGtC,CAAC;AAEX,KAAK,+BAA+B,GAClC,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,oCAAoC,EAAE,MAAM,CACvD,+BAA+B,EAC/B,aAAa,CAId,CAAC;AAGF,eAAO,MAAM,8BAA8B,wEAIjC,CAAC;AAEX,KAAK,2BAA2B,GAC9B,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,2BAA2B,EAC3B,aAAa,CAKd,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,CAOzE,CAAC"}
|
|
@@ -126,6 +126,7 @@ export const MINT_LIMITED_STANDARDS = [
|
|
|
126
126
|
TokenStandard.EvmHypXERC20Lockbox,
|
|
127
127
|
TokenStandard.EvmHypVSXERC20,
|
|
128
128
|
TokenStandard.EvmHypVSXERC20Lockbox,
|
|
129
|
+
TokenStandard.EvmHypCollateralFiat,
|
|
129
130
|
];
|
|
130
131
|
export const TOKEN_HYP_STANDARDS = [
|
|
131
132
|
TokenStandard.EvmHypNative,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStandard.js","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TokenStandard.js","sourceRoot":"","sources":["../../src/token/TokenStandard.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { BaseEvmAdapter } from '../../app/MultiProtocolApp.js';
|
|
|
6
6
|
import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider.js';
|
|
7
7
|
import { ChainName } from '../../types.js';
|
|
8
8
|
import { TokenMetadata } from '../types.js';
|
|
9
|
-
import { IHypTokenAdapter, IHypVSXERC20Adapter, IHypXERC20Adapter, IMovableCollateralRouterAdapter, ITokenAdapter, IXERC20VSAdapter, InterchainGasQuote, RateLimitMidPoint, TransferParams, TransferRemoteParams } from './ITokenAdapter.js';
|
|
9
|
+
import { IHypCollateralFiatAdapter, IHypTokenAdapter, IHypVSXERC20Adapter, IHypXERC20Adapter, IMovableCollateralRouterAdapter, ITokenAdapter, IXERC20VSAdapter, InterchainGasQuote, RateLimitMidPoint, TransferParams, TransferRemoteParams } from './ITokenAdapter.js';
|
|
10
10
|
export declare const EVM_TRANSFER_REMOTE_GAS_ESTIMATE = 450000n;
|
|
11
11
|
export declare class EvmNativeTokenAdapter extends BaseEvmAdapter implements ITokenAdapter<PopulatedTransaction> {
|
|
12
12
|
getBalance(address: Address): Promise<bigint>;
|
|
@@ -87,13 +87,14 @@ export declare class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter impl
|
|
|
87
87
|
*/
|
|
88
88
|
populateRebalanceTx(domain: Domain, amount: Numberish, bridge: Address, quotes: InterchainGasQuote[]): Promise<PopulatedTransaction>;
|
|
89
89
|
}
|
|
90
|
-
export declare class EvmHypCollateralFiatAdapter extends EvmHypCollateralAdapter implements
|
|
90
|
+
export declare class EvmHypCollateralFiatAdapter extends EvmHypCollateralAdapter implements IHypCollateralFiatAdapter<PopulatedTransaction> {
|
|
91
91
|
/**
|
|
92
92
|
* Note this may be inaccurate, as this returns the total supply
|
|
93
93
|
* of the fiat token, which may be used by other bridges.
|
|
94
94
|
* However this is the best we can do with a simple view call.
|
|
95
95
|
*/
|
|
96
96
|
getBridgedSupply(): Promise<bigint>;
|
|
97
|
+
getMintLimit(): Promise<bigint>;
|
|
97
98
|
}
|
|
98
99
|
export declare class EvmHypRebaseCollateralAdapter extends EvmHypCollateralAdapter implements IHypTokenAdapter<PopulatedTransaction> {
|
|
99
100
|
readonly chainName: ChainName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,oBAAoB,EAErB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,KAAK,EAIL,QAAQ,EACR,kBAAkB,EAGlB,UAAU,EACV,oBAAoB,EAGpB,SAAS,EACT,gBAAgB,
|
|
1
|
+
{"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BigNumber, constants as ethersConstants, } from 'ethers';
|
|
2
|
-
import { ERC20__factory, ERC4626__factory, GasRouter__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, HypXERC20__factory, IXERC20VS__factory, IXERC20__factory, ValueTransferBridge__factory, } from '@hyperlane-xyz/core';
|
|
2
|
+
import { ERC20__factory, ERC4626__factory, GasRouter__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, HypXERC20__factory, IFiatToken__factory, IXERC20VS__factory, IXERC20__factory, ValueTransferBridge__factory, } from '@hyperlane-xyz/core';
|
|
3
3
|
import { ZERO_ADDRESS_HEX_32, addressToByteHexString, addressToBytes32, bytes32ToAddress, strip0x, } from '@hyperlane-xyz/utils';
|
|
4
4
|
import { BaseEvmAdapter } from '../../app/MultiProtocolApp.js';
|
|
5
5
|
// An estimate of the gas amount for a typical EVM token router transferRemote transaction
|
|
@@ -242,6 +242,12 @@ export class EvmHypCollateralFiatAdapter extends EvmHypCollateralAdapter {
|
|
|
242
242
|
const wrapped = await this.getWrappedTokenAdapter();
|
|
243
243
|
return wrapped.getTotalSupply();
|
|
244
244
|
}
|
|
245
|
+
async getMintLimit() {
|
|
246
|
+
const wrappedToken = await this.getWrappedTokenAddress();
|
|
247
|
+
const fiatToken = IFiatToken__factory.connect(wrappedToken, this.getProvider());
|
|
248
|
+
const limit = await fiatToken.minterAllowance(this.addresses.token);
|
|
249
|
+
return limit.toBigInt();
|
|
250
|
+
}
|
|
245
251
|
}
|
|
246
252
|
export class EvmHypRebaseCollateralAdapter extends EvmHypCollateralAdapter {
|
|
247
253
|
chainName;
|