@hyperlane-xyz/sdk 13.3.0 → 14.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/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +28 -93
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/CosmosNativeCoreReader.d.ts +3 -3
- package/dist/core/CosmosNativeCoreReader.d.ts.map +1 -1
- package/dist/core/CosmosNativeCoreReader.js +5 -5
- package/dist/core/CosmosNativeCoreReader.js.map +1 -1
- package/dist/core/HyperlaneRelayer.d.ts +20 -0
- package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
- package/dist/core/types.d.ts +152 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +10 -4
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/contracts.js +1 -1
- package/dist/deploy/contracts.js.map +1 -1
- package/dist/deploy/verify/utils.d.ts +1 -0
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +8 -1
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/fork/types.d.ts +2086 -0
- package/dist/fork/types.d.ts.map +1 -0
- package/dist/fork/types.js +142 -0
- package/dist/fork/types.js.map +1 -0
- package/dist/hook/CosmosNativeHookReader.d.ts +3 -3
- package/dist/hook/CosmosNativeHookReader.d.ts.map +1 -1
- package/dist/hook/CosmosNativeHookReader.js +4 -4
- package/dist/hook/CosmosNativeHookReader.js.map +1 -1
- package/dist/ica/types.d.ts +40 -0
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/ism/CosmosNativeIsmReader.d.ts +3 -3
- package/dist/ism/CosmosNativeIsmReader.d.ts.map +1 -1
- package/dist/ism/CosmosNativeIsmReader.js +4 -4
- package/dist/ism/CosmosNativeIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts +3 -3
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +42 -6
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.test.js +36 -1
- package/dist/ism/EvmIsmReader.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +2 -0
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/builder.d.ts +2 -2
- package/dist/ism/metadata/builder.d.ts.map +1 -1
- package/dist/ism/metadata/builder.js +4 -3
- package/dist/ism/metadata/builder.js.map +1 -1
- package/dist/ism/metadata/ccipread.d.ts +1 -0
- package/dist/ism/metadata/ccipread.d.ts.map +1 -1
- package/dist/ism/metadata/ccipread.hardhat-test.js +29 -3
- package/dist/ism/metadata/ccipread.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/ccipread.js +5 -4
- package/dist/ism/metadata/ccipread.js.map +1 -1
- package/dist/ism/metadata/decode.js +2 -2
- package/dist/ism/metadata/decode.js.map +1 -1
- package/dist/ism/metadata/routing.d.ts +4 -2
- package/dist/ism/metadata/routing.d.ts.map +1 -1
- package/dist/ism/metadata/routing.js +33 -36
- package/dist/ism/metadata/routing.js.map +1 -1
- package/dist/ism/types.d.ts +18 -0
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +9 -0
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +7 -7
- package/dist/ism/utils.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +54 -3
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +81 -6
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +6 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +7 -3
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts +23 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js +76 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -0
- 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/TxSubmitterBuilder.d.ts +1 -10
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +3 -20
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.d.ts +538 -174
- package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.js +59 -5
- package/dist/providers/transactions/submitter/builder/types.js.map +1 -1
- package/dist/providers/transactions/submitter/builder/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.test.js +274 -0
- package/dist/providers/transactions/submitter/builder/types.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts +59 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/types.js +19 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +15 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js +36 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -0
- package/dist/providers/transactions/submitter/types.d.ts +247 -1
- package/dist/providers/transactions/submitter/types.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/types.js +15 -18
- package/dist/providers/transactions/submitter/types.js.map +1 -1
- package/dist/rebalancer/types.d.ts +875 -0
- package/dist/rebalancer/types.d.ts.map +1 -0
- package/dist/rebalancer/types.js +119 -0
- package/dist/rebalancer/types.js.map +1 -0
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +7 -2
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/types.d.ts +60 -0
- package/dist/router/types.d.ts.map +1 -1
- package/dist/token/CosmosNativeWarpRouteReader.d.ts +51 -0
- package/dist/token/CosmosNativeWarpRouteReader.d.ts.map +1 -0
- package/dist/token/CosmosNativeWarpRouteReader.js +123 -0
- package/dist/token/CosmosNativeWarpRouteReader.js.map +1 -0
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +2 -1
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +7 -1
- package/dist/token/Token.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +5 -1
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +29 -4
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.js +7 -4
- package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +14 -2
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +64 -3
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +9 -1
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.d.ts +28 -6
- package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.js +59 -27
- package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
- package/dist/token/configUtils.test.js +2 -2
- package/dist/token/configUtils.test.js.map +1 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +7 -4
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/types.d.ts +110 -0
- package/dist/token/types.d.ts.map +1 -1
- package/dist/utils/decimals.d.ts +2 -3
- package/dist/utils/decimals.d.ts.map +1 -1
- package/dist/utils/decimals.js +11 -3
- package/dist/utils/decimals.js.map +1 -1
- package/dist/utils/decimals.test.d.ts +2 -0
- package/dist/utils/decimals.test.d.ts.map +1 -0
- package/dist/utils/decimals.test.js +173 -0
- package/dist/utils/decimals.test.js.map +1 -0
- package/dist/utils/starknet.d.ts +5 -0
- package/dist/utils/starknet.d.ts.map +1 -1
- package/dist/utils/starknet.js +21 -0
- package/dist/utils/starknet.js.map +1 -1
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +24 -1
- package/dist/warp/WarpCore.js.map +1 -1
- package/package.json +6 -6
- package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts +0 -15
- package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/TxTransformerInterface.js +0 -2
- package/dist/providers/transactions/transformer/TxTransformerInterface.js.map +0 -1
- package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts +0 -4
- package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/TxTransformerTypes.js +0 -5
- package/dist/providers/transactions/transformer/TxTransformerTypes.js.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts +0 -15
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js +0 -41
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts +0 -5
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js +0 -2
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/types.d.ts +0 -60
- package/dist/providers/transactions/transformer/ethersV5/types.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/types.js +0 -7
- package/dist/providers/transactions/transformer/ethersV5/types.js.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/types.test.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/ethersV5/types.test.js +0 -44
- package/dist/providers/transactions/transformer/ethersV5/types.test.js.map +0 -1
- package/dist/providers/transactions/transformer/types.d.ts +0 -50
- package/dist/providers/transactions/transformer/types.d.ts.map +0 -1
- package/dist/providers/transactions/transformer/types.js +0 -10
- package/dist/providers/transactions/transformer/types.js.map +0 -1
- /package/dist/providers/transactions/{transformer/ethersV5 → submitter/builder}/types.test.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAuEzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
|
|
@@ -1,10 +1,64 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { eqAddress, objMap } from '@hyperlane-xyz/utils';
|
|
2
3
|
import { ZChainName } from '../../../../metadata/customZodTypes.js';
|
|
3
|
-
import {
|
|
4
|
+
import { TxSubmitterType } from '../TxSubmitterTypes.js';
|
|
4
5
|
import { SubmitterMetadataSchema } from '../types.js';
|
|
5
|
-
export const SubmissionStrategySchema = z
|
|
6
|
+
export const SubmissionStrategySchema = z
|
|
7
|
+
.object({
|
|
6
8
|
submitter: SubmitterMetadataSchema,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export const ChainSubmissionStrategySchema = z.
|
|
9
|
+
})
|
|
10
|
+
.strict();
|
|
11
|
+
export const ChainSubmissionStrategySchema = z.preprocess(
|
|
12
|
+
// Add the chain property to the internal submitter config before validation
|
|
13
|
+
// to avoid having to set the field manually when writing the config
|
|
14
|
+
(value) => {
|
|
15
|
+
const castedValued = value;
|
|
16
|
+
const parsedValue = objMap(castedValued, (chainName, strategy) => {
|
|
17
|
+
if (strategy.submitter.type !== TxSubmitterType.INTERCHAIN_ACCOUNT) {
|
|
18
|
+
return strategy;
|
|
19
|
+
}
|
|
20
|
+
// Setting the default internal submitter config for interchain accounts here
|
|
21
|
+
// instead of using zod's default() modifier because we require the chain property to be set
|
|
22
|
+
const { internalSubmitter = {
|
|
23
|
+
type: TxSubmitterType.JSON_RPC,
|
|
24
|
+
chain: strategy.submitter.chain,
|
|
25
|
+
}, destinationChain, } = strategy.submitter;
|
|
26
|
+
const formattedInternalSubmitter = {
|
|
27
|
+
...internalSubmitter,
|
|
28
|
+
chain: strategy.submitter.chain,
|
|
29
|
+
};
|
|
30
|
+
// When the internal submitter of the interchain account is a Multisig, the owner address and the multisig address need to match
|
|
31
|
+
if (formattedInternalSubmitter.type === TxSubmitterType.GNOSIS_SAFE ||
|
|
32
|
+
formattedInternalSubmitter.type === TxSubmitterType.GNOSIS_TX_BUILDER) {
|
|
33
|
+
strategy.submitter.owner =
|
|
34
|
+
strategy.submitter.owner ?? formattedInternalSubmitter.safeAddress;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
...strategy,
|
|
38
|
+
submitter: {
|
|
39
|
+
...strategy.submitter,
|
|
40
|
+
// Setting the destinationChain here so that it can be omitted in the input config
|
|
41
|
+
// as its value should be the same as the key value in the mapping
|
|
42
|
+
destinationChain: destinationChain ?? chainName,
|
|
43
|
+
internalSubmitter: formattedInternalSubmitter,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
return parsedValue;
|
|
48
|
+
}, z.record(ZChainName, SubmissionStrategySchema).superRefine((value, ctx) => {
|
|
49
|
+
Object.entries(value).forEach(([chain, config]) => {
|
|
50
|
+
if (config.submitter.type !== TxSubmitterType.INTERCHAIN_ACCOUNT) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const { owner, internalSubmitter } = config.submitter;
|
|
54
|
+
if ((internalSubmitter.type === TxSubmitterType.GNOSIS_SAFE ||
|
|
55
|
+
internalSubmitter.type === TxSubmitterType.GNOSIS_TX_BUILDER) &&
|
|
56
|
+
!eqAddress(owner, internalSubmitter.safeAddress)) {
|
|
57
|
+
ctx.addIssue({
|
|
58
|
+
code: z.ZodIssueCode.custom,
|
|
59
|
+
message: `Interchain account owner address and multisig address must match for ${chain}`,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}));
|
|
10
64
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/builder/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/builder/types.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { TxSubmitterType } from '../TxSubmitterTypes.js';
|
|
4
|
+
import { ChainSubmissionStrategySchema, SubmissionStrategySchema, } from './types.js';
|
|
5
|
+
describe('ChainSubmissionStrategySchema', () => {
|
|
6
|
+
const CHAIN_MOCK = 'ethereum';
|
|
7
|
+
const DESTINATION_CHAIN_MOCK = 'arbitrum';
|
|
8
|
+
const VERSION_MOCK = '1.0.0';
|
|
9
|
+
const ADDRESS_MOCK = '0x1234567890123456789012345678901234567890';
|
|
10
|
+
const OWNER_ADDRESS_MOCK = '0x9876543210987654321098765432109876543210';
|
|
11
|
+
describe('SubmissionStrategySchema', () => {
|
|
12
|
+
it('should fail parsing invalid submission strategy', () => {
|
|
13
|
+
const invalidStrategy = {
|
|
14
|
+
submitter: {
|
|
15
|
+
type: 'invalid',
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const result = SubmissionStrategySchema.safeParse(invalidStrategy);
|
|
19
|
+
expect(result.success).to.be.false;
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
const testCases = [
|
|
23
|
+
{
|
|
24
|
+
submitter: {
|
|
25
|
+
type: TxSubmitterType.JSON_RPC,
|
|
26
|
+
chain: CHAIN_MOCK,
|
|
27
|
+
userAddress: ADDRESS_MOCK,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
submitter: {
|
|
32
|
+
type: TxSubmitterType.IMPERSONATED_ACCOUNT,
|
|
33
|
+
chain: CHAIN_MOCK,
|
|
34
|
+
userAddress: ADDRESS_MOCK,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
submitter: {
|
|
39
|
+
type: TxSubmitterType.GNOSIS_SAFE,
|
|
40
|
+
chain: CHAIN_MOCK,
|
|
41
|
+
safeAddress: ADDRESS_MOCK,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
submitter: {
|
|
46
|
+
type: TxSubmitterType.GNOSIS_TX_BUILDER,
|
|
47
|
+
chain: CHAIN_MOCK,
|
|
48
|
+
version: VERSION_MOCK,
|
|
49
|
+
safeAddress: ADDRESS_MOCK,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
submitter: {
|
|
54
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
55
|
+
chain: CHAIN_MOCK,
|
|
56
|
+
owner: OWNER_ADDRESS_MOCK,
|
|
57
|
+
destinationChain: DESTINATION_CHAIN_MOCK,
|
|
58
|
+
internalSubmitter: {
|
|
59
|
+
type: TxSubmitterType.JSON_RPC,
|
|
60
|
+
chain: CHAIN_MOCK,
|
|
61
|
+
userAddress: ADDRESS_MOCK,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
for (const testCase of testCases) {
|
|
67
|
+
describe(testCase.submitter.type, () => {
|
|
68
|
+
it(`should parse valid ${testCase.submitter.type} submission strategy`, () => {
|
|
69
|
+
const result = SubmissionStrategySchema.safeParse(testCase);
|
|
70
|
+
expect(result.success).to.be.true;
|
|
71
|
+
});
|
|
72
|
+
it(`should parse valid chain submission strategy with ${testCase.submitter.type}`, () => {
|
|
73
|
+
const validChainStrategy = {
|
|
74
|
+
[CHAIN_MOCK]: testCase,
|
|
75
|
+
};
|
|
76
|
+
const result = ChainSubmissionStrategySchema.safeParse(validChainStrategy);
|
|
77
|
+
expect(result.success).to.be.true;
|
|
78
|
+
if (result.success) {
|
|
79
|
+
expect(result.data[CHAIN_MOCK].submitter.type).to.equal(testCase.submitter.type);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
describe(TxSubmitterType.INTERCHAIN_ACCOUNT, () => {
|
|
85
|
+
it(`should set the internalSubmitter to ${TxSubmitterType.JSON_RPC} if no internalSubmitter is set`, () => {
|
|
86
|
+
const emptyStrategy = {
|
|
87
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
88
|
+
submitter: {
|
|
89
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
90
|
+
chain: CHAIN_MOCK,
|
|
91
|
+
owner: OWNER_ADDRESS_MOCK,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
const result = ChainSubmissionStrategySchema.safeParse(emptyStrategy);
|
|
96
|
+
expect(result.success).to.be.true;
|
|
97
|
+
assert(result.success, 'Expected valid chain submission strategy');
|
|
98
|
+
const { data } = result;
|
|
99
|
+
expect(data[DESTINATION_CHAIN_MOCK].submitter.type).to.equal(TxSubmitterType.INTERCHAIN_ACCOUNT);
|
|
100
|
+
assert(data[DESTINATION_CHAIN_MOCK].submitter.type ===
|
|
101
|
+
TxSubmitterType.INTERCHAIN_ACCOUNT, `Expected ${TxSubmitterType.INTERCHAIN_ACCOUNT}`);
|
|
102
|
+
expect(data[DESTINATION_CHAIN_MOCK].submitter.chain).to.equal(CHAIN_MOCK);
|
|
103
|
+
expect(data[DESTINATION_CHAIN_MOCK].submitter.owner).to.equal(OWNER_ADDRESS_MOCK);
|
|
104
|
+
expect(data[DESTINATION_CHAIN_MOCK].submitter.internalSubmitter.type).to.equal(TxSubmitterType.JSON_RPC);
|
|
105
|
+
expect(data[DESTINATION_CHAIN_MOCK].submitter.internalSubmitter.chain).to.equal(CHAIN_MOCK);
|
|
106
|
+
});
|
|
107
|
+
const unsetOwnerTestCases = testCases.filter((config) => config.submitter.type !== TxSubmitterType.INTERCHAIN_ACCOUNT &&
|
|
108
|
+
config.submitter.type !== TxSubmitterType.GNOSIS_SAFE &&
|
|
109
|
+
config.submitter.type !== TxSubmitterType.GNOSIS_TX_BUILDER);
|
|
110
|
+
for (const testCase of unsetOwnerTestCases) {
|
|
111
|
+
it(`should fail if the internalSubmitter is not a multisig and the owner is not set (${testCase.submitter.type})`, () => {
|
|
112
|
+
const emptyStrategy = {
|
|
113
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
114
|
+
submitter: {
|
|
115
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
116
|
+
chain: CHAIN_MOCK,
|
|
117
|
+
internalSubmitter: testCase,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
const result = ChainSubmissionStrategySchema.safeParse(emptyStrategy);
|
|
122
|
+
expect(result.success).to.be.false;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
it('should preprocess interchain account strategy and set destinationChain from key', () => {
|
|
126
|
+
const inputStrategy = {
|
|
127
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
128
|
+
submitter: {
|
|
129
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
130
|
+
chain: CHAIN_MOCK,
|
|
131
|
+
owner: OWNER_ADDRESS_MOCK,
|
|
132
|
+
internalSubmitter: {
|
|
133
|
+
type: TxSubmitterType.JSON_RPC,
|
|
134
|
+
userAddress: ADDRESS_MOCK,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
const result = ChainSubmissionStrategySchema.safeParse(inputStrategy);
|
|
140
|
+
expect(result.success).to.be.true;
|
|
141
|
+
if (result.success) {
|
|
142
|
+
const icaSubmitter = result.data[DESTINATION_CHAIN_MOCK].submitter;
|
|
143
|
+
if (icaSubmitter.type === TxSubmitterType.INTERCHAIN_ACCOUNT) {
|
|
144
|
+
expect(icaSubmitter.destinationChain).to.equal(DESTINATION_CHAIN_MOCK);
|
|
145
|
+
expect(icaSubmitter.internalSubmitter.chain).to.equal(CHAIN_MOCK);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
describe('with multisig internal submitter', () => {
|
|
150
|
+
const testCases = [
|
|
151
|
+
{
|
|
152
|
+
type: TxSubmitterType.GNOSIS_SAFE,
|
|
153
|
+
safeAddress: ADDRESS_MOCK,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: TxSubmitterType.GNOSIS_TX_BUILDER,
|
|
157
|
+
safeAddress: ADDRESS_MOCK,
|
|
158
|
+
version: VERSION_MOCK,
|
|
159
|
+
},
|
|
160
|
+
];
|
|
161
|
+
for (const testCase of testCases) {
|
|
162
|
+
it(`should set the owner field from the multisig address (${testCase.type})`, () => {
|
|
163
|
+
const inputStrategy = {
|
|
164
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
165
|
+
submitter: {
|
|
166
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
167
|
+
chain: CHAIN_MOCK,
|
|
168
|
+
destinationChain: DESTINATION_CHAIN_MOCK,
|
|
169
|
+
internalSubmitter: testCase,
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
const result = ChainSubmissionStrategySchema.safeParse(inputStrategy);
|
|
174
|
+
expect(result.success).to.be.true;
|
|
175
|
+
assert(result.success, 'Expected parsing to be successful');
|
|
176
|
+
const icaSubmitter = result.data[DESTINATION_CHAIN_MOCK].submitter;
|
|
177
|
+
expect(icaSubmitter.type).to.equal(TxSubmitterType.INTERCHAIN_ACCOUNT);
|
|
178
|
+
assert(icaSubmitter.type === TxSubmitterType.INTERCHAIN_ACCOUNT, `Expected type to be ${TxSubmitterType.INTERCHAIN_ACCOUNT}`);
|
|
179
|
+
expect(icaSubmitter.chain).to.equal(CHAIN_MOCK);
|
|
180
|
+
expect(icaSubmitter.destinationChain).to.equal(DESTINATION_CHAIN_MOCK);
|
|
181
|
+
expect(icaSubmitter.owner).to.equal(ADDRESS_MOCK);
|
|
182
|
+
expect(icaSubmitter.internalSubmitter.type).to.equal(testCase.type);
|
|
183
|
+
assert(icaSubmitter.internalSubmitter.type ===
|
|
184
|
+
TxSubmitterType.GNOSIS_SAFE ||
|
|
185
|
+
icaSubmitter.internalSubmitter.type ===
|
|
186
|
+
TxSubmitterType.GNOSIS_TX_BUILDER, 'Expected internal submitter to be a multisig type');
|
|
187
|
+
expect(icaSubmitter.internalSubmitter.safeAddress).to.equal(ADDRESS_MOCK);
|
|
188
|
+
});
|
|
189
|
+
it(`should fail validation when interchain account owner and multisig address do not match (${testCase.type})`, () => {
|
|
190
|
+
const invalidStrategy = {
|
|
191
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
192
|
+
submitter: {
|
|
193
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
194
|
+
chain: CHAIN_MOCK,
|
|
195
|
+
owner: OWNER_ADDRESS_MOCK, // Different from safeAddress
|
|
196
|
+
destinationChain: DESTINATION_CHAIN_MOCK,
|
|
197
|
+
internalSubmitter: testCase,
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
const result = ChainSubmissionStrategySchema.safeParse(invalidStrategy);
|
|
202
|
+
expect(result.success).to.be.false;
|
|
203
|
+
if (!result.success) {
|
|
204
|
+
expect(result.error.issues[0].message).to.include('Interchain account owner address and multisig address must match');
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
it(`should pass validation when interchain account owner and multisig address match (${testCase.type})`, () => {
|
|
208
|
+
const validStrategy = {
|
|
209
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
210
|
+
submitter: {
|
|
211
|
+
type: TxSubmitterType.INTERCHAIN_ACCOUNT,
|
|
212
|
+
chain: CHAIN_MOCK,
|
|
213
|
+
owner: ADDRESS_MOCK, // Same as safeAddress
|
|
214
|
+
destinationChain: DESTINATION_CHAIN_MOCK,
|
|
215
|
+
internalSubmitter: testCase,
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
const result = ChainSubmissionStrategySchema.safeParse(validStrategy);
|
|
220
|
+
expect(result.success).to.be.true;
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
describe('ChainSubmissionStrategySchema general behavior', () => {
|
|
226
|
+
it('should handle multiple chains in strategy', () => {
|
|
227
|
+
const multiChainStrategy = {
|
|
228
|
+
[CHAIN_MOCK]: {
|
|
229
|
+
submitter: {
|
|
230
|
+
type: TxSubmitterType.JSON_RPC,
|
|
231
|
+
chain: CHAIN_MOCK,
|
|
232
|
+
userAddress: ADDRESS_MOCK,
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
[DESTINATION_CHAIN_MOCK]: {
|
|
236
|
+
submitter: {
|
|
237
|
+
type: TxSubmitterType.GNOSIS_SAFE,
|
|
238
|
+
chain: DESTINATION_CHAIN_MOCK,
|
|
239
|
+
safeAddress: OWNER_ADDRESS_MOCK,
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
const result = ChainSubmissionStrategySchema.safeParse(multiChainStrategy);
|
|
244
|
+
expect(result.success).to.be.true;
|
|
245
|
+
if (result.success) {
|
|
246
|
+
expect(Object.keys(result.data)).to.have.length(2);
|
|
247
|
+
expect(result.data[CHAIN_MOCK].submitter.type).to.equal(TxSubmitterType.JSON_RPC);
|
|
248
|
+
expect(result.data[DESTINATION_CHAIN_MOCK].submitter.type).to.equal(TxSubmitterType.GNOSIS_SAFE);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
it('should fail parsing invalid chain names', () => {
|
|
252
|
+
const invalidChainStrategy = {
|
|
253
|
+
'invalid-chain': {
|
|
254
|
+
submitter: {
|
|
255
|
+
type: TxSubmitterType.JSON_RPC,
|
|
256
|
+
chain: 'invalid-chain',
|
|
257
|
+
userAddress: ADDRESS_MOCK,
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
const result = ChainSubmissionStrategySchema.safeParse(invalidChainStrategy);
|
|
262
|
+
expect(result.success).to.be.false;
|
|
263
|
+
});
|
|
264
|
+
it('should handle empty strategy object', () => {
|
|
265
|
+
const emptyStrategy = {};
|
|
266
|
+
const result = ChainSubmissionStrategySchema.safeParse(emptyStrategy);
|
|
267
|
+
expect(result.success).to.be.true; // Empty object should be valid
|
|
268
|
+
if (result.success) {
|
|
269
|
+
expect(Object.keys(result.data)).to.have.length(0);
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
//# sourceMappingURL=types.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/builder/types.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { TxSubmitterType } from '../TxSubmitterTypes.js';
|
|
2
3
|
export declare const EV5GnosisSafeTxSubmitterPropsSchema: z.ZodObject<{
|
|
3
4
|
chain: z.ZodString;
|
|
4
5
|
safeAddress: z.ZodString;
|
|
@@ -52,4 +53,62 @@ export declare const EV5ImpersonatedAccountTxSubmitterPropsSchema: z.ZodObject<{
|
|
|
52
53
|
privateKey?: string | undefined;
|
|
53
54
|
}>;
|
|
54
55
|
export type EV5ImpersonatedAccountTxSubmitterProps = z.infer<typeof EV5ImpersonatedAccountTxSubmitterPropsSchema>;
|
|
56
|
+
export declare const EvmSubmitterMetadataSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
57
|
+
chain: z.ZodString;
|
|
58
|
+
userAddress: z.ZodOptional<z.ZodString>;
|
|
59
|
+
privateKey: z.ZodOptional<z.ZodString>;
|
|
60
|
+
type: z.ZodLiteral<TxSubmitterType.JSON_RPC>;
|
|
61
|
+
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
type: TxSubmitterType.JSON_RPC;
|
|
63
|
+
chain: string;
|
|
64
|
+
userAddress?: string | undefined;
|
|
65
|
+
privateKey?: string | undefined;
|
|
66
|
+
}, {
|
|
67
|
+
type: TxSubmitterType.JSON_RPC;
|
|
68
|
+
chain: string;
|
|
69
|
+
userAddress?: string | undefined;
|
|
70
|
+
privateKey?: string | undefined;
|
|
71
|
+
}>, z.ZodObject<{
|
|
72
|
+
chain: z.ZodString;
|
|
73
|
+
privateKey: z.ZodOptional<z.ZodString>;
|
|
74
|
+
userAddress: z.ZodString;
|
|
75
|
+
type: z.ZodLiteral<TxSubmitterType.IMPERSONATED_ACCOUNT>;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
type: TxSubmitterType.IMPERSONATED_ACCOUNT;
|
|
78
|
+
chain: string;
|
|
79
|
+
userAddress: string;
|
|
80
|
+
privateKey?: string | undefined;
|
|
81
|
+
}, {
|
|
82
|
+
type: TxSubmitterType.IMPERSONATED_ACCOUNT;
|
|
83
|
+
chain: string;
|
|
84
|
+
userAddress: string;
|
|
85
|
+
privateKey?: string | undefined;
|
|
86
|
+
}>, z.ZodObject<{
|
|
87
|
+
chain: z.ZodString;
|
|
88
|
+
safeAddress: z.ZodString;
|
|
89
|
+
type: z.ZodLiteral<TxSubmitterType.GNOSIS_SAFE>;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
type: TxSubmitterType.GNOSIS_SAFE;
|
|
92
|
+
chain: string;
|
|
93
|
+
safeAddress: string;
|
|
94
|
+
}, {
|
|
95
|
+
type: TxSubmitterType.GNOSIS_SAFE;
|
|
96
|
+
chain: string;
|
|
97
|
+
safeAddress: string;
|
|
98
|
+
}>, z.ZodObject<{
|
|
99
|
+
version: z.ZodDefault<z.ZodString>;
|
|
100
|
+
chain: z.ZodString;
|
|
101
|
+
safeAddress: z.ZodString;
|
|
102
|
+
type: z.ZodLiteral<TxSubmitterType.GNOSIS_TX_BUILDER>;
|
|
103
|
+
}, "strip", z.ZodTypeAny, {
|
|
104
|
+
type: TxSubmitterType.GNOSIS_TX_BUILDER;
|
|
105
|
+
version: string;
|
|
106
|
+
chain: string;
|
|
107
|
+
safeAddress: string;
|
|
108
|
+
}, {
|
|
109
|
+
type: TxSubmitterType.GNOSIS_TX_BUILDER;
|
|
110
|
+
chain: string;
|
|
111
|
+
safeAddress: string;
|
|
112
|
+
version?: string | undefined;
|
|
113
|
+
}>]>;
|
|
55
114
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,mCAAmC;;;;;;;;;EAG9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;EAI5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;EAI3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAEF,eAAO,MAAM,4CAA4C;;;;;;;;;;;;EAGrD,CAAC;AAEL,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAC1D,OAAO,4CAA4C,CACpD,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBrC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ZChainName, ZHash } from '../../../../metadata/customZodTypes.js';
|
|
3
|
+
import { TxSubmitterType } from '../TxSubmitterTypes.js';
|
|
3
4
|
export const EV5GnosisSafeTxSubmitterPropsSchema = z.object({
|
|
4
5
|
chain: ZChainName,
|
|
5
6
|
safeAddress: ZHash,
|
|
@@ -17,4 +18,22 @@ export const EV5JsonRpcTxSubmitterPropsSchema = z.object({
|
|
|
17
18
|
export const EV5ImpersonatedAccountTxSubmitterPropsSchema = EV5JsonRpcTxSubmitterPropsSchema.extend({
|
|
18
19
|
userAddress: ZHash,
|
|
19
20
|
});
|
|
21
|
+
export const EvmSubmitterMetadataSchema = z.discriminatedUnion('type', [
|
|
22
|
+
z.object({
|
|
23
|
+
type: z.literal(TxSubmitterType.JSON_RPC),
|
|
24
|
+
...EV5JsonRpcTxSubmitterPropsSchema.shape,
|
|
25
|
+
}),
|
|
26
|
+
z.object({
|
|
27
|
+
type: z.literal(TxSubmitterType.IMPERSONATED_ACCOUNT),
|
|
28
|
+
...EV5ImpersonatedAccountTxSubmitterPropsSchema.shape,
|
|
29
|
+
}),
|
|
30
|
+
z.object({
|
|
31
|
+
type: z.literal(TxSubmitterType.GNOSIS_SAFE),
|
|
32
|
+
...EV5GnosisSafeTxSubmitterPropsSchema.shape,
|
|
33
|
+
}),
|
|
34
|
+
z.object({
|
|
35
|
+
type: z.literal(TxSubmitterType.GNOSIS_TX_BUILDER),
|
|
36
|
+
...EV5GnosisSafeTxBuilderPropsSchema.shape,
|
|
37
|
+
}),
|
|
38
|
+
]);
|
|
20
39
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/providers/transactions/submitter/ethersV5/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,4CAA4C,GACvD,gCAAgC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAML,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACrE,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;QACzC,GAAG,gCAAgC,CAAC,KAAK;KAC1C,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB,CAAC;QACrD,GAAG,4CAA4C,CAAC,KAAK;KACtD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC;QAC5C,GAAG,mCAAmC,CAAC,KAAK;KAC7C,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC;QAClD,GAAG,iCAAiC,CAAC,KAAK;KAC3C,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRegistry } from '@hyperlane-xyz/registry';
|
|
2
|
+
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { MultiProvider } from '../../MultiProvider.js';
|
|
4
|
+
import { TxSubmitterInterface } from './TxSubmitterInterface.js';
|
|
5
|
+
import { TxSubmitterBuilder } from './builder/TxSubmitterBuilder.js';
|
|
6
|
+
import { SubmissionStrategy } from './builder/types.js';
|
|
7
|
+
import { SubmitterMetadata } from './types.js';
|
|
8
|
+
export type SubmitterBuilderSettings = {
|
|
9
|
+
submissionStrategy: SubmissionStrategy;
|
|
10
|
+
multiProvider: MultiProvider;
|
|
11
|
+
registry: IRegistry;
|
|
12
|
+
};
|
|
13
|
+
export declare function getSubmitterBuilder<TProtocol extends ProtocolType>({ submissionStrategy, multiProvider, registry, }: SubmitterBuilderSettings): Promise<TxSubmitterBuilder<TProtocol>>;
|
|
14
|
+
export declare function getSubmitter<TProtocol extends ProtocolType>(multiProvider: MultiProvider, submitterMetadata: SubmitterMetadata, registry: IRegistry): Promise<TxSubmitterInterface<TProtocol>>;
|
|
15
|
+
//# sourceMappingURL=submitterBuilderGetter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitterBuilderGetter.d.ts","sourceRoot":"","sources":["../../../../src/providers/transactions/submitter/submitterBuilderGetter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,SAAS,SAAS,YAAY,EAAE,EACxE,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAQnE;AAED,wBAAsB,YAAY,CAAC,SAAS,SAAS,YAAY,EAC/D,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,SAAS,GAClB,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CA2B1C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EvmIcaTxSubmitter } from './IcaTxSubmitter.js';
|
|
2
|
+
import { TxSubmitterType } from './TxSubmitterTypes.js';
|
|
3
|
+
import { TxSubmitterBuilder } from './builder/TxSubmitterBuilder.js';
|
|
4
|
+
import { EV5GnosisSafeTxBuilder } from './ethersV5/EV5GnosisSafeTxBuilder.js';
|
|
5
|
+
import { EV5GnosisSafeTxSubmitter } from './ethersV5/EV5GnosisSafeTxSubmitter.js';
|
|
6
|
+
import { EV5ImpersonatedAccountTxSubmitter } from './ethersV5/EV5ImpersonatedAccountTxSubmitter.js';
|
|
7
|
+
import { EV5JsonRpcTxSubmitter } from './ethersV5/EV5JsonRpcTxSubmitter.js';
|
|
8
|
+
export async function getSubmitterBuilder({ submissionStrategy, multiProvider, registry, }) {
|
|
9
|
+
const submitter = await getSubmitter(multiProvider, submissionStrategy.submitter, registry);
|
|
10
|
+
return new TxSubmitterBuilder(submitter);
|
|
11
|
+
}
|
|
12
|
+
export async function getSubmitter(multiProvider, submitterMetadata, registry) {
|
|
13
|
+
switch (submitterMetadata.type) {
|
|
14
|
+
case TxSubmitterType.JSON_RPC:
|
|
15
|
+
return new EV5JsonRpcTxSubmitter(multiProvider, {
|
|
16
|
+
...submitterMetadata,
|
|
17
|
+
});
|
|
18
|
+
case TxSubmitterType.IMPERSONATED_ACCOUNT:
|
|
19
|
+
return new EV5ImpersonatedAccountTxSubmitter(multiProvider, {
|
|
20
|
+
...submitterMetadata,
|
|
21
|
+
});
|
|
22
|
+
case TxSubmitterType.GNOSIS_SAFE:
|
|
23
|
+
return EV5GnosisSafeTxSubmitter.create(multiProvider, {
|
|
24
|
+
...submitterMetadata,
|
|
25
|
+
});
|
|
26
|
+
case TxSubmitterType.GNOSIS_TX_BUILDER:
|
|
27
|
+
return EV5GnosisSafeTxBuilder.create(multiProvider, {
|
|
28
|
+
...submitterMetadata,
|
|
29
|
+
});
|
|
30
|
+
case TxSubmitterType.INTERCHAIN_ACCOUNT:
|
|
31
|
+
return EvmIcaTxSubmitter.fromConfig(submitterMetadata, multiProvider, registry);
|
|
32
|
+
default:
|
|
33
|
+
throw new Error(`Invalid TxSubmitterType.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=submitterBuilderGetter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitterBuilderGetter.js","sourceRoot":"","sources":["../../../../src/providers/transactions/submitter/submitterBuilderGetter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAS5E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAiC,EACxE,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACiB;IACzB,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,aAAa,EACb,kBAAkB,CAAC,SAAS,EAC5B,QAAQ,CACT,CAAC;IAEF,OAAO,IAAI,kBAAkB,CAAY,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,aAA4B,EAC5B,iBAAoC,EACpC,QAAmB;IAEnB,QAAQ,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,IAAI,qBAAqB,CAAC,aAAa,EAAE;gBAC9C,GAAG,iBAAiB;aACrB,CAAC,CAAC;QACL,KAAK,eAAe,CAAC,oBAAoB;YACvC,OAAO,IAAI,iCAAiC,CAAC,aAAa,EAAE;gBAC1D,GAAG,iBAAiB;aACrB,CAAC,CAAC;QACL,KAAK,eAAe,CAAC,WAAW;YAC9B,OAAO,wBAAwB,CAAC,MAAM,CAAC,aAAa,EAAE;gBACpD,GAAG,iBAAiB;aACrB,CAAC,CAAC;QACL,KAAK,eAAe,CAAC,iBAAiB;YACpC,OAAO,sBAAsB,CAAC,MAAM,CAAC,aAAa,EAAE;gBAClD,GAAG,iBAAiB;aACrB,CAAC,CAAC;QACL,KAAK,eAAe,CAAC,kBAAkB;YACrC,OAAO,iBAAiB,CAAC,UAAU,CACjC,iBAAiB,EACjB,aAAa,EACb,QAAQ,CACT,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
|