@hyperlane-xyz/sdk 3.7.0 → 3.8.0-beta0
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/chainMetadata.d.ts +1 -2
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +43 -64
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +1 -2
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +2 -4
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +121 -133
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/testnet.json +166 -178
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +6 -18
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +4 -2
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +3 -3
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +24 -11
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestRecipientDeployer.d.ts +2 -1
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
- package/dist/core/TestRecipientDeployer.js +2 -1
- package/dist/core/TestRecipientDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +34 -13
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/types.d.ts +1 -1
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +147 -121
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +60 -3
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/deploy/verify/types.js +42 -0
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +8 -29
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +6 -7
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +40 -59
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +17 -22
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
- package/dist/gas/oracle/types.d.ts +6 -9
- package/dist/gas/oracle/types.d.ts.map +1 -1
- package/dist/gas/oracle/types.js +23 -1
- package/dist/gas/oracle/types.js.map +1 -1
- package/dist/gas/types.d.ts +3 -4
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +1 -5
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +6 -4
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/index.d.ts +16 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -22
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +39 -287
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/utils.d.ts +11 -0
- package/dist/ism/utils.d.ts.map +1 -0
- package/dist/ism/utils.js +277 -0
- package/dist/ism/utils.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts +43 -21
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +26 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +97 -46
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.d.ts +6 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +15 -1
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +188 -1
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +14 -4
- package/dist/metadata/chainMetadataTypes.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 +3 -1
- package/dist/metadata/customZodTypes.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +10 -12
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +2 -7
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +17 -17
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +1 -0
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +5 -2
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +10 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +2 -2
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +1 -0
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +2 -2
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +2 -3
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -2
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +12 -28
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/IToken.d.ts +147 -0
- package/dist/token/IToken.d.ts.map +1 -0
- package/dist/token/IToken.js +37 -0
- package/dist/token/IToken.js.map +1 -0
- package/dist/token/Token.d.ts +58 -0
- package/dist/token/Token.d.ts.map +1 -0
- package/dist/token/Token.js +260 -0
- package/dist/token/Token.js.map +1 -0
- package/dist/token/Token.test.d.ts +2 -0
- package/dist/token/Token.test.d.ts.map +1 -0
- package/dist/token/Token.test.js +155 -0
- package/dist/token/Token.test.js.map +1 -0
- package/dist/token/TokenAmount.d.ts +12 -0
- package/dist/token/TokenAmount.d.ts.map +1 -0
- package/dist/token/TokenAmount.js +24 -0
- package/dist/token/TokenAmount.js.map +1 -0
- package/dist/token/TokenAmount.test.d.ts +2 -0
- package/dist/token/TokenAmount.test.d.ts.map +1 -0
- package/dist/token/TokenAmount.test.js +41 -0
- package/dist/token/TokenAmount.test.js.map +1 -0
- package/dist/token/TokenConnection.d.ts +81 -0
- package/dist/token/TokenConnection.d.ts.map +1 -0
- package/dist/token/TokenConnection.js +36 -0
- package/dist/token/TokenConnection.js.map +1 -0
- package/dist/token/TokenStandard.d.ts +36 -0
- package/dist/token/TokenStandard.d.ts.map +1 -0
- package/dist/token/TokenStandard.js +118 -0
- package/dist/token/TokenStandard.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +69 -23
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/deploy.d.ts +3 -2
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +4 -2
- package/dist/token/deploy.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/warp/WarpCore.d.ts +76 -0
- package/dist/warp/WarpCore.d.ts.map +1 -0
- package/dist/warp/WarpCore.js +288 -0
- package/dist/warp/WarpCore.js.map +1 -0
- package/dist/warp/WarpCore.test.d.ts +2 -0
- package/dist/warp/WarpCore.test.d.ts.map +1 -0
- package/dist/warp/WarpCore.test.js +143 -0
- package/dist/warp/WarpCore.test.js.map +1 -0
- package/dist/warp/types.d.ts +274 -0
- package/dist/warp/types.d.ts.map +1 -0
- package/dist/warp/types.js +38 -0
- package/dist/warp/types.js.map +1 -0
- package/logos/black/cosmwasm.svg +1 -1
- package/logos/black/plume.svg +29 -0
- package/logos/color/cosmos.svg +1 -1
- package/logos/color/cosmwasm.svg +1 -1
- package/logos/color/manta.svg +1 -1
- package/logos/color/plume.svg +24 -0
- package/package.json +5 -4
- package/dist/gas/oracle/logging.d.ts +0 -7
- package/dist/gas/oracle/logging.d.ts.map +0 -1
- package/dist/gas/oracle/logging.js +0 -18
- package/dist/gas/oracle/logging.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmWasmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CosmWasmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { BaseCosmosAdapter } from '../../app/MultiProtocolApp';
|
|
|
5
5
|
import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
|
|
6
6
|
import { ChainName } from '../../types';
|
|
7
7
|
import { MinimalTokenMetadata } from '../config';
|
|
8
|
-
import { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams } from './ITokenAdapter';
|
|
9
|
-
export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements ITokenAdapter {
|
|
8
|
+
import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
|
|
9
|
+
export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements ITokenAdapter<MsgTransferEncodeObject> {
|
|
10
10
|
readonly chainName: ChainName;
|
|
11
11
|
readonly multiProvider: MultiProtocolProvider;
|
|
12
12
|
readonly addresses: Record<string, Address>;
|
|
@@ -16,12 +16,13 @@ export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements
|
|
|
16
16
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, properties: {
|
|
17
17
|
ibcDenom: string;
|
|
18
18
|
});
|
|
19
|
-
getBalance(address: string): Promise<
|
|
19
|
+
getBalance(address: string): Promise<bigint>;
|
|
20
20
|
getMetadata(): Promise<MinimalTokenMetadata>;
|
|
21
|
-
|
|
21
|
+
isApproveRequired(): Promise<boolean>;
|
|
22
|
+
populateApproveTx(_transferParams: TransferParams): Promise<MsgTransferEncodeObject>;
|
|
22
23
|
populateTransferTx(_transferParams: TransferParams): Promise<MsgTransferEncodeObject>;
|
|
23
24
|
}
|
|
24
|
-
export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implements IHypTokenAdapter {
|
|
25
|
+
export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implements IHypTokenAdapter<MsgTransferEncodeObject> {
|
|
25
26
|
readonly chainName: ChainName;
|
|
26
27
|
readonly multiProvider: MultiProtocolProvider;
|
|
27
28
|
readonly addresses: Record<string, Address>;
|
|
@@ -41,10 +42,10 @@ export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implemen
|
|
|
41
42
|
domain: Domain;
|
|
42
43
|
address: Buffer;
|
|
43
44
|
}>>;
|
|
44
|
-
quoteGasPayment(_destination: Domain): Promise<
|
|
45
|
+
quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
|
|
45
46
|
populateTransferRemoteTx(transferParams: TransferRemoteParams, memo?: string): Promise<MsgTransferEncodeObject>;
|
|
46
47
|
}
|
|
47
|
-
export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter implements IHypTokenAdapter {
|
|
48
|
+
export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter implements IHypTokenAdapter<MsgTransferEncodeObject> {
|
|
48
49
|
readonly chainName: ChainName;
|
|
49
50
|
readonly multiProvider: MultiProtocolProvider;
|
|
50
51
|
readonly addresses: {
|
|
@@ -52,16 +53,17 @@ export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter imple
|
|
|
52
53
|
destinationRouterAddress: Address;
|
|
53
54
|
};
|
|
54
55
|
readonly properties: CosmIbcTokenAdapter['properties'] & {
|
|
55
|
-
|
|
56
|
+
intermediateIbcDenom: string;
|
|
56
57
|
intermediateChainName: ChainName;
|
|
57
58
|
};
|
|
58
59
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
|
|
59
60
|
intermediateRouterAddress: Address;
|
|
60
61
|
destinationRouterAddress: Address;
|
|
61
62
|
}, properties: CosmIbcTokenAdapter['properties'] & {
|
|
62
|
-
|
|
63
|
+
intermediateIbcDenom: string;
|
|
63
64
|
intermediateChainName: ChainName;
|
|
64
65
|
});
|
|
66
|
+
quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
|
|
65
67
|
populateTransferRemoteTx(transferParams: TransferRemoteParams): Promise<MsgTransferEncodeObject>;
|
|
66
68
|
}
|
|
67
69
|
//# sourceMappingURL=CosmosTokenAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmosTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CosmosTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.CosmIbcToWarpTokenAdapter = exports.CosmIbcTokenAdapter = exports.CosmNativeTokenAdapter = void 0;
|
|
7
7
|
const long_1 = __importDefault(require("long"));
|
|
8
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
8
9
|
const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
|
|
9
10
|
const CosmWasmTokenAdapter_1 = require("./CosmWasmTokenAdapter");
|
|
10
11
|
const COSMOS_IBC_TRANSFER_TIMEOUT = 600000; // 10 minutes
|
|
@@ -22,11 +23,14 @@ class CosmNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmosAdapter {
|
|
|
22
23
|
async getBalance(address) {
|
|
23
24
|
const provider = await this.getProvider();
|
|
24
25
|
const coin = await provider.getBalance(address, this.properties.ibcDenom);
|
|
25
|
-
return coin.amount;
|
|
26
|
+
return BigInt(coin.amount);
|
|
26
27
|
}
|
|
27
28
|
getMetadata() {
|
|
28
29
|
throw new Error('Metadata not available to native tokens');
|
|
29
30
|
}
|
|
31
|
+
async isApproveRequired() {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
30
34
|
populateApproveTx(_transferParams) {
|
|
31
35
|
throw new Error('Approve not required for native tokens');
|
|
32
36
|
}
|
|
@@ -59,8 +63,9 @@ class CosmIbcTokenAdapter extends CosmNativeTokenAdapter {
|
|
|
59
63
|
getAllRouters() {
|
|
60
64
|
throw new Error('Method not applicable to IBC adapters');
|
|
61
65
|
}
|
|
62
|
-
quoteGasPayment(_destination) {
|
|
63
|
-
|
|
66
|
+
async quoteGasPayment(_destination) {
|
|
67
|
+
// TODO implement IBC interchain transfer gas estimation here
|
|
68
|
+
return { amount: 0n, addressOrDenom: this.properties.ibcDenom };
|
|
64
69
|
}
|
|
65
70
|
async populateTransferRemoteTx(transferParams, memo = '') {
|
|
66
71
|
if (!transferParams.fromAccountOwner)
|
|
@@ -95,12 +100,26 @@ class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter {
|
|
|
95
100
|
this.addresses = addresses;
|
|
96
101
|
this.properties = properties;
|
|
97
102
|
}
|
|
103
|
+
async quoteGasPayment(_destination) {
|
|
104
|
+
// TODO implement IBC interchain transfer gas estimation here
|
|
105
|
+
return { amount: 0n, addressOrDenom: this.properties.intermediateIbcDenom };
|
|
106
|
+
}
|
|
98
107
|
async populateTransferRemoteTx(transferParams) {
|
|
99
108
|
const cwAdapter = new CosmWasmTokenAdapter_1.CwHypCollateralAdapter(this.properties.intermediateChainName, this.multiProvider, {
|
|
100
|
-
token: this.properties.
|
|
109
|
+
token: this.properties.intermediateIbcDenom,
|
|
101
110
|
warpRouter: this.addresses.intermediateRouterAddress,
|
|
102
|
-
}
|
|
103
|
-
|
|
111
|
+
});
|
|
112
|
+
(0, utils_1.assert)(transferParams.interchainGas?.addressOrDenom === this.properties.ibcDenom, 'Only same-denom interchain gas is supported for IBC to Warp transfers');
|
|
113
|
+
// This transformation is necessary to ensure the CW adapter recognizes the gas
|
|
114
|
+
// denom is the same as this adapter's denom (e.g. utia & igp/77...)
|
|
115
|
+
const intermediateInterchainGas = {
|
|
116
|
+
addressOrDenom: this.properties.intermediateIbcDenom,
|
|
117
|
+
amount: transferParams.interchainGas?.amount || 0n,
|
|
118
|
+
};
|
|
119
|
+
const transfer = await cwAdapter.populateTransferRemoteTx({
|
|
120
|
+
...transferParams,
|
|
121
|
+
interchainGas: intermediateInterchainGas,
|
|
122
|
+
});
|
|
104
123
|
const cwMemo = {
|
|
105
124
|
wasm: {
|
|
106
125
|
contract: transfer.contractAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmosTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"CosmosTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { PopulatedTransaction } from 'ethers';
|
|
3
|
-
import { ERC20, HypERC20 } from '@hyperlane-xyz/core';
|
|
4
|
-
import { Address, Domain } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { ERC20, HypERC20, HypERC20Collateral } from '@hyperlane-xyz/core';
|
|
4
|
+
import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
|
|
5
5
|
import { BaseEvmAdapter } from '../../app/MultiProtocolApp';
|
|
6
6
|
import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
|
|
7
7
|
import { ChainName } from '../../types';
|
|
8
8
|
import { MinimalTokenMetadata } from '../config';
|
|
9
|
-
import { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams } from './ITokenAdapter';
|
|
10
|
-
export declare class EvmNativeTokenAdapter extends BaseEvmAdapter implements ITokenAdapter {
|
|
11
|
-
getBalance(address: Address): Promise<
|
|
9
|
+
import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
|
|
10
|
+
export declare class EvmNativeTokenAdapter extends BaseEvmAdapter implements ITokenAdapter<PopulatedTransaction> {
|
|
11
|
+
getBalance(address: Address): Promise<bigint>;
|
|
12
12
|
getMetadata(): Promise<MinimalTokenMetadata>;
|
|
13
|
+
isApproveRequired(_owner: Address, _spender: Address, _weiAmountOrId: Numberish): Promise<boolean>;
|
|
13
14
|
populateApproveTx(_params: TransferParams): Promise<PopulatedTransaction>;
|
|
14
15
|
populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<PopulatedTransaction>;
|
|
15
16
|
}
|
|
16
|
-
export declare class EvmTokenAdapter<T extends ERC20 = ERC20> extends EvmNativeTokenAdapter implements ITokenAdapter {
|
|
17
|
+
export declare class EvmTokenAdapter<T extends ERC20 = ERC20> extends EvmNativeTokenAdapter implements ITokenAdapter<PopulatedTransaction> {
|
|
17
18
|
readonly chainName: ChainName;
|
|
18
19
|
readonly multiProvider: MultiProtocolProvider;
|
|
19
20
|
readonly addresses: {
|
|
@@ -24,12 +25,13 @@ export declare class EvmTokenAdapter<T extends ERC20 = ERC20> extends EvmNativeT
|
|
|
24
25
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
|
|
25
26
|
token: Address;
|
|
26
27
|
}, contractFactory?: any);
|
|
27
|
-
getBalance(address: Address): Promise<
|
|
28
|
+
getBalance(address: Address): Promise<bigint>;
|
|
28
29
|
getMetadata(isNft?: boolean): Promise<MinimalTokenMetadata>;
|
|
30
|
+
isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>;
|
|
29
31
|
populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<PopulatedTransaction>;
|
|
30
32
|
populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<PopulatedTransaction>;
|
|
31
33
|
}
|
|
32
|
-
export declare class EvmHypSyntheticAdapter
|
|
34
|
+
export declare class EvmHypSyntheticAdapter extends EvmTokenAdapter<HypERC20> implements IHypTokenAdapter<PopulatedTransaction> {
|
|
33
35
|
readonly chainName: ChainName;
|
|
34
36
|
readonly multiProvider: MultiProtocolProvider;
|
|
35
37
|
readonly addresses: {
|
|
@@ -39,27 +41,36 @@ export declare class EvmHypSyntheticAdapter<T extends HypERC20 = HypERC20> exten
|
|
|
39
41
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
|
|
40
42
|
token: Address;
|
|
41
43
|
}, contractFactory?: any);
|
|
44
|
+
isApproveRequired(_owner: Address, _spender: Address, _weiAmountOrId: Numberish): Promise<boolean>;
|
|
42
45
|
getDomains(): Promise<Domain[]>;
|
|
43
46
|
getRouterAddress(domain: Domain): Promise<Buffer>;
|
|
44
47
|
getAllRouters(): Promise<Array<{
|
|
45
48
|
domain: Domain;
|
|
46
49
|
address: Buffer;
|
|
47
50
|
}>>;
|
|
48
|
-
quoteGasPayment(destination: Domain): Promise<
|
|
49
|
-
populateTransferRemoteTx({ weiAmountOrId, destination, recipient,
|
|
51
|
+
quoteGasPayment(destination: Domain): Promise<InterchainGasQuote>;
|
|
52
|
+
populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<PopulatedTransaction>;
|
|
50
53
|
}
|
|
51
|
-
export declare class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter implements IHypTokenAdapter {
|
|
54
|
+
export declare class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter implements IHypTokenAdapter<PopulatedTransaction> {
|
|
52
55
|
readonly chainName: ChainName;
|
|
53
56
|
readonly multiProvider: MultiProtocolProvider;
|
|
54
57
|
readonly addresses: {
|
|
55
58
|
token: Address;
|
|
56
59
|
};
|
|
57
|
-
readonly
|
|
60
|
+
readonly collateralContract: HypERC20Collateral;
|
|
61
|
+
protected wrappedTokenAddress?: Address;
|
|
58
62
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
|
|
59
63
|
token: Address;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
});
|
|
65
|
+
protected getWrappedTokenAddress(): Promise<Address>;
|
|
66
|
+
protected getWrappedTokenAdapter(): Promise<ITokenAdapter<PopulatedTransaction>>;
|
|
67
|
+
getMetadata(isNft?: boolean): Promise<MinimalTokenMetadata>;
|
|
68
|
+
isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>;
|
|
69
|
+
populateApproveTx(params: TransferParams): Promise<PopulatedTransaction>;
|
|
70
|
+
populateTransferTx(params: TransferParams): Promise<PopulatedTransaction>;
|
|
71
|
+
}
|
|
72
|
+
export declare class EvmHypNativeAdapter extends EvmHypCollateralAdapter implements IHypTokenAdapter<PopulatedTransaction> {
|
|
73
|
+
isApproveRequired(): Promise<boolean>;
|
|
74
|
+
populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<PopulatedTransaction>;
|
|
64
75
|
}
|
|
65
76
|
//# sourceMappingURL=EvmTokenAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EACL,KAAK,EAEL,QAAQ,
|
|
1
|
+
{"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EvmHypCollateralAdapter = exports.EvmHypSyntheticAdapter = exports.EvmTokenAdapter = exports.EvmNativeTokenAdapter = void 0;
|
|
3
|
+
exports.EvmHypNativeAdapter = exports.EvmHypCollateralAdapter = exports.EvmHypSyntheticAdapter = exports.EvmTokenAdapter = exports.EvmNativeTokenAdapter = void 0;
|
|
4
4
|
const ethers_1 = require("ethers");
|
|
5
5
|
const core_1 = require("@hyperlane-xyz/core");
|
|
6
6
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
@@ -9,17 +9,20 @@ const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
|
|
|
9
9
|
class EvmNativeTokenAdapter extends MultiProtocolApp_1.BaseEvmAdapter {
|
|
10
10
|
async getBalance(address) {
|
|
11
11
|
const balance = await this.getProvider().getBalance(address);
|
|
12
|
-
return balance.toString();
|
|
12
|
+
return BigInt(balance.toString());
|
|
13
13
|
}
|
|
14
14
|
async getMetadata() {
|
|
15
15
|
// TODO get metadata from chainMetadata config
|
|
16
16
|
throw new Error('Metadata not available to native tokens');
|
|
17
17
|
}
|
|
18
|
+
async isApproveRequired(_owner, _spender, _weiAmountOrId) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
18
21
|
async populateApproveTx(_params) {
|
|
19
22
|
throw new Error('Approve not required for native tokens');
|
|
20
23
|
}
|
|
21
24
|
async populateTransferTx({ weiAmountOrId, recipient, }) {
|
|
22
|
-
const value = ethers_1.BigNumber.from(weiAmountOrId);
|
|
25
|
+
const value = ethers_1.BigNumber.from(weiAmountOrId.toString());
|
|
23
26
|
return { value, to: recipient };
|
|
24
27
|
}
|
|
25
28
|
}
|
|
@@ -36,7 +39,7 @@ class EvmTokenAdapter extends EvmNativeTokenAdapter {
|
|
|
36
39
|
}
|
|
37
40
|
async getBalance(address) {
|
|
38
41
|
const balance = await this.contract.balanceOf(address);
|
|
39
|
-
return balance.toString();
|
|
42
|
+
return BigInt(balance.toString());
|
|
40
43
|
}
|
|
41
44
|
async getMetadata(isNft) {
|
|
42
45
|
const [decimals, symbol, name] = await Promise.all([
|
|
@@ -46,11 +49,15 @@ class EvmTokenAdapter extends EvmNativeTokenAdapter {
|
|
|
46
49
|
]);
|
|
47
50
|
return { decimals, symbol, name };
|
|
48
51
|
}
|
|
52
|
+
async isApproveRequired(owner, spender, weiAmountOrId) {
|
|
53
|
+
const allowance = await this.contract.allowance(owner, spender);
|
|
54
|
+
return allowance.lt(weiAmountOrId);
|
|
55
|
+
}
|
|
49
56
|
populateApproveTx({ weiAmountOrId, recipient, }) {
|
|
50
|
-
return this.contract.populateTransaction.approve(recipient, weiAmountOrId);
|
|
57
|
+
return this.contract.populateTransaction.approve(recipient, weiAmountOrId.toString());
|
|
51
58
|
}
|
|
52
59
|
populateTransferTx({ weiAmountOrId, recipient, }) {
|
|
53
|
-
return this.contract.populateTransaction.transfer(recipient, weiAmountOrId);
|
|
60
|
+
return this.contract.populateTransaction.transfer(recipient, weiAmountOrId.toString());
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
exports.EvmTokenAdapter = EvmTokenAdapter;
|
|
@@ -63,6 +70,9 @@ class EvmHypSyntheticAdapter extends EvmTokenAdapter {
|
|
|
63
70
|
this.addresses = addresses;
|
|
64
71
|
this.contractFactory = contractFactory;
|
|
65
72
|
}
|
|
73
|
+
async isApproveRequired(_owner, _spender, _weiAmountOrId) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
66
76
|
getDomains() {
|
|
67
77
|
return this.contract.domains();
|
|
68
78
|
}
|
|
@@ -84,36 +94,72 @@ class EvmHypSyntheticAdapter extends EvmTokenAdapter {
|
|
|
84
94
|
}
|
|
85
95
|
async quoteGasPayment(destination) {
|
|
86
96
|
const gasPayment = await this.contract.quoteGasPayment(destination);
|
|
87
|
-
|
|
97
|
+
// If EVM hyp contracts eventually support alternative IGP tokens,
|
|
98
|
+
// this would need to determine the correct token address
|
|
99
|
+
return { amount: BigInt(gasPayment.toString()) };
|
|
88
100
|
}
|
|
89
|
-
populateTransferRemoteTx({ weiAmountOrId, destination, recipient,
|
|
101
|
+
async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }) {
|
|
102
|
+
if (!interchainGas)
|
|
103
|
+
interchainGas = await this.quoteGasPayment(destination);
|
|
90
104
|
const recipBytes32 = (0, utils_1.addressToBytes32)((0, utils_1.addressToByteHexString)(recipient));
|
|
91
|
-
return this.contract.populateTransaction.transferRemote(destination, recipBytes32, weiAmountOrId, {
|
|
92
|
-
// Note, typically the value is the gas payment as quoted by IGP
|
|
93
|
-
value: txValue,
|
|
94
|
-
});
|
|
105
|
+
return this.contract.populateTransaction.transferRemote(destination, recipBytes32, weiAmountOrId, { value: interchainGas.amount.toString() });
|
|
95
106
|
}
|
|
96
107
|
}
|
|
97
108
|
exports.EvmHypSyntheticAdapter = EvmHypSyntheticAdapter;
|
|
98
|
-
// Interacts with HypCollateral
|
|
109
|
+
// Interacts with HypCollateral contracts
|
|
99
110
|
class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter {
|
|
100
|
-
constructor(chainName, multiProvider, addresses
|
|
101
|
-
super(chainName, multiProvider, addresses
|
|
111
|
+
constructor(chainName, multiProvider, addresses) {
|
|
112
|
+
super(chainName, multiProvider, addresses);
|
|
102
113
|
this.chainName = chainName;
|
|
103
114
|
this.multiProvider = multiProvider;
|
|
104
115
|
this.addresses = addresses;
|
|
105
|
-
this.
|
|
116
|
+
this.collateralContract = core_1.HypERC20Collateral__factory.connect(addresses.token, this.getProvider());
|
|
117
|
+
}
|
|
118
|
+
async getWrappedTokenAddress() {
|
|
119
|
+
if (!this.wrappedTokenAddress) {
|
|
120
|
+
this.wrappedTokenAddress = await this.collateralContract.wrappedToken();
|
|
121
|
+
}
|
|
122
|
+
return this.wrappedTokenAddress;
|
|
106
123
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
124
|
+
async getWrappedTokenAdapter() {
|
|
125
|
+
return new EvmTokenAdapter(this.chainName, this.multiProvider, {
|
|
126
|
+
token: await this.getWrappedTokenAddress(),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
getMetadata(isNft) {
|
|
130
|
+
return this.getWrappedTokenAdapter().then((t) => t.getMetadata(isNft));
|
|
131
|
+
}
|
|
132
|
+
isApproveRequired(owner, spender, weiAmountOrId) {
|
|
133
|
+
return this.getWrappedTokenAdapter().then((t) => t.isApproveRequired(owner, spender, weiAmountOrId));
|
|
110
134
|
}
|
|
111
|
-
populateApproveTx(
|
|
112
|
-
|
|
135
|
+
populateApproveTx(params) {
|
|
136
|
+
return this.getWrappedTokenAdapter().then((t) => t.populateApproveTx(params));
|
|
113
137
|
}
|
|
114
|
-
populateTransferTx(
|
|
115
|
-
|
|
138
|
+
populateTransferTx(params) {
|
|
139
|
+
return this.getWrappedTokenAdapter().then((t) => t.populateTransferTx(params));
|
|
116
140
|
}
|
|
117
141
|
}
|
|
118
142
|
exports.EvmHypCollateralAdapter = EvmHypCollateralAdapter;
|
|
143
|
+
// Interacts HypNative contracts
|
|
144
|
+
class EvmHypNativeAdapter extends EvmHypCollateralAdapter {
|
|
145
|
+
async isApproveRequired() {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }) {
|
|
149
|
+
if (!interchainGas)
|
|
150
|
+
interchainGas = await this.quoteGasPayment(destination);
|
|
151
|
+
let txValue = undefined;
|
|
152
|
+
const { addressOrDenom: igpAddressOrDenom, amount: igpAmount } = interchainGas;
|
|
153
|
+
// If the igp token is native Eth
|
|
154
|
+
if (!igpAddressOrDenom) {
|
|
155
|
+
txValue = igpAmount + BigInt(weiAmountOrId);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
txValue = igpAmount;
|
|
159
|
+
}
|
|
160
|
+
const recipBytes32 = (0, utils_1.addressToBytes32)((0, utils_1.addressToByteHexString)(recipient));
|
|
161
|
+
return this.contract.populateTransaction.transferRemote(destination, recipBytes32, weiAmountOrId, { value: txValue?.toString() });
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.EvmHypNativeAdapter = EvmHypNativeAdapter;
|
|
119
165
|
//# sourceMappingURL=EvmTokenAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAEzD,
|
|
1
|
+
{"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Address, Domain } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { MinimalTokenMetadata } from '../config';
|
|
4
4
|
export interface TransferParams {
|
|
5
|
-
weiAmountOrId:
|
|
5
|
+
weiAmountOrId: Numberish;
|
|
6
6
|
recipient: Address;
|
|
7
|
-
fromTokenAccount?: Address;
|
|
8
7
|
fromAccountOwner?: Address;
|
|
8
|
+
fromTokenAccount?: Address;
|
|
9
9
|
}
|
|
10
10
|
export interface TransferRemoteParams extends TransferParams {
|
|
11
11
|
destination: Domain;
|
|
12
|
-
|
|
12
|
+
interchainGas?: InterchainGasQuote;
|
|
13
|
+
}
|
|
14
|
+
export interface InterchainGasQuote {
|
|
15
|
+
addressOrDenom?: string;
|
|
16
|
+
amount: bigint;
|
|
13
17
|
}
|
|
14
|
-
export interface ITokenAdapter {
|
|
15
|
-
getBalance(address: Address): Promise<
|
|
18
|
+
export interface ITokenAdapter<Tx> {
|
|
19
|
+
getBalance(address: Address): Promise<bigint>;
|
|
16
20
|
getMetadata(isNft?: boolean): Promise<MinimalTokenMetadata>;
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>;
|
|
22
|
+
populateApproveTx(params: TransferParams): Promise<Tx>;
|
|
23
|
+
populateTransferTx(params: TransferParams): Promise<Tx>;
|
|
19
24
|
}
|
|
20
|
-
export interface IHypTokenAdapter extends ITokenAdapter {
|
|
25
|
+
export interface IHypTokenAdapter<Tx> extends ITokenAdapter<Tx> {
|
|
21
26
|
getDomains(): Promise<Domain[]>;
|
|
22
27
|
getRouterAddress(domain: Domain): Promise<Buffer>;
|
|
23
28
|
getAllRouters(): Promise<Array<{
|
|
24
29
|
domain: Domain;
|
|
25
30
|
address: Buffer;
|
|
26
31
|
}>>;
|
|
27
|
-
quoteGasPayment(destination: Domain): Promise<
|
|
28
|
-
populateTransferRemoteTx(
|
|
32
|
+
quoteGasPayment(destination: Domain): Promise<InterchainGasQuote>;
|
|
33
|
+
populateTransferRemoteTx(p: TransferRemoteParams): Promise<Tx>;
|
|
29
34
|
}
|
|
30
35
|
//# sourceMappingURL=ITokenAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ITokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa,CAAC,EAAE;IAC/B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5D,iBAAiB,CACf,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACvD,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB,CAAC,EAAE,CAAE,SAAQ,aAAa,CAAC,EAAE,CAAC;IAC7D,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClE,wBAAwB,CAAC,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;CAChE"}
|