@hyperlane-xyz/sdk 3.6.2 → 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.
Files changed (240) hide show
  1. package/dist/consts/chainMetadata.d.ts +3 -2
  2. package/dist/consts/chainMetadata.d.ts.map +1 -1
  3. package/dist/consts/chainMetadata.js +99 -72
  4. package/dist/consts/chainMetadata.js.map +1 -1
  5. package/dist/consts/chains.d.ts +3 -2
  6. package/dist/consts/chains.d.ts.map +1 -1
  7. package/dist/consts/chains.js +6 -4
  8. package/dist/consts/chains.js.map +1 -1
  9. package/dist/consts/environments/index.d.ts +141 -133
  10. package/dist/consts/environments/index.d.ts.map +1 -1
  11. package/dist/consts/environments/mainnet.json +20 -0
  12. package/dist/consts/environments/testnet.json +166 -178
  13. package/dist/consts/igp.d.ts +2 -0
  14. package/dist/consts/igp.d.ts.map +1 -0
  15. package/dist/consts/igp.js +5 -0
  16. package/dist/consts/igp.js.map +1 -0
  17. package/dist/consts/multisigIsm.d.ts.map +1 -1
  18. package/dist/consts/multisigIsm.js +22 -18
  19. package/dist/consts/multisigIsm.js.map +1 -1
  20. package/dist/core/CoreDeployer.hardhat-test.js +4 -2
  21. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  22. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  23. package/dist/core/HyperlaneCore.js +10 -4
  24. package/dist/core/HyperlaneCore.js.map +1 -1
  25. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  26. package/dist/core/HyperlaneCoreChecker.js +3 -3
  27. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  28. package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
  29. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  30. package/dist/core/HyperlaneCoreDeployer.js +24 -11
  31. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  32. package/dist/core/TestRecipientDeployer.d.ts +2 -1
  33. package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
  34. package/dist/core/TestRecipientDeployer.js +2 -1
  35. package/dist/core/TestRecipientDeployer.js.map +1 -1
  36. package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
  37. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  38. package/dist/deploy/HyperlaneDeployer.js +34 -13
  39. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  40. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
  41. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  42. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
  43. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  44. package/dist/deploy/types.d.ts +1 -1
  45. package/dist/deploy/types.d.ts.map +1 -1
  46. package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
  47. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  48. package/dist/deploy/verify/ContractVerifier.js +147 -121
  49. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  50. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
  51. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
  52. package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
  53. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
  54. package/dist/deploy/verify/types.d.ts +60 -3
  55. package/dist/deploy/verify/types.d.ts.map +1 -1
  56. package/dist/deploy/verify/types.js +42 -0
  57. package/dist/deploy/verify/types.js.map +1 -1
  58. package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
  59. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  60. package/dist/gas/HyperlaneIgpChecker.js +8 -29
  61. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  62. package/dist/gas/HyperlaneIgpDeployer.d.ts +3 -2
  63. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  64. package/dist/gas/HyperlaneIgpDeployer.js +47 -20
  65. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  66. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
  67. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
  68. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +47 -0
  69. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
  70. package/dist/gas/oracle/types.d.ts +11 -0
  71. package/dist/gas/oracle/types.d.ts.map +1 -0
  72. package/dist/gas/oracle/types.js +30 -0
  73. package/dist/gas/oracle/types.js.map +1 -0
  74. package/dist/gas/types.d.ts +3 -4
  75. package/dist/gas/types.d.ts.map +1 -1
  76. package/dist/gas/types.js +1 -5
  77. package/dist/gas/types.js.map +1 -1
  78. package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
  79. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  80. package/dist/hook/HyperlaneHookDeployer.js +6 -4
  81. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  82. package/dist/index.d.ts +18 -7
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +52 -20
  85. package/dist/index.js.map +1 -1
  86. package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
  87. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  88. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
  89. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  90. package/dist/ism/HyperlaneIsmFactory.js +39 -287
  91. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  92. package/dist/ism/utils.d.ts +11 -0
  93. package/dist/ism/utils.d.ts.map +1 -0
  94. package/dist/ism/utils.js +277 -0
  95. package/dist/ism/utils.js.map +1 -0
  96. package/dist/metadata/ChainMetadataManager.d.ts +43 -21
  97. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  98. package/dist/metadata/ChainMetadataManager.js +26 -0
  99. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  100. package/dist/metadata/agentConfig.d.ts +138 -46
  101. package/dist/metadata/agentConfig.d.ts.map +1 -1
  102. package/dist/metadata/agentConfig.js +1 -1
  103. package/dist/metadata/blockExplorer.d.ts +6 -1
  104. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  105. package/dist/metadata/blockExplorer.js +15 -1
  106. package/dist/metadata/blockExplorer.js.map +1 -1
  107. package/dist/metadata/chainMetadataTypes.d.ts +202 -1
  108. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  109. package/dist/metadata/chainMetadataTypes.js +18 -4
  110. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  111. package/dist/metadata/customZodTypes.d.ts +2 -0
  112. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  113. package/dist/metadata/customZodTypes.js +3 -1
  114. package/dist/metadata/customZodTypes.js.map +1 -1
  115. package/dist/metadata/health.js +2 -2
  116. package/dist/metadata/health.js.map +1 -1
  117. package/dist/metadata/warpRouteConfig.d.ts +134 -0
  118. package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
  119. package/dist/metadata/warpRouteConfig.js +24 -0
  120. package/dist/metadata/warpRouteConfig.js.map +1 -0
  121. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
  122. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  123. package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
  124. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  125. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
  126. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  127. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
  128. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  129. package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
  130. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  131. package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
  132. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  133. package/dist/providers/MultiProtocolProvider.d.ts +10 -12
  134. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  135. package/dist/providers/MultiProtocolProvider.js +2 -7
  136. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  137. package/dist/providers/MultiProvider.d.ts +17 -17
  138. package/dist/providers/MultiProvider.d.ts.map +1 -1
  139. package/dist/providers/MultiProvider.js +12 -1
  140. package/dist/providers/MultiProvider.js.map +1 -1
  141. package/dist/providers/ProviderType.d.ts +5 -2
  142. package/dist/providers/ProviderType.d.ts.map +1 -1
  143. package/dist/providers/ProviderType.js +10 -1
  144. package/dist/providers/ProviderType.js.map +1 -1
  145. package/dist/providers/SmartProvider/SmartProvider.d.ts +2 -2
  146. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  147. package/dist/providers/SmartProvider/SmartProvider.js +3 -3
  148. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  149. package/dist/providers/providerBuilders.d.ts.map +1 -1
  150. package/dist/providers/providerBuilders.js +1 -0
  151. package/dist/providers/providerBuilders.js.map +1 -1
  152. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  153. package/dist/router/HyperlaneRouterChecker.js +2 -2
  154. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  155. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  156. package/dist/router/HyperlaneRouterDeployer.js +2 -3
  157. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  158. package/dist/test/metadata-check.js +7 -39
  159. package/dist/test/metadata-check.js.map +1 -1
  160. package/dist/test/testUtils.d.ts +2 -0
  161. package/dist/test/testUtils.d.ts.map +1 -1
  162. package/dist/test/testUtils.js +19 -1
  163. package/dist/test/testUtils.js.map +1 -1
  164. package/dist/token/IToken.d.ts +147 -0
  165. package/dist/token/IToken.d.ts.map +1 -0
  166. package/dist/token/IToken.js +37 -0
  167. package/dist/token/IToken.js.map +1 -0
  168. package/dist/token/Token.d.ts +58 -0
  169. package/dist/token/Token.d.ts.map +1 -0
  170. package/dist/token/Token.js +260 -0
  171. package/dist/token/Token.js.map +1 -0
  172. package/dist/token/Token.test.d.ts +2 -0
  173. package/dist/token/Token.test.d.ts.map +1 -0
  174. package/dist/token/Token.test.js +155 -0
  175. package/dist/token/Token.test.js.map +1 -0
  176. package/dist/token/TokenAmount.d.ts +12 -0
  177. package/dist/token/TokenAmount.d.ts.map +1 -0
  178. package/dist/token/TokenAmount.js +24 -0
  179. package/dist/token/TokenAmount.js.map +1 -0
  180. package/dist/token/TokenAmount.test.d.ts +2 -0
  181. package/dist/token/TokenAmount.test.d.ts.map +1 -0
  182. package/dist/token/TokenAmount.test.js +41 -0
  183. package/dist/token/TokenAmount.test.js.map +1 -0
  184. package/dist/token/TokenConnection.d.ts +81 -0
  185. package/dist/token/TokenConnection.d.ts.map +1 -0
  186. package/dist/token/TokenConnection.js +36 -0
  187. package/dist/token/TokenConnection.js.map +1 -0
  188. package/dist/token/TokenStandard.d.ts +36 -0
  189. package/dist/token/TokenStandard.d.ts.map +1 -0
  190. package/dist/token/TokenStandard.js +118 -0
  191. package/dist/token/TokenStandard.js.map +1 -0
  192. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
  193. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  194. package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
  195. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  196. package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
  197. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  198. package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
  199. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  200. package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
  201. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  202. package/dist/token/adapters/EvmTokenAdapter.js +69 -23
  203. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  204. package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
  205. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  206. package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
  207. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  208. package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
  209. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  210. package/dist/token/deploy.d.ts +3 -2
  211. package/dist/token/deploy.d.ts.map +1 -1
  212. package/dist/token/deploy.js +4 -2
  213. package/dist/token/deploy.js.map +1 -1
  214. package/dist/types.d.ts +2 -1
  215. package/dist/types.d.ts.map +1 -1
  216. package/dist/warp/WarpCore.d.ts +76 -0
  217. package/dist/warp/WarpCore.d.ts.map +1 -0
  218. package/dist/warp/WarpCore.js +288 -0
  219. package/dist/warp/WarpCore.js.map +1 -0
  220. package/dist/warp/WarpCore.test.d.ts +2 -0
  221. package/dist/warp/WarpCore.test.d.ts.map +1 -0
  222. package/dist/warp/WarpCore.test.js +143 -0
  223. package/dist/warp/WarpCore.test.js.map +1 -0
  224. package/dist/warp/types.d.ts +274 -0
  225. package/dist/warp/types.d.ts.map +1 -0
  226. package/dist/warp/types.js +38 -0
  227. package/dist/warp/types.js.map +1 -0
  228. package/logos/black/cosmwasm.svg +1 -1
  229. package/logos/black/inevm.svg +1 -0
  230. package/logos/black/injective.svg +1 -0
  231. package/logos/black/nautilus.svg +1 -0
  232. package/logos/black/plume.svg +29 -0
  233. package/logos/color/cosmos.svg +1 -1
  234. package/logos/color/cosmwasm.svg +1 -1
  235. package/logos/color/inevm.svg +1 -0
  236. package/logos/color/injective.svg +1 -0
  237. package/logos/color/manta.svg +1 -1
  238. package/logos/color/nautilus.svg +1 -0
  239. package/logos/color/plume.svg +24 -0
  240. package/package.json +5 -4
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chai_1 = require("chai");
7
+ const ethers_1 = require("ethers");
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const sinon_1 = __importDefault(require("sinon"));
11
+ const yaml_1 = require("yaml");
12
+ const chainMetadata_1 = require("../consts/chainMetadata");
13
+ const chains_1 = require("../consts/chains");
14
+ const MultiProtocolProvider_1 = require("../providers/MultiProtocolProvider");
15
+ const ProviderType_1 = require("../providers/ProviderType");
16
+ const Token_1 = require("../token/Token");
17
+ const TokenStandard_1 = require("../token/TokenStandard");
18
+ const WarpCore_1 = require("./WarpCore");
19
+ const types_1 = require("./types");
20
+ const MOCK_QUOTE = { amount: 20000n };
21
+ const TRANSFER_AMOUNT = BigInt('1000000000000000000'); // 1 units @ 18 decimals
22
+ const BIG_TRANSFER_AMOUNT = BigInt('100000000000000000000'); // 100 units @ 18 decimals
23
+ const MOCK_BALANCE = BigInt('10000000000000000000'); // 10 units @ 18 decimals
24
+ describe('WarpCore', () => {
25
+ const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider();
26
+ let warpCore;
27
+ let evmHypNative;
28
+ let evmHypSynthetic;
29
+ let sealevelHypSynthetic;
30
+ let cwHypCollateral;
31
+ let cw20;
32
+ let cosmosIbc;
33
+ it('Constructs', () => {
34
+ const fromArgs = new WarpCore_1.WarpCore(multiProvider, [
35
+ Token_1.Token.FromChainMetadataNativeToken(chainMetadata_1.chainMetadata[chains_1.Chains.ethereum]),
36
+ ]);
37
+ const exampleConfig = (0, yaml_1.parse)(fs_1.default.readFileSync(path_1.default.join(__dirname, './example-warp-core-config.yaml'), 'utf-8'));
38
+ const fromConfig = WarpCore_1.WarpCore.FromConfig(multiProvider, exampleConfig);
39
+ (0, chai_1.expect)(fromArgs).to.be.instanceOf(WarpCore_1.WarpCore);
40
+ (0, chai_1.expect)(fromConfig).to.be.instanceOf(WarpCore_1.WarpCore);
41
+ (0, chai_1.expect)(fromConfig.tokens.length).to.equal(exampleConfig.tokens.length);
42
+ warpCore = fromConfig;
43
+ [
44
+ evmHypNative,
45
+ evmHypSynthetic,
46
+ sealevelHypSynthetic,
47
+ cwHypCollateral,
48
+ cw20,
49
+ cosmosIbc,
50
+ ] = warpCore.tokens;
51
+ });
52
+ it('Finds tokens', () => {
53
+ (0, chai_1.expect)(warpCore.findToken(chains_1.Chains.ethereum, evmHypNative.addressOrDenom)).to.be.instanceOf(Token_1.Token);
54
+ (0, chai_1.expect)(warpCore.findToken(chains_1.Chains.ethereum, sealevelHypSynthetic.addressOrDenom)).to.be.null;
55
+ (0, chai_1.expect)(warpCore.findToken(chains_1.Chains.neutron, cw20.addressOrDenom)).to.be.instanceOf(Token_1.Token);
56
+ });
57
+ it('Gets transfer gas quote', async () => {
58
+ const stubs = warpCore.tokens.map((t) => sinon_1.default.stub(t, 'getHypAdapter').returns({
59
+ quoteGasPayment: () => Promise.resolve(MOCK_QUOTE),
60
+ }));
61
+ const testQuote = async (token, chain, standard, quote = MOCK_QUOTE) => {
62
+ const result = await warpCore.getTransferGasQuote(token, chain);
63
+ (0, chai_1.expect)(result.token.standard, `token standard check for ${token.chainName} to ${chain}`).equals(standard);
64
+ (0, chai_1.expect)(result.amount, `token amount check for ${token.chainName} to ${chain}`).to.equal(quote.amount);
65
+ };
66
+ await testQuote(evmHypNative, chains_1.Chains.arbitrum, TokenStandard_1.TokenStandard.EvmNative);
67
+ await testQuote(evmHypNative, chains_1.Chains.neutron, TokenStandard_1.TokenStandard.EvmNative);
68
+ await testQuote(evmHypNative, chains_1.Chains.solana, TokenStandard_1.TokenStandard.EvmNative);
69
+ await testQuote(evmHypSynthetic, chains_1.Chains.ethereum, TokenStandard_1.TokenStandard.EvmNative);
70
+ await testQuote(sealevelHypSynthetic, chains_1.Chains.ethereum, TokenStandard_1.TokenStandard.SealevelNative);
71
+ await testQuote(cosmosIbc, chains_1.Chains.arbitrum, TokenStandard_1.TokenStandard.CosmosNative);
72
+ // Note, this route uses an igp quote const config
73
+ await testQuote(cwHypCollateral, chains_1.Chains.arbitrum, TokenStandard_1.TokenStandard.CosmosNative, {
74
+ amount: 1n,
75
+ addressOrDenom: 'untrn',
76
+ });
77
+ stubs.forEach((s) => s.restore());
78
+ });
79
+ it('Checks for destination collateral', async () => {
80
+ const stubs = warpCore.tokens.map((t) => sinon_1.default.stub(t, 'getHypAdapter').returns({
81
+ getBalance: () => Promise.resolve(MOCK_BALANCE),
82
+ }));
83
+ const testCollateral = async (token, chain, expectedBigResult = true) => {
84
+ const smallResult = await warpCore.isDestinationCollateralSufficient(token.amount(TRANSFER_AMOUNT), chain);
85
+ (0, chai_1.expect)(smallResult, `small collateral check for ${token.chainName} to ${chain}`).to.be.true;
86
+ const bigResult = await warpCore.isDestinationCollateralSufficient(token.amount(BIG_TRANSFER_AMOUNT), chain);
87
+ (0, chai_1.expect)(bigResult, `big collateral check for ${token.chainName} to ${chain}`).to.equal(expectedBigResult);
88
+ };
89
+ await testCollateral(evmHypNative, chains_1.Chains.arbitrum);
90
+ await testCollateral(evmHypNative, chains_1.Chains.neutron, false);
91
+ await testCollateral(evmHypNative, chains_1.Chains.solana);
92
+ await testCollateral(cwHypCollateral, chains_1.Chains.arbitrum);
93
+ stubs.forEach((s) => s.restore());
94
+ });
95
+ it('Validates transfers', async () => {
96
+ const balanceStubs = warpCore.tokens.map((t) => sinon_1.default
97
+ .stub(t, 'getBalance')
98
+ .returns(Promise.resolve({ amount: MOCK_BALANCE })));
99
+ const quoteStubs = warpCore.tokens.map((t) => sinon_1.default.stub(t, 'getHypAdapter').returns({
100
+ quoteGasPayment: () => Promise.resolve(MOCK_QUOTE),
101
+ }));
102
+ const validResult = await warpCore.validateTransfer(evmHypNative.amount(TRANSFER_AMOUNT), chains_1.Chains.arbitrum, ethers_1.ethers.constants.AddressZero, ethers_1.ethers.constants.AddressZero);
103
+ (0, chai_1.expect)(validResult).to.be.null;
104
+ const invalidChain = await warpCore.validateTransfer(evmHypNative.amount(TRANSFER_AMOUNT), 'fakechain', ethers_1.ethers.constants.AddressZero, ethers_1.ethers.constants.AddressZero);
105
+ (0, chai_1.expect)(Object.keys(invalidChain || {})[0]).to.equal('destination');
106
+ const invalidRecipient = await warpCore.validateTransfer(evmHypNative.amount(TRANSFER_AMOUNT), chains_1.Chains.neutron, ethers_1.ethers.constants.AddressZero, ethers_1.ethers.constants.AddressZero);
107
+ (0, chai_1.expect)(Object.keys(invalidRecipient || {})[0]).to.equal('recipient');
108
+ const invalidAmount = await warpCore.validateTransfer(evmHypNative.amount(-10), chains_1.Chains.arbitrum, ethers_1.ethers.constants.AddressZero, ethers_1.ethers.constants.AddressZero);
109
+ (0, chai_1.expect)(Object.keys(invalidAmount || {})[0]).to.equal('amount');
110
+ const insufficientBalance = await warpCore.validateTransfer(evmHypNative.amount(BIG_TRANSFER_AMOUNT), chains_1.Chains.arbitrum, ethers_1.ethers.constants.AddressZero, ethers_1.ethers.constants.AddressZero);
111
+ (0, chai_1.expect)(Object.keys(insufficientBalance || {})[0]).to.equal('amount');
112
+ balanceStubs.forEach((s) => s.restore());
113
+ quoteStubs.forEach((s) => s.restore());
114
+ });
115
+ it('Gets transfer remote txs', async () => {
116
+ const coreStub = sinon_1.default
117
+ .stub(warpCore, 'isApproveRequired')
118
+ .returns(Promise.resolve(false));
119
+ const adapterStubs = warpCore.tokens.map((t) => sinon_1.default.stub(t, 'getHypAdapter').returns({
120
+ quoteGasPayment: () => Promise.resolve(MOCK_QUOTE),
121
+ populateTransferRemoteTx: () => Promise.resolve({}),
122
+ }));
123
+ const testGetTxs = async (token, chain, providerType = ProviderType_1.ProviderType.EthersV5) => {
124
+ const result = await warpCore.getTransferRemoteTxs(token.amount(TRANSFER_AMOUNT), chain, ethers_1.ethers.constants.AddressZero, ethers_1.ethers.constants.AddressZero);
125
+ (0, chai_1.expect)(result.length).to.equal(1);
126
+ (0, chai_1.expect)(result[0], `transfer tx for ${token.chainName} to ${chain}`).to.eql({
127
+ category: types_1.WarpTxCategory.Transfer,
128
+ transaction: {},
129
+ type: providerType,
130
+ });
131
+ };
132
+ await testGetTxs(evmHypNative, chains_1.Chains.arbitrum);
133
+ await testGetTxs(evmHypNative, chains_1.Chains.neutron);
134
+ await testGetTxs(evmHypNative, chains_1.Chains.solana);
135
+ await testGetTxs(evmHypSynthetic, chains_1.Chains.ethereum);
136
+ await testGetTxs(sealevelHypSynthetic, chains_1.Chains.ethereum, ProviderType_1.ProviderType.SolanaWeb3);
137
+ await testGetTxs(cwHypCollateral, chains_1.Chains.arbitrum, ProviderType_1.ProviderType.CosmJsWasm);
138
+ await testGetTxs(cosmosIbc, chains_1.Chains.arbitrum, ProviderType_1.ProviderType.CosmJs);
139
+ coreStub.restore();
140
+ adapterStubs.forEach((s) => s.restore());
141
+ });
142
+ });
143
+ //# sourceMappingURL=WarpCore.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WarpCore.test.js","sourceRoot":"","sources":["../../src/warp/WarpCore.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,274 @@
1
+ import { z } from 'zod';
2
+ import { TypedTransaction } from '../providers/ProviderType';
3
+ import { ChainName } from '../types';
4
+ export type IgpQuoteConstants = Array<{
5
+ origin: ChainName;
6
+ destination: ChainName;
7
+ amount: string | number | bigint;
8
+ addressOrDenom?: string;
9
+ }>;
10
+ export type RouteBlacklist = Array<{
11
+ origin: ChainName;
12
+ destination: ChainName;
13
+ }>;
14
+ export declare enum WarpTxCategory {
15
+ Approval = "approval",
16
+ Transfer = "transfer"
17
+ }
18
+ export type WarpTypedTransaction = TypedTransaction & {
19
+ category: WarpTxCategory;
20
+ };
21
+ /**
22
+ * Configuration used for instantiating a WarpCore
23
+ * Contains the relevant tokens and their connections
24
+ */
25
+ export declare const WarpCoreConfigSchema: z.ZodObject<{
26
+ tokens: z.ZodArray<z.ZodObject<{
27
+ chainName: z.ZodString;
28
+ standard: z.ZodNativeEnum<typeof import("..").TokenStandard>;
29
+ decimals: z.ZodNumber;
30
+ symbol: z.ZodString;
31
+ name: z.ZodString;
32
+ addressOrDenom: z.ZodUnion<[z.ZodString, z.ZodNull]>;
33
+ collateralAddressOrDenom: z.ZodOptional<z.ZodString>;
34
+ igpTokenAddressOrDenom: z.ZodOptional<z.ZodString>;
35
+ logoURI: z.ZodOptional<z.ZodString>;
36
+ connections: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
37
+ type: z.ZodOptional<z.ZodLiteral<import("..").TokenConnectionType.Hyperlane>>;
38
+ token: z.ZodString;
39
+ }, "strip", z.ZodTypeAny, {
40
+ token: string;
41
+ type?: import("..").TokenConnectionType.Hyperlane | undefined;
42
+ }, {
43
+ token: string;
44
+ type?: import("..").TokenConnectionType.Hyperlane | undefined;
45
+ }>, z.ZodObject<{
46
+ type: z.ZodLiteral<import("..").TokenConnectionType.Ibc>;
47
+ token: z.ZodString;
48
+ sourcePort: z.ZodString;
49
+ sourceChannel: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ type: import("..").TokenConnectionType.Ibc;
52
+ token: string;
53
+ sourcePort: string;
54
+ sourceChannel: string;
55
+ }, {
56
+ type: import("..").TokenConnectionType.Ibc;
57
+ token: string;
58
+ sourcePort: string;
59
+ sourceChannel: string;
60
+ }>]>, z.ZodObject<{
61
+ type: z.ZodLiteral<import("..").TokenConnectionType.IbcHyperlane>;
62
+ token: z.ZodString;
63
+ sourcePort: z.ZodString;
64
+ sourceChannel: z.ZodString;
65
+ intermediateChainName: z.ZodString;
66
+ intermediateIbcDenom: z.ZodString;
67
+ intermediateRouterAddress: z.ZodString;
68
+ }, "strip", z.ZodTypeAny, {
69
+ type: import("..").TokenConnectionType.IbcHyperlane;
70
+ token: string;
71
+ sourcePort: string;
72
+ sourceChannel: string;
73
+ intermediateChainName: string;
74
+ intermediateIbcDenom: string;
75
+ intermediateRouterAddress: string;
76
+ }, {
77
+ type: import("..").TokenConnectionType.IbcHyperlane;
78
+ token: string;
79
+ sourcePort: string;
80
+ sourceChannel: string;
81
+ intermediateChainName: string;
82
+ intermediateIbcDenom: string;
83
+ intermediateRouterAddress: string;
84
+ }>]>, "many">>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ symbol: string;
87
+ name: string;
88
+ decimals: number;
89
+ chainName: string;
90
+ standard: import("..").TokenStandard;
91
+ addressOrDenom: string | null;
92
+ collateralAddressOrDenom?: string | undefined;
93
+ igpTokenAddressOrDenom?: string | undefined;
94
+ logoURI?: string | undefined;
95
+ connections?: ({
96
+ token: string;
97
+ type?: import("..").TokenConnectionType.Hyperlane | undefined;
98
+ } | {
99
+ type: import("..").TokenConnectionType.Ibc;
100
+ token: string;
101
+ sourcePort: string;
102
+ sourceChannel: string;
103
+ } | {
104
+ type: import("..").TokenConnectionType.IbcHyperlane;
105
+ token: string;
106
+ sourcePort: string;
107
+ sourceChannel: string;
108
+ intermediateChainName: string;
109
+ intermediateIbcDenom: string;
110
+ intermediateRouterAddress: string;
111
+ })[] | undefined;
112
+ }, {
113
+ symbol: string;
114
+ name: string;
115
+ decimals: number;
116
+ chainName: string;
117
+ standard: import("..").TokenStandard;
118
+ addressOrDenom: string | null;
119
+ collateralAddressOrDenom?: string | undefined;
120
+ igpTokenAddressOrDenom?: string | undefined;
121
+ logoURI?: string | undefined;
122
+ connections?: ({
123
+ token: string;
124
+ type?: import("..").TokenConnectionType.Hyperlane | undefined;
125
+ } | {
126
+ type: import("..").TokenConnectionType.Ibc;
127
+ token: string;
128
+ sourcePort: string;
129
+ sourceChannel: string;
130
+ } | {
131
+ type: import("..").TokenConnectionType.IbcHyperlane;
132
+ token: string;
133
+ sourcePort: string;
134
+ sourceChannel: string;
135
+ intermediateChainName: string;
136
+ intermediateIbcDenom: string;
137
+ intermediateRouterAddress: string;
138
+ })[] | undefined;
139
+ }>, "many">;
140
+ options: z.ZodOptional<z.ZodObject<{
141
+ igpQuoteConstants: z.ZodOptional<z.ZodArray<z.ZodObject<{
142
+ origin: z.ZodString;
143
+ destination: z.ZodString;
144
+ amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
145
+ addressOrDenom: z.ZodOptional<z.ZodString>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ origin: string;
148
+ destination: string;
149
+ amount: string | number | bigint;
150
+ addressOrDenom?: string | undefined;
151
+ }, {
152
+ origin: string;
153
+ destination: string;
154
+ amount: string | number | bigint;
155
+ addressOrDenom?: string | undefined;
156
+ }>, "many">>;
157
+ routeBlacklist: z.ZodOptional<z.ZodArray<z.ZodObject<{
158
+ origin: z.ZodString;
159
+ destination: z.ZodString;
160
+ }, "strip", z.ZodTypeAny, {
161
+ origin: string;
162
+ destination: string;
163
+ }, {
164
+ origin: string;
165
+ destination: string;
166
+ }>, "many">>;
167
+ }, "strip", z.ZodTypeAny, {
168
+ igpQuoteConstants?: {
169
+ origin: string;
170
+ destination: string;
171
+ amount: string | number | bigint;
172
+ addressOrDenom?: string | undefined;
173
+ }[] | undefined;
174
+ routeBlacklist?: {
175
+ origin: string;
176
+ destination: string;
177
+ }[] | undefined;
178
+ }, {
179
+ igpQuoteConstants?: {
180
+ origin: string;
181
+ destination: string;
182
+ amount: string | number | bigint;
183
+ addressOrDenom?: string | undefined;
184
+ }[] | undefined;
185
+ routeBlacklist?: {
186
+ origin: string;
187
+ destination: string;
188
+ }[] | undefined;
189
+ }>>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ tokens: {
192
+ symbol: string;
193
+ name: string;
194
+ decimals: number;
195
+ chainName: string;
196
+ standard: import("..").TokenStandard;
197
+ addressOrDenom: string | null;
198
+ collateralAddressOrDenom?: string | undefined;
199
+ igpTokenAddressOrDenom?: string | undefined;
200
+ logoURI?: string | undefined;
201
+ connections?: ({
202
+ token: string;
203
+ type?: import("..").TokenConnectionType.Hyperlane | undefined;
204
+ } | {
205
+ type: import("..").TokenConnectionType.Ibc;
206
+ token: string;
207
+ sourcePort: string;
208
+ sourceChannel: string;
209
+ } | {
210
+ type: import("..").TokenConnectionType.IbcHyperlane;
211
+ token: string;
212
+ sourcePort: string;
213
+ sourceChannel: string;
214
+ intermediateChainName: string;
215
+ intermediateIbcDenom: string;
216
+ intermediateRouterAddress: string;
217
+ })[] | undefined;
218
+ }[];
219
+ options?: {
220
+ igpQuoteConstants?: {
221
+ origin: string;
222
+ destination: string;
223
+ amount: string | number | bigint;
224
+ addressOrDenom?: string | undefined;
225
+ }[] | undefined;
226
+ routeBlacklist?: {
227
+ origin: string;
228
+ destination: string;
229
+ }[] | undefined;
230
+ } | undefined;
231
+ }, {
232
+ tokens: {
233
+ symbol: string;
234
+ name: string;
235
+ decimals: number;
236
+ chainName: string;
237
+ standard: import("..").TokenStandard;
238
+ addressOrDenom: string | null;
239
+ collateralAddressOrDenom?: string | undefined;
240
+ igpTokenAddressOrDenom?: string | undefined;
241
+ logoURI?: string | undefined;
242
+ connections?: ({
243
+ token: string;
244
+ type?: import("..").TokenConnectionType.Hyperlane | undefined;
245
+ } | {
246
+ type: import("..").TokenConnectionType.Ibc;
247
+ token: string;
248
+ sourcePort: string;
249
+ sourceChannel: string;
250
+ } | {
251
+ type: import("..").TokenConnectionType.IbcHyperlane;
252
+ token: string;
253
+ sourcePort: string;
254
+ sourceChannel: string;
255
+ intermediateChainName: string;
256
+ intermediateIbcDenom: string;
257
+ intermediateRouterAddress: string;
258
+ })[] | undefined;
259
+ }[];
260
+ options?: {
261
+ igpQuoteConstants?: {
262
+ origin: string;
263
+ destination: string;
264
+ amount: string | number | bigint;
265
+ addressOrDenom?: string | undefined;
266
+ }[] | undefined;
267
+ routeBlacklist?: {
268
+ origin: string;
269
+ destination: string;
270
+ }[] | undefined;
271
+ } | undefined;
272
+ }>;
273
+ export type WarpCoreConfig = z.infer<typeof WarpCoreConfigSchema>;
274
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/warp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AAGH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC,CAAC;AAGH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WarpCoreConfigSchema = exports.WarpTxCategory = void 0;
4
+ const zod_1 = require("zod");
5
+ const customZodTypes_1 = require("../metadata/customZodTypes");
6
+ const IToken_1 = require("../token/IToken");
7
+ // Transaction types for warp core remote transfers
8
+ var WarpTxCategory;
9
+ (function (WarpTxCategory) {
10
+ WarpTxCategory["Approval"] = "approval";
11
+ WarpTxCategory["Transfer"] = "transfer";
12
+ })(WarpTxCategory || (exports.WarpTxCategory = WarpTxCategory = {}));
13
+ /**
14
+ * Configuration used for instantiating a WarpCore
15
+ * Contains the relevant tokens and their connections
16
+ */
17
+ exports.WarpCoreConfigSchema = zod_1.z.object({
18
+ tokens: zod_1.z.array(IToken_1.TokenConfigSchema),
19
+ options: zod_1.z
20
+ .object({
21
+ igpQuoteConstants: zod_1.z
22
+ .array(zod_1.z.object({
23
+ origin: customZodTypes_1.ZChainName,
24
+ destination: customZodTypes_1.ZChainName,
25
+ amount: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.bigint()]),
26
+ addressOrDenom: zod_1.z.string().optional(),
27
+ }))
28
+ .optional(),
29
+ routeBlacklist: zod_1.z
30
+ .array(zod_1.z.object({
31
+ origin: customZodTypes_1.ZChainName,
32
+ destination: customZodTypes_1.ZChainName,
33
+ }))
34
+ .optional(),
35
+ })
36
+ .optional(),
37
+ });
38
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/warp/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,+DAAwD;AAExD,4CAAoD;AAiBpD,mDAAmD;AACnD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;AACvB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAMD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAiB,CAAC;IAClC,OAAO,EAAE,OAAC;SACP,MAAM,CAAC;QACN,iBAAiB,EAAE,OAAC;aACjB,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,2BAAU;YAClB,WAAW,EAAE,2BAAU;YACvB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC,CACH;aACA,QAAQ,EAAE;QACb,cAAc,EAAE,OAAC;aACd,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,2BAAU;YAClB,WAAW,EAAE,2BAAU;SACxB,CAAC,CACH;aACA,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" viewBox="0 0 50 50"><g><path fill="#000000" fill-rule="evenodd" d="M25 50c13.807 0 25-11.193 25-25S38.807 0 25 0 0 11.193 0 25s11.193 25 25 25zM13.14 12.497c.001 4.133 2.649 7.481 5.9 9.586 3.098 2.006 6.773-.072 9.917-2.005 3.975-2.442 9.131-2.69 13.447-.198a13.027 13.027 0 014.05 3.65c.306.422 1.03.221.99-.3C46.875 16.1 42.93 9.36 36.265 5.512c-2.283-1.318-2.506-1.044-2.979-.464-.714.876-1.998 2.452-11.823.293-3.037-.667-6.457.067-7.544 2.98-.49 1.314-.779 2.748-.78 4.177zm6.972 29.038c3.58-2.067 5.155-6.034 5.353-9.902.188-3.686-3.45-5.83-6.695-7.586-4.103-2.221-6.896-6.563-6.896-11.547 0-1.898.407-3.702 1.136-5.332.213-.477-.323-1.003-.753-.707C6.365 10.517 2.5 17.306 2.5 25.001c0 2.636.348 2.692 1.087 2.811 1.116.18 3.123.505 6.166 10.093.94 2.964 3.286 5.559 6.353 5.043 1.382-.233 2.768-.699 4.006-1.413zM30.52 21.297c3.448-1.763 7.671-2.382 11.251-.316 1.238.715 2.335 1.683 3.227 2.763 1.98 2.398.906 5.727-1.19 8.024-6.783 7.428-6.06 9.329-5.658 10.386.266.7.391 1.03-1.892 2.347-6.664 3.848-14.475 3.895-20.934.82-.472-.224-.284-.952.236-1.006a13.026 13.026 0 005.185-1.682c4.316-2.492 6.68-7.082 6.552-11.745-.101-3.69-.064-7.911 3.223-9.591z" clip-rule="evenodd"></path></g><defs><linearGradient id="paint0_linear_2832_1883" x1="9.3" x2="41.3" y1="2.1" y2="47.7" gradientUnits="userSpaceOnUse"><stop stop-color="#FCECB2" style="--darkreader-inline-stopcolor: #473903;" data-darkreader-inline-stopcolor=""></stop><stop offset="0.26" stop-color="#FF8B89" style="--darkreader-inline-stopcolor: #7a0200;" data-darkreader-inline-stopcolor=""></stop><stop offset="0.521" stop-color="#FC8ADC" style="--darkreader-inline-stopcolor: #780357;" data-darkreader-inline-stopcolor=""></stop><stop offset="0.755" stop-color="#7954FF" style="--darkreader-inline-stopcolor: #21009a;" data-darkreader-inline-stopcolor=""></stop><stop offset="1" stop-color="#70BCFF" style="--darkreader-inline-stopcolor: #004989;" data-darkreader-inline-stopcolor=""></stop></linearGradient></defs></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" viewBox="0 0 50 50"><g><path fill="#000000" fill-rule="evenodd" d="M25 50c13.807 0 25-11.193 25-25S38.807 0 25 0 0 11.193 0 25s11.193 25 25 25zM13.14 12.497c.001 4.133 2.649 7.481 5.9 9.586 3.098 2.006 6.773-.072 9.917-2.005 3.975-2.442 9.131-2.69 13.447-.198a13.027 13.027 0 014.05 3.65c.306.422 1.03.221.99-.3C46.875 16.1 42.93 9.36 36.265 5.512c-2.283-1.318-2.506-1.044-2.979-.464-.714.876-1.998 2.452-11.823.293-3.037-.667-6.457.067-7.544 2.98-.49 1.314-.779 2.748-.78 4.177zm6.972 29.038c3.58-2.067 5.155-6.034 5.353-9.902.188-3.686-3.45-5.83-6.695-7.586-4.103-2.221-6.896-6.563-6.896-11.547 0-1.898.407-3.702 1.136-5.332.213-.477-.323-1.003-.753-.707C6.365 10.517 2.5 17.306 2.5 25.001c0 2.636.348 2.692 1.087 2.811 1.116.18 3.123.505 6.166 10.093.94 2.964 3.286 5.559 6.353 5.043 1.382-.233 2.768-.699 4.006-1.413zM30.52 21.297c3.448-1.763 7.671-2.382 11.251-.316 1.238.715 2.335 1.683 3.227 2.763 1.98 2.398.906 5.727-1.19 8.024-6.783 7.428-6.06 9.329-5.658 10.386.266.7.391 1.03-1.892 2.347-6.664 3.848-14.475 3.895-20.934.82-.472-.224-.284-.952.236-1.006a13.026 13.026 0 005.185-1.682c4.316-2.492 6.68-7.082 6.552-11.745-.101-3.69-.064-7.911 3.223-9.591z" clip-rule="evenodd"></path></g><defs><linearGradient id="paint0_linear_2832_1883" x1="9.3" x2="41.3" y1="2.1" y2="47.7" gradientUnits="userSpaceOnUse"><stop stop-color="#FCECB2"></stop><stop offset="0.26" stop-color="#FF8B89"></stop><stop offset="0.521" stop-color="#FC8ADC"></stop><stop offset="0.755" stop-color="#7954FF"></stop><stop offset="1" stop-color="#70BCFF"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="184.82 186.46 121.25 133.56"><path fill="#000" d="m198.76 224 2.27-2.62.14-.1.28-.21.07-.1c.51-.5 1.07-1 1.72-1.46a23.23 23.23 0 0 1 31.2 1.63c9.8 9.18 8.94 23.98 1.1 33.82-9.86 14.67-26.91 35.13-3.34 53.5 4.24 3.27 7.35 6 20.7 9.86-8.72 1.6-16.8 1.1-25.8-1.2-6.36-3.6-16.37-11.29-19.78-21.68-5.18-15.77 9.07-39.3 15.9-48.39 9.46-12.56-5.83-26.12-17.04-10.97-5.87 7.94-16.16 30.3-12.57 46.9 2.07 9.42 4.83 16.26 15.88 25.68a50.8 50.8 0 0 1-5.94-4.1 58.19 58.19 0 0 1-4.8-80.56Z"/><path fill="#000" d="m286 299.38-2.24 2.62-.14.07-.24.24-.07.07a25.91 25.91 0 0 1-8.94 5.42 23.22 23.22 0 0 1-24.02-5.53c-9.8-9.21-8.94-24.02-1.1-33.85 9.9-14.67 26.92-35.14 3.35-53.5-4.25-3.28-7.39-6-20.71-9.87 8.73-1.59 16.8-1.1 25.81 1.21 6.36 3.59 16.36 11.29 19.78 21.67 5.18 15.74-9.08 39.31-15.91 48.4-9.46 12.52 5.8 26.12 17.05 10.93 5.87-7.9 16.12-30.27 12.56-46.87-2.07-9.42-4.83-16.29-15.87-25.7 2.03 1.2 4 2.58 5.93 4.13a58.19 58.19 0 0 1 4.76 80.56Z"/><g><path fill="#343434" d="m282.57 186.74-.45 1.55v44.92l.45.46 20.86-12.33z"/><path fill="#8C8C8C" d="m282.57 186.74-20.85 34.6 20.85 12.33v-21.8z"/><path fill="#3C3C3B" d="m282.57 237.62-.26.31v16l.26.76 20.87-29.4z"/><path fill="#8C8C8C" d="M282.57 254.69v-17.07l-20.85-12.32z"/><path fill="#141414" d="m282.57 233.67 20.86-12.33-20.86-9.48z"/><path fill="#393939" d="m261.72 221.34 20.85 12.33v-21.8z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-32" data-icon="logo" data-prefix="fab" viewBox="0 0 33.36 33.36"><path fill="#000" d="M4.04 5.76 4.7 5l.04-.03.08-.06.02-.03c.15-.14.31-.29.5-.42a6.73 6.73 0 0 1 9.04.47c2.84 2.66 2.59 6.95.32 9.8-2.86 4.25-7.8 10.18-.97 15.5 1.23.95 2.13 1.74 6 2.86-2.53.46-4.87.32-7.48-.35-1.84-1.04-4.74-3.27-5.73-6.28-1.5-4.57 2.63-11.39 4.61-14.02 2.74-3.64-1.69-7.57-4.94-3.18-1.7 2.3-4.68 8.78-3.64 13.59.6 2.73 1.4 4.71 4.6 7.44-.59-.35-1.16-.74-1.72-1.19A16.86 16.86 0 0 1 4.04 5.76Z"/><path fill="#000" d="m29.32 27.6-.65.76-.04.02-.07.07-.02.02a7.52 7.52 0 0 1-2.59 1.57 6.73 6.73 0 0 1-6.96-1.6c-2.84-2.67-2.59-6.96-.32-9.81 2.87-4.25 7.8-10.18.97-15.5-1.23-.95-2.14-1.74-6-2.86 2.53-.46 4.87-.32 7.48.35 1.84 1.04 4.74 3.27 5.73 6.28 1.5 4.56-2.63 11.39-4.61 14.02-2.74 3.63 1.68 7.57 4.94 3.17 1.7-2.29 4.67-8.77 3.64-13.58-.6-2.73-1.4-4.72-4.6-7.45.59.35 1.16.75 1.72 1.2a16.86 16.86 0 0 1 1.38 23.34Z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="#000" d="M40 13.33A26.67 26.67 0 0 1 13.33 40V26.67a13.33 13.33 0 0 0 13.34-13.34H40Z"/><path fill="#000" d="M13.33 13.33H0v13.33h13.33z"/><path fill="#000" d="M26.67 0H13.34v13.33h13.33z"/></svg>
@@ -0,0 +1,29 @@
1
+ <svg width="350" height="350" viewBox="0 0 350 350" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_2001_197)">
3
+ <circle cx="175" cy="175" r="175" fill="url(#paint0_radial_2001_197)"/>
4
+ <path d="M285.938 65.8225V147.468L245.115 106.645L285.938 65.8225Z" fill="white" fill-opacity="0.95"/>
5
+ <path d="M285.938 65.8225H204.292L245.115 106.645L285.938 65.8225Z" fill="white"/>
6
+ <path d="M163.47 106.646V188.292L122.647 147.469L163.47 106.646Z" fill="white" fill-opacity="0.75"/>
7
+ <path d="M122.648 147.47V229.116L81.8251 188.293L122.648 147.47Z" fill="white" fill-opacity="0.55"/>
8
+ <path d="M204.293 147.468H285.939L245.116 106.645L204.293 147.468Z" fill="white" fill-opacity="0.85"/>
9
+ <path d="M163.47 188.292H245.116L204.293 147.469L163.47 188.292Z" fill="white" fill-opacity="0.7"/>
10
+ <path d="M122.648 229.115H204.294L163.471 188.291L122.648 229.115Z" fill="white" fill-opacity="0.5"/>
11
+ <path d="M285.938 147.468H204.292L245.115 188.292L285.938 147.468Z" fill="white" fill-opacity="0.8"/>
12
+ <path d="M245.115 188.292H163.469L204.292 229.115L245.115 188.292Z" fill="white" fill-opacity="0.65"/>
13
+ <path d="M204.293 229.115H122.647L163.47 269.938L204.293 229.115Z" fill="white" fill-opacity="0.45"/>
14
+ <path d="M204.293 147.468V65.8227L245.116 106.646L204.293 147.468Z" fill="white" fill-opacity="0.9"/>
15
+ <path d="M163.47 188.292V106.646L204.293 147.469L163.47 188.292Z" fill="white" fill-opacity="0.8"/>
16
+ <path d="M122.648 229.115V147.468L163.471 188.291L122.648 229.115Z" fill="white" fill-opacity="0.6"/>
17
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M81.8217 269.938L122.644 229.115L163.467 269.938H93.1967L62.4844 289.275L81.8217 269.938Z" fill="#F8F8F8" fill-opacity="0.3"/>
18
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M81.8229 258.567V188.292L122.646 229.115L89.497 262.264L89.4983 262.265L62.4875 289.275L81.8229 258.567Z" fill="#F9F9F9" fill-opacity="0.4"/>
19
+ </g>
20
+ <defs>
21
+ <radialGradient id="paint0_radial_2001_197" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(52 300) rotate(-44.5937) scale(348.966 454.21)">
22
+ <stop offset="0.231932" stop-color="#0F0F0F"/>
23
+ <stop offset="0.871225" stop-color="#737373"/>
24
+ </radialGradient>
25
+ <clipPath id="clip0_2001_197">
26
+ <rect width="350" height="350" fill="white"/>
27
+ </clipPath>
28
+ </defs>
29
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2500 2500"><circle cx="1250" cy="1250" r="1250" style="fill:#2e3148;--darkreader-inline-fill:#c3beb6"/><circle cx="1250" cy="1250" r="725.3" style="fill:#1b1e36;--darkreader-inline-fill:#cecac4"/><path d="M1252.6 159.5c-135 0-244.4 489.4-244.4 1093s109.4 1093.2 244.4 1093.2 244.3-489.4 244.3-1093.1-109.4-1093.1-244.3-1093.1Zm16.8 2124.5c-15.4 20.6-30.8 5.1-30.8 5.1-62.2-72-93.2-205.7-93.2-205.7-108.7-349.8-82.8-1100.8-82.8-1100.8 51-596.3 144-737.1 175.6-768.4a19.3 19.3 0 0 1 24.7-2c45.9 32.5 84.4 168.5 84.4 168.5 113.6 421.8 103.3 817.9 103.3 817.9 10.3 344.6-57 730.4-57 730.4-51.7 293.2-124.2 355-124.2 355Z" style="fill:#6f7390;--darkreader-inline-fill:#988f81"/><path d="M2200.7 708.6c-67.2-117-546 31.6-1070 332s-893.5 638.9-826.3 756 546-31.7 1070-332 893.4-639 826.3-756ZM366.4 1780.5c-25.8-3.3-20-24.4-20-24.4 31.6-89.7 132-183.3 132-183.3 249.4-268.3 913.8-619.6 913.8-619.6 542.5-252.4 711-241.8 753.8-230a19.3 19.3 0 0 1 14 20.6c-5.1 56-104.2 157-104.2 157-309 308.6-657.8 496.8-657.8 496.8-293.8 180.5-662 314-662 314-280 101-369.6 68.8-369.6 68.8Z" style="fill:#6f7390;--darkreader-inline-fill:#988f81"/><path d="M2198.3 1800.4c67.7-116.8-300.9-456.8-823-759.5S374.4 587.8 306.8 704.7s301 456.8 823.3 759.5 1000.6 453.2 1068.3 336.2ZM351.6 750c-10-23.8 11.2-29.5 11.2-29.5 93.4-17.6 224.7 22.6 224.7 22.6 357.1 81.3 994 480.3 994 480.3 490.3 343 565.5 494.2 576.8 537a19.3 19.3 0 0 1-10.7 22.5c-51.1 23.4-188-11.5-188-11.5-422.1-113.1-759.7-320.5-759.7-320.5-303.3-163.6-603.2-415.3-603.2-415.3-227.9-191.8-245-285.4-245-285.4Z" style="fill:#6f7390;--darkreader-inline-fill:#988f81"/><circle cx="1250" cy="1250" r="128.6" style="fill:#b7b9c8;--darkreader-inline-fill:#c0bab2"/><ellipse cx="1777.3" cy="756.2" rx="74.6" ry="77.2" style="fill:#b7b9c8;--darkreader-inline-fill:#c0bab2"/><ellipse cx="553" cy="1018.5" rx="74.6" ry="77.2" style="fill:#b7b9c8;--darkreader-inline-fill:#c0bab2"/><ellipse cx="1098.3" cy="1965" rx="74.6" ry="77.2" style="fill:#b7b9c8;--darkreader-inline-fill:#c0bab2"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" viewBox="0 0 2500 2500"><circle cx="1250" cy="1250" r="1250" style="fill:#2e3148"/><circle cx="1250" cy="1250" r="725.31" style="fill:#1b1e36"/><path d="M1252.57 159.47c-134.93 0-244.34 489.4-244.34 1093.11s109.41 1093.11 244.34 1093.11 244.34-489.4 244.34-1093.11S1387.5 159.47 1252.57 159.47ZM1269.44 2284c-15.43 20.58-30.86 5.14-30.86 5.14-62.14-72-93.21-205.76-93.21-205.76-108.69-349.79-82.82-1100.82-82.82-1100.82 51.08-596.24 144-737.09 175.62-768.36a19.29 19.29 0 0 1 24.74-2c45.88 32.51 84.36 168.47 84.36 168.47 113.63 421.81 103.34 817.9 103.34 817.9 10.29 344.65-56.94 730.45-56.94 730.45-51.75 293.2-124.23 354.98-124.23 354.98Z" style="fill:#6f7390"/><path d="M2200.72 708.59c-67.18-117.08-546.09 31.58-1070 332s-893.47 638.89-826.34 755.92 546.09-31.58 1070-332 893.47-638.89 826.34-755.92ZM366.36 1780.45c-25.72-3.24-19.91-24.38-19.91-24.38 31.55-89.71 131.95-183.23 131.95-183.23 249.43-268.36 913.79-619.65 913.79-619.65 542.54-252.42 711.06-241.77 753.81-230a19.29 19.29 0 0 1 14 20.58c-5.14 56-104.17 157-104.17 157-309.12 308.59-657.83 496.81-657.83 496.81-293.83 180.5-661.93 314.09-661.93 314.09-280.09 100.93-369.7 68.78-369.7 68.78Z" style="fill:#6f7390"/><path d="M2198.35 1800.41c67.7-116.77-300.93-456.79-823-759.47S374.43 587.76 306.79 704.73s300.93 456.79 823.3 759.47 1000.62 453.19 1068.26 336.21ZM351.65 749.85c-10-23.71 11.11-29.42 11.11-29.42C456.22 702.78 587.5 743 587.5 743c357.15 81.33 994 480.25 994 480.25 490.33 343.11 565.53 494.24 576.8 537.14a19.29 19.29 0 0 1-10.7 22.43c-51.13 23.41-188.07-11.47-188.07-11.47-422.07-113.17-759.62-320.52-759.62-320.52-303.29-163.58-603.19-415.28-603.19-415.28-227.88-191.87-245-285.44-245-285.44Z" style="fill:#6f7390"/><circle cx="1250" cy="1250" r="128.6" style="fill:#b7b9c8"/><ellipse cx="1777.26" cy="756.17" rx="74.59" ry="77.16" style="fill:#b7b9c8"/><ellipse cx="552.98" cy="1018.52" rx="74.59" ry="77.16" style="fill:#b7b9c8"/><ellipse cx="1098.25" cy="1965.02" rx="74.59" ry="77.16" style="fill:#b7b9c8"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" viewBox="0 0 50 50"><g><path fill="url(#paint0_linear_2832_1883)" fill-rule="evenodd" d="M25 50c13.807 0 25-11.193 25-25S38.807 0 25 0 0 11.193 0 25s11.193 25 25 25zM13.14 12.497c.001 4.133 2.649 7.481 5.9 9.586 3.098 2.006 6.773-.072 9.917-2.005 3.975-2.442 9.131-2.69 13.447-.198a13.027 13.027 0 014.05 3.65c.306.422 1.03.221.99-.3C46.875 16.1 42.93 9.36 36.265 5.512c-2.283-1.318-2.506-1.044-2.979-.464-.714.876-1.998 2.452-11.823.293-3.037-.667-6.457.067-7.544 2.98-.49 1.314-.779 2.748-.78 4.177zm6.972 29.038c3.58-2.067 5.155-6.034 5.353-9.902.188-3.686-3.45-5.83-6.695-7.586-4.103-2.221-6.896-6.563-6.896-11.547 0-1.898.407-3.702 1.136-5.332.213-.477-.323-1.003-.753-.707C6.365 10.517 2.5 17.306 2.5 25.001c0 2.636.348 2.692 1.087 2.811 1.116.18 3.123.505 6.166 10.093.94 2.964 3.286 5.559 6.353 5.043 1.382-.233 2.768-.699 4.006-1.413zM30.52 21.297c3.448-1.763 7.671-2.382 11.251-.316 1.238.715 2.335 1.683 3.227 2.763 1.98 2.398.906 5.727-1.19 8.024-6.783 7.428-6.06 9.329-5.658 10.386.266.7.391 1.03-1.892 2.347-6.664 3.848-14.475 3.895-20.934.82-.472-.224-.284-.952.236-1.006a13.026 13.026 0 005.185-1.682c4.316-2.492 6.68-7.082 6.552-11.745-.101-3.69-.064-7.911 3.223-9.591z" clip-rule="evenodd"></path></g><defs><linearGradient id="paint0_linear_2832_1883" x1="9.3" x2="41.3" y1="2.1" y2="47.7" gradientUnits="userSpaceOnUse"><stop stop-color="#FCECB2" style="--darkreader-inline-stopcolor: #473903;" data-darkreader-inline-stopcolor=""></stop><stop offset="0.26" stop-color="#FF8B89" style="--darkreader-inline-stopcolor: #7a0200;" data-darkreader-inline-stopcolor=""></stop><stop offset="0.521" stop-color="#FC8ADC" style="--darkreader-inline-stopcolor: #780357;" data-darkreader-inline-stopcolor=""></stop><stop offset="0.755" stop-color="#7954FF" style="--darkreader-inline-stopcolor: #21009a;" data-darkreader-inline-stopcolor=""></stop><stop offset="1" stop-color="#70BCFF" style="--darkreader-inline-stopcolor: #004989;" data-darkreader-inline-stopcolor=""></stop></linearGradient></defs></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" viewBox="0 0 50 50"><g><path fill="url(#paint0_linear_2832_1883)" fill-rule="evenodd" d="M25 50c13.807 0 25-11.193 25-25S38.807 0 25 0 0 11.193 0 25s11.193 25 25 25zM13.14 12.497c.001 4.133 2.649 7.481 5.9 9.586 3.098 2.006 6.773-.072 9.917-2.005 3.975-2.442 9.131-2.69 13.447-.198a13.027 13.027 0 014.05 3.65c.306.422 1.03.221.99-.3C46.875 16.1 42.93 9.36 36.265 5.512c-2.283-1.318-2.506-1.044-2.979-.464-.714.876-1.998 2.452-11.823.293-3.037-.667-6.457.067-7.544 2.98-.49 1.314-.779 2.748-.78 4.177zm6.972 29.038c3.58-2.067 5.155-6.034 5.353-9.902.188-3.686-3.45-5.83-6.695-7.586-4.103-2.221-6.896-6.563-6.896-11.547 0-1.898.407-3.702 1.136-5.332.213-.477-.323-1.003-.753-.707C6.365 10.517 2.5 17.306 2.5 25.001c0 2.636.348 2.692 1.087 2.811 1.116.18 3.123.505 6.166 10.093.94 2.964 3.286 5.559 6.353 5.043 1.382-.233 2.768-.699 4.006-1.413zM30.52 21.297c3.448-1.763 7.671-2.382 11.251-.316 1.238.715 2.335 1.683 3.227 2.763 1.98 2.398.906 5.727-1.19 8.024-6.783 7.428-6.06 9.329-5.658 10.386.266.7.391 1.03-1.892 2.347-6.664 3.848-14.475 3.895-20.934.82-.472-.224-.284-.952.236-1.006a13.026 13.026 0 005.185-1.682c4.316-2.492 6.68-7.082 6.552-11.745-.101-3.69-.064-7.911 3.223-9.591z" clip-rule="evenodd"></path></g><defs><linearGradient id="paint0_linear_2832_1883" x1="9.3" x2="41.3" y1="2.1" y2="47.7" gradientUnits="userSpaceOnUse"><stop stop-color="#FCECB2"></stop><stop offset="0.26" stop-color="#FF8B89"></stop><stop offset="0.521" stop-color="#FC8ADC"></stop><stop offset="0.755" stop-color="#7954FF"></stop><stop offset="1" stop-color="#70BCFF"></stop></linearGradient></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="184.82 186.46 121.25 133.56"><defs><linearGradient id="a" x1="0" x2="33.36" y1="18.15" y2="18.15" gradientTransform="matrix(3.45 0 0 3.45 184.81 204.12)" gradientUnits="userSpaceOnUse"><stop stop-color="#0082FA"/><stop offset="1" stop-color="#00F2FE"/></linearGradient><linearGradient id="b" x1="0" x2="33.36" y1="15.21" y2="15.21" gradientTransform="matrix(3.45 0 0 3.45 184.81 204.12)" gradientUnits="userSpaceOnUse"><stop stop-color="#0082FA"/><stop offset="1" stop-color="#00F2FE"/></linearGradient></defs><path fill="url(#a)" d="m198.76 224 2.27-2.62.14-.1.28-.21.07-.1c.51-.5 1.07-1 1.72-1.46a23.23 23.23 0 0 1 31.2 1.63c9.8 9.18 8.94 23.98 1.1 33.82-9.86 14.67-26.91 35.13-3.34 53.5 4.24 3.27 7.35 6 20.7 9.86-8.72 1.6-16.8 1.1-25.8-1.2-6.36-3.6-16.37-11.29-19.78-21.68-5.18-15.77 9.07-39.3 15.9-48.39 9.46-12.56-5.83-26.12-17.04-10.97-5.87 7.94-16.16 30.3-12.57 46.9 2.07 9.42 4.83 16.26 15.88 25.68a50.8 50.8 0 0 1-5.94-4.1 58.19 58.19 0 0 1-4.8-80.56Z"/><path fill="url(#b)" d="m286 299.38-2.24 2.62-.14.07-.24.24-.07.07a25.91 25.91 0 0 1-8.94 5.42 23.22 23.22 0 0 1-24.02-5.53c-9.8-9.21-8.94-24.02-1.1-33.85 9.9-14.67 26.92-35.14 3.35-53.5-4.25-3.28-7.39-6-20.71-9.87 8.73-1.59 16.8-1.1 25.81 1.21 6.36 3.59 16.36 11.29 19.78 21.67 5.18 15.74-9.08 39.31-15.91 48.4-9.46 12.52 5.8 26.12 17.05 10.93 5.87-7.9 16.12-30.27 12.56-46.87-2.07-9.42-4.83-16.29-15.87-25.7 2.03 1.2 4 2.58 5.93 4.13a58.19 58.19 0 0 1 4.76 80.56Z"/><g><path fill="#343434" d="m282.57 186.74-.45 1.55v44.92l.45.46 20.86-12.33z"/><path fill="#8C8C8C" d="m282.57 186.74-20.85 34.6 20.85 12.33v-21.8z"/><path fill="#3C3C3B" d="m282.57 237.62-.26.31v16l.26.76 20.87-29.4z"/><path fill="#8C8C8C" d="M282.57 254.69v-17.07l-20.85-12.32z"/><path fill="#141414" d="m282.57 233.67 20.86-12.33-20.86-9.48z"/><path fill="#393939" d="m261.72 221.34 20.85 12.33v-21.8z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-32" data-icon="logo" data-prefix="fab" viewBox="0 0 33.36 33.36"><path fill="url(#a)" d="M4.04 5.76 4.7 5l.04-.03.08-.06.02-.03c.15-.14.31-.29.5-.42a6.73 6.73 0 0 1 9.04.47c2.84 2.66 2.59 6.95.32 9.8-2.86 4.25-7.8 10.18-.97 15.5 1.23.95 2.13 1.74 6 2.86-2.53.46-4.87.32-7.48-.35-1.84-1.04-4.74-3.27-5.73-6.28-1.5-4.57 2.63-11.39 4.61-14.02 2.74-3.64-1.69-7.57-4.94-3.18-1.7 2.3-4.68 8.78-3.64 13.59.6 2.73 1.4 4.71 4.6 7.44-.59-.35-1.16-.74-1.72-1.19A16.86 16.86 0 0 1 4.04 5.76Z"/><path fill="url(#b)" d="m29.32 27.6-.65.76-.04.02-.07.07-.02.02a7.52 7.52 0 0 1-2.59 1.57 6.73 6.73 0 0 1-6.96-1.6c-2.84-2.67-2.59-6.96-.32-9.81 2.87-4.25 7.8-10.18.97-15.5-1.23-.95-2.14-1.74-6-2.86 2.53-.46 4.87-.32 7.48.35 1.84 1.04 4.74 3.27 5.73 6.28 1.5 4.56-2.63 11.39-4.61 14.02-2.74 3.63 1.68 7.57 4.94 3.17 1.7-2.29 4.67-8.77 3.64-13.58-.6-2.73-1.4-4.72-4.6-7.45.59.35 1.16.75 1.72 1.2a16.86 16.86 0 0 1 1.38 23.34Z"/><defs><linearGradient id="a" x1="0" x2="33.36" y1="18.15" y2="18.15" gradientUnits="userSpaceOnUse"><stop stop-color="#0082FA"/><stop offset="1" stop-color="#00F2FE"/></linearGradient><linearGradient id="b" x1="0" x2="33.36" y1="15.21" y2="15.21" gradientUnits="userSpaceOnUse"><stop stop-color="#0082FA"/><stop offset="1" stop-color="#00F2FE"/></linearGradient></defs></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 200 200" viewBox="0 0 200 200"><linearGradient id="a" x1="0" x2="200.1" y1="101.8" y2="98.2" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#29ccb9"/><stop offset=".5" style="stop-color:#0091ff"/><stop offset="1" style="stop-color:#ff66b7"/></linearGradient><path d="M46.5 171.7A89.3 89.3 0 0 1 100 10.5c40.8 0 85.3 24.4 96 61.7a100 100 0 1 0 4 27.8v-5.3h-5.5a95.6 95.6 0 0 1-3.5 0l-9.3-.6c-7.5-.7-16-2-21.9-4.3a59.8 59.8 0 0 1-20.7-14.5l-.4-.3a86 86 0 0 0-24.6-18 54.6 54.6 0 0 0-34-2.6A86 86 0 0 0 65 59.1c-4.8 2-9.4 4.4-14 6.6A615.3 615.3 0 0 0 68 70.9a53 53 0 0 1 8.7 4.4c4.8 3.2 8.9 7.1 10.5 12A75 75 0 0 0 60 97.3a112 112 0 0 0-13.7 9.5l-10 8.8s12.2 1.3 18.1 2.5c4 .7 9.3 2 14.9 4s11.3 4.5 16 7.8a26 26 0 0 1 9.8 11.4c5 12.6 0 25-9.7 31.9-9.6 6.9-24.3 8.5-38.9-1.6zm34.1 15.7c4-1.3 7.6-3.2 11-5.5a37 37 0 0 0 13.3-44.3c-2.7-7-7.9-12.3-13.6-16.3-5.8-4-12.4-7-18.5-9-4-1.5-8-2.6-11.4-3.4l4-2.4a58.5 58.5 0 0 1 28-9.1c14.8 0 25.8 4.5 36.2 9.3l3 1.4c9.3 4.4 19.1 9 30.6 9 11 0 19.7-3.1 25.6-6.4a89.5 89.5 0 0 1-108.2 76.7zm96.9-83.1a44 44 0 0 1-14.3 2.3c-9 0-16.7-3.6-26.5-8.2l-2.6-1.2A95.4 95.4 0 0 0 98 87a33.4 33.4 0 0 0-17.8-21.8l2-.5a44.2 44.2 0 0 1 27.3 1.9 76 76 0 0 1 22 16.1l.2.2a70 70 0 0 0 24.1 16.7 86.5 86.5 0 0 0 21.6 4.7z" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#a)"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 200 200"><linearGradient id="a" x1="0" x2="200.1" y1="101.8" y2="98.2" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#29ccb9"/><stop offset=".5" style="stop-color:#0091ff"/><stop offset="1" style="stop-color:#ff66b7"/></linearGradient><path d="M46.5 171.7A89.3 89.3 0 0 1 100 10.5c40.8 0 85.3 24.4 96 61.7a100 100 0 1 0 4 27.8v-5.3h-5.5a95.6 95.6 0 0 1-3.5 0l-9.3-.6c-7.5-.7-16-2-21.9-4.3a59.8 59.8 0 0 1-20.7-14.5l-.4-.3a86 86 0 0 0-24.6-18 54.6 54.6 0 0 0-34-2.6A86 86 0 0 0 65 59.1c-4.8 2-9.4 4.4-14 6.6A615.3 615.3 0 0 0 68 70.9a53 53 0 0 1 8.7 4.4c4.8 3.2 8.9 7.1 10.5 12A75 75 0 0 0 60 97.3a112 112 0 0 0-13.7 9.5l-10 8.8s12.2 1.3 18.1 2.5c4 .7 9.3 2 14.9 4s11.3 4.5 16 7.8a26 26 0 0 1 9.8 11.4c5 12.6 0 25-9.7 31.9-9.6 6.9-24.3 8.5-38.9-1.6zm34.1 15.7c4-1.3 7.6-3.2 11-5.5a37 37 0 0 0 13.3-44.3c-2.7-7-7.9-12.3-13.6-16.3-5.8-4-12.4-7-18.5-9-4-1.5-8-2.6-11.4-3.4l4-2.4a58.5 58.5 0 0 1 28-9.1c14.8 0 25.8 4.5 36.2 9.3l3 1.4c9.3 4.4 19.1 9 30.6 9 11 0 19.7-3.1 25.6-6.4a89.5 89.5 0 0 1-108.2 76.7zm96.9-83.1a44 44 0 0 1-14.3 2.3c-9 0-16.7-3.6-26.5-8.2l-2.6-1.2A95.4 95.4 0 0 0 98 87a33.4 33.4 0 0 0-17.8-21.8l2-.5a44.2 44.2 0 0 1 27.3 1.9 76 76 0 0 1 22 16.1l.2.2a70 70 0 0 0 24.1 16.7 86.5 86.5 0 0 0 21.6 4.7z" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#a)"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="#3EDBF0" d="M40 13.33A26.67 26.67 0 0 1 13.33 40V26.67a13.33 13.33 0 0 0 13.34-13.34H40Z"/><path fill="#2362C0" d="M13.33 13.33H0v13.33h13.33z"/><path fill="#2362C0" d="M26.67 0H13.34v13.33h13.33z"/></svg>
@@ -0,0 +1,24 @@
1
+ <svg width="350" height="350" viewBox="0 0 350 350" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="175" cy="175" r="175" fill="url(#paint0_radial_2001_152)"/>
3
+ <path d="M285.938 65.8225V147.468L245.115 106.645L285.938 65.8225Z" fill="white" fill-opacity="0.95"/>
4
+ <path d="M285.938 65.8225H204.292L245.115 106.645L285.938 65.8225Z" fill="white"/>
5
+ <path d="M163.47 106.646V188.292L122.647 147.469L163.47 106.646Z" fill="white" fill-opacity="0.75"/>
6
+ <path d="M122.648 147.47V229.116L81.825 188.293L122.648 147.47Z" fill="white" fill-opacity="0.55"/>
7
+ <path d="M204.293 147.468H285.939L245.116 106.645L204.293 147.468Z" fill="white" fill-opacity="0.85"/>
8
+ <path d="M163.47 188.292H245.116L204.293 147.469L163.47 188.292Z" fill="white" fill-opacity="0.7"/>
9
+ <path d="M122.648 229.115H204.294L163.471 188.291L122.648 229.115Z" fill="white" fill-opacity="0.5"/>
10
+ <path d="M285.938 147.468H204.292L245.115 188.292L285.938 147.468Z" fill="white" fill-opacity="0.8"/>
11
+ <path d="M245.115 188.292H163.469L204.292 229.115L245.115 188.292Z" fill="white" fill-opacity="0.65"/>
12
+ <path d="M204.293 229.115H122.647L163.47 269.938L204.293 229.115Z" fill="white" fill-opacity="0.45"/>
13
+ <path d="M204.293 147.468V65.8227L245.116 106.646L204.293 147.468Z" fill="white" fill-opacity="0.9"/>
14
+ <path d="M163.47 188.292V106.646L204.293 147.469L163.47 188.292Z" fill="white" fill-opacity="0.8"/>
15
+ <path d="M122.648 229.115V147.468L163.471 188.291L122.648 229.115Z" fill="white" fill-opacity="0.6"/>
16
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M81.8217 269.938L122.644 229.115L163.467 269.938H93.1966L62.4843 289.275L81.8217 269.938Z" fill="#F8F8F8" fill-opacity="0.3"/>
17
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M81.8228 258.567V188.292L122.646 229.115L89.4969 262.264L89.4982 262.265L62.4875 289.275L81.8228 258.567Z" fill="#F9F9F9" fill-opacity="0.4"/>
18
+ <defs>
19
+ <radialGradient id="paint0_radial_2001_152" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(52 300) rotate(-44.5937) scale(348.966 454.21)">
20
+ <stop offset="0.231932" stop-color="#AD253F"/>
21
+ <stop offset="0.871225" stop-color="#FF692E"/>
22
+ </radialGradient>
23
+ </defs>
24
+ </svg>