From c0352692e902008f451e34276f16100581012238 Mon Sep 17 00:00:00 2001 From: makarychev <3645723+makarychev@users.noreply.github.com> Date: Sun, 9 Jun 2024 21:41:17 +0300 Subject: [PATCH] add authorize clmm program and pool state instructions --- Anchor.toml | 48 +- app/src/idl/raydium-amm.json | 2857 +++++++++++++++++ ci/build-and-test.sh | 13 - package-lock.json | 773 ++++- package.json | 14 +- programs/donaproto/Cargo.toml | 2 + .../src/instructions/authorize_clmm.rs | 11 +- .../src/instructions/authorize_pool.rs | 40 +- programs/donaproto/src/lib.rs | 8 + .../donaproto/src/states/authorized_pool.rs | 2 +- raydium_amm_v3.so | Bin 0 -> 2044224 bytes tests/authorizeClmm.test.js | 147 + tests/authorizeClmmPool.test.js | 197 ++ tests/common/amm_helper.js | 80 + tests/common/utils.js | 13 + yarn.lock | 397 ++- 16 files changed, 4274 insertions(+), 328 deletions(-) create mode 100644 app/src/idl/raydium-amm.json delete mode 100755 ci/build-and-test.sh create mode 100644 raydium_amm_v3.so create mode 100644 tests/authorizeClmm.test.js create mode 100644 tests/authorizeClmmPool.test.js create mode 100644 tests/common/amm_helper.js diff --git a/Anchor.toml b/Anchor.toml index 29e97ed..ddb8aaf 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -11,8 +11,52 @@ donaproto = "HbNNG85aBuR9W5F8YobTeDRRmXWFbDhLDS6WbLzWbLhH" url = "https://api.apr.dev" [provider] -cluster = "Localnet" +cluster = "localnet" wallet = "~/.config/solana/id.json" +[workspace] +types = "app/src/idl/" + [scripts] -test = "yarn run mocha -t 1000000 tests/*" +test = "yarn run mocha -t 1000000 tests/" + +[test] +startup_wait = 10000 + +[test.validator] +url = "https://api.devnet.solana.com" + +### Download the program from the mainnet-beta cluster +# solana program dump --url mainnet-beta TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA token.so +[[test.genesis]] +address = "devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH" +program = "raydium_amm_v3.so" +upgradeable = true + +# CLMM Config +# { +# id: 'GVSwm4smQBYcgAJU7qjFHLQBHTc4AdB3F2HbZp6KqKof', +# index: 2, +# protocolFeeRate: 120000, +# tradeFeeRate: 500, +# tickSpacing: 10, +# fundFeeRate: 40000, +# } +# let (amm_config_key, __bump) = Pubkey::find_program_address( +# &[ +# raydium_amm_v3::states::AMM_CONFIG_SEED.as_bytes(), +# &config_index.to_be_bytes(), +# ], +# &pool_config.raydium_v3_program, +# ); +[[test.validator.clone]] +address = 'GVSwm4smQBYcgAJU7qjFHLQBHTc4AdB3F2HbZp6KqKof' + +# # AMM Program +# ALERT! not working +# `Transaction simulation failed: This program may not be used for executing instructions` +# [[test.validator.clone]] +# address = "devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH" +# executable = true + + diff --git a/app/src/idl/raydium-amm.json b/app/src/idl/raydium-amm.json new file mode 100644 index 0000000..2b3bbf4 --- /dev/null +++ b/app/src/idl/raydium-amm.json @@ -0,0 +1,2857 @@ +{ + "version": "0.1.0", + "name": "amm_v3", + "instructions": [ + { + "name": "createAmmConfig", + "accounts": [ + { + "name": "owner", + "isMut": true, + "isSigner": true + }, + { + "name": "ammConfig", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "index", + "type": "u16" + }, + { + "name": "tickSpacing", + "type": "u16" + }, + { + "name": "tradeFeeRate", + "type": "u32" + }, + { + "name": "protocolFeeRate", + "type": "u32" + }, + { + "name": "fundFeeRate", + "type": "u32" + } + ] + }, + { + "name": "updateAmmConfig", + "accounts": [ + { + "name": "owner", + "isMut": false, + "isSigner": true + }, + { + "name": "ammConfig", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "param", + "type": "u8" + }, + { + "name": "value", + "type": "u32" + } + ] + }, + { + "name": "createPool", + "accounts": [ + { + "name": "poolCreator", + "isMut": true, + "isSigner": true + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenMint0", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenMint1", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "observationState", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayBitmap", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram0", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram1", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "sqrtPriceX64", + "type": "u128" + }, + { + "name": "openTime", + "type": "u64" + } + ] + }, + { + "name": "updatePoolStatus", + "accounts": [ + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "status", + "type": "u8" + } + ] + }, + { + "name": "createOperationAccount", + "accounts": [ + { + "name": "owner", + "isMut": true, + "isSigner": true + }, + { + "name": "operationState", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "updateOperationAccount", + "accounts": [ + { + "name": "owner", + "isMut": false, + "isSigner": true + }, + { + "name": "operationState", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "param", + "type": "u8" + }, + { + "name": "keys", + "type": { + "vec": "publicKey" + } + } + ] + }, + { + "name": "transferRewardOwner", + "accounts": [ + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "newOwner", + "type": "publicKey" + } + ] + }, + { + "name": "initializeReward", + "accounts": [ + { + "name": "rewardFunder", + "isMut": true, + "isSigner": true + }, + { + "name": "funderTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "operationState", + "isMut": false, + "isSigner": false + }, + { + "name": "rewardTokenMint", + "isMut": false, + "isSigner": false + }, + { + "name": "rewardTokenVault", + "isMut": true, + "isSigner": false + }, + { + "name": "rewardTokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "param", + "type": { + "defined": "InitializeRewardParam" + } + } + ] + }, + { + "name": "collectRemainingRewards", + "accounts": [ + { + "name": "rewardFunder", + "isMut": false, + "isSigner": true + }, + { + "name": "funderTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "rewardTokenVault", + "isMut": false, + "isSigner": false + }, + { + "name": "rewardVaultMint", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + }, + { + "name": "memoProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "rewardIndex", + "type": "u8" + } + ] + }, + { + "name": "updateRewardInfos", + "accounts": [ + { + "name": "poolState", + "isMut": true, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "setRewardParams", + "accounts": [ + { + "name": "authority", + "isMut": false, + "isSigner": true + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "operationState", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "rewardIndex", + "type": "u8" + }, + { + "name": "emissionsPerSecondX64", + "type": "u128" + }, + { + "name": "openTime", + "type": "u64" + }, + { + "name": "endTime", + "type": "u64" + } + ] + }, + { + "name": "collectProtocolFee", + "accounts": [ + { + "name": "owner", + "isMut": false, + "isSigner": true + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "vault0Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "vault1Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "recipientTokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "recipientTokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount0Requested", + "type": "u64" + }, + { + "name": "amount1Requested", + "type": "u64" + } + ] + }, + { + "name": "collectFundFee", + "accounts": [ + { + "name": "owner", + "isMut": false, + "isSigner": true + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "vault0Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "vault1Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "recipientTokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "recipientTokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount0Requested", + "type": "u64" + }, + { + "name": "amount1Requested", + "type": "u64" + } + ] + }, + { + "name": "openPosition", + "accounts": [ + { + "name": "payer", + "isMut": true, + "isSigner": true + }, + { + "name": "positionNftOwner", + "isMut": false, + "isSigner": false + }, + { + "name": "positionNftMint", + "isMut": true, + "isSigner": true + }, + { + "name": "positionNftAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "metadataAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "protocolPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayLower", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayUpper", + "isMut": true, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "associatedTokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "metadataProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "tickLowerIndex", + "type": "i32" + }, + { + "name": "tickUpperIndex", + "type": "i32" + }, + { + "name": "tickArrayLowerStartIndex", + "type": "i32" + }, + { + "name": "tickArrayUpperStartIndex", + "type": "i32" + }, + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "amount0Max", + "type": "u64" + }, + { + "name": "amount1Max", + "type": "u64" + } + ] + }, + { + "name": "openPositionV2", + "accounts": [ + { + "name": "payer", + "isMut": true, + "isSigner": true + }, + { + "name": "positionNftOwner", + "isMut": false, + "isSigner": false + }, + { + "name": "positionNftMint", + "isMut": true, + "isSigner": true + }, + { + "name": "positionNftAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "metadataAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "protocolPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayLower", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayUpper", + "isMut": true, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "rent", + "isMut": false, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "associatedTokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "metadataProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + }, + { + "name": "vault0Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "vault1Mint", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "tickLowerIndex", + "type": "i32" + }, + { + "name": "tickUpperIndex", + "type": "i32" + }, + { + "name": "tickArrayLowerStartIndex", + "type": "i32" + }, + { + "name": "tickArrayUpperStartIndex", + "type": "i32" + }, + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "amount0Max", + "type": "u64" + }, + { + "name": "amount1Max", + "type": "u64" + }, + { + "name": "withMatedata", + "type": "bool" + }, + { + "name": "baseFlag", + "type": { + "option": "bool" + } + } + ] + }, + { + "name": "closePosition", + "accounts": [ + { + "name": "nftOwner", + "isMut": true, + "isSigner": true + }, + { + "name": "positionNftMint", + "isMut": true, + "isSigner": false + }, + { + "name": "positionNftAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "systemProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [] + }, + { + "name": "increaseLiquidity", + "accounts": [ + { + "name": "nftOwner", + "isMut": false, + "isSigner": true + }, + { + "name": "nftAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "protocolPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayLower", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayUpper", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "amount0Max", + "type": "u64" + }, + { + "name": "amount1Max", + "type": "u64" + } + ] + }, + { + "name": "increaseLiquidityV2", + "accounts": [ + { + "name": "nftOwner", + "isMut": false, + "isSigner": true + }, + { + "name": "nftAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "protocolPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayLower", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayUpper", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + }, + { + "name": "vault0Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "vault1Mint", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "amount0Max", + "type": "u64" + }, + { + "name": "amount1Max", + "type": "u64" + }, + { + "name": "baseFlag", + "type": { + "option": "bool" + } + } + ] + }, + { + "name": "decreaseLiquidity", + "accounts": [ + { + "name": "nftOwner", + "isMut": false, + "isSigner": true + }, + { + "name": "nftAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "protocolPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayLower", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayUpper", + "isMut": true, + "isSigner": false + }, + { + "name": "recipientTokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "recipientTokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "amount0Min", + "type": "u64" + }, + { + "name": "amount1Min", + "type": "u64" + } + ] + }, + { + "name": "decreaseLiquidityV2", + "accounts": [ + { + "name": "nftOwner", + "isMut": false, + "isSigner": true + }, + { + "name": "nftAccount", + "isMut": false, + "isSigner": false + }, + { + "name": "personalPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "protocolPosition", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault0", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenVault1", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayLower", + "isMut": true, + "isSigner": false + }, + { + "name": "tickArrayUpper", + "isMut": true, + "isSigner": false + }, + { + "name": "recipientTokenAccount0", + "isMut": true, + "isSigner": false + }, + { + "name": "recipientTokenAccount1", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + }, + { + "name": "memoProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "vault0Mint", + "isMut": false, + "isSigner": false + }, + { + "name": "vault1Mint", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "amount0Min", + "type": "u64" + }, + { + "name": "amount1Min", + "type": "u64" + } + ] + }, + { + "name": "swap", + "accounts": [ + { + "name": "payer", + "isMut": false, + "isSigner": true + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "inputTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "outputTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "inputVault", + "isMut": true, + "isSigner": false + }, + { + "name": "outputVault", + "isMut": true, + "isSigner": false + }, + { + "name": "observationState", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tickArray", + "isMut": true, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "otherAmountThreshold", + "type": "u64" + }, + { + "name": "sqrtPriceLimitX64", + "type": "u128" + }, + { + "name": "isBaseInput", + "type": "bool" + } + ] + }, + { + "name": "swapV2", + "accounts": [ + { + "name": "payer", + "isMut": false, + "isSigner": true + }, + { + "name": "ammConfig", + "isMut": false, + "isSigner": false + }, + { + "name": "poolState", + "isMut": true, + "isSigner": false + }, + { + "name": "inputTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "outputTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "inputVault", + "isMut": true, + "isSigner": false + }, + { + "name": "outputVault", + "isMut": true, + "isSigner": false + }, + { + "name": "observationState", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + }, + { + "name": "memoProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "inputVaultMint", + "isMut": false, + "isSigner": false + }, + { + "name": "outputVaultMint", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amount", + "type": "u64" + }, + { + "name": "otherAmountThreshold", + "type": "u64" + }, + { + "name": "sqrtPriceLimitX64", + "type": "u128" + }, + { + "name": "isBaseInput", + "type": "bool" + } + ] + }, + { + "name": "swapRouterBaseIn", + "accounts": [ + { + "name": "payer", + "isMut": false, + "isSigner": true + }, + { + "name": "inputTokenAccount", + "isMut": true, + "isSigner": false + }, + { + "name": "inputTokenMint", + "isMut": true, + "isSigner": false + }, + { + "name": "tokenProgram", + "isMut": false, + "isSigner": false + }, + { + "name": "tokenProgram2022", + "isMut": false, + "isSigner": false + }, + { + "name": "memoProgram", + "isMut": false, + "isSigner": false + } + ], + "args": [ + { + "name": "amountIn", + "type": "u64" + }, + { + "name": "amountOutMinimum", + "type": "u64" + } + ] + } + ], + "accounts": [ + { + "name": "AmmConfig", + "type": { + "kind": "struct", + "fields": [ + { + "name": "bump", + "type": "u8" + }, + { + "name": "index", + "type": "u16" + }, + { + "name": "owner", + "type": "publicKey" + }, + { + "name": "protocolFeeRate", + "type": "u32" + }, + { + "name": "tradeFeeRate", + "type": "u32" + }, + { + "name": "tickSpacing", + "type": "u16" + }, + { + "name": "fundFeeRate", + "type": "u32" + }, + { + "name": "paddingU32", + "type": "u32" + }, + { + "name": "fundOwner", + "type": "publicKey" + }, + { + "name": "padding", + "type": { + "array": [ + "u64", + 3 + ] + } + } + ] + } + }, + { + "name": "OperationState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "bump", + "type": "u8" + }, + { + "name": "operationOwners", + "type": { + "array": [ + "publicKey", + 10 + ] + } + }, + { + "name": "whitelistMints", + "type": { + "array": [ + "publicKey", + 100 + ] + } + } + ] + } + }, + { + "name": "ObservationState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "initialized", + "type": "bool" + }, + { + "name": "poolId", + "type": "publicKey" + }, + { + "name": "observations", + "type": { + "array": [ + { + "defined": "Observation" + }, + 1000 + ] + } + }, + { + "name": "padding", + "type": { + "array": [ + "u128", + 5 + ] + } + } + ] + } + }, + { + "name": "PersonalPositionState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "bump", + "type": "u8" + }, + { + "name": "nftMint", + "type": "publicKey" + }, + { + "name": "poolId", + "type": "publicKey" + }, + { + "name": "tickLowerIndex", + "type": "i32" + }, + { + "name": "tickUpperIndex", + "type": "i32" + }, + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "feeGrowthInside0LastX64", + "type": "u128" + }, + { + "name": "feeGrowthInside1LastX64", + "type": "u128" + }, + { + "name": "tokenFeesOwed0", + "type": "u64" + }, + { + "name": "tokenFeesOwed1", + "type": "u64" + }, + { + "name": "rewardInfos", + "type": { + "array": [ + { + "defined": "PositionRewardInfo" + }, + 3 + ] + } + }, + { + "name": "padding", + "type": { + "array": [ + "u64", + 8 + ] + } + } + ] + } + }, + { + "name": "PoolState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "bump", + "type": { + "array": [ + "u8", + 1 + ] + } + }, + { + "name": "ammConfig", + "type": "publicKey" + }, + { + "name": "owner", + "type": "publicKey" + }, + { + "name": "tokenMint0", + "type": "publicKey" + }, + { + "name": "tokenMint1", + "type": "publicKey" + }, + { + "name": "tokenVault0", + "type": "publicKey" + }, + { + "name": "tokenVault1", + "type": "publicKey" + }, + { + "name": "observationKey", + "type": "publicKey" + }, + { + "name": "mintDecimals0", + "type": "u8" + }, + { + "name": "mintDecimals1", + "type": "u8" + }, + { + "name": "tickSpacing", + "type": "u16" + }, + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "sqrtPriceX64", + "type": "u128" + }, + { + "name": "tickCurrent", + "type": "i32" + }, + { + "name": "observationIndex", + "type": "u16" + }, + { + "name": "observationUpdateDuration", + "type": "u16" + }, + { + "name": "feeGrowthGlobal0X64", + "type": "u128" + }, + { + "name": "feeGrowthGlobal1X64", + "type": "u128" + }, + { + "name": "protocolFeesToken0", + "type": "u64" + }, + { + "name": "protocolFeesToken1", + "type": "u64" + }, + { + "name": "swapInAmountToken0", + "type": "u128" + }, + { + "name": "swapOutAmountToken1", + "type": "u128" + }, + { + "name": "swapInAmountToken1", + "type": "u128" + }, + { + "name": "swapOutAmountToken0", + "type": "u128" + }, + { + "name": "status", + "type": "u8" + }, + { + "name": "padding", + "type": { + "array": [ + "u8", + 7 + ] + } + }, + { + "name": "rewardInfos", + "type": { + "array": [ + { + "defined": "RewardInfo" + }, + 3 + ] + } + }, + { + "name": "tickArrayBitmap", + "type": { + "array": [ + "u64", + 16 + ] + } + }, + { + "name": "totalFeesToken0", + "type": "u64" + }, + { + "name": "totalFeesClaimedToken0", + "type": "u64" + }, + { + "name": "totalFeesToken1", + "type": "u64" + }, + { + "name": "totalFeesClaimedToken1", + "type": "u64" + }, + { + "name": "fundFeesToken0", + "type": "u64" + }, + { + "name": "fundFeesToken1", + "type": "u64" + }, + { + "name": "openTime", + "type": "u64" + }, + { + "name": "padding1", + "type": { + "array": [ + "u64", + 25 + ] + } + }, + { + "name": "padding2", + "type": { + "array": [ + "u64", + 32 + ] + } + } + ] + } + }, + { + "name": "ProtocolPositionState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "bump", + "type": "u8" + }, + { + "name": "poolId", + "type": "publicKey" + }, + { + "name": "tickLowerIndex", + "type": "i32" + }, + { + "name": "tickUpperIndex", + "type": "i32" + }, + { + "name": "liquidity", + "type": "u128" + }, + { + "name": "feeGrowthInside0LastX64", + "type": "u128" + }, + { + "name": "feeGrowthInside1LastX64", + "type": "u128" + }, + { + "name": "tokenFeesOwed0", + "type": "u64" + }, + { + "name": "tokenFeesOwed1", + "type": "u64" + }, + { + "name": "rewardGrowthInside", + "type": { + "array": [ + "u128", + 3 + ] + } + }, + { + "name": "padding", + "type": { + "array": [ + "u64", + 8 + ] + } + } + ] + } + }, + { + "name": "TickArrayState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "poolId", + "type": "publicKey" + }, + { + "name": "startTickIndex", + "type": "i32" + }, + { + "name": "ticks", + "type": { + "array": [ + { + "defined": "TickState" + }, + 60 + ] + } + }, + { + "name": "initializedTickCount", + "type": "u8" + }, + { + "name": "padding", + "type": { + "array": [ + "u8", + 115 + ] + } + } + ] + } + }, + { + "name": "TickArrayBitmapExtension", + "type": { + "kind": "struct", + "fields": [ + { + "name": "poolId", + "type": "publicKey" + }, + { + "name": "positiveTickArrayBitmap", + "type": { + "array": [ + { + "array": [ + "u64", + 8 + ] + }, + 14 + ] + } + }, + { + "name": "negativeTickArrayBitmap", + "type": { + "array": [ + { + "array": [ + "u64", + 8 + ] + }, + 14 + ] + } + } + ] + } + } + ], + "types": [ + { + "name": "InitializeRewardParam", + "type": { + "kind": "struct", + "fields": [ + { + "name": "openTime", + "type": "u64" + }, + { + "name": "endTime", + "type": "u64" + }, + { + "name": "emissionsPerSecondX64", + "type": "u128" + } + ] + } + }, + { + "name": "Observation", + "type": { + "kind": "struct", + "fields": [ + { + "name": "blockTimestamp", + "type": "u32" + }, + { + "name": "sqrtPriceX64", + "type": "u128" + }, + { + "name": "cumulativeTimePriceX64", + "type": "u128" + }, + { + "name": "padding", + "type": "u128" + } + ] + } + }, + { + "name": "PositionRewardInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "growthInsideLastX64", + "type": "u128" + }, + { + "name": "rewardAmountOwed", + "type": "u64" + } + ] + } + }, + { + "name": "RewardInfo", + "type": { + "kind": "struct", + "fields": [ + { + "name": "rewardState", + "type": "u8" + }, + { + "name": "openTime", + "type": "u64" + }, + { + "name": "endTime", + "type": "u64" + }, + { + "name": "lastUpdateTime", + "type": "u64" + }, + { + "name": "emissionsPerSecondX64", + "type": "u128" + }, + { + "name": "rewardTotalEmissioned", + "type": "u64" + }, + { + "name": "rewardClaimed", + "type": "u64" + }, + { + "name": "tokenMint", + "type": "publicKey" + }, + { + "name": "tokenVault", + "type": "publicKey" + }, + { + "name": "authority", + "type": "publicKey" + }, + { + "name": "rewardGrowthGlobalX64", + "type": "u128" + } + ] + } + }, + { + "name": "TickState", + "type": { + "kind": "struct", + "fields": [ + { + "name": "tick", + "type": "i32" + }, + { + "name": "liquidityNet", + "type": "i128" + }, + { + "name": "liquidityGross", + "type": "u128" + }, + { + "name": "feeGrowthOutside0X64", + "type": "u128" + }, + { + "name": "feeGrowthOutside1X64", + "type": "u128" + }, + { + "name": "rewardGrowthsOutsideX64", + "type": { + "array": [ + "u128", + 3 + ] + } + }, + { + "name": "padding", + "type": { + "array": [ + "u32", + 13 + ] + } + } + ] + } + }, + { + "name": "PoolStatusBitIndex", + "type": { + "kind": "enum", + "variants": [ + { + "name": "OpenPositionOrIncreaseLiquidity" + }, + { + "name": "DecreaseLiquidity" + }, + { + "name": "CollectFee" + }, + { + "name": "CollectReward" + }, + { + "name": "Swap" + } + ] + } + }, + { + "name": "PoolStatusBitFlag", + "type": { + "kind": "enum", + "variants": [ + { + "name": "Enable" + }, + { + "name": "Disable" + } + ] + } + }, + { + "name": "RewardState", + "type": { + "kind": "enum", + "variants": [ + { + "name": "Uninitialized" + }, + { + "name": "Initialized" + }, + { + "name": "Opening" + }, + { + "name": "Ended" + } + ] + } + }, + { + "name": "TickArryBitmap", + "type": { + "kind": "alias", + "value": { + "array": [ + "u64", + 8 + ] + } + } + } + ], + "events": [ + { + "name": "ConfigChangeEvent", + "fields": [ + { + "name": "index", + "type": "u16", + "index": false + }, + { + "name": "owner", + "type": "publicKey", + "index": true + }, + { + "name": "protocolFeeRate", + "type": "u32", + "index": false + }, + { + "name": "tradeFeeRate", + "type": "u32", + "index": false + }, + { + "name": "tickSpacing", + "type": "u16", + "index": false + }, + { + "name": "fundFeeRate", + "type": "u32", + "index": false + }, + { + "name": "fundOwner", + "type": "publicKey", + "index": false + } + ] + }, + { + "name": "CreatePersonalPositionEvent", + "fields": [ + { + "name": "poolState", + "type": "publicKey", + "index": false + }, + { + "name": "minter", + "type": "publicKey", + "index": false + }, + { + "name": "nftOwner", + "type": "publicKey", + "index": false + }, + { + "name": "tickLowerIndex", + "type": "i32", + "index": false + }, + { + "name": "tickUpperIndex", + "type": "i32", + "index": false + }, + { + "name": "liquidity", + "type": "u128", + "index": false + }, + { + "name": "depositAmount0", + "type": "u64", + "index": false + }, + { + "name": "depositAmount1", + "type": "u64", + "index": false + }, + { + "name": "depositAmount0TransferFee", + "type": "u64", + "index": false + }, + { + "name": "depositAmount1TransferFee", + "type": "u64", + "index": false + } + ] + }, + { + "name": "IncreaseLiquidityEvent", + "fields": [ + { + "name": "positionNftMint", + "type": "publicKey", + "index": false + }, + { + "name": "liquidity", + "type": "u128", + "index": false + }, + { + "name": "amount0", + "type": "u64", + "index": false + }, + { + "name": "amount1", + "type": "u64", + "index": false + }, + { + "name": "amount0TransferFee", + "type": "u64", + "index": false + }, + { + "name": "amount1TransferFee", + "type": "u64", + "index": false + } + ] + }, + { + "name": "DecreaseLiquidityEvent", + "fields": [ + { + "name": "positionNftMint", + "type": "publicKey", + "index": false + }, + { + "name": "liquidity", + "type": "u128", + "index": false + }, + { + "name": "decreaseAmount0", + "type": "u64", + "index": false + }, + { + "name": "decreaseAmount1", + "type": "u64", + "index": false + }, + { + "name": "feeAmount0", + "type": "u64", + "index": false + }, + { + "name": "feeAmount1", + "type": "u64", + "index": false + }, + { + "name": "rewardAmounts", + "type": { + "array": [ + "u64", + 3 + ] + }, + "index": false + }, + { + "name": "transferFee0", + "type": "u64", + "index": false + }, + { + "name": "transferFee1", + "type": "u64", + "index": false + } + ] + }, + { + "name": "LiquidityCalculateEvent", + "fields": [ + { + "name": "poolLiquidity", + "type": "u128", + "index": false + }, + { + "name": "poolSqrtPriceX64", + "type": "u128", + "index": false + }, + { + "name": "poolTick", + "type": "i32", + "index": false + }, + { + "name": "calcAmount0", + "type": "u64", + "index": false + }, + { + "name": "calcAmount1", + "type": "u64", + "index": false + }, + { + "name": "tradeFeeOwed0", + "type": "u64", + "index": false + }, + { + "name": "tradeFeeOwed1", + "type": "u64", + "index": false + }, + { + "name": "transferFee0", + "type": "u64", + "index": false + }, + { + "name": "transferFee1", + "type": "u64", + "index": false + } + ] + }, + { + "name": "CollectPersonalFeeEvent", + "fields": [ + { + "name": "positionNftMint", + "type": "publicKey", + "index": false + }, + { + "name": "recipientTokenAccount0", + "type": "publicKey", + "index": false + }, + { + "name": "recipientTokenAccount1", + "type": "publicKey", + "index": false + }, + { + "name": "amount0", + "type": "u64", + "index": false + }, + { + "name": "amount1", + "type": "u64", + "index": false + } + ] + }, + { + "name": "UpdateRewardInfosEvent", + "fields": [ + { + "name": "rewardGrowthGlobalX64", + "type": { + "array": [ + "u128", + 3 + ] + }, + "index": false + } + ] + }, + { + "name": "PoolCreatedEvent", + "fields": [ + { + "name": "tokenMint0", + "type": "publicKey", + "index": false + }, + { + "name": "tokenMint1", + "type": "publicKey", + "index": false + }, + { + "name": "tickSpacing", + "type": "u16", + "index": false + }, + { + "name": "poolState", + "type": "publicKey", + "index": false + }, + { + "name": "sqrtPriceX64", + "type": "u128", + "index": false + }, + { + "name": "tick", + "type": "i32", + "index": false + }, + { + "name": "tokenVault0", + "type": "publicKey", + "index": false + }, + { + "name": "tokenVault1", + "type": "publicKey", + "index": false + } + ] + }, + { + "name": "CollectProtocolFeeEvent", + "fields": [ + { + "name": "poolState", + "type": "publicKey", + "index": false + }, + { + "name": "recipientTokenAccount0", + "type": "publicKey", + "index": false + }, + { + "name": "recipientTokenAccount1", + "type": "publicKey", + "index": false + }, + { + "name": "amount0", + "type": "u64", + "index": false + }, + { + "name": "amount1", + "type": "u64", + "index": false + } + ] + }, + { + "name": "SwapEvent", + "fields": [ + { + "name": "poolState", + "type": "publicKey", + "index": false + }, + { + "name": "sender", + "type": "publicKey", + "index": false + }, + { + "name": "tokenAccount0", + "type": "publicKey", + "index": false + }, + { + "name": "tokenAccount1", + "type": "publicKey", + "index": false + }, + { + "name": "amount0", + "type": "u64", + "index": false + }, + { + "name": "amount1", + "type": "u64", + "index": false + }, + { + "name": "zeroForOne", + "type": "bool", + "index": false + }, + { + "name": "sqrtPriceX64", + "type": "u128", + "index": false + }, + { + "name": "liquidity", + "type": "u128", + "index": false + }, + { + "name": "tick", + "type": "i32", + "index": false + } + ] + }, + { + "name": "LiquidityChangeEvent", + "fields": [ + { + "name": "poolState", + "type": "publicKey", + "index": false + }, + { + "name": "tick", + "type": "i32", + "index": false + }, + { + "name": "tickLower", + "type": "i32", + "index": false + }, + { + "name": "tickUpper", + "type": "i32", + "index": false + }, + { + "name": "liquidityBefore", + "type": "u128", + "index": false + }, + { + "name": "liquidityAfter", + "type": "u128", + "index": false + } + ] + } + ], + "errors": [ + { + "code": 6000, + "name": "LOK", + "msg": "LOK" + }, + { + "code": 6001, + "name": "NotApproved", + "msg": "Not approved" + }, + { + "code": 6002, + "name": "InvalidUpdateConfigFlag", + "msg": "invalid update amm config flag" + }, + { + "code": 6003, + "name": "AccountLack", + "msg": "Account lack" + }, + { + "code": 6004, + "name": "ClosePositionErr", + "msg": "Remove liquitity, collect fees owed and reward then you can close position account" + }, + { + "code": 6005, + "name": "ZeroMintAmount", + "msg": "Minting amount should be greater than 0" + }, + { + "code": 6006, + "name": "InvaildTickIndex", + "msg": "Tick out of range" + }, + { + "code": 6007, + "name": "TickInvaildOrder", + "msg": "The lower tick must be below the upper tick" + }, + { + "code": 6008, + "name": "TickLowerOverflow", + "msg": "The tick must be greater, or equal to the minimum tick(-221818)" + }, + { + "code": 6009, + "name": "TickUpperOverflow", + "msg": "The tick must be lesser than, or equal to the maximum tick(221818)" + }, + { + "code": 6010, + "name": "TickAndSpacingNotMatch", + "msg": "tick % tick_spacing must be zero" + }, + { + "code": 6011, + "name": "InvalidTickArray", + "msg": "Invaild tick array account" + }, + { + "code": 6012, + "name": "InvalidTickArrayBoundary", + "msg": "Invaild tick array boundary" + }, + { + "code": 6013, + "name": "SqrtPriceLimitOverflow", + "msg": "Square root price limit overflow" + }, + { + "code": 6014, + "name": "SqrtPriceX64", + "msg": "sqrt_price_x64 out of range" + }, + { + "code": 6015, + "name": "LiquiditySubValueErr", + "msg": "Liquidity sub delta L must be smaller than before" + }, + { + "code": 6016, + "name": "LiquidityAddValueErr", + "msg": "Liquidity add delta L must be greater, or equal to before" + }, + { + "code": 6017, + "name": "InvaildLiquidity", + "msg": "Invaild liquidity when update position" + }, + { + "code": 6018, + "name": "ForbidBothZeroForSupplyLiquidity", + "msg": "Both token amount must not be zero while supply liquidity" + }, + { + "code": 6019, + "name": "LiquidityInsufficient", + "msg": "Liquidity insufficient" + }, + { + "code": 6020, + "name": "TransactionTooOld", + "msg": "Transaction too old" + }, + { + "code": 6021, + "name": "PriceSlippageCheck", + "msg": "Price slippage check" + }, + { + "code": 6022, + "name": "TooLittleOutputReceived", + "msg": "Too little output received" + }, + { + "code": 6023, + "name": "TooMuchInputPaid", + "msg": "Too much input paid" + }, + { + "code": 6024, + "name": "InvaildSwapAmountSpecified", + "msg": "Swap special amount can not be zero" + }, + { + "code": 6025, + "name": "InvalidInputPoolVault", + "msg": "Input pool vault is invalid" + }, + { + "code": 6026, + "name": "TooSmallInputOrOutputAmount", + "msg": "Swap input or output amount is too small" + }, + { + "code": 6027, + "name": "NotEnoughTickArrayAccount", + "msg": "Not enought tick array account" + }, + { + "code": 6028, + "name": "InvalidFirstTickArrayAccount", + "msg": "Invaild first tick array account" + }, + { + "code": 6029, + "name": "InvalidRewardIndex", + "msg": "Invalid reward index" + }, + { + "code": 6030, + "name": "FullRewardInfo", + "msg": "The init reward token reach to the max" + }, + { + "code": 6031, + "name": "RewardTokenAlreadyInUse", + "msg": "The init reward token already in use" + }, + { + "code": 6032, + "name": "ExceptPoolVaultMint", + "msg": "The reward tokens must contain one of pool vault mint except the last reward" + }, + { + "code": 6033, + "name": "InvalidRewardInitParam", + "msg": "Invalid reward init param" + }, + { + "code": 6034, + "name": "InvalidRewardDesiredAmount", + "msg": "Invalid collect reward desired amount" + }, + { + "code": 6035, + "name": "InvalidRewardInputAccountNumber", + "msg": "Invalid collect reward input account number" + }, + { + "code": 6036, + "name": "InvalidRewardPeriod", + "msg": "Invalid reward period" + }, + { + "code": 6037, + "name": "NotApproveUpdateRewardEmissiones", + "msg": "Modification of emissiones is allowed within 72 hours from the end of the previous cycle" + }, + { + "code": 6038, + "name": "UnInitializedRewardInfo", + "msg": "uninitialized reward info" + }, + { + "code": 6039, + "name": "NotSupportMint", + "msg": "Not support token_2022 mint extension" + }, + { + "code": 6040, + "name": "MissingTickArrayBitmapExtensionAccount", + "msg": "Missing tickarray bitmap extension account" + }, + { + "code": 6041, + "name": "InsufficientLiquidityForDirection", + "msg": "Insufficient liquidity for this direction" + } + ] +} \ No newline at end of file diff --git a/ci/build-and-test.sh b/ci/build-and-test.sh deleted file mode 100755 index 6a1ca2e..0000000 --- a/ci/build-and-test.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -set -e -cd "$(dirname "$0")/.." - -set -x -solana config set --url localhost - -solana-keygen new - -anchor test - -exit 0 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7cb0150..eff84fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,13 @@ "@coral-xyz/anchor": "^0.29.0" }, "devDependencies": { + "@raydium-io/raydium-sdk-v2": "^0.1.9-alpha", "@solana/spl-token": "^0.4.3", "@types/bn.js": "^5.1.0", "@types/chai": "^4.3.0", "@types/mocha": "^9.0.0", "chai": "^4.3.4", + "decimal.js": "^10.4.3", "mocha": "^9.0.3", "prettier": "^2.6.2", "ts-mocha": "^10.0.0", @@ -20,10 +22,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", - "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", - "license": "MIT", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -96,6 +97,144 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@project-serum/anchor": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@project-serum/anchor/-/anchor-0.11.1.tgz", + "integrity": "sha512-oIdm4vTJkUy6GmE6JgqDAuQPKI7XM4TPJkjtoIzp69RZe0iAD9JP2XHx7lV1jLdYXeYHqDXfBt3zcq7W91K6PA==", + "dev": true, + "dependencies": { + "@project-serum/borsh": "^0.2.2", + "@solana/web3.js": "^1.17.0", + "base64-js": "^1.5.1", + "bn.js": "^5.1.2", + "bs58": "^4.0.1", + "buffer-layout": "^1.2.0", + "camelcase": "^5.3.1", + "crypto-hash": "^1.3.0", + "eventemitter3": "^4.0.7", + "find": "^0.3.0", + "js-sha256": "^0.9.0", + "pako": "^2.0.3", + "snake-case": "^3.0.4", + "toml": "^3.0.0" + }, + "engines": { + "node": ">=11" + } + }, + "node_modules/@project-serum/anchor/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@project-serum/borsh": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@project-serum/borsh/-/borsh-0.2.5.tgz", + "integrity": "sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.2", + "buffer-layout": "^1.2.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@solana/web3.js": "^1.2.0" + } + }, + "node_modules/@project-serum/serum": { + "version": "0.13.65", + "resolved": "https://registry.npmjs.org/@project-serum/serum/-/serum-0.13.65.tgz", + "integrity": "sha512-BHRqsTqPSfFB5p+MgI2pjvMBAQtO8ibTK2fYY96boIFkCI3TTwXDt2gUmspeChKO2pqHr5aKevmexzAcXxrSRA==", + "dev": true, + "dependencies": { + "@project-serum/anchor": "^0.11.1", + "@solana/spl-token": "^0.1.6", + "@solana/web3.js": "^1.21.0", + "bn.js": "^5.1.2", + "buffer-layout": "^1.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@project-serum/serum/node_modules/@solana/spl-token": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.1.8.tgz", + "integrity": "sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.5", + "@solana/web3.js": "^1.21.0", + "bn.js": "^5.1.0", + "buffer": "6.0.3", + "buffer-layout": "^1.2.0", + "dotenv": "10.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@raydium-io/raydium-sdk-v2": { + "version": "0.1.9-alpha", + "resolved": "https://registry.npmjs.org/@raydium-io/raydium-sdk-v2/-/raydium-sdk-v2-0.1.9-alpha.tgz", + "integrity": "sha512-sqgnxEk2lLiU9ZykXofIVnO8uPyIQY28cKZb8clO90J4dCej4gRgtDhmZe9pWOnsWKzrE5oHvU1FaWWhs7IgwA==", + "dev": true, + "dependencies": { + "@project-serum/serum": "^0.13.65", + "@solana/buffer-layout": "^4.0.1", + "@solana/spl-token": "^0.4.6", + "@solana/web3.js": "^1.91.8", + "axios": "^1.1.3", + "big.js": "^6.2.1", + "bn.js": "^5.2.1", + "buffer": "^6.0.3", + "dayjs": "^1.11.5", + "decimal.js-light": "^2.5.1", + "lodash": "^4.17.21", + "toformat": "^2.0.0" + } + }, + "node_modules/@raydium-io/raydium-sdk-v2/node_modules/@solana/spl-token": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.4.6.tgz", + "integrity": "sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==", + "dev": true, + "dependencies": { + "@solana/buffer-layout": "^4.0.0", + "@solana/buffer-layout-utils": "^0.2.0", + "@solana/spl-token-group": "^0.0.4", + "@solana/spl-token-metadata": "^0.1.4", + "buffer": "^6.0.3" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@solana/web3.js": "^1.91.6" + } + }, + "node_modules/@raydium-io/raydium-sdk-v2/node_modules/@solana/spl-token-group": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@solana/spl-token-group/-/spl-token-group-0.0.4.tgz", + "integrity": "sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==", + "dev": true, + "dependencies": { + "@solana/codecs": "2.0.0-preview.2", + "@solana/spl-type-length-value": "0.1.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@solana/web3.js": "^1.91.6" + } + }, "node_modules/@solana/buffer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", @@ -260,71 +399,19 @@ } }, "node_modules/@solana/spl-token-metadata": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.2.tgz", - "integrity": "sha512-hJYnAJNkDrtkE2Q41YZhCpeOGU/0JgRFXbtrtOuGGeKc3pkEUHB9DDoxZAxx+XRno13GozUleyBi0qypz4c3bw==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.4.tgz", + "integrity": "sha512-N3gZ8DlW6NWDV28+vCCDJoTqaCZiF/jDUnk3o8GRkAFzHObiR60Bs1gXHBa8zCPdvOwiG6Z3dg5pg7+RW6XNsQ==", "dev": true, "dependencies": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-data-structures": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508", - "@solana/codecs-strings": "2.0.0-experimental.8618508", - "@solana/options": "2.0.0-experimental.8618508", + "@solana/codecs": "2.0.0-preview.2", "@solana/spl-type-length-value": "0.1.0" }, "engines": { "node": ">=16" }, "peerDependencies": { - "@solana/web3.js": "^1.87.6" - } - }, - "node_modules/@solana/spl-token-metadata/node_modules/@solana/codecs-core": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-JCz7mKjVKtfZxkuDtwMAUgA7YvJcA2BwpZaA1NOLcted4OMC4Prwa3DUe3f3181ixPYaRyptbF0Ikq2MbDkYEA==", - "dev": true - }, - "node_modules/@solana/spl-token-metadata/node_modules/@solana/codecs-data-structures": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-sLpjL9sqzaDdkloBPV61Rht1tgaKq98BCtIKRuyscIrmVPu3wu0Bavk2n/QekmUzaTsj7K1pVSniM0YqCdnEBw==", - "dev": true, - "dependencies": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508" - } - }, - "node_modules/@solana/spl-token-metadata/node_modules/@solana/codecs-numbers": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-EXQKfzFr3CkKKNzKSZPOOOzchXsFe90TVONWsSnVkonO9z+nGKALE0/L9uBmIFGgdzhhU9QQVFvxBMclIDJo2Q==", - "dev": true, - "dependencies": { - "@solana/codecs-core": "2.0.0-experimental.8618508" - } - }, - "node_modules/@solana/spl-token-metadata/node_modules/@solana/codecs-strings": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-b2yhinr1+oe+JDmnnsV0641KQqqDG8AQ16Z/x7GVWO+AWHMpRlHWVXOq8U1yhPMA4VXxl7i+D+C6ql0VGFp0GA==", - "dev": true, - "dependencies": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508" - }, - "peerDependencies": { - "fastestsmallesttextencoderdecoder": "^1.0.22" - } - }, - "node_modules/@solana/spl-token-metadata/node_modules/@solana/options": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/options/-/options-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-fy/nIRAMC3QHvnKi63KEd86Xr/zFBVxNW4nEpVEU2OT0gCEKwHY4Z55YHf7XujhyuM3PNpiBKg/YYw5QlRU4vg==", - "dev": true, - "dependencies": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508" + "@solana/web3.js": "^1.91.6" } }, "node_modules/@solana/spl-type-length-value": { @@ -340,14 +427,13 @@ } }, "node_modules/@solana/web3.js": { - "version": "1.91.1", - "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.1.tgz", - "integrity": "sha512-cPgjZXm688oM9cULvJ8u2VH6Qp5rvptE1N1VODVxn2mAbpZsWrvWNPjmASkMYT/HzyrtqFkPvFdSHg8Xjt7aQA==", - "license": "MIT", + "version": "1.92.3", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.92.3.tgz", + "integrity": "sha512-NVBWvb9zdJIAx6X+caXaIICCEQfQaQ8ygykCjJW4u2z/sIKcvPj3ZIIllnx0MWMc3IxGq15ozGYDOQIMbwUcHw==", "dependencies": { - "@babel/runtime": "^7.23.4", - "@noble/curves": "^1.2.0", - "@noble/hashes": "^1.3.3", + "@babel/runtime": "^7.24.6", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", "@solana/buffer-layout": "^4.0.1", "agentkeepalive": "^4.5.0", "bigint-buffer": "^1.1.5", @@ -358,15 +444,17 @@ "fast-stable-stringify": "^1.0.0", "jayson": "^4.1.0", "node-fetch": "^2.7.0", - "rpc-websockets": "^7.5.1", - "superstruct": "^0.14.2" + "rpc-websockets": "^8.0.1", + "superstruct": "^1.0.4" } }, "node_modules/@solana/web3.js/node_modules/superstruct": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz", - "integrity": "sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==", - "license": "MIT" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", + "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==", + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@types/bn.js": { "version": "5.1.5", @@ -523,6 +611,23 @@ "node": "*" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -559,6 +664,19 @@ ], "license": "MIT" }, + "node_modules/big.js": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", + "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bigjs" + } + }, "node_modules/bigint-buffer": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", @@ -848,6 +966,18 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -882,6 +1012,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/dayjs": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==", + "dev": true + }, "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -920,6 +1056,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "dev": true + }, "node_modules/deep-eql": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", @@ -945,6 +1093,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -965,6 +1122,15 @@ "tslib": "^2.0.3" } }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1056,6 +1222,15 @@ "node": ">=8" } }, + "node_modules/find": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/find/-/find-0.3.0.tgz", + "integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==", + "dev": true, + "dependencies": { + "traverse-chain": "~0.1.0" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -1083,6 +1258,40 @@ "flat": "cli.js" } }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1361,6 +1570,12 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "license": "MIT" }, + "node_modules/js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1435,6 +1650,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -1478,6 +1699,27 @@ "dev": true, "license": "ISC" }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", @@ -1736,6 +1978,12 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -1762,8 +2010,7 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/require-directory": { "version": "2.1.1", @@ -1776,12 +2023,10 @@ } }, "node_modules/rpc-websockets": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.9.0.tgz", - "integrity": "sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw==", - "license": "LGPL-3.0-only", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-8.0.1.tgz", + "integrity": "sha512-PptrPRK40uQvifq5sCcObmqInVcZXhy+RRrirzdE5KUPvDI47y1wPvfckD2QzqngOU9xaPW/dT+G+b+wj6M1MQ==", "dependencies": { - "@babel/runtime": "^7.17.2", "eventemitter3": "^4.0.7", "uuid": "^8.3.2", "ws": "^8.5.0" @@ -1796,10 +2041,9 @@ } }, "node_modules/rpc-websockets/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "license": "MIT", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", "engines": { "node": ">=10.0.0" }, @@ -1975,6 +2219,12 @@ "node": ">=8.0" } }, + "node_modules/toformat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/toformat/-/toformat-2.0.0.tgz", + "integrity": "sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==", + "dev": true + }, "node_modules/toml": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", @@ -1987,6 +2237,12 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, + "node_modules/traverse-chain": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz", + "integrity": "sha512-up6Yvai4PYKhpNp5PkYtx50m3KbwQrqDwbuZP/ItyL64YEWHAvH6Md83LFLV/GRSk/BoUVwwgUzX6SOQSbsfAg==", + "dev": true + }, "node_modules/ts-mocha": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz", @@ -2291,9 +2547,9 @@ }, "dependencies": { "@babel/runtime": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", - "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "requires": { "regenerator-runtime": "^0.14.0" } @@ -2341,6 +2597,120 @@ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" }, + "@project-serum/anchor": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@project-serum/anchor/-/anchor-0.11.1.tgz", + "integrity": "sha512-oIdm4vTJkUy6GmE6JgqDAuQPKI7XM4TPJkjtoIzp69RZe0iAD9JP2XHx7lV1jLdYXeYHqDXfBt3zcq7W91K6PA==", + "dev": true, + "requires": { + "@project-serum/borsh": "^0.2.2", + "@solana/web3.js": "^1.17.0", + "base64-js": "^1.5.1", + "bn.js": "^5.1.2", + "bs58": "^4.0.1", + "buffer-layout": "^1.2.0", + "camelcase": "^5.3.1", + "crypto-hash": "^1.3.0", + "eventemitter3": "^4.0.7", + "find": "^0.3.0", + "js-sha256": "^0.9.0", + "pako": "^2.0.3", + "snake-case": "^3.0.4", + "toml": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@project-serum/borsh": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@project-serum/borsh/-/borsh-0.2.5.tgz", + "integrity": "sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==", + "dev": true, + "requires": { + "bn.js": "^5.1.2", + "buffer-layout": "^1.2.0" + } + }, + "@project-serum/serum": { + "version": "0.13.65", + "resolved": "https://registry.npmjs.org/@project-serum/serum/-/serum-0.13.65.tgz", + "integrity": "sha512-BHRqsTqPSfFB5p+MgI2pjvMBAQtO8ibTK2fYY96boIFkCI3TTwXDt2gUmspeChKO2pqHr5aKevmexzAcXxrSRA==", + "dev": true, + "requires": { + "@project-serum/anchor": "^0.11.1", + "@solana/spl-token": "^0.1.6", + "@solana/web3.js": "^1.21.0", + "bn.js": "^5.1.2", + "buffer-layout": "^1.2.0" + }, + "dependencies": { + "@solana/spl-token": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.1.8.tgz", + "integrity": "sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.5", + "@solana/web3.js": "^1.21.0", + "bn.js": "^5.1.0", + "buffer": "6.0.3", + "buffer-layout": "^1.2.0", + "dotenv": "10.0.0" + } + } + } + }, + "@raydium-io/raydium-sdk-v2": { + "version": "0.1.9-alpha", + "resolved": "https://registry.npmjs.org/@raydium-io/raydium-sdk-v2/-/raydium-sdk-v2-0.1.9-alpha.tgz", + "integrity": "sha512-sqgnxEk2lLiU9ZykXofIVnO8uPyIQY28cKZb8clO90J4dCej4gRgtDhmZe9pWOnsWKzrE5oHvU1FaWWhs7IgwA==", + "dev": true, + "requires": { + "@project-serum/serum": "^0.13.65", + "@solana/buffer-layout": "^4.0.1", + "@solana/spl-token": "^0.4.6", + "@solana/web3.js": "^1.91.8", + "axios": "^1.1.3", + "big.js": "^6.2.1", + "bn.js": "^5.2.1", + "buffer": "^6.0.3", + "dayjs": "^1.11.5", + "decimal.js-light": "^2.5.1", + "lodash": "^4.17.21", + "toformat": "^2.0.0" + }, + "dependencies": { + "@solana/spl-token": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.4.6.tgz", + "integrity": "sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==", + "dev": true, + "requires": { + "@solana/buffer-layout": "^4.0.0", + "@solana/buffer-layout-utils": "^0.2.0", + "@solana/spl-token-group": "^0.0.4", + "@solana/spl-token-metadata": "^0.1.4", + "buffer": "^6.0.3" + } + }, + "@solana/spl-token-group": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@solana/spl-token-group/-/spl-token-group-0.0.4.tgz", + "integrity": "sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==", + "dev": true, + "requires": { + "@solana/codecs": "2.0.0-preview.2", + "@solana/spl-type-length-value": "0.1.0" + } + } + } + }, "@solana/buffer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", @@ -2473,64 +2843,13 @@ } }, "@solana/spl-token-metadata": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.2.tgz", - "integrity": "sha512-hJYnAJNkDrtkE2Q41YZhCpeOGU/0JgRFXbtrtOuGGeKc3pkEUHB9DDoxZAxx+XRno13GozUleyBi0qypz4c3bw==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.4.tgz", + "integrity": "sha512-N3gZ8DlW6NWDV28+vCCDJoTqaCZiF/jDUnk3o8GRkAFzHObiR60Bs1gXHBa8zCPdvOwiG6Z3dg5pg7+RW6XNsQ==", "dev": true, "requires": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-data-structures": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508", - "@solana/codecs-strings": "2.0.0-experimental.8618508", - "@solana/options": "2.0.0-experimental.8618508", + "@solana/codecs": "2.0.0-preview.2", "@solana/spl-type-length-value": "0.1.0" - }, - "dependencies": { - "@solana/codecs-core": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-JCz7mKjVKtfZxkuDtwMAUgA7YvJcA2BwpZaA1NOLcted4OMC4Prwa3DUe3f3181ixPYaRyptbF0Ikq2MbDkYEA==", - "dev": true - }, - "@solana/codecs-data-structures": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-sLpjL9sqzaDdkloBPV61Rht1tgaKq98BCtIKRuyscIrmVPu3wu0Bavk2n/QekmUzaTsj7K1pVSniM0YqCdnEBw==", - "dev": true, - "requires": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508" - } - }, - "@solana/codecs-numbers": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-EXQKfzFr3CkKKNzKSZPOOOzchXsFe90TVONWsSnVkonO9z+nGKALE0/L9uBmIFGgdzhhU9QQVFvxBMclIDJo2Q==", - "dev": true, - "requires": { - "@solana/codecs-core": "2.0.0-experimental.8618508" - } - }, - "@solana/codecs-strings": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-b2yhinr1+oe+JDmnnsV0641KQqqDG8AQ16Z/x7GVWO+AWHMpRlHWVXOq8U1yhPMA4VXxl7i+D+C6ql0VGFp0GA==", - "dev": true, - "requires": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508" - } - }, - "@solana/options": { - "version": "2.0.0-experimental.8618508", - "resolved": "https://registry.npmjs.org/@solana/options/-/options-2.0.0-experimental.8618508.tgz", - "integrity": "sha512-fy/nIRAMC3QHvnKi63KEd86Xr/zFBVxNW4nEpVEU2OT0gCEKwHY4Z55YHf7XujhyuM3PNpiBKg/YYw5QlRU4vg==", - "dev": true, - "requires": { - "@solana/codecs-core": "2.0.0-experimental.8618508", - "@solana/codecs-numbers": "2.0.0-experimental.8618508" - } - } } }, "@solana/spl-type-length-value": { @@ -2543,13 +2862,13 @@ } }, "@solana/web3.js": { - "version": "1.91.1", - "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.1.tgz", - "integrity": "sha512-cPgjZXm688oM9cULvJ8u2VH6Qp5rvptE1N1VODVxn2mAbpZsWrvWNPjmASkMYT/HzyrtqFkPvFdSHg8Xjt7aQA==", + "version": "1.92.3", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.92.3.tgz", + "integrity": "sha512-NVBWvb9zdJIAx6X+caXaIICCEQfQaQ8ygykCjJW4u2z/sIKcvPj3ZIIllnx0MWMc3IxGq15ozGYDOQIMbwUcHw==", "requires": { - "@babel/runtime": "^7.23.4", - "@noble/curves": "^1.2.0", - "@noble/hashes": "^1.3.3", + "@babel/runtime": "^7.24.6", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", "@solana/buffer-layout": "^4.0.1", "agentkeepalive": "^4.5.0", "bigint-buffer": "^1.1.5", @@ -2560,14 +2879,14 @@ "fast-stable-stringify": "^1.0.0", "jayson": "^4.1.0", "node-fetch": "^2.7.0", - "rpc-websockets": "^7.5.1", - "superstruct": "^0.14.2" + "rpc-websockets": "^8.0.1", + "superstruct": "^1.0.4" }, "dependencies": { "superstruct": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz", - "integrity": "sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", + "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==" } } }, @@ -2686,6 +3005,23 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "dev": true, + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2705,6 +3041,12 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "big.js": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", + "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", + "dev": true + }, "bigint-buffer": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", @@ -2902,6 +3244,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2926,6 +3277,12 @@ "resolved": "https://registry.npmjs.org/crypto-hash/-/crypto-hash-1.3.0.tgz", "integrity": "sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==" }, + "dayjs": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==", + "dev": true + }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -2949,6 +3306,18 @@ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "dev": true + }, "deep-eql": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", @@ -2963,6 +3332,12 @@ "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -2978,6 +3353,12 @@ "tslib": "^2.0.3" } }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -3045,6 +3426,15 @@ "to-regex-range": "^5.0.1" } }, + "find": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/find/-/find-0.3.0.tgz", + "integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==", + "dev": true, + "requires": { + "traverse-chain": "~0.1.0" + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3061,6 +3451,23 @@ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3246,6 +3653,12 @@ } } }, + "js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "dev": true + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -3293,6 +3706,12 @@ "p-locate": "^5.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -3326,6 +3745,21 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, "minimatch": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", @@ -3484,6 +3918,12 @@ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -3514,11 +3954,10 @@ "dev": true }, "rpc-websockets": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.9.0.tgz", - "integrity": "sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-8.0.1.tgz", + "integrity": "sha512-PptrPRK40uQvifq5sCcObmqInVcZXhy+RRrirzdE5KUPvDI47y1wPvfckD2QzqngOU9xaPW/dT+G+b+wj6M1MQ==", "requires": { - "@babel/runtime": "^7.17.2", "bufferutil": "^4.0.1", "eventemitter3": "^4.0.7", "utf-8-validate": "^5.0.2", @@ -3527,9 +3966,9 @@ }, "dependencies": { "ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", "requires": {} } } @@ -3639,6 +4078,12 @@ "is-number": "^7.0.0" } }, + "toformat": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/toformat/-/toformat-2.0.0.tgz", + "integrity": "sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==", + "dev": true + }, "toml": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", @@ -3649,6 +4094,12 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "traverse-chain": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz", + "integrity": "sha512-up6Yvai4PYKhpNp5PkYtx50m3KbwQrqDwbuZP/ItyL64YEWHAvH6Md83LFLV/GRSk/BoUVwwgUzX6SOQSbsfAg==", + "dev": true + }, "ts-mocha": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz", diff --git a/package.json b/package.json index 5eac7c9..fc312e6 100644 --- a/package.json +++ b/package.json @@ -2,20 +2,22 @@ "scripts": { "lint:fix": "prettier */*.js \"*/**/*{.js,.ts}\" -w", "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check", - "test": "mocha --timeout 100000000 tests/" + "test": "mocha --timeout 100000000 tests/authorizeClmm.test.js" }, "dependencies": { "@coral-xyz/anchor": "^0.29.0" }, "devDependencies": { - "chai": "^4.3.4", - "mocha": "^9.0.3", - "ts-mocha": "^10.0.0", + "@raydium-io/raydium-sdk-v2": "^0.1.9-alpha", + "@solana/spl-token": "^0.4.3", "@types/bn.js": "^5.1.0", "@types/chai": "^4.3.0", "@types/mocha": "^9.0.0", - "typescript": "^4.3.5", + "chai": "^4.3.4", + "mocha": "^9.0.3", "prettier": "^2.6.2", - "@solana/spl-token": "^0.4.3" + "ts-mocha": "^10.0.0", + "typescript": "^4.3.5", + "decimal.js": "^10.4.3" } } diff --git a/programs/donaproto/Cargo.toml b/programs/donaproto/Cargo.toml index 3d90540..8e39adf 100644 --- a/programs/donaproto/Cargo.toml +++ b/programs/donaproto/Cargo.toml @@ -21,4 +21,6 @@ anchor-spl = { version = "0.29.0" } raydium-amm-v3 = { git = "https://github.com/raydium-io/raydium-clmm", features = [ "no-entrypoint", "cpi", + "devnet" ] } +# TODO: add feature devnet dependent on build profile: test or release diff --git a/programs/donaproto/src/instructions/authorize_clmm.rs b/programs/donaproto/src/instructions/authorize_clmm.rs index cd41744..a8e2a39 100644 --- a/programs/donaproto/src/instructions/authorize_clmm.rs +++ b/programs/donaproto/src/instructions/authorize_clmm.rs @@ -5,12 +5,13 @@ use crate::states::{AuthorizedClmm, DonationProtocolData, DISCRIMINATOR_LEN}; pub const AUTHORIZED_CLMM_PREFIX: &str = "authorized_clmm"; #[derive(Accounts)] +#[instruction(program_id: Pubkey)] pub struct AuthorizeClmm<'info> { #[account(init, payer = payer, space = DISCRIMINATOR_LEN + AuthorizedClmm::INIT_SPACE, seeds = [ AUTHORIZED_CLMM_PREFIX.as_bytes(), - donation_protocol.to_account_info().key.as_ref(), - clmm_program_id.key.as_ref(), + donation_protocol.key().as_ref(), + program_id.as_ref(), ], bump, )] @@ -19,17 +20,15 @@ pub struct AuthorizeClmm<'info> { constraint = donation_protocol.authority == payer.key(), )] pub donation_protocol: Account<'info, DonationProtocolData>, - /// CHECK: Program address of CLMM, TODO: implement with Interface - pub clmm_program_id: AccountInfo<'info>, #[account(mut)] pub payer: Signer<'info>, pub system_program: Program<'info, System>, pub rent: Sysvar<'info, Rent>, } -pub fn authorize_clmm(ctx: Context) -> Result<()> { +pub fn authorize_clmm(ctx: Context, program_id: Pubkey) -> Result<()> { let authorized_clmm = &mut ctx.accounts.authorized_clmm; - authorized_clmm.program_id = ctx.accounts.clmm_program_id.key(); + authorized_clmm.program_id = program_id; authorized_clmm.donation_protocol = ctx.accounts.donation_protocol.key(); Ok(()) diff --git a/programs/donaproto/src/instructions/authorize_pool.rs b/programs/donaproto/src/instructions/authorize_pool.rs index 8df80a1..bb7f676 100644 --- a/programs/donaproto/src/instructions/authorize_pool.rs +++ b/programs/donaproto/src/instructions/authorize_pool.rs @@ -1,35 +1,33 @@ use anchor_lang::prelude::*; use anchor_spl::token::Mint; -use raydium_amm_v3::states::{AmmConfig, PoolState, POOL_SEED}; +use raydium_amm_v3::states::{AmmConfig, PoolState}; -use crate::states::{AuthorizedClmm, AuthorizedPool, DonationProtocolData, DISCRIMINATOR_LEN}; +use crate::states::{AuthorizedClmm, AuthorizedClmmPool, DonationProtocolData, DISCRIMINATOR_LEN}; -pub const AUTHORIZED_POOL_PREFIX: &str = "authorized_pool"; +pub const AUTHORIZED_CLMM_POOL_PREFIX: &str = "authorized_clmm_pool"; #[derive(Accounts)] -pub struct AuthorizePool<'info> { - #[account(init, payer = payer, space = DISCRIMINATOR_LEN + AuthorizedPool::INIT_SPACE, +pub struct AuthorizeClmmPool<'info> { + #[account(init, payer = payer, space = DISCRIMINATOR_LEN + AuthorizedClmmPool::INIT_SPACE, seeds = [ - AUTHORIZED_POOL_PREFIX.as_bytes(), + AUTHORIZED_CLMM_POOL_PREFIX.as_bytes(), donation_protocol.key().as_ref(), pool_state.key().as_ref(), ], bump, )] - pub authorized_pool: Account<'info, AuthorizedPool>, + pub authorized_clmm_pool: Account<'info, AuthorizedClmmPool>, /// DEX pool state with current token pair price #[account( - seeds = [ - POOL_SEED.as_bytes(), - amm_config.key().as_ref(), - donation_amm_mint.key().as_ref(), - donation_protocol.donation_mint.key().as_ref(), - ], - seeds::program = authorized_clmm.program_id.key(), - bump, + constraint = (pool_state.load()?.token_mint_0 == donation_protocol.donation_mint && pool_state.load()?.token_mint_1 == donation_amm_mint.key()) + || (pool_state.load()?.token_mint_1 == donation_protocol.donation_mint && pool_state.load()?.token_mint_0 == donation_amm_mint.key()), + constraint = pool_state.load()?.amm_config == amm_config.key(), )] pub pool_state: AccountLoader<'info, PoolState>, pub amm_config: Box>, + #[account( + constraint = donation_protocol.authority == payer.key(), + )] pub donation_protocol: Account<'info, DonationProtocolData>, pub donation_amm_mint: Account<'info, Mint>, #[account( @@ -42,12 +40,12 @@ pub struct AuthorizePool<'info> { pub rent: Sysvar<'info, Rent>, } -pub fn authorize_pool(ctx: Context) -> Result<()> { - let authorized_pool = &mut ctx.accounts.authorized_pool; - authorized_pool.pool_state = ctx.accounts.pool_state.key(); - authorized_pool.program_id = ctx.accounts.authorized_clmm.program_id; - authorized_pool.token = ctx.accounts.donation_amm_mint.key(); - authorized_pool.donation_protocol = ctx.accounts.donation_protocol.key(); +pub fn authorize_clmm_pool(ctx: Context) -> Result<()> { + let authorized_clmm_pool = &mut ctx.accounts.authorized_clmm_pool; + authorized_clmm_pool.pool_state = ctx.accounts.pool_state.key(); + authorized_clmm_pool.program_id = ctx.accounts.authorized_clmm.program_id; + authorized_clmm_pool.token = ctx.accounts.donation_amm_mint.key(); + authorized_clmm_pool.donation_protocol = ctx.accounts.donation_protocol.key(); Ok(()) } diff --git a/programs/donaproto/src/lib.rs b/programs/donaproto/src/lib.rs index 2832521..91548c1 100644 --- a/programs/donaproto/src/lib.rs +++ b/programs/donaproto/src/lib.rs @@ -50,4 +50,12 @@ pub mod donaproto { pub fn withdraw_funds(ctx: Context) -> Result<()> { instructions::withdraw_funds(ctx) } + + pub fn authorize_clmm(ctx: Context, program_id: Pubkey) -> Result<()> { + instructions::authorize_clmm(ctx, program_id) + } + + pub fn authorize_clmm_pool(ctx: Context) -> Result<()> { + instructions::authorize_clmm_pool(ctx) + } } diff --git a/programs/donaproto/src/states/authorized_pool.rs b/programs/donaproto/src/states/authorized_pool.rs index d239bfb..747e4aa 100644 --- a/programs/donaproto/src/states/authorized_pool.rs +++ b/programs/donaproto/src/states/authorized_pool.rs @@ -3,7 +3,7 @@ use anchor_lang::prelude::*; #[account] #[derive(Default)] #[derive(InitSpace)] -pub struct AuthorizedPool { +pub struct AuthorizedClmmPool { pub pool_state: Pubkey, pub program_id: Pubkey, pub token: Pubkey, diff --git a/raydium_amm_v3.so b/raydium_amm_v3.so new file mode 100644 index 0000000000000000000000000000000000000000..33c3e58b1dfd9707a5ba9894381f2cebda2e13d7 GIT binary patch literal 2044224 zcmeEv34B#oo&OE+O29e++6U>IX?ZE7q|w+wD`LiKXl;wQ6xzOms6!rUWvNRZX$yzz zlF-^BZa{4tQOCTO0Ksu2j*j5Cytt#&ad2jIa2bbDN6~S?zoX(Z^8bB*%YEl9AqgZD z{dhl+^Un4=zw_J9?=1J+*WdVpn<3dhsYNqZ#-{17AZQ5|1(WFS zl%Sf+#waJLAWFk+_x%~yvoKIFD1HI`AJ`=MrD4zOxLRPLUvCn!ekJuv!)bpeh*)U# zCQuc$x9pcvuQVJ0OnNM=mS~WlDL-7Dq@=2*a6&#S>659s9j8v6I!FzC{7FIZ2I}AM zd#VDL-Ej&fT&|nL@Jgv4D!f>*m;r$+eod=)d7YO`(m)74X;lYW-L;8vOFZfbbFqz69BY2ak zIMU;RARY^T#qj+84^lbwe^C4XE%d+lu(Y2WlrU3EPze9TNsUuO96zCPrBC9x#yOkH zALF>+-T<|i@00w=Bn-e4cz>O6cG&?gpQ@T1fajT=4O}o@CGvc*D&TaN6S^Bc!(GyT zED-r{xkG|Sua>(=@tI@g%H^O(>F`OV!^c?;dIV0czZjmv2^H=m0zSyklOHB`wS@1- z9#&bWto#DW_xUxG_;rxbLVr^%B~&gW;z-iw`PaWcJNxtOVdUq^5z5auddFw{8hmH!pCCW;f8Et^Ci3%)^IU$C zPq6&F$(NrI_}lRJe1Ch#docd$IG@w;yv*MgN2|=wo&(O3zcgRMQa?MNEu^2o_^SRF z#@z?W1$0>%&s|RZiPVHi?1uqA`WJ*(N`3POVw_6p<{xOj`3L6roo>ES+W+<^sQ=%a ze17zQ*%Q@&a`Daw{x>~A{eSs*_J3ZI6(?UO`eS+g2|Nw32*(Cba-nO^_(h~#hNcB54Ob`kvZL9ahV@_H`yx?@CiJ#)QYTS>2@ z^>JGKgnnl^2;fh{Z}$E5#9zbis2$CT{e(Rx6B4v7T*np5*UM$Sb=3ZQTJSJC13UX_ zGWA3I+r#5O;k5We3gP!tBM77Q{;|XVhd%z#;AUu@yq@iBxT;0MrHjNa6aDeDC68S~S!5LUbMwM{;4uO;C)^MBD->da6pmoTSacmpnO7B|Y=jP8A z)-6Hz7agi9l8Z$szeeC8|4Fns9}iy436<7I7ls9RkSBB<>!bZ%J6In*?8N~$|G~og z#CY~^!7%;%DXp^=*0H}MblooFJ@zH=goy#Aw~YV!)6kp!h||zJ34C@6T%XQYf5yk- zU${M&75;{aWg0jBuhh87L950Ezc8^*v!LN;9 zES3}G`~DK-4&}jrlz#=4&tzJ-qi%1LwBKLPVM_OX+{PuGA6GxqWtMRqa6o#%d3+7o zrH!p6<<^yz`#hC1es#=h;e6X~fqhy`DY4)$IXxUl{(hH`sKno&f7<8oqsou-hrbI) z$=@dCukdSV{;p(t7x>%Cai70Cn7{2M0W6Fy2J=TI4ibwS@T-E)~0-FSE~!M2;t1%J3j}kk>G=gVSNp@Pyk{Ker2?PiHrV zv(xW@TxA6=lb|(jlG`9`rOKLSkU`&dp*5K zpIbz3GaRsgx|n{Ny)Nk2*z@;kL-6<3BK|&d-to6{l>FVo{55+$6n}@e*I!R#JRaU& ze}&3{Z+JRpjox10N%#(Luam-;< zmpX@b{afUJ`gXmk#IC=S_F>||*xU76{?7BiBl|giF4XXpCT}^VEpa+0pL@? z4}WD59_OE3uNtM^|MswN*G0Zvzv#_q?D|Vs?^~f}!RhS!9YuQI!sUHG?OfUQjv@Fv zzlgu*pI!ef@yoXd!;RZ{=C9aSw|6N14sX|IkI=3siufz-`urWv58qGt4sX}RPPeUk z0o&uYrAs*U?ez=TUWReHOdv_NxEVFZwVVd%dT1Wa}n9RIcEsJ#qH><3sTG@lX2e zCg-2Mt{EkNr!arbUJu3J;qCQ$=5ITXuZ8ireBI>EBL0rvUjO{_BeB=wPoIzLCL1AF zStb+DD@)f+9%1`Dd?RJWBrF#{4yVedg;XA7uUxZ?E59#NW}| z>+1;LA^mIF#tZT{i9O6m>)xB$zYZHZhgkpU=X8_1vi-1rwXd}9UAq6s`(a&@UupmG z6CWadODjIRG`wFz?Emcj2*&?~oG_N_+E-V!&*Rt6>@fX&Blok|pLW?E;Y(s0hb}Al z**=54R~71hu*)QwPB#-6?AyD&!q0e>oN#p;>p8#RFEnx7-;en#l|Nt-&PsBAw5~l% z>f3vC;Vh}|vfYB`tVLWtdLL-i_;dAOX#7dQ=qcb&0z!|E|4l{sb2go85c-9)q<#T^ zsb9dqmMgfd>Vuw73{^g(^9j!rxTZgOsTLIUNB8ZCh)l=CFmiPk`^k4et}3i!J@-A( z8#w?umU?seKqbFs{QB2CME~l!f1ob*31r{?Z1rU{dh+YPl5v>%d&YVq2T?|kx5%IA zNdfQS_2b(`cnh4->xbBtXq-{`kMu*#MBzQ%hope56V;M&^536?{w4_(*!!P;4(ABz z00})9Z(zslyiWL_^e-07;e6ju8=!R}GC2!svb1qZ$|exA#Zv zJaU*gtohsw?JEp&yq55p()LAu@8s&_ElGQ?66uq7ZCj7hFMRIjz8C8IvPgHXs{`p1 z?|F4~m^cx^`CvoOmyrJD-_E1=S59)e-ya?~`%r>l6FCN{f1uCrAEth(U3L2YYU#PA zhz}xOMgHtDg|qVA{(0gApC<+%K0@?!`vgyyJuY<6bEY_#4GuJ3K?jZKLHU0``RN=D z+{F^&ypR8W;H9^h^9%j)&wniizwA75PUs(Asr=FRG9VB1FOmoUeNzH=s_?$4ATl23 zgpUC4ob(gtrH!8NWxgB{dgVmEhQr_ZGq3?iwdK z`0BgH*B(6U(JQ_ISxtAo=^Z1HgTvi_*!H0QEahMx9kGTS)KgeV4z3s{Ie288<-mV$ zb0l)`&>y%Qe18|@_{_(JQ}aX)@FGVgIrz?@vmX~Sbyq<(gLqXEK}COIjVBlJsw(yu zVnH33A4|WXc)XDJt9-wx)Ni=qEaih#%)6)J&$&N-d*)YuLjB68b9)0i&WnFpxZh&z z-%A?G-+0$q%2nw&bG*dg=srhsHR~M7m4DyBrMC|+S0^7kyYXkVa`i)Q?}?YIKzoqUX{w#3(t{UJ^s#uKQo^8s(3sbUatQ39Lv>v&J(%1;4I~;bQ~;|s|jZ# zS2V`riQb3Ytm_qBl771Nim%ao8>ygt+~9Fa-&e-GZ3D}rtRocUaUnN=c^uEX?S3%3 zx9B2S?}+Bz*Xq2R$`{SMb^Z-~E1GxDzmDPi<5?$7Ac4U~YFOXjQ5I!l-ID_Un!I-gJLEMMLU``@GEysU2)#`(`ky4|PN zr~cg@o%gTOaH*t+&9a`+)*$uTbUn%E%Z`$D1;`Kh^d81zhvL!A;ZW;62Wim3l0dXx zcAwDMDSfd%!0QLX9$Gg&$?!_=r*fl^e>Xz;pL&kuzi6I$8u|a-qu}q^%m2>-=Z{eS zGv|r?Kj%D`|4T+F|L@%me`Ngaf03Vi8u@?M7|H*`f28t1{XCKX|J(sPb^hA_kI;KE zBk_Nho+J4$T0c0A{6A}qW8 zn@@yWj{hDB{=BD2=Q$TTlB4}iGSAt!h{LtC_kkR*v%ibCQ0dz2k(( zWGa7*;Ncz(q{sDM;!5{pC#jr&USJE$alN#kOG+5cW7lb%8lopmv})Yuu`4ys*_6MG z<9?sl&4dKJGu#dnX;J6xsVQb`Y+rCeKs)N89iXH0N?yp7HuejDsv zAnoOg^}K}L=Vo}@`HaH4 zz!8E<{CQOPL-%wte&Nh|PIpnNC1uQp4lS z35M@-CnGu((Ya*Z$<9TLWL;t?yY%uQ?9%&a|EAn7mCHZwV*sDrX4s`|A~*YXa5x&f zlp3X7+6=xEacq6<`)`N7bxQlW%@Rg-X;9Qo{(2}5`d+|#dW6fTsxFuN zb@w0RIQc^omiW)$51vrJQ)2sFVS~UaZ5R89{jV#YN0F#7|L%GV$tfcAgu6F$d-3Ya zId0ztT0z7^lX=Ah;|IB0EboxF#yKD3^6{#VO1+0TAUUCl5k1j3n>oes-$H4qhv^l8 zIpsRE+yX%)KH>eSM*Mm&hv}T$8|!+N9(_umJ;xbdxJtvNl1_dvr?)joy|xP9nb|?@ z`uYq0fFCWe2RgrS{W};=EEr@w?E5(A|4~XQr8D>fIRl(#kFKfet!4FFhNz#Ubktu^ zRDTPll3mOk;jm55bCx}P=BKY#2tjh@AZsX>&hJQg3{1*w{nNA5eZaZuEzj<>(uTs_5EBrx$ zI|_P0BOnhair`_CfgL`~p`Gs^i98s*?-jul|Jr4C2;7a`0{1NV_w^$9mkZoXkHYUi zYxrL(f-erK%M2*|LuU>DQ$_G~zL{gN(RZnAd%fSqpHz&>*CcmU($6WowwO| z0Xs|0c=yJmHpT@Rr|mt&q01Yc&pl>Rmm&53x z`5lLl$E(Obr-GMA`bJ6rlV8~*^v;4>B+o>hq5R5^(*9st&wodLrGCdDOo*R1mj30+ zA^girJUcpizw$fW&v@0hIm|!A!CCl~Uts{T;L9AIOTY3LM2B*}^83=SjnXgZ-!$T> zZ)d?@*a;{C^x~&)^8JeaW%XMqrBeMQrKA4$i|UIY`F?HdF!lelsQx>sH2hLBG9{eJpN@knfdX&>AoM1U0m`jhVetsM}PcxcbwiIKZ*RT^t+Nj zegNml{)qhXuTy`|r9b{SwKtyr_#nX_OMm>s1TXT(b$`Z}k9zVWV6UG4^HZnNdaf@{ z-!CVZgWvarrGlStcI~|cFE7)XAf@LZ4$`PxT5i^!!h3+Wui|n|Y)5T>D;5YKUvGhr z&7a}l050&m_7g-GJwJ~2fS>J;Jwm_n*!vQG|1cj#{hPUe{oKCazfP*>_wTJk^slts zZ~OfI*}Qh!u>Au*e*XX$_|=Z2fAgp?JyAbB`}SY7f0QS>-~qf3@_i&P<#@P3)_5;}}C1+Qq_|trJtdTGXfIjHb^O(s9p1%V!F4;BoQ3 z0-a!wfMPgP+IQ=c+>l!jXoB}|32&c&$3d@MoE_xvmk@A&Mdj@KK*qnu86+_D#H%Lo z7rwDReUj>@Xnh3oi`k--2!gp32b`awJ(cH-($inhrt0ixqe$Z%8DHa7w5UUm+X$%C z-UMNc%SgY>FSmO^3inoU@xbYOG@0p2hdU+2ehAtNZ_;#qk0aFY{&id|>EX4~Zg_>j zi`G5#dlI%@GyM9zz#Gr?qbs3LU4ke01Wx5lwlN&aP&Z}JNHVfvW->=n88 z<>e^&MQ}c^>rY?i^J=<3kdu7?w2voTC~{}^sLY;}=$oAzv;IJThC1(2Px@Tx9NMc$ zPvgNI+16~jUg4gZ9okc$`{`^BmD9C$ab=i$;9`~ z^iV%RhbHp-O5c--1q-;KUmxXd{)&2UCc3Bf{i(wF4_#mE9}qf~tm75Ve;nuhutDUf zteu?VN%C+^@!XX1+nd7$qIE*O|EJP@EGTGl7z>`l_0qXM!LL{O(x>?DIV5-n}p3Cr|f&b<}%U(dru`Y-1?3;HkT@yhi-U^K>hO1fgPhb^mu^fb3prdh{ISgpDX(EiSoYwU|{V3?aeCXHpYyY#_ZyDa{ z9x0Wlgq}ZaIKu6fwd3j05yf-OQ=v!J-sOxR`2mWzwC9aOWD!a4^?Xm^yvui`e6QB) zQ#|(w|LD82oF6Wgbo#C=$LYJW654rCkFGtSi-)h#^-iX1kF=NT=dhCA@1Xj=-v2kB z6WgKnx;Y%GUuM?|dN25fiEUDUzx2aD|3xe>n%AF1`!p_MWfAi5fsbKc00|`eJu3X7 z`{Nj%wKue$|3u{OEXMh#458Jj}CqKD;rzKF|}>v>C*UaaR!qV!@tU&iUa{v3xqdgFYpj-S`CJc@j{ zoXABbJx6(8&)-ILPiLhc<$A9D&uYKR^jz#y*dX@H$CKOf^rl+z{Ew@l=hmL-xx&|T zSp|JKCUh>-^S@xaxL&Q-r+DrW{)MYFTq@~dvy^LVka}&(Hy_`lC3Z>;O7y(AU#52jJr{iGeR|b%>Bs5xyb1mV>G=_&81(#F)^lwq z(sO}l?Tx3Nzn|K#qJ^0*Ru>goA5)t?WuJg(&OE;?si zKAxkzujeyZ&!r#bdanJq_f*UDyp!7t8#b5W$?bT0zFF~1G(c~xJ=1fgYfjoL=z04P zdj4kVXRp@lQ#|(w|H4%oE|v7KS<1CFNWC__ciE@w641rN*XX)|>AFPex{Sk0dcKJ2 z`{Vil_~%}8EnIJ?ewp4C^jz?b&UNc~xqO<*!G0a7a?yB>c?aOPQabef;72i@EBzup zZ(=;Gz46rZ`9tXWrZd#@c_Y;GkAd!g#CrbBGt~1(i0Cr^X4a5&p$-%R~pZML;GWAGM>Me;8hyWOa1oeu$~8Mmu3F;$KDsS!Enj~xU5C4e^?Zlc>*jE%ewiO#@Y{tRXR{91!g{Xs zi}ZXO<6-TMr{De$)PAM$JYYQ^{eIg3!K*Z$m+rUS$a=1R=pW&J+oxC_J9S*##^Ffz z+b&~0@8R-=@qGOD+x9H~!`yGXm+9NC^xdrVE!X$b{kC7?+_1j4>vUacxc$U}z8~Ut z&b$4#g|NP~KA`LISeL*P)?w8Ep{{4uag^do{t?#IbBO);9o~8KuueAgY~5(~8ZJib z+#<)=_XC75v5x7niR$BIVDvpFop-uk$;bM{FKH~k^u9R^sFu*Fq6ZO#;TGXzjG@w) z+biujea~k0F0K}YbEF?`kJyd;t&(12<6WP~LC5uy?w?0FN$Vx6w`zH<*KxhVTOf48 zd2t{W&XM?9ilAR^fzV^NwPX9CGfs;9WlxA)%#hH|t%NgKTOQ@46dQcc4 z&WYg(b^jZ8j3*J_u!H-N*ZfTsK9kD{-Se`%5L|sfCDLQxb#WV2o@D!&&m|nA_CtHm zcdFRQyr?g=dr0V|_eQLqDe&@j64s<8bo%~RxVxXr9{@7+*!@C$PV4u-=dqN6-`8mU zeN%#fnm@H#>tpooqz82oTDsj6lkY}O;r&`WSGAAih2f}N8GfJ({R>tv=W2n;jpf_- z#&FN?HT0kq!qxMoJoJhF1*;cG-0(JeM*bwqvUK#bh8~ngxLW&(bYIV|)^y)5L&t)@V>xnr zMb6#6c8-_oE6(phPS7SoNVm_&RMi^_ZM1wAOqUyV$9Hc@>N)nGM+cxn{B*%RcmylXo2rbyns z^dfoJbl}1AUMKKZcS&e^Z1l)nF6nCtnML&T^BUeoa)tiIf=ju8+a={zUoWA_YeWyK z$MjJ7wEQx9l;lIMF8A%hVu2so1A>dk_&nzJK3dM?`+mSL$X1lNEZg1_N@=j)}N=v?`JiR0eFK{5blmoYy6^i?$P zcu31^E3q>jH)ED9SlKe_dyQ+K2uP>UrK3IRB~R ziQ7LQ`l{<{cHfDe!;bt+`)=wG-%<42J4WrHpZ`Mr^wWDlhd$}AegDwxu7585n{VLt z8?`Uu&)K;y>#zC8K73nO_@wr;na{cE_#KVwzht0y2XNf zxSr3aLG`Epg6Qb>9btMjKJ;oX=k^~K`ebFjpmAp>r#HUw0m)at$L6&*zmMi0SuV!s z%1j>qmfBgL6S~trBf~H3KU~Qb?r!)Nr~7z*%kTspseesWa(!0I>3nAe5qCDF$0s6} z!m4_vuhARzu)|?=ds&sdzjNJV;s=`_ZR^pPC-juOFZqu57T%Y%_u^*n3c{zKacLa*86B|y_C)?Nd3fsz*G6K z`+{S-}un=9NPPGH8!u^$jQ-q zr`s#~gLOF~8MQ71T0dXPf$kqa1G-1{M(J&QXxvHw>A7xWoI~R$3e1AJ^G%N_BWg<3l;W0YPeAC)g5ZDRQ}9f%~ra> zP6ChAgh>JJH+4F%u2H!(yKeT>?0ziJ`OPlwHh-^iTS#SmpYE4e{6NQ* zC2$-3a*C&|S5_*2fnQ#(_Xx`7WuAQYL(hn8w-Tz5muWn134c;m)jY1uog5FAQ$FnU z7fRl@o`ZD4`%nqqU;68Uy-4RoU)vg%h`jfHjKi?GMdE!QlK9d^65sPaiR=3XZC75) zgbWwT{l?)<`g=NeG3CEcp`CE|60R3+U&dkHQ6fE9mwG?iDeZSw=tS#2T;ATdqy0sVYrpk9 z6d#Xv!o%;!?-VbSo9_}{^j@mqlju=+0++@mjZ3>>Vu0gmeb1&XafsvbDHk&Spks=D z(f2Soy>aK&Q971NF)mXPme=cFMB_Pxho01w%Q!^+(sKLX<=KI(v}b&!`%1W-Q130L z_mDL%e75sO_MWVNULP)~PZ!Y1*QZYsT@KRTD<14G1)B?gsmm_ocFbF;XBC$kl^lVbm49nppLeoIx5$*yNSGP!jeu26oa zCd}Y^sj6R`0zT<;$fq|GpYT1JRirn#wgvN{Sn!YBpALOLy3o(-Io;m>MZb>Ipk(^) zr_Z>oke(O!I&ibNo6+|~Q2(8KU=PKAF!@6IyEq-xDEKYr@8s7A9F+UX-{Kw{5wuGA zALo2fEs`{x{R?gM_o!mt1j@(tGm`%wK}JJ^po z?8O1U&GQq^ML)kXL_hog7PfEv`gxPrPiN^~*7nIyLpOkUcU76%^nR)dR)?X!|-8Ww+ z`zIY;lHQS#a$!2j<-#g~6D}9L!ucYvc5i+pPr81Puj6Xmubpoudr1B#9@~G!y+7O^ zk}K|yu8Y8b<#HrSP7jbDV<_T zE|8h5bgEW51xlX_G<;C$bf41c4yhO3q;y)SbegGjQoD6JI(2pZiB91N==9P*(TVPH z5IK(IN#pqnP&}_8()fbT7>bb+QfDen}!~Y_|xBl37(BcyssTA2$eXql* z-95;uv|f6X@HO8m3Hh5PoGsl9@^@+cUI`m-6@#0@Qw7 zSA3KF6_i0w)DE0$dJHd|!vJctujgdGXO7!dJWIdhV&7}QxWw&JeQtMxv}=5g(|Qvg zySK&K@%i=kB7RBx(Rp9J?*--2U&zl}{qi<`rlsBrDg?p*S7 zL*b>WW=ni)lEbLIE=aq;qpmVNUP18O)*K&1|ukbMc*-R<1;LkZd zt$3ygKS=OM@OwV@FUj@G`zLr7@N437K7Kc7|F%(1rmKbXQ&qA);I=N|c%i=Z->?6d z+`m>WCk_ce!Xi^PwlPEKafvVn7>VwZ}u#bmo-VsCH|RyrRzC9kC=Kn z{qo`01OA#4`AD~LdB5Boubs5&1J>6;e{0|DeSE_I>3nor8Jq;ciK+dG@EynTxrVhx8Tf+*soOO@=ReJs$WUVffwS zhW}?6e$SY}FQxw>f^Yg`=Z@nO=};LxcAj}H*<*~9lPQEo*}fOX*C`Z_>%RPKTi+1# z8Tj9UtEO@oAK&Y@r{kkbH&HIh1<7qELV|1M`?&ui-^f2&lHbGm%P3XqA1}#&7w4~w z@{`mDAAUFIw@3M<@ZZk)n}^Kb!TFs-=D(Tqw+)%Ujq?vh`GDl(_WIc`4Rsj zdV+f6qfZ+dA7bPf!LKJcet%!i@E464{A3CIRSdsn%;1;e|00IJZp`2(36f8r>lwbt z>v-6+g$%!Y-0*K;_&s9=zm)!$G5o`020uxVeEQE|_(#SJekuMJF#MBa2EP>l-z>#= z&eN4>UU4?#Z7KdgA^2tXXsy_b_~eVEUpk+dNB(CMrNIA0i5Tx{7yQuikngV(erS)| zrS`F2k-~(P9=C=A@>^vfGrt#pE6V$F@MVG%3!cmsT-QnQH+B3gr{{lbJ~d2FAz$LD z3IE0UmDVFZ!|nVB=aGNnNEkg=z)KVc@WMs;Ym&W9n0PN85=mi zaqDzW50{Gm+J52s+I5`o)AKg!FU}DlWBo>{Z|kd#TWJA?9yhC%>%}L}in8c_2 zB9iwb6psZz=eX5(ebRokE=2tUp!gKg`?VAYNo*gcri;PzcTDgr>M!Ak{>G<#mEo7C z{|l$b0--~Eq7XVNr}Roql=-vmN7+4q)<2&vO`waeKUsg`Sn#7K>i-4OKg6Z~a&F7y zCn`4uy_R|?=eIM5+QEKi>uZbmGjU=P`=+&@FQh}i=I<_?Z^$oXunZ5s=-y+dL-gI_ z<`WzToL9d3&R3yKdgH6_v~|e?y3UCFj=S#RQzdKeyz8E@;V9QTumCj(Zo^@LyL3?C zQGe4L?_zj&t#z-k`PG3rTE6*^l-KVHV?F%dyEW%|-T29Y3Vm~=aN%mf? zzmGgXeD}{?VE@;9(A`|``FFg=?HpKB;w zOUp?Z32%ubH3$woT|&PcG&wKkC|FCsp?SAZdw86FhZ*a=@ciu_fm<%-Yy=$c8YW9<2j)1=DmJ1eUyKI!}PgR z%KLOoQc@&mM(5Ge2SlW&hWd@?fVMlFd_{D=QR+dinT|I|9C$GuP5!n2pbwffeE_|Y zb&Ixd`$!QTiB3u6E4^y!C_>Kx)hD~(WE15xe+Uli!CWaV)Ho7OwfLW%S|A_4mm_!%zMalyX-zEsBr;#bkQpm>=6;yg{oap8JtAQ~4|4KXel zURP*&{oabbk2>7A;Pm@GPW8{Gz+;2c_rJCH&L)p!B#w!at1q_S2$qV~BLi z$EwAa*2(`4?tl3y^Z(P*?H;7){SSS=DOD}!{eAn5^(nK%c^yw+k1^E2j?WsP^@W{i zfyTWx5+Xf#4C_+~P6&64|9p`ABG~cx#210r&mHUPd-^Qb@Ts*oz33&V;IU&*eT)HnC>UZ+OjFgY) zxKQGlm-YDfxHaoMETQw4eNqm~d`wS;VrH`Q|k5dxc>l;B47uhv9WnSVpzKQKo4`*6_S zTgDjwPYi+okuk#GhXefY_3-!4cf++iDC~&*L(3n{dAC05Pd+Pvu(Vh!FV#E$JRM#jDAbn)v>LM;riX0|hUMwagn!L?iHDC# zyQOrodlzk;*4oFsHAz*?|Hk@GC&e3Q$Qljec-k6d9g5?GQsWG&NKcHt{em4?LCLT` zH&fV2VMjvNr#6v3!}Q!t;ULntC_IXzi5Oc+>h~I@TbdH-d6|Cq)9fnbVKc!llvDcD zN%;=77i2D3pY7hvSnzZ%aJqh@M&pc&xZDcDi~B)gC#7_3QNMczX9t+?pg$`pW?!TBOGeSuq7O#j(klt|BY8I{|##O-}RyH5{%=_lBQ`pOrr@7v+u!R~el9MroO z^1E5$;e*nCnf#XMnXS_l^hD~9M$dKu-$+k~*R$Cp(KDU@+xbdc-$Fk>LMXa6*&i`E zoIPLgc6Uj?uUjtX*4#Qt&)=i{x?RH?B)skhaEtU#={sBH{<`^Ct&nva$c^nUnLOG$ z+w3J=Ec)&))(cSH?(xDr9C3dhdO7vq_+#tLYe{anoi#$gXx&@!F}Udeue|ff7|-#z zxk8V4O!_~W#Eit_RCueTI~aMC)AN@3Yb8FJ8YT8c_P_B)#0cMI97N}1!|MgE-2-R% z)ad-%T_Je8IZ`iNEOC4PA@W}qNq(svb!#Nu>3yh|)`{J8ZPKo-!`ePd;{wI=3dQpV z2@Nl&bTs@zJx>{KlyVrK0Kwkhj_^xMKInXa=vRtYEco#$l(2O-)1NptN|3Jn^8M0! zGUE2WOY~lTg>sKP;`v9d3@#dv^Fz=ruKu%IEOd%jP3Ma4dZ9nv*T?brWRZgizpVlv z{k)j*llnFe9Tf5seJow{!7Y}0cAuB&72wn`91>)D%+8k4#cMZKL>E|9;)mKTd(RPg z02QMf>?@vpCkJ%iTJZDlA3;vpJz{E4Y&78~wrnhF-)>1i)4Dl-Ipu1D}caRcMgT7xn;<^g>gCnS%Pe1mTvf}HF9r7m}b+eu9j!(!*z?LGq2 z6Z$S5mxG@V{PgL(bir@6zH}V$ukz#?@kL(T{HT%hZ>OgkNaz?aeR2j$0-KQ9<({(Q28KS#Xy z==J9c>OK4!4x)X!)7dr1H|!ch^EdYq5g{*|D0~j3+k4_R?%Fv8J7*BlyFvCF&eUF+ zy@b48I?i<8<{lU1;=Qh+H!7lC_) z{~Fhqg>q-_vnNL0{+GGF&IdA0qi+8TTwmr7E+Z3=(cu3{uCI2GTQBTCn|{JRc2eF! zk^|%WR+@w6#SIQpn4luRLb;#P_iZ637>8UsiDI;#CG(tco`kl(70wg>+xQgDLu)9{ zK@iTqCL&eaO@wOJAe-bd-D-@lime=^;P z_75tR`&X}jHts=Rk_69RXI)192R;Lo4t#$8KH5*%e1u}uKb>br-ho7xK>l=kdgkwFI(TjJ`bL`le^{IpomRyGlj&0pz-E+aDF2gNspa-v~!4d z-Y4^1&gS!4)WzV{3g?zPB|U$Wh7V{t%15~s6fUCh)tc|7Ax7stS~&>9Dv38Pc$gEM zo_}z&h=BCi`KX#3IU3l!dK1CDhLYf)VFrH7&60m$MR_?sx8fvyEvYRu|CZ-T-0Ao3 z4-h;&PVaT7vHq-+^l1HXs+R!sQa$`{6jJz~^Z$ zARm>oZn;D9qjq$?Y4#kgCu|Bk&fm!zMO94K77 zudC*bT3+F!JoAf^nP1w@fgMurfXXxMAUI&-MB^O&u1r?wAEtpd$-_<#NdJT%;d0a> zzV!4o$6u#!ZtIg*}HJgl9`L=SK-yjAk;+#b?Ny=k3X z^kRu`4+p!wBv%$XqM(VE125R=h*ybH~zs3=iWw`qQ{r z5U8d2lIvuR8vvty)+~eP^}2n)%l5^+^g&J+IR{+&7x}eeLgX6otG)B#VM5mHP#%w+ zv-ACkeuC?d_c%9z@%<~b!Gn6xARCvF{=(?1_?lP{02+ z^3(L5?vDGUT#T&*@l~3S_|T#EuRJ2fsQt0W=PQIyEXZ>|Y(8N6oT{3_E&K9$g7^vf z`}mW@@BD|?;oOXlw`zAwzawIH8u|)3G(9ytVefk*zlmB5XGn+5&$V+Wkk_f3z4Hq5 zq+FQjWc(qIAA7i<&sGn1GD$_bKKaRbF9$421)pXBZZikb{v*o$jM_;BdCBimeqSWz zU|*=I=slo#>AhoHrJU`%4SDa_{VG>#Co#=pxN0Y1_wZo<0nd>4jy)jbs(V9{%Vj$2 zC4BHI3AgEeW81}kcWn4F)2n0Z5e~yuhb7eaN5bg+kO4_=5IOhd;3)CYw^OiNpxXmm zanJoxu9vFPd#(41J#>1{xxF7~_uts~AH5%=cGBK+DQy?~Io;m5E7S*v(EfKe(Y#LB z6~wFOaR2jbIf(eXg2+l$PIDiQI5_dDB~oAgz~S!2!TX(%Z>RU;6z;|OONJBUTM%iy z&V7^V<9cO0aD7UjJ)%e9Dh=&ic(asiYmj<$e=gVe>C#=o5AX-{_yozZ+uI}U?eFF= z#<$o~|2GOKbS$mwA#HlT!^fvoK5$L~@ZeeiulE>Zu^nIzn~f#;*l`Lv$u|AP1@7a%Qm0v@;yYV}i%6*^<6d(rrAq^^W1j85@_w#SAt`#fG>y z^9pK^p3-~JFpmQQ@ff2K&Fey)ci>)C7J>2NEd}y>G);$i#F)^ zwOhxp?K*x1J;VX6Lz=!>yx9IlcCSOrMfOkD?P9vJdM?MW z?-4zmeka5A+xYc2(l2lPdIhEUcGku($QktF*nI`RAXWWJuD?FBj>EfcJ^wWFaZ<-G z=pEpFwFq7t!zpdw##etF{pX^3FXeja%t{X1MuCToqn|B;C-d5LM&OX_uGV<8{-EDS4wtI`Cc|5Fk5Oqm{`=d|KfE7Z^nK&& z1)tf97kcM^58AI!U5n0-9waz`=k^aW-k68sK{}q*)L#x!i5|>@(4Um9-&nmGZFer! zM^%(V=(mfwl`A{9N^6&ROn%V6qVKZb$l2WQqVKY6I`-ifQjrxD9wSisRw+MQhJ(OO zI?4UB^I~q2twTuYCW#+x=Uv^TV_IIq#$7@H_($KMbwz}rgWZ=A>i3Ys-Qt&H|BO(f z`(|Xoh~6h$Ab5q%VrK!To%FD9e*0oBVC7w|Q0_mxcJo8XSLy=!UJLXc6bxE1Q-G>aPsb1MWS+u^a z^o`b+mA--wulqB;djCtP>vz$*w0<`_K5-QzfbVNSFA+f)HVZx}Rz#9#ofqsY(Z4c% zoviw*``VLLzHNVeAITy5xBBheY|%Xkz!&S_MS3`2%FPxwM&(h?*T>ab4*RKK&FX8V zUd>_&Z9f(H^e?bTKv3n<+$&a2RuyG}{``fdM$Hi)| zb-o%Zo#D?CXu2=xD7T+~jKPz9OMzJMQPF3W6MvjRJ+p)OP9+|*f3Qd3zu7yx@53J# z4^w{FAbJmdIs6;g1&O8HvBrd0PCj zLPhd(rO21P-!Yc^JCFVN?C@V#0e^dM(%zpqDB|m_FOxx|XDs}!-<>7?%PQb+<9)dB z7~?sf^#9>$vgHWyQl*G)R)01% z;Q}7_eRu;j9$R^gmoI+{@u^?N*I1zQzk39q{PQG)-v`LBM;HOj|82DQcXvs-P1G(G z3Fc9VmE`;!O{YZEzwV;NoM8TledpZ#AK(S}Ht!2p?O=K|&Uil8!@LOo1|k&9Hh*Ka zwqyNz*+s>4SV8rWlA0jtvEW9A=hNj_30-agUG|DUXXn*03JL_S-ubdxc#nkdmQKbA z`5u0g?LE}h>R({|LH(Dl5h&4kw0j%ZU!nP_sw)|;?R(-JAp3=FoE&|R#=bXN^Gr!M z_>GSh!!N*<_p-6>13Jg2q@@Im`i zxP9@z?Od&mA2`1Zm%DN1=a>(O18@7jIQ()#DR>5jkZbc7?0s~|J@C1uj{eZ&r&CtN zbhKBgJld_4PF<*&p7hf95fYF;=!rk?GCkQuodBMuFSEV*kw5=3{8ula!t`vSO6Z5p z%cAeyYk!fC{#ZKnplBYZ^3VE16EVQVeC%pX2mKaN8t4xEUoYa%>qaOX3m#^^*!k#u z7a&l1s)r2l_ipOE>5Hu^*}3k61O#+#%z%s3A8H4`=26IY>Ml;E^PXaFW{Y{Cdq8Er z;d(_sQxj1d``e=L;bL%w^k2`l+I>NG-aG7)`F<>r30JskGxx*lTRFQw5OQ^l`fuNp zt|hyR`8(P`h<@M+m-aB6Sa2D~H_>010HceI3msbC>?`0y&sJx+T44A3c2t2nL9h?> zq-QOKY;U@>T%Ckw&&tZ(pylRB=oU!7!#Z8>SfF&$^%XlGW9u(=k6@_n7~Sn081SZl z!KGKWaRcV>8Qp5q(r#wDglnlV3X}Fp0o9wm(8#3K5@H` z2XZ#)7i6cX9v-8k-6LZ1@01R!AC_{diQRSa5*bQnbSbdws?L88Id}sYvdr`Iy z^5@y+a7L^t9i%CD}| z_GU;J(T)1;+flQJvrEdOzn2r?P#g5Ka*^F!E^w`XrjKJ`H$k^p@OtU5*(J3*u2<|? zIA8S7^@{z8zQ3w=pmaPndl#ROV7R6EYpK7`8o<5bK&=r~hN^_p-g|V(^ilX7+3!*-7{dYboS%H)y#z z5}r?fE$|zSU;E1c{gYp7{>=I7*JgPfaVnpG{C@5I(%&)nYcFHCrQ<35TIh|*LBX%B zV!aBU+R|zicX9Q2- zl+Is$xIgva+I=_CdpHfpxF7cZk$pEj+V{Rl>>d0ujH_7Jc|AQyMTq&PKhMLu4xSj_ z5=!S#=r`)6bp68KYsTsd`*(NI4|=X!D0bfNGpV^l(w*k#S4#XAA#-&82d(7wH|yF%mf3j|U7js}iP0M0@BkMfOo9T&RLZ#=Q!dlJ|BjklqctYaax ze$})hM)hyg@>C4{Y@9FU?YmSqFN9x?eE5Bj_d%|R(Db-E4kG!qbB6G*F)qQ6$K!fs zAHmiU;uAk9`O;kU{?9{NzI2@_)cdUMeduVM)%M+9S%vUV9JQ&PCXF>+Re{xbz6~H+p}qU+8Ma+k0Gip9uEDZ54rZ_fv!( zJ5RA1okRQz39TKw4h!Bo@r(itY-9^LB-!cE#Rb zkLaiLxBD?*hnRju$0GWvJ(_Lhtv^)0XdOxMH~N*W&uM+5(^%8b?j5l6P#lAgIy!VcmK9>^=(73F75y`*xA-mVZ?o+UK^qQu?+UvND!ScCN@Ud~8d`B)8yq4id zc6Nc3bJx`JkNmY7H#>Q!#4(;V*@DeyUsO;kF9HO84i`k4JZqz03}BKT=gQ_(WGm&t=7{E@yadYYT^! z>c6$9er-v8@gLmQCV`{L7zrMW%?~_$?zi@62B#8wgP%b-7_@;i}+zDyn3o#2VV?8-2xj*0qj}^|< z`t2R2i!iX?cPuQt|Bm)Ad=zrI5kns2SWsehl ze_wWU$vqNJ-6`Km^xL=hXn@D>-%0uy=y~~GX&-(g=mfuUp@%p0^%+zIcD>(g2X^nU z7YE#T)A}t!0z>y49+v(j>Qx_(XuL_|M>W2P#OdM=s1|EKvaT3+ZC>OEX^ z{!;UoMfC|)y5D|f6u+C|ZHZ(Qe=5bpL@meB&qLmOe_=xSA8r@<@cCH{dgrJzJ(z!( zJpHVl))BMQ7!Q}L7JT#`sqjiEAL(aS;_#+P_28Kf9+4{d_t4*`ahGc_UI#zuUFFbsUBeHhS#d4?5qj_Ur_Qb0^SE zW#rrQxJDuLvbIDozxHTB4vY8*xy*@OBtMbi0k8g-01u^aPVEDoOMyJa0uoAk(wZM8 zj&eQQ2LnG>Qa;@u6T$n`tHDpPW1-3)orjhFsrpE%JPmJpN{>6 z58WdZ_4ggx(Jy`i|lZ`Z`HB{Od2#xYDIwDwrP;!cnKkmp_brE?3~kC+{JA zdbJ<(lPFH#2j-x_kNUKvNA12?7jGyEC*rjPK}Gag|%(9T!pnC(YVM}So;Bui(G}Z`!z0nUq4;n*RA~@ zgTwL=*2)X{E*mHwoXmEOW?4a7?R269@DzK~R{La*!|ve;Yk#5Pk2xfNP2eQnA^MO# zr16~^AJDk?;V#>+@h;By^&8_G-H*ixnZJ(xVsI9GIgz9NjV^AM^?{CYk^E_SDhCRq z+yhjufbY{_jtK87IrQrDi>~EL>^MHUbaw*U;Z$)1GtB&y!qE*?H5pu;)j_JVeOYS zenjJ6)A&)1|Chuc6a8@;TRC3ve`S55l%HsKE8Ra^?*GytO;0rbMgH$4?El7s_pqG! z@alDZH~;1Cd(odJF6VOf9MXMdjPH2(FH0~U<{0fFf9zj)++C)4EKxjWGajyA{g>%d z&*?gt+b{YRpIA<}McPmJF`(az(9ip|U6KW2C-u8U+grq8xJdG8osQduzcP;|c+i7- z3M=_5pMIp^uee-~z^O|zAeZabxbi!zM?Ylv91z&f$^1bJzj2lx21Wu2R8&mr^es|(y9JcK~#9`Rb zBjKuU3777Wuz4GYzCM@EFKvGFURsNY-p|tcs@r#1;A}b0a_7T2uKEJGg1l9|j_T(I zxxC%mWb;;xCswY$8RgVZtrI#xj*%a&r<0ARf0(axyY@Z!Q030#t<+D(Ja1rAVIB^> zcnZP6e74oQ$B^H1^Wwn&)7yQ$)P9d)d)+1N{k_+o?W5Rwci4PX=&tWI+IJ$I-RtcR zG2vWhfJ6U&%T7u`zajDH*U4wn_)T*sJodd#*r!g4`{nN1=Jmg8(Fv5d`y*Xflg34! zTvxruMb2DTQsW|juB%q#BA2dfn#TLNU#?5PyO~h=?vn3p(tJencP7z%;C88A+xzgl zrg6HxSLSx9Uh8{tZWm|MdvY4iO!5!ge=vKA_bKWrC$HrppDQU2dflBR`P@9n^(xWn zOQ0v!$CJ|c(PP0^v|mY1xBZ9kD%Iz$iuY9#I{O~iRf50U%GHAKDh)3YI9P9GJa>=Rw^+*Ccd#-y2)xX5=WvGGBYdRq_MAY1+ar1#t_pr8akU?-PH4W` zl~ua;FOW(%n%gWL_Iekf4`esgV zDNAqX^hIUq>o~osEPWZL*O#TYa(c2XeI=*YmZdM@^l4@3Eu3CmmcEG715OXOtd#tX zlt>TO#gY`-dN|e@>XA;qM-$Ss^oJhMAN%6=eO!BQ9eM_n6zwPK{iUw=xX8hrYOWuu z-xjT_y_l2nev*uj%`)!|8)P1C>lAM1px~WQe{JU>jf>yr9uqpa`vjhkZxZ;fk#yks zfp5_Kf9DRa?{;mIu)j(4y{}%v-Xw?diBy3edv7aVMGL2ht386f?W8#L7Ci*~n_y40 zz4!zgsOYi%fJ)_Cs65Rlr2kz?C$$eor*KO<=eu5^Q?x$Nt9071MCvEHC2Z)C@;gQU zX?)fAN$zi$Sf=q48sDt(;~MXj_`}CI?jAcT;m#wPfAV+em)m(*CRzDVnLYJ8f+cWvgldvu+IJ6kosRq}VN)bwSVUaN4HXgsO$7L7M)e38cM zHQuE0ql#C(##=N$sqvK>uhsZEj@!PudwVsfyGH`a-!AhRTK5(|Ke3I=XQscFG>Oh_ z&|mxrx9{NeRMmVW)A!c~7!SICPr|8#5;h#>(3fwlN8A2D*nEWZA%`z{9r33>DgM^} zS`G{MUf#v+xUAr_{^IX&+=p9DaOplK>7TCq0`6t61>9*0x0=J$l$XeQY)LDf|lNW8x&!1NU{st^aEO`fj{iGZ*~TFe3S;dO8Y{ve`m8VwCatX9~rGv zwTPXJ_KB8g{0R4x>+$-K0mPz;;%!1PN3uaAy55H+z+?EUc#K{r>kSO7UthG zBu?{wmP^_v;4oe#^oa${+^*Ac#Ob;{_NNI|zK}U|4-O3$Z^`A5&p_{60Nt4(%z__ zRj@ZkkBq?YAVSk~=JFx>;_gxTxHrl0GVLlKn^its1E+WFUdruuY=54FQo%dSBbl9_F5`ylmvMsjUr(R`+K=Us_6M16VM4}3U;kiFef?wm*URYf zJ{Q}^K8=&UKtIjzgj~Lv#w5BAjP*04`^~AU2{I1#ALjHJ-4YE5>D-Sv-q!FY4%4|G zXnY%ov>(J_*sxCHM>XEA@nag_%wb2OQ_>^**DCqDS8|xv{lKtw!{NcZ?BAl zX7AUM5l9lAn>4if;94?%oUY-eGv-h!@+bQ_;PX37w=RjhoQ#j4&z>I=y|P-4;DVlE zLiC#U8JRCA_gR$NujQsFoz?#|zXIiMr*e_MpnMNEjFR7bq#f&@>lJ+RZFKPr+m`qc$L)LBgctX#t>NcVE+=-g&Bg~kKNU7acyW0T zFO8SsCFzM$yiRaC1-ztP!>bZ~Kg{yjB6j%_;Vb+NJfZpr<`>wyv+d{GeO;K}worNB z4*7C|d0mq7!O!=-2Y$g4X;1yoc<^4zrS^7<9HV`V44CJU$>Msq(}dY&Mc><|A(iAQ zEB3OD;Nl6V)-zpDA98MZ8vdpDnI5v7wM%<|gZseo(D#oxq;ojzH^-~qz!^pUr{{0F z{fk6jNY?QH?rZL*{&q>ca1KDmg~C39j1P7$K5USF6xREb+%I1b*9#t)t9(2Gz^xkUXj!TY8 zyo-av_eS*mth4(Xr;Fbk>URpmo2g-X!e^-b&eQtJ=eA4!jT78H;cJ^a!f~H2JPzcf z9_$q8g#L6sO#RXI!pIKoSG$)LdzY$`0g3!cp@;d)71mh>K}WT_w*HECUVAU-CUi0X zqp*H+h!JZue@5v8djWyAec{vf2l9Y+UhegW=DVWz+K+fuH@8#pW8Tkk!;9{r)&AMM zN#vK#y)Ya)->dn@G~TIkU1yul;AsC))(bo8rU8A5_e;6UB|mJic#;#GraN(m12@FJ zYgo6E%ZJOCNw|24g!5ZCw0)Z4;cS+A%iASfyiUUTtsJ_&Vn5o_7c%~BJFBH1_T7*U ztv_Gr8P@HPdK)_>?AXR(IKN-Qx*kd2sO35iN&KDx3GbD1u3gJ*Qn;DJoF7&lm2mkn z2^XJ`aQ;aN>jpV=`xc2^?{DES>{2{3osyqjB7BJWbV%aSd2jUxqVwMB52${I%_>h? z-^Mv#E-`LE4!3QfaX8D(^7=|ErMuh!w}<=(C_mi3P2@=L2W#8#A&$4{J;>%)g^7Mn zH$TblOSW;u?gO&%B24Vy@_zfQm!AG770>(r4C9Q+yN-*|zIyq%h;b0(6$AqPn7M`O zk6>T@x`oB`FnwJ?{)dmJ*`?bl-3_-+l^tNaYU4QV!%N)ssaMxouMs}DzCp=@ZCr=o!uqNArgL z>l9BXdbgFU^Zpy;BdnLW+1tF3y+|)i4rUG^2N#V*4ocQ5Qy26xonpcJg??j}BCZ#1XyNddHNwAe>NZJluI4a4VJ>ITeu|_oJ;rcpJx1c&+a=u6 z#G&nD(te4=({fIfzT+wQto?6>=i7lm?bB1pm!SO_v48uk)eee3AFp~TbJpdwT|391 z=PocGVL6;3{jhxu*Dw8X`vuQ<^$Qq|ox`l;kMDW9%(GC?&Q;iaXCJ8z(pRhhlB!zI z4boN$KlUD}>r;B|)_&jC$$YT;wN{W_MF-;(Y<-A~13iW}@ZvbhFH{TmW5>J6uD(&y ztzYr#1>B!lAn!}8pz=tta^Y^}kMV1R@=y6?_mR;#a^cTjp;!C@R(GCnb`m_`0}O%3 z>xn-0z30^ACsQisBZ7Y!oGA>pBAok*;M~Y?K<7^S<+t~p`wRN&(n-oCIa#B2-OeGc zA;jnj=Sk?+2tMIF#mnSd{poO4lFQpZ6#V3RO0oGo{87X)e_u%<`u*#76_0Bezid88 z_MYV(<-WQNc6TM)$yC+1WxZ{`th3U2RnZIcOJ)k4>HQ9&|MXulUSUG?vQ$r8t~F}s zmA85NvQPD;SM=L`MGsy*`b6F+_b}q~0 zz|Liv9O!%{ER_RIABh|sI;|Y6jQI0NksKTlIoLad9LV&Q)>B3=2TujR_A9?k4st37 zUpQ9u>>OWjahdfQ7r9y->oRB{$e7J7S%wgdiEAbD0{XhZE z?1#BJy*H%et@(!u8E?bwGT!?7w4=x$R6TAJIR3e#%o6CC&O3W|sDJe=E@*ySBfV3J z$L{Med(%ko+Hm^y90ZqMqVWY1KS%*m@SZV3*DH8jC&NYbJ>k6eFKS2F8eB&<7Z2dz zxm4qJPe#67(i^Sa7LDJmc-$=U2rn8p@kHfy-Ft=Nmx_s?fWM44{XuAWH$Fq)Lay*M z(%wEEl*e0HtYr1*UA@%ZlZ`Kv^WXkDP!)*ZCn`3kpA^d@Xx#P-A9O9~qVf4c|R?N$4r{*`@) zBNqG%k2lblL08ZV&?iYvzz?o3(U*65a(+5J8!V~!$O!A5EYYjCdi7jR>>$mnSnp|G zCHB8p=z()EP-NgW(sR_)O7Kh+*@Llf?{G=~F7(=ie9=F;R~vuD9wNL&{YI0|RMjEo zTa0#zksoe3B7Q(tQS^uEo#}h#M|}Cs_N&|q-&}S; zv@Ed_k+#fOHHU_L<;+JwbG9H5%yls47H1DCv5#EvKL-|l7zp@74+ey&<8KS z9sTXo{!gNi%A4HSeh%<|Ci<`EKMLpmM(FQ$73fRgBmJ^@U18o9a(`pN(_}rRbY83d zj`T_WD8E0)2|n;$^?h2W)A6+c|J4fra)$5ML%&^aS>&fai}^K8=wCMPmiN;lKktm^ z-7iyorU^cKl}@l5gpb)XpMO^jW6!?)&ePd5F(7`whq7nal-RSsI>+|xv-G~p>Fn7% z2_Ms&!uRj)6n;H{cBp%d>`?0vcIfTvV25PgF^ud`tJtL>?NC9k|Lbi-+o5w|e;#iu zwm-{8Xn*#j-+B(n&ijmbzCB|5^FQi${58|FOut8Af4=y=O7`bJ75*+6?>###_Gfcs zfBrvn?*d=jT! zncr{E@0=saj+1-O$H{89kohDTN*!s1A`6}Z38ghD|Uj(Pwdv-2v zy_v54qQZlDjQ06N&ock<{LZY@@5>8;bF3?Z^XGO_`(_W(b+F0X+>*0po@RafbyQQc z&SMrAJ?3v>y`1HCr*GFXdy4Hx>A90g{_DETxj~C0^$ZnXfoz{MK3*Oh&;M~y) z_5WnQp^K>szn`LSQQ!E-`r;&o4BzjJ5Fb`)&o7^xPyWQGr`~JgjGhN!|4P?@ZV_Lr zLs3|z-!{LcYaiGC-3Y!-(9wsB<-Hq=?OMN2Qv&VFmB`K5Kkv2Df4@BIH9kJvNOgSV z3()K0^%yY%{agY3)2;V=U@>owZ1e*!&qAHev? z?8_$4XgwnN`U)$x{}`t}pJ1HFa{Cu$eyuFGb2XPL-Br$--)#o`<@@alUlk?0>?evm z+K0G5{>~XGwZFG8{#0%`mD6rq>(>n#=F1y++!tB|kMVe43;1?vyCf&+Uq$~D^gGro zE|{m^(LHrZeSVSiR5ah!J}2;|g5MXqMDw2M-=|#P_q4uIt#5rPUsbW+n|cMsVhutS`=e+taLweFKpFb}v<@|Q*sGqhza${M+ zEA#iywlRO#Nx$g5I66r{@w^l-(-Um}X^ZlETK&EJc9Q)5r}OsjOVZGp=wDE!f8Un= z1=_#M7U*A_;3ZeHLEv%)$hBO}wG#LHnWg!R?OWM|pY3<3zka^;Rr0;+8PX33kBo2M zKJyJqI92qtVaxQ16n9s=G zBk6Xppv4)lKS%H3`uJzP((b`CJ&f~R_#ltNNtr)$HDln@$S!E@3@6$_oXfv#-gdyp zoG)F{&Um67^v{i9-gTD=8UlAY_LcKjqy!Ug9QBc3l)&r80bjVOP2;F1+|({{K94H+ zv-4G(S|q(&@3D#Wo#>uH*s;w{NB;b>-m?2rNWT$0RPw76{8r%a{^iWy(8Hqp=MO>; zt7MlvPITh+7k8NP_RIHB`6B2u-@Pz*UPk#Qjb4Crh59queo!+TZ0MJg+oDV5g~^py zCFIJlR*@^oe1)eg%a!NOkX(7Fid-43B3HUuu8d6zz39BCg#LKgOXb{nC(<7hv-(N;{H`^yO zKYU&<8AqKMuJgb`B=oqkf`;>JO@VO(lEIF&_5^q#H!XA;B}_<;R1p#~hP* zj_j@^ekfimaTkrFI>dDxF&_A5?}WtT)cA#O!DfCrj&ddslwWL}$@(1E6!uH@5~W~Ch8`@;O;%PHnZlS@whRm>lO={MCye4u{8?)GOHoFLzAdTE!` z+r8=ag0JpY=%bnQ3^j4vLKGOl#I+IaK(W#eljjW0TfE91z&*Ucgyafw|lqjT!h=K<50(=+iZSi z2;FA&H&lK!`R+EW-(d!PX?A;`j>6w6*BS5Zzf9{d;m=&njWS-tJ(%Zb^1?QeUlRKZ z@~>~~KP7+PD8_-U|Lh!OxcsnuxA&p!UDNz7l&5oX@;!fv#(!JG$8|mWn65`3#kdc9 zw7-Ljm#x;%a{tO?|DJn2_3r@2FWoyY?Z*9uo|4~(cF43IWC@g~G|cY?T-!*9NxFv4 z-lfuc`L0#414jM2uyVP(qV)j=T4?vP=zT5jF}*kY(PyQCGP>P?dhNY>rr%FC@VM6g z+50YIO3$T$E4)E z-441hRq)GtCZUSHYxzbkuj^!ckJj{nsJ;5i?LC2JW&e@uwfw2zzootCUeeZMKjN%2 z>rfziU*-*ny9dBOK3)U%(|;7-8K1}V#NT@Vd9DVEMmRDn^@cr%B#iF~J&g3hqey?h z>Q&J_p_7uHFD#S&mhQ~YiQLQ=YBXN2`be$B>E3_TGo^kolYoow*Q`&h!|ECCUHH!U zeufAl@Y6dJe*a$cW6HN1`DV5wbO!;iU+&vf&W!?p;mA6`RRla?(^`q&#ELKdOwTlV zKz@4yclzu-EB_ey$0{m%@e{wd(s9Yj0nTIS~1|1+Y00r}_OslXMO5zv1sG7qxd8GK39^zw;;q{bsI{fb2EElf56se84~R2XDR@fE#^X-MR98 z2Gs;B9+zma;ueI4?0hJ#no<6(QGPXgo~`_Pmhx-iFzCEm@m>!)ES7Ic4oi9F+qMn!@$FTDpm1bG4Z6Ek-~-b$K0&=_J}^FRzDW61 zutI#U{AK4e)+&G7JDX4LMaCyzi}2Sv5V}c>yStRn-2vr`3H0x-Wxp#K-8k^_C&Oqqb}9@p&wk45{Gll79=0AMT;?eV_s9JE$a{Evo)Ea` zTsq(@1Tv4%xpa-!Y8?DZ`;;07eytzAJxu07g@f%o^*q0+eazr8co>cwdTITb2i)`? zlC+y2)_zPNtlokJr~n6+ad9SP$Q1r;>a#4{)o5*KzcN;X0S*bkb+>UHu*CeLUeG9@mn8;*flI z2ah0}1mE1%fDCrtD|dFQ)n2jV|MF#T*?vptiC2Cr}V$N1@`kl|<}{h|N;@WboB zmlPKMPWi#ddVZ@ohxW$+kKLPWeqCh8RsCGQ+qsv^q&kA;difsqT`37R4#N!>OFZ2C zI)pW^((fM?esTx?6yfMr*n1~#M>x6kr<~DEy+p!r-@8yw=jm|Q9TE@oZ$nsv2`}9I zCd4* z%cSr8Kc@fr^sWMjJl{w9_@+_8>&(^2YI1Kz?eG4)DEB6MdidjCCOe+q6G!V6(btF% zCA9Zhb2T3q$sYDhf}RDm7mn-)J)6`HGzdFZ{64@TWlS$ z*kio+0W?3xahT~vzb{9>`P?XvG{3(mSf5uthw=6U@-ruS3Ai(R(cUEd8q7Y%^=wGg zbDZko^55g~Q))jwIEVIckK4~D${p2m-{Eq09^LNS9)v$sID&osa1Z=qY`>1=nk>|L ze6u_txh8Sumy5l9O|m~oy4j1#uT0~xLy^5Ms)vg5{yV<6L4G(E9`rN(nIB9f*K}PM zW+hwT4ubAZ@B83;Gr3;lOAFoggfRM%T}6I8E;ygr?aWWpUTRjWB zJf`$iIld6S-Nb;@(|4=lr>9=yil3gW#uYz3jcE5)#ZON!;yK07hXf3ouj?ee9R5E8 z9Y3Uekw^Z8;H2}tsBd{KLfz+!@iGm(wCX3S{3rSzReUt*zUJdusmVPCJVg9Kt$}|(f`0dEzd4b93-)`{VUc&FcOpdb zAnx}*)Z3@{-_vT37$^NBdQb9H zhv2<`omLw^SQfTX_(9{V%c2ef_Ze!ZWV<~`t9-|eJ( zh){n|oz@Tjiv4Gl&-L7_(|z#%%#U>*#rWyZ{7B=Cz@y&tZvIX79T2QG72zKgiV-s20|LhmfxC=sIs+ z<#w#SG|dbA<2e6pKh)m&$ zxS-Alu2;aL`&mK9zB-jF%e$nXeRV2VmT%X%%9Z84z(ZYDDhQWDPCL7&@FLWkqva?1 zsr+g3B{82@gD>0zeA~Pp*LN29K7(=Yo&X%~X6?V)efb=V(1nsYOtV0vpPe_R^%(lK zTKlc@Ti*rQcpOde4_n!ZK9MM;_qRgMnZHYaE99LU1O5B$y}Gdh^w-|28|&0~JNR-;>1g}3 z>L2LFfCsyWy??9T>))gI`rA2)5%7<_e{KG+(Y>uo$5>9aN&Eeoe+3@YKdV23d(mxQ zwLg+$pd-CYruiEIzsj+2Ipml5MVtJI_25`OLB1WAe*5wX^6i+Uo8C(61Lb4PE2e+h zJ;T2L?lD?V+5PnNj(C}zoU9=K{Bz7KM@=5FJUn(I%fo5ur!&7jm4~t2i6s%_82>?b z0EzqkniPL*(4Xtw+*P{o!1vzKKCaAL{CyjJcl)wjZTY*uO#$#9o$o$@b%5??)B6pG ztKLfYg(2Q2)y3}zH)Rv`)N7o%ocO#+_W`1MU_bWz)kyOP*;^vGI~eY=c20o5BY5XD zZtZ{%;`8WAf3h?EJi)#?k?#hP9PV+#A z;3@3EIkT{*UE;jY!&4cxNc!u9Z6tp4MtZX@YHz!?*Q;Sy z)ZP{?FQM1o_kV%-3*8_)MO-iEO9ik+*nSxM?XP-YY@cBM=X{Lk2Os16Hixv`VGReO z_Nl7^?}Z$C?LR~9=VY~8`TNa-vHc_F7pjDQPW_n5?)9yMoDSQ7n6O3pCo9DSjvAuY zJL`}TF5j>4j%v6Ua1+psk^ao#D9-fg&P+<&=kH14?@ISJv)*L)Hv9SaN;>SEe)@o< z!w%}FcS$|HT?WM4lDUD)JnSAS$ewW7*nxaZI?LRTZmBam-g#r zdFabmmSesj3(GBEejexe0d58S^PjCG4+^nd`{u7vd>QEGHXxs^pWGzuO3}KG?acIZ zs)vQ=As+h){ww6#S>Okk$9JpG_%W)FiB3P;?~2!7-$p(AvhqE?$9^y5J~KD{7ScES z&PnJ;`W{bc`q4R!Qcr05(K%U-Ll1C)>LIHoncovY`%{1;ggO$$`t0WbcO+Lazqm!h zOYaR}{@&Vx(DW@kzi=_&h}-*fX|HdU_OmIFa($}+82KM*T>IHnCvmq*`)T)an*N)~ z;(H;UKOSTLSgQPS8QNcno)Le%9QoZi?2$2j4**X!;1jbq+I+KM{d(VJsC0?z9g%t? z`;t?*_bn3ce&nNfVP*d8TdH_%ReQx!#cM0pyM0R)udQmYSelgzLbI1B|CGb|5c=P* z<7AO|4SRGQt9Xt39iqM)w7-iTcdb|_hFh^dcQnWGFKit`|NE`~!y32#@71{VAN=C_ zvsxbV#oed#Lz!LaPQZJ;_J6Y!i|sZf{Ao&v?MXZt(2w4ck#=d_hS2Pp(Ykai=-<vaN6FJpie%?>ZZA9U8as)~Rve#odsV z2HYDI58M#_a`bKvx04E94|qrR1I{7E2Y;krG!ClZV@B6)ZoEszt?5Ite1LtL-U*ia z+yhw&`yK>*eGdWdzG3vIf6w2F9@xM2ZxEV)SMvQW^N$-m1ii5UyoC17Z~=Jf&-}iA z2VVL!Q>eFTQo^ujRKKJDcK>&1_OgP~F*B_Bz?by?gT{viZ~d7;jqlaC)A*#u2Q)q{ zaa+HTok-)`_4^@>V_idhqw!AtepKTf8b2oS{>&zgAJ@3;1I}r@UB92u@@*O)(D-_d z_kxa@7L6-itJu-(yhncq>reAz@6TWzO8e1LUw?FNtzPS|)A}LrW4jyXtN2{oUd?|( z^e`Jor@vmsyjpF&8r$h+wY~M){t=D0Xgt;vv2Lv^(-Uh+@1cH`r+fOBjrU4=8tZkw zo+WzMm<%7hgGTk3Ud4VLtQxU?zJ=~H$`_6aeseV|<)%ene`7tB^Zno-d7U;OB-b4?H9J!>x@H?>2wkt(v|`^S7d&?k3dl_xDg@eb0F1{yfZj z#pGe3r<*t=p=}q#O zz&>gI=;4i+Kf_1gZys$t3DUOpt@O&6g+Zt0CkUo|aZZprl;Kcw-E z60+XRzp&{T=yKky#LX^}UiNv3*ApMs|8l%;w0G{y(+>+>{dK}I;!AqhR?^qee8V%w z3QsTL7Ri2uas_El=BGo97d^+rH@0qOzG6D1`5{mGS-PEv@W<0Krn}dVVJgS#?iO$Vm+K22 zj`ae2zryUWIT6N--w)|mpMWLzl_u|f%)Srzr1|X|+ziKmJwp0W@NTIf z6!2a}b4K+-zJGx^i1b*2kMCzH;fq$tCwiAyzO$Y&&H0tSOt0f#eJQ2j zXZOX}JuyDslJuvhD$@U`cb*`$_ju3I`bQSe2OVda5B}Gsi{pct_m}fQsPCJEy3hA~ z=zom-PZ;mj=>Nw;|Cb2D{Pq3`=36Rvy7zu=9`x)!g<{hwK-}!`t@eB8};Mv7Y58-_L zBfDyuJeei=;g3U;C*yA?c~UqEd1~)D>i(GRcbQx#|2XYet@i81$IF|kf2WF(uW=5NS!4hH=B0_PHD9OtHW5y=f+!PtG(zC4=d{;9pom!HoKvR-va`!_9N zn)W*x?i9Vk%Jtg0K9;w4-xk|z{q#OcciNw7a3=d#3C>X;&fVNPwa>zne%$`K1TW9~ z3?KOe0p6v5a8lxhNr~Hg8>s-}EcRQ2TsQeo<3jouHXV`BnSOHbc4^P`bxBBiIp|6F zAEFd)zm`IV=M^j`RbJ=L!TieoOy+y!K2M(P0)1`%@chjHM|95Q5aRhPwMPB5_b)Eh zb*tTja47*I-x(^R|D_1s?GmN9hO4vkhxyg={MJY*>?g~i`J*vkcT$}D_uG4kt^>VN zu2R2#+DQFZ`)7O}_*>eKtdw)R0dM$9h1>44dZog>Tj5qe|H!WJN-0iuP}IZwsRCyn z=?1^~2m5gEX1I$=*9PQw7or_EHZAaxJ!g);xH0f~*gC9n;5}>|(75qUuf~sR`Rx)9 zn_#at`+L~af%FmBt;sJ0`7^Lz+qhx)8PDV|C;9#K4oPn*OK+F-#D2 zeqZ`|T7Pzfel8FCMgEP&ImpQam_LZFkUupT_vQ!drr-~0a);h2CX91`0e86P1lH># z@S_X|;g9L^!-8M(XUF<4Kcw-a8V5g;JkofVem{cv9i0+)`8G|T(|q7Bl6Q!22Vc2u z;3JpMqFfjF#O(lIgd_0(bUSKM-$*_1x+6fmDJ$`?X&T|yNeTOIzF+#gh2$jvLH+=e z&hrZYQbArqdLK{V2?y1lvT0J{J8peizT3IBbv$ebAa}q2muCetwD#a%^KR6~_Xlvg znlFQGls`+~pVIJ7^1C?qmwt4T*C!m(ejD1&j7pe3>o;VESw~FyIx6S((f{a|UxoJ( zw^2W`6sP+b(9g`Yl*_M%L&r9f|NQ+a4Nbn9JY~MR?SpiGKGnm&a0Ki7cs@KN_1*O- z`jZNlOFr@slk|s?9BiX7OJ8UzkuL@z+w1#nCj)9wR5`t zs@9Kf)bT9U|CEOJ_hN%C$sc!l`_2p!y<;GFC;vL3x6}2cYhXqs{?PqBmUo;#@^@N> z4so1+?jnTY286lP8zn#U1Bpek_i*UTBR>Dh>+LUuv7X2IS3N}SQ1#pb?dOWzv3t*02mcX`Asy|ZvR4PDmX{Pul1E*s|ccKLdXd~Lb&oQg#YI(4m^SRRGv^n`|K@I z{AE;Ux2?zN?<)lFkpJAzXG_*wm=D51%m+R_hk2jb!$0GR>G|B-NI#j_3;voMMp%SA zbqz`{YKQ(s_dU3SI#1~Q;>I9X>3oe8a2Hd>^mErsu;4v8;VsC=@33<_so)QRuS<9q zr+Ttk3Hx5zh;SVy+`bESU!>_e!DIj6282Cr!0Yn$2)DK%++_4pI<|toKAvPA_VC2x zfbsOL-2}%Z@Y<*MZ1O%i(<>ERC2+Bwnc;U6phGo0xdPg^@yz3a$6weW)sUaF%3bwO zioavr=axXxWjUUuBCK!nmv9s01jGB0bwt;3l^aSQx?frFa3pn11C`ocfSrF?^wFJysBKl5ueeJ)=-SNN^F z>E(i-eDNHO*8yLuZ$*A$#S`GCrV~0|0?AMFvZVLxz6SYSBcJ+{g?o-k{(J%Tc4y9! z@A(4S?arJlal22|==A*My^X647+24Ge6B}5iyoiYXY3!;{l%V1;A{CP!maxeZrY1b z_Y-MdB=PyiC(kR)2k+cXe4%`l9G{%dKO4Vpq84-;TQ8xFn|M6G4*9E%W3@LKed6&c z#b_M|d6-*5iWvROKPJv+;}{ckavXDiF0M3=)ZSOE-BW4LAHUq*`4!tc4m^2w>{2;( z`u(e|*xuX%?R5%2RLAEn@}2RS?B9=H8Oy^|@GIc65$K`u_zy82qwzn0@feN&PL136 z@6x!9|Lqd*&-5Za8vh*<5BIc7m@lB6?#$g9M?2k_K8c$?W$Q#Ybpm>zz6YIK@(B2< zfb|yL8%sSdT~7|tyk+O#+(E2oe0$qJZzX)FejLApbX3}Rk$=>z##L@M9YK7hG*9~9 zVTt?Wb0DE-9M<{sS-Q`W^_8~4Sf7mSPP(5;?@xlhg#nDq%q-|h<+9YIzyI+kO`~68 zD8BNObxmY{mV8{lbGyVUu=MWt)RO%73L%){|k-VyfCTpWBPqmLSIiC zCH&cXo!iN3JD;X?Ogd<%SSj6Ekzl>Odq^tD(w2pjiH}m^lU!flE-{GUw zU&0&r*Vj||N{>_3Q@I}gnZH4I&w$X&hhuw!pO_vD$LOyTo~L>tFAi>(&|hx|-SViP z{H@7{$50SG=o~KH{ga z6YbADrr{k3Iscz>zb3lSugOk?(fa|!0Q9S*-@KjWo9g4~bFP$p^XWsKls~>l6LOH= z^Pb~^w7)L+3Y&&Bj`e@o1iO~q^AOEY zNp>#8wLjqq>_((dp`DD{jr6|p=)QzKS+rk}?#uo+uQP4m!sn}F+`jq+)Bcgx3;R-h z{vs%=?-29j0n~5nQ8%_<%DeGV37L+sCxavHX9)e$HEX4Sn>eC$J&e%SQ3cEo)#i26 z<8wH~-nXvs!z(B~L>xRb7AJeWgnC>`T3NQo-MNqytHQva~Z6^0W2 z&?FYTb>8CZ&r*3G{$o-<^yTVwTzvgW_`fdoFQor1zWyZqN2LCR^u5K`pM?LQBNy&h-~z-*pX`z}*7_0{GgO1Ag~lul(UI*(;&Vr#vos zYW)QL$6@pJ{C~tbwEK$OL9PGZX-=kdn?nfi8L5w22tG)xK{?g7vvruz`mFBz54`ekq}p6-WG&;LVo|6~c>fnVGIcP|nh?H;7q zfB&x_$0wCO^}w6$@4JRx;PE1i&v5;IiHG%jk=`(*-*sHA2VKMZQAuaH#5t?!uPpal z=sWZEq2DBZy&%P)-;h3H_g35fq4`UiJw(O>jbZn|kQ6jOOM~Cu8?gM*eP>W7$ey8c zq6P4izk|%*b}!!wq8a~IsJ*wjL&pV%ZLlVVxb4qwp?Wzbx2#plxlzSyc1Yr3hqkk% zP2z4@JHk{4LfNgRb%VWcruO-8xvsmmVmybNFzzG2%t*g%6ncguS`RU6SCIIJeOvtg9d2(z% z`PY^x_jg`9woh$-u?zdh^fEYfezr?OTfZ~BLzKe(BNSlV5WW`UA9D%ar_K1~`62d) zISfAef5;!^Dv|?k0P?0%e@D2#*d~y70vJK5;M>}dEJuU?8~!j^hP$di%pr`+$lnEc zkNsm{4+>j#9XfVY^J5*lc>foyCvAWEY~q(r!UwHS<`^%2dWWPpmZh^qvitb_{B4q6 zUzUHpq}P?Dw@5nHoqj!ylCJAdwHNR_QBUbJV&Nivmd0V0;(Q-P9j6!QfAr)2l=!>c zjdbSg)A4tq`=KE3FGW4!Cbhe4MBLp9{JSfMB*Elbq=(!<0MU=*{Bu_fBfJH4Y`#*z zv#_GynvIChWF<=bT999159~Z-Hxzib&}Yt>3;vogLG^APn&U9?yV*RT@%@tDZSKBrke(($3d!=#kNthYXcvi~~YaDz*`}&CA3Vxt_ zy(FL80($d!X1PW6ihj-b)_1L|Xc7ME`15O3Iq($-%2HXY3m)bYzJT%~F?a=SQPpJ32k$pwel@5hb z58uc@EA6&m-N03>c2y+v(-3V(^SKu+aRB*|8*$8;Rn)jyEo2l_@2hI_}>1k z#Pc^o5pe~;YwPADzGiNa>@p9m{A;%3)IrWXP z+&KEx+<<FmG`y46PvXZ!aSqdG-6Z2L@=I!+6FXSa@5TI@^82_p z=5N>yP3{?-+|MJA(EO!x&-O#^qCF%2+5OB9C*ZqJ;j?w!wRy=Nyhg*ds}MK;FIG=^ zo;Q8Dn*R>@X-j{q`5U=$(AQ1XgYNn+(fxH7NrSEsNcuJcKT9c3X?T~}1t)=rq(6|g zXZJYz_!%es+*x~$!2d7{3;J34`zW5JxRo!%15YCKOT%p}Fg#T2Klw9&o-}!6soYZ< zI(vUf`+t8|imN3(xLSXy!JpN>+dW3i*ZiaN zk)XpE_m%K372GJH+1Ht_JOJpu zZ>e{M+GoOU$tHfy+%EgYGl+DL6XdnZ(>3RJNXD5-%}FANEMG*4-KK;zRAXFO-ANjq=F`hMwt z9P~0yFWrxW{>JI0`*BC4UQRFFkAwbKCZCJie;V(jJbuSDzKr&#D9-C777g6bm+v5b zvrsSf(|oCTH+ep*am1M=k^j^J zObcOlS z?LvKb#Z7iee!35Kj!W3PEH*EiKe)}`mEMhFfoS_PZVGyY;mwV80-o_+2^o(?Vib~B zg70+A?+BpQU(>Iu&Hr|Px=$w_kG%i-dT*W0?fl#OFz+(HY~0wq77k)ug@YJ>z8#49 z+2=pu_q>2v@topI1~9Ju_I>&B54+iK@;0d;6BD?AB|1QbO9-(zw!F z@AKsH#4;uCIA26*{yWZB(08*(aX)V!^8F}Oehq?;eR>|}{mP<{x#Yd(Lt9ub&SAVo z^5Zzh$3o+_sOyc1!;;_5$FrVDB7y4Fbqhs!{$&2yb0N2P1oclsUZra|H;oG_H^iZr z|3S)c>qvU<1?`Z(CI4(aq(5=KPu;_ObXeNW)qF*2 zB>qu2KzHj;`Yia%+Pur!S0xwfY_7 z(C%CB&U66oCd`L)PmRRse5>Yf(|D)GBe|h*$eDN^Y}EXqhw*h8UMuiPhHg%v@dS7> zlc;Ax@v8T|`1SC7!+2(rGrpd^lkIn)%Y63fb7}nAy6&c3LVmsCxeVQEHiOemi! z9@gqTL~e4wl%>@x~}2x!8hr<#!a8$`J#nB@%J39hiTqHyNiUY?;!e@ zJNwnrU+y>kBe@1XW&KR>FxV(~NCkY#yOe*b@!21}w=`chKKt*lRpzsI5+E-opRKRL zXMb`l^I4nlhbyj^(C4#8E@yo9kf2BCafR?%i{y{_tWn~r;5pR8MsfO?TzASZY}aNw zMCX}wKR!Cor1B@cOo|6Nx;~ckGanFJiM^9UHwHQ9bboT8_nO1EXnj;0*B8C3eBfV& z{{35gEGwChh=OX4| z^FK(=|8(!{97Aq?ZefqwlXX6>v`!K~j05Pet&hT1$X&)`^+n3XK5y_ujzUR)lM#>xg-Q-@hqxVLpYhX`| z=Ogd~$syolqF2IH&>)0ah(D6$%J^jzdQCaM+V?FhR%5Wb@m;lVD!1D$I} z{>a{h@fY^!xLdArd221;++=v{K>1C*C_jEwkiiAK`(dk zh`=+SKL2Qz^m(s7quUq1LE~NR0ZBW6*{}U|{UcNl+t*pXn?C2vj=&Q?{TR+64k>E( zgWXgvd_TvCKRzTu@B{+!w_B`V%Lhn-XMQ8L6MIp;XGh_7*&~VlTZR*UD)0BoIb9!~ z$@jxY6YZ_)i{X4B+B=kJZ<*Jg-CH_?VHHI0h?`!0ArSBL!*Sv-#_Jz`hWKIh1jg-w zIUT>pCCt@ql!9T;ki^41+wuKz*n8cFAfMc$x-Y&DdJNrXf_#r*9t)R)zipo;+~l1qE>njT2TK%r5H=08Z0eQo%6gAijN& z|4-v@677+n5EmnV8Yv#wJ|o@73Aj~1a;v8~ThM&zw;O}MgZHftvD`0eoRBGUX&>S|UXu6awUR#=+bMmxOwVL^>VB2aFQH$l;P0fO zQ12xVZv~-v-WNEP?^40-9F6ec?nC?0Jf-{^?omGrdvA2GT>oKy_4{+w(}&zR_>JMD zZ8DORCqPH_6Q*-0po8*3u7<69#24EYo=qrE@2p8aIyZyz#t*9BxSa!1!0p>Fq4CYk zy{O0C-HY!}?3Iw^Avg31`j5jhziwu7`neBJBiuWLaNn?mVbflrZ|u)Ktn-%68+IPI z^{}Kf{`qJ7fIib;lUgF_f^x=yow16yC6$~~a}ObGVxyJU;Le-CKs{v_mc*rW4i0sL|{)v-S@5A(QT zKEL=DwmXhu-Yo7%XnNLzs%OEhT(T}1rtxj`pNstrcsw2O%Ek8}w!ogDe!I~&HOjx_;F6rR`n?hi&ST^H&0AUg2-laAyqn zF`9?X|IhR|o-ebMh5PjZn&0i70j3vq`(y|*)4TuyVE5(v_{sA8Kyt*tzk%!f_br(3 z{#w^_t1HfTuus{#*6te$_smNF{r$Ir#JHMeKN0P3rS;qp`NuGy_;6Xj8NOQyp0u1o zAiRtLPi)S4zVqFGdi)lyqlV}gemEW<1X2(x{Zaw$*{6LA;U9VrR{5z>-AX3r(F!XDVzmyWXGq4A89P=XhoAFmVFM{90 zJ>Ykr4-O~%c9{^`eEnoBR__fOckPo`ZxLQcM;sC&vN^Y$4vqGW&Y)Udh0~)r^yG? ze}%ue-*)~$_d(nk_L;(qlrQuhJjOfy3+&!jmyg?{>QCBxW~tyI`9S_HkPqtb5y^$f ze_!Q??Q84$-S3CMt@|SkFFnC?lJs2AX99F4zeS0sYoLI;qQYs5d|74*s< z;RxhxBsV-iU}<0V3LoEZWPEG?&HvYzQzsspPfpz~?fU)968$E`<49SVnDstk_Z)Q0$3Aqr-iO~h*1o(^j_m5}h zlM^t=y^wO^`{Zij^WEM>%89RVzs(P%xL^943iSOc8*jI(ywLkiB6*?X&2RTO@jK(= zXR{|yK7rvFxcxX^A}{E@ zx}S1B+Sfs-=TX8DoSWG3_|yEE?9uho-~0o!63_35dhvgdQ=l*@|LE?i2+VSfF-D3W~l<791bSsw9%}r$m z&ygIres|B`?^N&!%m;dJ(T?*#xBLTNmk#*wWR*@&|ElnZmdi@W`w>j1RB%yQIiBx* zJp3`^!JGdGrO|tyetX6j>)*lS$L6W5)b9#i(k|W812~G%3&N%r#Ff9p)<(p~fv-^g z9BBUr<(q)du+_e!9UqRND)Q{LGOmXN@3h~D(D0s^|5L%N!lmt+5^xMQH9@EJcW4SXj4<6{AN8lkjk3DMhh1x-i1K=MUA64{X)0MHbGM;Y}Ja;AVd?)Zx1<&cTp{SSR z8}gg$eV32#viXo2rC;Bw2iI|UHVqo;?#ccJ#M$1*h_mygDe+dI`})tza`qCw>Y)D8 zK8Ns=8w;c#+fg z)zZHz3NkuodDm94_zgXMmI)iK67rIspmxpTcFC6tejRWo z<%pK2dm&*5Ep}@Ddo_Q%#^DcF$<8xo? zsQA+ThuqSeq(C^>hIaIQayn0l_@1nUZVK?aJJgS5oBFZbiTS4Or#b_eqL(&)3!EB|LvXoa4?W~O00)O=heih^t1Q0B7IE9K}v4Ni1kC# z<4~X7Z)^8C>-di4g6e<8Ba+{ZX}JaTg_$7%C+MrefK1nX9p|QMz^HbAh0T{?1M;8B z{p49H!g?ClX!jWLc-{4Lq_1^RBK=$q@KU|KPxCZ6&;6jElJ6|1xF^;gw{thOlM4P6 z<#k*)(-{-~rGh^|dI95#*3rQCp7k0Y2RG$LGy?X@ng1sL_`XTzAnbZ2w-!&I}So;aS@W+Ama~t<_ zO8Ysf{XAGJ^G%K%hf4bSDCiyTMt!M(Hd*M${ulg({{epaOMT~o< zxAp6b+^@kF?E8(($~+hDIU->^&lvt{rJu1M%he19>j9E}+xZw*Z11nOAJ>wY|61w5 z596Qb19wpQW+(bv32$Gkgtv(!0zaSIXS}6?qdISo0xu1UKfN#A-j%R>(#;-Y_oMsm z4lrEB$q28vQ2h+=1mTVGGemJ7M@$(`UrysEhi&?b-v{Vk2J0{LCvS~~dqLNbE2AIz z3km#T9pEOu)HpWM=zOKdvy#8Nt5L#mIp{Pa+=2blSJ9V}^$GQd>2Lk`0QJNC?rhwU zUM2KoIPbZPzQb%!aLo!HIDIFl=cU~!m;-q;>Z zm2kS=f9!NW#q@-*730FGTn<}xyqKM>RrQvYzzfZ5!UswEF+A%(MRe4A37y?HSQrpI z^8C-gR6vJ3=|}H537kX+ggQSoueN-`W&zvjrYOJZ0WA0bk<$G3dAu{evy_kF_!l0J zd5X}F^)mVw*`?e;%zrU{-o~Gq9|VrL{U1pB*~B*d2gAV_F#XQpaSgLvoaEmz=_l zX+FLm1Lk!;9}9RrKD?OuO-fNeN3|RU$9R0MY?B1Lmo_Eb#_h&@{0b`1(us3At%vk7 zX(v~ck@ALT!&8j!FGz`P^nd1Ke>}}nKMmiJywvrF%@66C^Q9e@6GK$qpKsrvA%0N0 zm|s|2jusG{ze2h9dF4$1Zhi#s`J@8)v4uJ>`*dM^g_->V56kJ2_qQ{nl1}%pN$8iO zZ2&4aT&3JlS^ndM7h7+JBaqL2eJoe)9Sz1C_teHO!!_W|6ZU>Ygx?J0f?pr6FMYb$ zJo^uPzvu+yshiYws=jwQvrEt$$>a1{z_+E_x|``mAW6QC4ATpILwbVr+w`DoE?;>5 zoAvs|<6~=2JRd~-H=+8K%F9b?c8Q*8eumL_?+5&57Y#4Mc=z$bc(8tOdmrX;UC?no zs`6CVdv-32-ihJvQa@GhTpjo8wGWrBb1$ZRygzd2Xq?XNTd z`(8o_r=RPPK;#_v!~AM(KH)h3Lb5~fkM$+aXXkyRcC)HyyfVw#fPMgdR z%Ip}>f9xEeKMuM`9{KgmaeQ357qFlH5n9js`vwQ!!ShE~V&3|Z6o|&D^1~%HwK6^z znjfP3Cv1L*)>k>f8=Z#(-4p9rx-Uc0W4qU^#=%#ST-18a-;&4Si7&hY8P>{2g9L{wQ3J`D1M(e^t{D{qjevl>a8Z@5|+7oMh&tU5?*F3Eir{ zar_Fxw8?#*4@&)qAh$Rl|Hv*P^>p{FFPn#^na)MzWBttLg-?)(bCZXF@2P2op1yE? z3w=-2?{u9{_8HJi*Wm`It0~n(eSP`dlKL=C;`$&jY+X-!iPmrR9hJC`-_ZpBikyEG z{j~iArvI0?pM_EMPu~NI>>Ug34=R7e`p7Z0gQB6Ro(1-QU0FTf)OsEffc<_|EFo}lnP=m9*x@l59qwhO%G z2X6Plv0mb@hg`!CWdzZFB>1`E-!-oM-S8caEB`m}>WRm*jt^a*+4v^EJ%KM8f04g8 z<{9#T(eLH!z@bHs7oksKNc!iB!=Q`#UtSQ)TL#qpFI}FYuCSgfSd(5MY9Y6l~ zU_G4aw&x2(x3c=*rS<>3z_Zx;ZG2mO>6&h>2M*Y-H~@T%f$re~c2XZ71a9PaSl-U9 z+K%c+(Y!|;q+h7-KJmC0eA~RGcDESbH%mRqb&}0XjIY0;No1x=swI8rM#=Ar+fS`u zitki#ZPXr*2iAYv6MFqiJUb7=W%;@i`Od16?|33#O_h9y68U~g>mBYd3N0Kc%E zwVv=9*}HZkoy)VlqJ5npbX+j6R-4`4|z)MK1M!|-Fgoh(M`X@kAn0NjkjxkimyyZRGv^y=Mu0_ z!*u)@C3I)9(RZvXAa}T*rRxgFp>R<7w*dN|P5DkF^f{AbuYNP@*8$+M_iD!=pWNkI zo?swyoeVER+)Y4knV(tmUXO6oA<%z4^3Pm~kn|#?dvG0PKG==#JRYz63zDk`fj2h+ z{N~Pre`}IIX+KEn<8r?wEEALi*WkM<(J;71Yn>t{Wa>wN>u z`GY64UeL?vn5+3d(hGot&MnbOoZ8!g4U}tEV*oRqs?B5ViTP-b7UA43}8G-uGM$ z6dN}M`0QM&)lc_d3cSpRS*mXa%R=er2Ctq27n2exJtow=`!_sLy$Gq`9g@!T14GK(v-y_*GylJteEImt-}&dp0bhDqY5Eo|pIiD~$!GRV ztM{75()=_I1&(W0X*$@2_Ro;MrUB_Q8>PA+t{;j>xTg#KD=0qt;2%c*T-tB=iG`V7 ziO(qf+bGOZmG^1rkKbdgKcMW&^_|de^4#mYf~$6+Lsr5t?y5Fg6i}2 zs}nz=xblCcd2=`UW3jyP+c!LLzi+vZ=S|QfrRN!Go)W_#*&VUYEgaW)t;XjxUMF#$ zmvC?PfPM$u z?*M)Fz@Fpde>QY@_76p{$ zukg<%;GgS%amHhv!tb~5!~ahLKm5Z>?E5tTGvA-C9=pq%=TB#R4`0CJ@yw0y-zJti z6XW~vbEWdo#`ibg$m9F4j5oS>O~O>LRv7to`hWi!?*H$ess2}yZ~qhhSNV2C!sPrF z?!dS1`NA_Ice^t`k^1w6Z)^Mn+C2z;#7*iv zIsy4TGlh29t|9YRQR6fT@V%qvpUU#=8RB`C*Q?%3_AXBjt@ttJQ$5|!_fpEo^TkW) zzZ@%s^yBy%`Y-G``^Ov)_nZWLljyIlH_Y!L_NVFq9vZk5&p+!CFYHCQ8tHDAbeq1n zA$^zXW0`h|=id*1c7GlheZ=fHyHOAK^Gi37-IegdkQ*LMK5##?l+O7Esh{cK7p0(& zm!Qf%)wgZ}UTnW%`DVhW&ToGC`YPoI$pFB3OwQAvA_z`(9CJPVvwK9l2O(E{IHs%c z^;YKVgNH!BiD`uUuz;X*L_!F+j}RpFgWudfUFWHu;P%PqsC~a(#-H&6oV%0pHwyTQlM<$aHp%Fwz!&bI@ssjd0sIs8WQA}1cBLKV6E`*t zJ{!mQVmQA>=WI!?N&jQNq|2ne{K4-^dfx=bpW?e#m-@J#Cux6`{o9yCbpNTO zNACwwI{)Z?U+GV}_A=ohH?bf697R30ZOeyDUTab1;27{~=eDZt zKcs>;NjI_BqHsHc)#`43v+rh_+02A@x= z$(36Ya^-y;WRL9uAJ~3{Ur#mp^6yVomM>o-NS?QR=_!{ly;bDPmo|}nnHm5;Pk>JD zU@zjkOwQEF`poSDACP@r<0faY-f@a&l1o^}6@Yh{mPpPReV8sQh%V;e7s;`Lt&>!a z6>J@)e5C$7CP#fdcU6*8w*Gw#aB#cNaDNM3=wETWgbSS;rSUF&l?t%(_S+qzc6q%2 z95uo9x8KA48q)fQB}@f>LL-aD>B!+9a+u$h<$&<6{H*i(%tMkK+}7~0n8ri=|_;R@+xdPDsgvE^`5~x)L-nC zknRoE_O?qnb2aLt`|qV@A1}vAuOYh)>MKBQKU{UIA8Td&L!{Y<{;Jd~@scPXPX z962WSq?h14Z8dqt`pqQeXTJIRuR~wqIMau_$mz>zezNz!llqZUxcquPPxYjNS5j%_ zL-5-cs*LNibGVFOj*~q)!e6r8pM0^rUE>?Sy^BeHro?->RBvECm+%98(pr;$+@Fu! z!gy18q2oDMbCck0F?f1X@w5>9Pgj87m;Z+M15}^k(LMGGfzv&Do`f?E5(GCvtsr|L z^p)zcY(km@g)U|MIGj(GoSt(#NMXWc+geyH;U9 z&S07*ulD^*YGQdR{MtGV{OY)8{I0x$@Ox0@=cvieSWn^_=zb2!7af;wd>Z3r ztWCmj`KZ)u`*3uhy)86C&l2%VCy;a#hCiM+CLX5*oG zhzior9G^_Ri(!g{eGtC(P#CYE#-UN3Q9ANo8kp=>>#tNGqC#%Dg-Puh?2 zlh6lpHLnl@QGN{T^!%Uk_W<^g=*WQSBry3>h@~DsL#TD2+GST{U6~0%~Tj-rE z={L92_j+o7m*(Gz(6?{>{IBym^cm3==$>DJquTguKE?6ZoE(3TaBnKjV~0du(z@iQ z{N2`P@S2Bk4y&H3ueRSmkl2s^ukLuizj<>;_|VS#uTZ+W z1Ct`3W;)T%iuDK$Kj9vXk7%A1>=C^(D3@DufzWS0xb}ac)SvEK9$d6;Mf(bmo!4Qx z!I%tNwf)P1S5D_2*_WjpzZ1Yo^R?fVz{{6Q+8+=;$~OQ3Gm7_g&D+q<2>ddlbNPGV zuR(ry!pF2;mM}T4efcv-b{~KL<(Q6-*ZreEu3gB>=wkZ>EU%c4 zqx<+N&OhVFwe^UHO(;)($HKR{r3>@_-UK}F@!-ifbV z`Sbff{==#9`}&03==9)r#YOVF!hI(A{pF{~@7VE{La+p^BZw0 z{*BSR)TDfAa!u*%B7J^gxh8(1W71r}_IZ)h;~J;g+T?W4MW@EMLkW7+`1mlp)`9iX z|C!BbZ$$&bGXIM-_=4pF|J(tyKXjnH&c`csJ-*^{|$>NCF(ledeZ z^Y%o)zH@u5U$_HDz-Mnk`zszmX#HtUoKp>3k>B<~!zRGDnDeV02{^vt!4cb0U}uT! zxnm~)pW^39)f3I08~fkEFyzLEB|qt-65a%}73pnQFWP=_r1z^`*Nt_7ugB0IdhZGG z$vO#h%QgsN+}Hr>AD@=c_NVB6Ovy*<5edz|H5FVa<>LOe%XjPFjP}c^o#{!9TmQ=7 zRQr)DDx8Xcr*Nig)J|6mIwtiSy0;GSD_(iN9HlmSezqU)ce!G(hZW(@9PKe!=#tnlc^Evq}xdX?gop2B6 z;dC9BuH{{Rnr}fKS|5UrhF@CGOF6sGquRcJo%0Bnw+Vg79}Mj^0nS_v{Hs#|OqX>2 zQ1a!X_c75f*%MIyJO}{ya=_;bkQ+ufyI+vy1KTmlPgC$__Nl0zRhLNr+{!fw$Fv@^ zyXw1WzTV3If$@E%u&4NZ(B-X%4KLHB>!T(-~qu&m~&ocevZBIuYL|8`HSm77rqnH6cSjqYicRT;OB@@5yde13mm zFMwQdW0+4F{zopR^6FO_`I(NvF73v3o>lpj98c+`@78tkRfI|E--r1B43CzJ_ItWO z$HJt9Nw{cTf$^~$<$eE!M;O00??wALZxp*wwe`JE*N+fgnI1BpXE!}Ht?Y$xl4ou=3! zVgBx{bj0sZ8<$sp=5n8&rtwy2({k+y7wMni@-dzW z`O>?)f`39?6*_;C>0GE6I???yGCthFI?(Nm`zHiaKjZHw8<<}3dpHyR2?6)d*V}o1 z*a?1e6Bze4Uvv9krhdGwjQ{91cT{AzMC6+9t)W9ykv?`NxaJ~tKMeR!9!zb5C& z$S-G;$zA9l5uMbIK8PkGOHw!w%Gf z|3=YY(*sj-`$Z7!(EXKYKScc|Z2nElEhC(7iOA`9)+?N~+7I2|455AnPm*rJKl4w0 zav$QRm)gC%HgANRpOp;ZKAa!1a}sMepq$PBx2c^nCDMuNpM?I`e0QJn$*AB;q1ZrLR=kIrXr?EGSE zPvddZn2*I3FQ|^DTL&gsI@w61tsO z=+2;6ki564S^2}(<+)`zF*6_DdJ}Ybt}CX4OEt@QG<=k`msoe_mMv_rKarr*zj*D1 zSE0hR`M>XM6ud)Fi?dLl)#EO_2jwq8 z`U-8Y`DRHD%np2w`Dc8nw0w9S@DMIRzuBLbAaiw=N8b_ExiWt8J-{1 z_Rqdv(yf0l9G<@{?YMPs1|0p0Czy!@Km5VqsE+3x%AYo#froGj`ptM|i1_?6S3Dm- zHzx4>9v{z_qd(!zF!V%vjNK2d_v*5~%Rjp(+UfqUYe0ImkE{AaD)C?WS zfbBc-{PK0$pXYYW@8Bf)lb(*>!Mi_GS--xN>ON!o^}Xn~-@jv3&JVqrNan_lV}2_h zlh7|WOXb|S>T3_7UdG1-Px5+dR?8igFcsV(=NkR;hSy<#9oiY!Go^U_EXf4H^CI!; z*T>~HR>5oY3yoK{GZmH3i0^HkdLi(t>%L7*$1IE ze?$+^lj-rLKl16ZSKHYyA^F)aiXJoTK~JtPlc2}-i~Fayo#Er=jwbs`FQ`g_R@Lu z{L{qyLsjtpnim-FhpXWI4#E2o#m`~Idny0ZzRnzDDpdbZUw%xN;2rC7#`}8&@6%fE zA;tTB*hf*jHQ6B+M+c};GS7Z8L5F8)Je-a`b4wLE-1q|1VWnXRtw^Xsqp3V3zw5VNjy@YfRt@2}M2|glxEz;gS-~Q;)m+^U% zmq|PGttWynmD+`#eYo$QEwWr&qTI*4a`s-<4BTmg_&gZw zgfsP^hd(}e9m3=0lUtboue>o`|`P`alI<30nu!sYEA zYS`CY9{LE~3yksyq3^jVz~%J(HIKb4waoC;UPAEHwh0_=AE)9zQT~g+FXQiLwNZ@h zBm34P)OBd3{#_vZRL4Y5qWyV^$Dj5$p?B$f za7E(QZ~5#y;PBy|POK}9PEU|ciSDZh{CXc!*oX-zRQl@n z9Nj}R41A9%UB)Igu5=g!eZoBhk{fbp*D zUw2UPu6&lR5i=h3NAcdE{h+-){-uKN0B=2=fNxJ1!lvyS9sxcF4+9?+_-N*0ntykq zK8Ak-{Tazal1o{NGe33SOZjyD77q3T4}C2H;LL|n-W7pQy9Xx~&>;}|rO*0330)ru z;8xBezET2ucM9nw9|5P?S(=m|qx*{$KU$9Ny+-~?z+-+9+>ZiP?eh!s2k(DpDV_WC z%haEA@KFK4&v!!g$XgQgW3+%egfGU&>E6rp zK~MgZ9wzn-@{b1J6yR_~`>h(U1syZN3GPYv;C2aVKUmXiH4gfdKBsZTQ>I?xj89@g zI^TnJ5XUqzd6O`;#>cT>=Dn$~ez z;9g;#*h}@8KOf`&cG36uYWe*VM*DB4h&S%vBNuRg&m8`4J{|lGmg8@z3jY3#@n?Qn z#bMyV<~x0#JyiR)D?+}yh8UmJ<;V_9?-2^WyqNNC7q#!pfuy_}r7ewIaJ#~l6~NE5 z9JcYi82S4_f+rmSp{d}e7Y(k3@DvK3t`T^ckNMZH^9d2ai#Ecy=3(9F8F;I z<^6ik-9i1IQ2I|M>Ce65`Taf#T@n07b};GZZ4I;lq@Ul8(f7SX-(-HWS4+9*92wNg zp!xEz0B;vdb=2OM5icOlc;oqZrULv=h~C;J`N{uQ!d%TZ_%C|pjo-h(`wQ0JGJd!I zg2CwhH{lDxFAW8z!+Y;0`J9j8BCw)&0+{c(2ID*0XH&SqhclE`}a^sVde$#bQEP4;w?4Gu7?#8r!@#3ZWY25qwX4*T-GdG}~ z=zgjQF3`vJz3II}=|`C9kdW!Kf`$~`mmu(jnU*=ODO`^GcS(;#yeErr57xi5PSgBY zFZ=w=^OxE0{qzo|dj-EL;nOj|&*xU;-okN>6IpnCME3n6@X2t0@B7S`?a~i7Rm#ul z8e7*YJ@ZP>eW+l4OG^cx#L>6#BnJ#^nc^6Py~jMo(1 zHx(`iecdkLjnkJj^pkWhK3qPj^+1kt`cEm{?P`>K?BB{Gq`wLJx-XZ7 zUz*hJ(qr}&*j?gzseIq3i}gX>_c8e#sy)a2N9=x*84PccN1wZu`Mpc@#Mm$I;{qr7 z$4Ng}er73!`|;HaNq*I|$@k`cxTnVz6mKinOL`@Jf&0bfCuDzC*TV_>Om68PNO_i* z%n1FL-%l+Qd@6TXALE3ufm0c7ZFiNnyHfE>vm2&s9@BauPwc#AXm*`l@|ou0`{fV6ze6PV_&n~p3A;p! z^awxS{wn$2_!s{E?X<`X9v6G4PO`&CajZ)*zm=~`G2g}G3G<%RL$ZeU1*9Gyo?fPZ z5&dF5G=1Quq*u{AFL-yw0fbf7TXgyP*^Hk-{DU63UZ#CBEh9?$Q0cQXE31b^w8drlGylE2`3iKl{> zO225n)A&m?-mY<4sL;cSUgB{*C?Bd_!RX2J z+fn+&c;=d!{=?*AZu3c{?+?m%^taOYA^8ses`UNW>3b?z^D~CXAGfoN*9$n6(sv_d zc)s&XrTOM4pHn|;{{B1HGQ2t-tJ--RPjHR#J9My%a}Nl50{5WW`yYb8yBm5|zUOzP zq(Fbu<5FLDX0L?d@-Bp1VF#mo+z@Z=MA$PVVJuIFk)9bqIMOSjPZwEF?v!SQKeiAE zBu7Q=nqAsWKu(7}^=0yy*RR%JrdJ)^W8|Xs3o#!3%s$P0$Q|Q+S1}*yJNsA)sK;*h{`&8i`Z^L$tB9+~>Y{_dr}8t=Cnp33@teU*NnSEb*Y zUf%D2Dx)KhJJtt$dpgtUgS1c1{A70iKP4D!-^S;o+7p$_U-~IuPr$h3`ktn?PSt)L z^YyIAzwRE410RlKKP=S`SnhB?&S@h$jU5;I(Eb?01pkGbY+n_6Kk4I=uhRN(mfKN1 z-;IMWxt�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 { + const homedir = os.homedir(); + process.env.ANCHOR_WALLET = `${homedir}/.config/solana/id.json`; + const program = anchor.workspace.Donaproto; + const provider = anchor.AnchorProvider.local(); + anchor.setProvider(provider); + const connection = provider.connection; + const { payer } = program.provider.wallet + const donationMintAuthority = payer; + const donationMintDecimals = 6; + let donationMintPubKey, rewardsMintPubKey + const rewardMintAuthority = payer; + const rewardMintDecimals = 9; + const minAmountToCollect = new anchor.BN(1_000_000); + const clmmProgramId = new anchor.web3.PublicKey("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"); + const minAmountToEarn = new anchor.BN(1000); + const donationProtocolData = anchor.web3.Keypair.generate(); + const [treasuryOwnerPK, treasuryOwnerBump] = anchor.web3.PublicKey.findProgramAddressSync( + [ + Buffer.from(TREASURY_PREFIX), + donationProtocolData.publicKey.toBuffer(), + ], + program.programId, + ); + const [authorizedClmmPubkey] = anchor.web3.PublicKey.findProgramAddressSync( + [ + Buffer.from(AUTHORIZED_CLMM_PREFIX), + donationProtocolData.publicKey.toBuffer(), + clmmProgramId.toBuffer(), + ], + program.programId, + ); + const wrongAuthority = anchor.web3.Keypair.generate(); + + before(async () => { + await rechargeWallet(connection, wrongAuthority.publicKey, 1e9); + donationMintPubKey = await createMint( + provider.connection, + payer, + donationMintAuthority.publicKey, + null, + donationMintDecimals + ); + + rewardsMintPubKey = await createMint( + connection, + payer, + rewardMintAuthority.publicKey, + null, + rewardMintDecimals + ) + }) + + it("initializes donation protocol data", async () => { + const treasuryTokenAccount = await getOrCreateAssociatedTokenAccount( + connection, + payer, + rewardsMintPubKey, + treasuryOwnerPK, + allowOwnerOffCurve = true + ) + console.log(`treasuryPK: ${treasuryTokenAccount.address}`); + + const tx = await program.rpc.initializeDonationProtocol( + minAmountToEarn, + minAmountToCollect, + treasuryOwnerBump, + { + accounts: { + donationProtocolData: donationProtocolData.publicKey, + treasury: treasuryTokenAccount.address, + treasuryOwner: treasuryOwnerPK, + treasuryMint: rewardsMintPubKey, + donationMint: donationMintPubKey, + payer: payer.publicKey, + systemProgram: anchor.web3.SystemProgram.programId, + rent: anchor.web3.SYSVAR_RENT_PUBKEY, + }, + signers: [donationProtocolData], + } + ); + console.log("Your transaction signature", tx); + + const onchainDonationProtocolData = await program.account.donationProtocolData.fetch(donationProtocolData.publicKey); + assert.deepEqual(onchainDonationProtocolData.treasuryMint, rewardsMintPubKey); + assert.deepEqual(onchainDonationProtocolData.treasury, treasuryTokenAccount.address); + assert.deepEqual(onchainDonationProtocolData.donationMint, donationMintPubKey); + assert.equal(onchainDonationProtocolData.minAmountToEarn.toString(), minAmountToEarn.toString()); + assert.equal(onchainDonationProtocolData.treasuryOwnerBump.toString(), treasuryOwnerBump.toString()); + assert.deepEqual(onchainDonationProtocolData.authority, payer.publicKey); + }); + + it("fails to authorize clmm with wrong authority", async () => { + try { + await program.rpc.authorizeClmm( + clmmProgramId, + { + accounts: { + authorizedClmm: authorizedClmmPubkey, + donationProtocol: donationProtocolData.publicKey, + payer: wrongAuthority.publicKey, + systemProgram: anchor.web3.SystemProgram.programId, + rent: anchor.web3.SYSVAR_RENT_PUBKEY, + }, + signers: [wrongAuthority], + } + ); + assert.ok(false); + } catch (err) { + assert.equal(err.error.errorCode.code, "ConstraintRaw"); + assert.equal(err.error.errorCode.number, 2003); + assert.equal(err.error.errorMessage, "A raw constraint was violated"); + } + }); + + it("authorizes clmm", async () => { + const tx = await program.rpc.authorizeClmm( + clmmProgramId, + { + accounts: { + authorizedClmm: authorizedClmmPubkey, + donationProtocol: donationProtocolData.publicKey, + payer: payer.publicKey, + systemProgram: anchor.web3.SystemProgram.programId, + rent: anchor.web3.SYSVAR_RENT_PUBKEY, + }, + } + ); + console.log("Authorize CLMM transaction signature", tx); + + const onchainAuthorizedClmm = await program.account.authorizedClmm.fetch(authorizedClmmPubkey); + assert.deepEqual(onchainAuthorizedClmm.donationProtocol, donationProtocolData.publicKey); + assert.deepEqual(onchainAuthorizedClmm.programId, clmmProgramId); + }); +}); diff --git a/tests/authorizeClmmPool.test.js b/tests/authorizeClmmPool.test.js new file mode 100644 index 0000000..a38f7b4 --- /dev/null +++ b/tests/authorizeClmmPool.test.js @@ -0,0 +1,197 @@ +const anchor = require("@coral-xyz/anchor"); +const { + createMint, + getOrCreateAssociatedTokenAccount, + getMint +} = require('@solana/spl-token'); +const os = require('os'); +const assert = require('assert'); +const { rechargeWallet, loadObjectFromJsonFile } = require("./common/utils"); +const { createPoolState } = require("./common/amm_helper"); + +const TREASURY_PREFIX = 'treasury'; +const AUTHORIZED_CLMM_PREFIX = 'authorized_clmm'; +const AUTHORIZED_CLMM_POOL_PREFIX = 'authorized_clmm_pool'; + +const raydiumAmmIdl = loadObjectFromJsonFile('./app/src/idl/raydium-amm.json'); + +describe("Authorize CLMM pool", () => { + const homedir = os.homedir(); + process.env.ANCHOR_WALLET = `${homedir}/.config/solana/id.json`; + const program = anchor.workspace.Donaproto; + const provider = anchor.AnchorProvider.local(); + anchor.setProvider(provider); + const clmmProgramId = new anchor.web3.PublicKey("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"); + const ammConfigPubkey = new anchor.web3.PublicKey("GVSwm4smQBYcgAJU7qjFHLQBHTc4AdB3F2HbZp6KqKof"); + const clmmProgram = new anchor.Program( + raydiumAmmIdl, + clmmProgramId, + provider + ) + + const connection = provider.connection; + const { payer } = program.provider.wallet + const donationMintAuthority = payer; + const donationMintDecimals = 6; + let donationMintPubKey, rewardsMintPubKey + const rewardMintAuthority = payer; + const rewardMintDecimals = 9; + const minAmountToCollect = new anchor.BN(1_000_000); + const minAmountToEarn = new anchor.BN(1000); + const donationProtocolData = anchor.web3.Keypair.generate(); + const [treasuryOwnerPK, treasuryOwnerBump] = anchor.web3.PublicKey.findProgramAddressSync( + [ + Buffer.from(TREASURY_PREFIX), + donationProtocolData.publicKey.toBuffer(), + ], + program.programId, + ); + const [authorizedClmmPubkey] = anchor.web3.PublicKey.findProgramAddressSync( + [ + Buffer.from(AUTHORIZED_CLMM_PREFIX), + donationProtocolData.publicKey.toBuffer(), + clmmProgramId.toBuffer(), + ], + program.programId, + ); + const wrongAuthority = anchor.web3.Keypair.generate(); + + before(async () => { + await rechargeWallet(connection, wrongAuthority.publicKey, 1e9); + donationMintPubKey = await createMint( + provider.connection, + payer, + donationMintAuthority.publicKey, + null, + donationMintDecimals + ); + + rewardsMintPubKey = await createMint( + connection, + payer, + rewardMintAuthority.publicKey, + null, + rewardMintDecimals + ) + }) + + it("initializes donation protocol data", async () => { + const treasuryTokenAccount = await getOrCreateAssociatedTokenAccount( + connection, + payer, + rewardsMintPubKey, + treasuryOwnerPK, + allowOwnerOffCurve = true + ) + + const tx = await program.rpc.initializeDonationProtocol( + minAmountToEarn, + minAmountToCollect, + treasuryOwnerBump, + { + accounts: { + donationProtocolData: donationProtocolData.publicKey, + treasury: treasuryTokenAccount.address, + treasuryOwner: treasuryOwnerPK, + treasuryMint: rewardsMintPubKey, + donationMint: donationMintPubKey, + payer: payer.publicKey, + systemProgram: anchor.web3.SystemProgram.programId, + rent: anchor.web3.SYSVAR_RENT_PUBKEY, + }, + signers: [donationProtocolData], + } + ); + console.log("Your transaction signature", tx); + + const onchainDonationProtocolData = await program.account.donationProtocolData.fetch(donationProtocolData.publicKey); + assert.deepEqual(onchainDonationProtocolData.treasuryMint, rewardsMintPubKey); + assert.deepEqual(onchainDonationProtocolData.treasury, treasuryTokenAccount.address); + assert.deepEqual(onchainDonationProtocolData.donationMint, donationMintPubKey); + assert.equal(onchainDonationProtocolData.minAmountToEarn.toString(), minAmountToEarn.toString()); + assert.equal(onchainDonationProtocolData.treasuryOwnerBump.toString(), treasuryOwnerBump.toString()); + assert.deepEqual(onchainDonationProtocolData.authority, payer.publicKey); + }); + + it("authorizes clmm", async () => { + const tx = await program.rpc.authorizeClmm( + clmmProgramId, + { + accounts: { + authorizedClmm: authorizedClmmPubkey, + donationProtocol: donationProtocolData.publicKey, + payer: payer.publicKey, + systemProgram: anchor.web3.SystemProgram.programId, + rent: anchor.web3.SYSVAR_RENT_PUBKEY, + }, + } + ); + console.log("Authorize CLMM transaction signature", tx); + + const onchainAuthorizedClmm = await program.account.authorizedClmm.fetch(authorizedClmmPubkey); + assert.deepEqual(onchainAuthorizedClmm.donationProtocol, donationProtocolData.publicKey); + assert.deepEqual(onchainAuthorizedClmm.programId, clmmProgramId); + }); + + it("authorizes clmm pool", async () => { + const newMintDecimals = 5; // BONK has 5 decimals + const newDonationMintPubKey = await createMint( + connection, + payer, + donationMintAuthority.publicKey, + null, + newMintDecimals + ); + + const tokenMint0 = await getMint(connection, donationMintPubKey); + const tokenMint1 = await getMint(connection, newDonationMintPubKey); + + const price = 36626.12336; // USDC(token0) per BONK(token1) = 36626.12336 + const openTime = new anchor.BN(0); + const poolStateResult = await createPoolState( + clmmProgram, + connection, + payer, + { + ammConfigPubkey, + tokenMint0, + tokenMint1, + price, + openTime, + } + ); + const [authorizedClmmPoolPubkey] = anchor.web3.PublicKey.findProgramAddressSync( + [ + Buffer.from(AUTHORIZED_CLMM_POOL_PREFIX), + donationProtocolData.publicKey.toBuffer(), + poolStateResult.poolId.toBuffer(), + ], + program.programId, + ); + console.log("authorizedClmmPoolPubkey", authorizedClmmPoolPubkey.toString()); + console.log("authorizedClmmPubkey", authorizedClmmPubkey.toString()); + + const tx = await program.rpc.authorizeClmmPool( + { + accounts: { + authorizedClmmPool: authorizedClmmPoolPubkey, + poolState: poolStateResult.poolId, + ammConfig: ammConfigPubkey, + donationProtocol: donationProtocolData.publicKey, + donationAmmMint: newDonationMintPubKey, + authorizedClmm: authorizedClmmPubkey, + payer: payer.publicKey, + systemProgram: anchor.web3.SystemProgram.programId, + rent: anchor.web3.SYSVAR_RENT_PUBKEY, + }, + } + ); + console.log("Authorize CLMM Pool transaction signature", tx); + + const onchainAuthorizedClmmPool = await program.account.authorizedClmmPool.fetch(authorizedClmmPoolPubkey); + assert.deepEqual(onchainAuthorizedClmmPool.donationProtocol, donationProtocolData.publicKey); + assert.deepEqual(onchainAuthorizedClmmPool.poolState, poolStateResult.poolId); + assert.deepEqual(onchainAuthorizedClmmPool.programId, clmmProgramId); + assert.deepEqual(onchainAuthorizedClmmPool.token, newDonationMintPubKey); + }); +}); diff --git a/tests/common/amm_helper.js b/tests/common/amm_helper.js new file mode 100644 index 0000000..2780798 --- /dev/null +++ b/tests/common/amm_helper.js @@ -0,0 +1,80 @@ +const anchor = require("@coral-xyz/anchor"); +const { SqrtPriceMath, ClmmInstrument, getPdaPoolId } = require("@raydium-io/raydium-sdk-v2"); +const { + TOKEN_PROGRAM_ID, +} = require('@solana/spl-token'); +const Decimal = require('decimal.js'); + +async function createPoolState( + program, + connection, + payer, + { + ammConfigPubkey, + tokenMint0, + tokenMint1, + price, + openTime, + } +) { + const [mintA, mintB, initPrice] = new anchor.BN(new anchor.web3.PublicKey(tokenMint0.address).toBuffer()).gt( + new anchor.BN(new anchor.web3.PublicKey(tokenMint1.address).toBuffer()), + ) + ? [tokenMint1, tokenMint0, new Decimal(1).div(new Decimal(price))] + : [tokenMint0, tokenMint1, new Decimal(price)]; + + const initialPriceX64 = SqrtPriceMath.priceToSqrtPriceX64(initPrice, mintA.decimals, mintB.decimals); + try { + const { publicKey: poolId } = await getPdaPoolId(program.programId, ammConfigPubkey, mintA.address, mintB.address); + const createPoolStateInstData = await ClmmInstrument.createPoolInstructions({ + connection, + programId: program.programId, + owner: payer.publicKey, + mintA, + mintB, + ammConfigId: ammConfigPubkey, + initialPriceX64, + startTime: openTime, + forerunCreate: false, + }) + + const tx = new anchor.web3.Transaction().add(...createPoolStateInstData.instructions); + const txSignature = await anchor.web3.sendAndConfirmTransaction(connection, tx, [payer, ...createPoolStateInstData.signers]); + console.log(`Pool state account created: ${txSignature}`); + + return { + poolId, + mintA, + mintB, + success: true, + } + } catch (err) { + console.error('Error creating pool state account:', err); + throw err; + } +} + +async function createObservation(connection, clmmProgramId, payer, observationKeypair) { + const tx = new anchor.web3.Transaction(); + const OBSERVATION_SIZE = 41 + 80 + 52 * 1000; + + const inst = anchor.web3.SystemProgram.createAccount({ + fromPubkey: payer.publicKey, + newAccountPubkey: observationKeypair.publicKey, + lamports: await connection.getMinimumBalanceForRentExemption( + OBSERVATION_SIZE + ), + space: OBSERVATION_SIZE, + programId: clmmProgramId, + }); + + tx.add(inst) + + const txSignature = await anchor.web3.sendAndConfirmTransaction(connection, tx, [payer, observationKeypair]); + console.log(`Observation transaction signature: ${txSignature}`); +} + +module.exports = { + createObservation, + createPoolState, +}; diff --git a/tests/common/utils.js b/tests/common/utils.js index c41ce97..0a80bc8 100644 --- a/tests/common/utils.js +++ b/tests/common/utils.js @@ -1,5 +1,6 @@ const borsh = require('borsh'); const anchor = require("@coral-xyz/anchor"); +const fs = require('fs'); async function getNowTs(provider) { const accountInfo = await provider.connection.getAccountInfo(anchor.web3.SYSVAR_CLOCK_PUBKEY); @@ -19,7 +20,19 @@ async function rechargeWallet(connection, wallet, lamports) { return wallet; } +const loadObjectFromJsonFile = (filePath) => { + try { + const jsonString = fs.readFileSync(filePath, 'utf8'); + const object = JSON.parse(jsonString); + return object; + } catch (err) { + console.error(`Error loading object from JSON file: ${err}`); + return null; + } +}; + module.exports = { getNowTs, rechargeWallet, + loadObjectFromJsonFile, }; diff --git a/yarn.lock b/yarn.lock index 782f279..c25232a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@babel/runtime@^7.17.2", "@babel/runtime@^7.23.4": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz" - integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== +"@babel/runtime@^7.10.5", "@babel/runtime@^7.24.6": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== dependencies: regenerator-runtime "^0.14.0" @@ -37,18 +37,75 @@ bn.js "^5.1.2" buffer-layout "^1.2.0" -"@noble/curves@^1.2.0": +"@noble/curves@^1.4.0": version "1.4.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz" integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== dependencies: "@noble/hashes" "1.4.0" -"@noble/hashes@1.4.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": +"@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@1.4.0": version "1.4.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== +"@project-serum/anchor@^0.11.1": + version "0.11.1" + resolved "https://registry.npmjs.org/@project-serum/anchor/-/anchor-0.11.1.tgz" + integrity sha512-oIdm4vTJkUy6GmE6JgqDAuQPKI7XM4TPJkjtoIzp69RZe0iAD9JP2XHx7lV1jLdYXeYHqDXfBt3zcq7W91K6PA== + dependencies: + "@project-serum/borsh" "^0.2.2" + "@solana/web3.js" "^1.17.0" + base64-js "^1.5.1" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.0" + camelcase "^5.3.1" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + find "^0.3.0" + js-sha256 "^0.9.0" + pako "^2.0.3" + snake-case "^3.0.4" + toml "^3.0.0" + +"@project-serum/borsh@^0.2.2": + version "0.2.5" + resolved "https://registry.npmjs.org/@project-serum/borsh/-/borsh-0.2.5.tgz" + integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@project-serum/serum@^0.13.65": + version "0.13.65" + resolved "https://registry.npmjs.org/@project-serum/serum/-/serum-0.13.65.tgz" + integrity sha512-BHRqsTqPSfFB5p+MgI2pjvMBAQtO8ibTK2fYY96boIFkCI3TTwXDt2gUmspeChKO2pqHr5aKevmexzAcXxrSRA== + dependencies: + "@project-serum/anchor" "^0.11.1" + "@solana/spl-token" "^0.1.6" + "@solana/web3.js" "^1.21.0" + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@raydium-io/raydium-sdk-v2@^0.1.9-alpha": + version "0.1.9-alpha" + resolved "https://registry.npmjs.org/@raydium-io/raydium-sdk-v2/-/raydium-sdk-v2-0.1.9-alpha.tgz" + integrity sha512-sqgnxEk2lLiU9ZykXofIVnO8uPyIQY28cKZb8clO90J4dCej4gRgtDhmZe9pWOnsWKzrE5oHvU1FaWWhs7IgwA== + dependencies: + "@project-serum/serum" "^0.13.65" + "@solana/buffer-layout" "^4.0.1" + "@solana/spl-token" "^0.4.6" + "@solana/web3.js" "^1.91.8" + axios "^1.1.3" + big.js "^6.2.1" + bn.js "^5.2.1" + buffer "^6.0.3" + dayjs "^1.11.5" + decimal.js-light "^2.5.1" + lodash "^4.17.21" + toformat "^2.0.0" + "@solana/buffer-layout-utils@^0.2.0": version "0.2.0" resolved "https://registry.npmjs.org/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz" @@ -66,11 +123,6 @@ dependencies: buffer "~6.0.3" -"@solana/codecs-core@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-experimental.8618508.tgz" - integrity sha512-JCz7mKjVKtfZxkuDtwMAUgA7YvJcA2BwpZaA1NOLcted4OMC4Prwa3DUe3f3181ixPYaRyptbF0Ikq2MbDkYEA== - "@solana/codecs-core@2.0.0-preview.2": version "2.0.0-preview.2" resolved "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.0.0-preview.2.tgz" @@ -78,14 +130,6 @@ dependencies: "@solana/errors" "2.0.0-preview.2" -"@solana/codecs-data-structures@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-experimental.8618508.tgz" - integrity sha512-sLpjL9sqzaDdkloBPV61Rht1tgaKq98BCtIKRuyscIrmVPu3wu0Bavk2n/QekmUzaTsj7K1pVSniM0YqCdnEBw== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - "@solana/codecs-data-structures@2.0.0-preview.2": version "2.0.0-preview.2" resolved "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-preview.2.tgz" @@ -95,13 +139,6 @@ "@solana/codecs-numbers" "2.0.0-preview.2" "@solana/errors" "2.0.0-preview.2" -"@solana/codecs-numbers@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-experimental.8618508.tgz" - integrity sha512-EXQKfzFr3CkKKNzKSZPOOOzchXsFe90TVONWsSnVkonO9z+nGKALE0/L9uBmIFGgdzhhU9QQVFvxBMclIDJo2Q== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers@2.0.0-preview.2": version "2.0.0-preview.2" resolved "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.0.0-preview.2.tgz" @@ -110,14 +147,6 @@ "@solana/codecs-core" "2.0.0-preview.2" "@solana/errors" "2.0.0-preview.2" -"@solana/codecs-strings@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-2.0.0-experimental.8618508.tgz" - integrity sha512-b2yhinr1+oe+JDmnnsV0641KQqqDG8AQ16Z/x7GVWO+AWHMpRlHWVXOq8U1yhPMA4VXxl7i+D+C6ql0VGFp0GA== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - "@solana/codecs-strings@2.0.0-preview.2": version "2.0.0-preview.2" resolved "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-2.0.0-preview.2.tgz" @@ -146,14 +175,6 @@ chalk "^5.3.0" commander "^12.0.0" -"@solana/options@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.npmjs.org/@solana/options/-/options-2.0.0-experimental.8618508.tgz" - integrity sha512-fy/nIRAMC3QHvnKi63KEd86Xr/zFBVxNW4nEpVEU2OT0gCEKwHY4Z55YHf7XujhyuM3PNpiBKg/YYw5QlRU4vg== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - "@solana/options@2.0.0-preview.2": version "2.0.0-preview.2" resolved "https://registry.npmjs.org/@solana/options/-/options-2.0.0-preview.2.tgz" @@ -170,18 +191,34 @@ "@solana/codecs" "2.0.0-preview.2" "@solana/spl-type-length-value" "0.1.0" -"@solana/spl-token-metadata@^0.1.2": - version "0.1.2" - resolved "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.2.tgz" - integrity sha512-hJYnAJNkDrtkE2Q41YZhCpeOGU/0JgRFXbtrtOuGGeKc3pkEUHB9DDoxZAxx+XRno13GozUleyBi0qypz4c3bw== +"@solana/spl-token-group@^0.0.4": + version "0.0.4" + resolved "https://registry.npmjs.org/@solana/spl-token-group/-/spl-token-group-0.0.4.tgz" + integrity sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw== dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-data-structures" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - "@solana/codecs-strings" "2.0.0-experimental.8618508" - "@solana/options" "2.0.0-experimental.8618508" + "@solana/codecs" "2.0.0-preview.2" + "@solana/spl-type-length-value" "0.1.0" + +"@solana/spl-token-metadata@^0.1.2", "@solana/spl-token-metadata@^0.1.4": + version "0.1.4" + resolved "https://registry.npmjs.org/@solana/spl-token-metadata/-/spl-token-metadata-0.1.4.tgz" + integrity sha512-N3gZ8DlW6NWDV28+vCCDJoTqaCZiF/jDUnk3o8GRkAFzHObiR60Bs1gXHBa8zCPdvOwiG6Z3dg5pg7+RW6XNsQ== + dependencies: + "@solana/codecs" "2.0.0-preview.2" "@solana/spl-type-length-value" "0.1.0" +"@solana/spl-token@^0.1.6": + version "0.1.8" + resolved "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.1.8.tgz" + integrity sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ== + dependencies: + "@babel/runtime" "^7.10.5" + "@solana/web3.js" "^1.21.0" + bn.js "^5.1.0" + buffer "6.0.3" + buffer-layout "^1.2.0" + dotenv "10.0.0" + "@solana/spl-token@^0.4.3": version "0.4.3" resolved "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.4.3.tgz" @@ -193,6 +230,17 @@ "@solana/spl-token-metadata" "^0.1.2" buffer "^6.0.3" +"@solana/spl-token@^0.4.6": + version "0.4.6" + resolved "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.4.6.tgz" + integrity sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/buffer-layout-utils" "^0.2.0" + "@solana/spl-token-group" "^0.0.4" + "@solana/spl-token-metadata" "^0.1.4" + buffer "^6.0.3" + "@solana/spl-type-length-value@0.1.0": version "0.1.0" resolved "https://registry.npmjs.org/@solana/spl-type-length-value/-/spl-type-length-value-0.1.0.tgz" @@ -200,14 +248,14 @@ dependencies: buffer "^6.0.3" -"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.68.0": - version "1.91.1" - resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.1.tgz" - integrity sha512-cPgjZXm688oM9cULvJ8u2VH6Qp5rvptE1N1VODVxn2mAbpZsWrvWNPjmASkMYT/HzyrtqFkPvFdSHg8Xjt7aQA== +"@solana/web3.js@^1.17.0", "@solana/web3.js@^1.2.0", "@solana/web3.js@^1.21.0", "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.68.0", "@solana/web3.js@^1.91.1", "@solana/web3.js@^1.91.6", "@solana/web3.js@^1.91.8": + version "1.92.3" + resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.92.3.tgz" + integrity sha512-NVBWvb9zdJIAx6X+caXaIICCEQfQaQ8ygykCjJW4u2z/sIKcvPj3ZIIllnx0MWMc3IxGq15ozGYDOQIMbwUcHw== dependencies: - "@babel/runtime" "^7.23.4" - "@noble/curves" "^1.2.0" - "@noble/hashes" "^1.3.3" + "@babel/runtime" "^7.24.6" + "@noble/curves" "^1.4.0" + "@noble/hashes" "^1.4.0" "@solana/buffer-layout" "^4.0.1" agentkeepalive "^4.5.0" bigint-buffer "^1.1.5" @@ -218,8 +266,8 @@ fast-stable-stringify "^1.0.0" jayson "^4.1.0" node-fetch "^2.7.0" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" + rpc-websockets "^8.0.1" + superstruct "^1.0.4" "@types/bn.js@^5.1.0": version "5.1.5" @@ -274,14 +322,6 @@ resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - agentkeepalive@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" @@ -329,6 +369,20 @@ assertion-error@^1.1.0: resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.1.3: + version "1.7.2" + resolved "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz" + integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -341,11 +395,16 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base64-js@^1.3.1: +base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +big.js@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz" + integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== + bigint-buffer@^1.1.5: version "1.1.5" resolved "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz" @@ -370,7 +429,7 @@ bindings@^1.3.0: dependencies: file-uri-to-path "1.0.0" -bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.1.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -421,7 +480,7 @@ buffer-layout@^1.2.0, buffer-layout@^1.2.2: resolved "https://registry.npmjs.org/buffer-layout/-/buffer-layout-1.2.2.tgz" integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== -buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: +buffer@^6.0.3, buffer@~6.0.3, buffer@6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -436,6 +495,11 @@ bufferutil@^4.0.1: dependencies: node-gyp-build "^4.3.0" +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + camelcase@^6.0.0, camelcase@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" @@ -510,6 +574,13 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@^12.0.0: version "12.0.0" resolved "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz" @@ -537,6 +608,11 @@ crypto-hash@^1.3.0: resolved "https://registry.npmjs.org/crypto-hash/-/crypto-hash-1.3.0.tgz" integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== +dayjs@^1.11.5: + version "1.11.11" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz" + integrity sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg== + debug@4.3.3: version "4.3.3" resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" @@ -549,6 +625,16 @@ decamelize@^4.0.0: resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +decimal.js-light@^2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" + integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== + +decimal.js@^10.4.3: + version "10.4.3" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + deep-eql@^4.1.3: version "4.1.3" resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz" @@ -561,16 +647,21 @@ delay@^5.0.0: resolved "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz" integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== -diff@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== diff@^3.1.0: version "3.5.0" resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + dot-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" @@ -579,6 +670,11 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" +dotenv@10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -621,6 +717,11 @@ fast-stable-stringify@^1.0.0: resolved "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz" integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== +fastestsmallesttextencoderdecoder@^1.0.22: + version "1.0.22" + resolved "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz" + integrity sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw== + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" @@ -641,21 +742,37 @@ find-up@5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/find/-/find-0.3.0.tgz" + integrity sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw== + dependencies: + traverse-chain "~0.1.0" + flat@^5.0.2: version "5.0.2" resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== +follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" @@ -782,16 +899,21 @@ jayson@^4.1.0: "@types/connect" "^3.4.33" "@types/node" "^12.12.54" "@types/ws" "^7.4.4" - JSONStream "^1.3.5" commander "^2.20.3" delay "^5.0.0" es6-promisify "^5.0.0" eyes "^0.1.8" isomorphic-ws "^4.0.1" json-stringify-safe "^5.0.1" + JSONStream "^1.3.5" uuid "^8.3.2" ws "^7.4.5" +js-sha256@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz" + integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== + js-yaml@4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" @@ -816,6 +938,14 @@ jsonparse@^1.2.0: resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -823,6 +953,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-symbols@4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" @@ -850,12 +985,17 @@ make-error@^1.1.1: resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -minimatch@4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" - integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - brace-expansion "^1.1.7" + mime-db "1.52.0" minimatch@^3.0.4: version "3.1.2" @@ -864,6 +1004,13 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" + integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== + dependencies: + brace-expansion "^1.1.7" + minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" @@ -876,7 +1023,7 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" -mocha@^9.0.3: +"mocha@^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X", mocha@^9.0.3: version "9.2.2" resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz" integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== @@ -906,16 +1053,16 @@ mocha@^9.0.3: yargs-parser "20.2.4" yargs-unparser "2.0.0" +ms@^2.0.0, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.0.0: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - nanoid@3.3.1: version "3.3.1" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" @@ -997,6 +1144,11 @@ prettier@^2.6.2: resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" @@ -1021,12 +1173,11 @@ require-directory@^2.1.1: resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -rpc-websockets@^7.5.1: - version "7.9.0" - resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.9.0.tgz" - integrity sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw== +rpc-websockets@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-8.0.1.tgz" + integrity sha512-PptrPRK40uQvifq5sCcObmqInVcZXhy+RRrirzdE5KUPvDI47y1wPvfckD2QzqngOU9xaPW/dT+G+b+wj6M1MQ== dependencies: - "@babel/runtime" "^7.17.2" eventemitter3 "^4.0.7" uuid "^8.3.2" ws "^8.5.0" @@ -1093,22 +1244,15 @@ strip-json-comments@3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - superstruct@^0.15.4: version "0.15.5" resolved "https://registry.npmjs.org/superstruct/-/superstruct-0.15.5.tgz" integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== -supports-color@8.1.1: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" +superstruct@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz" + integrity sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ== supports-color@^7.1.0: version "7.2.0" @@ -1117,6 +1261,13 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + text-encoding-utf-8@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" @@ -1134,6 +1285,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toformat@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/toformat/-/toformat-2.0.0.tgz" + integrity sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ== + toml@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz" @@ -1144,6 +1300,11 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +traverse-chain@~0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz" + integrity sha512-up6Yvai4PYKhpNp5PkYtx50m3KbwQrqDwbuZP/ItyL64YEWHAvH6Md83LFLV/GRSk/BoUVwwgUzX6SOQSbsfAg== + ts-mocha@^10.0.0: version "10.0.0" resolved "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz" @@ -1197,7 +1358,7 @@ undici-types@~5.26.4: resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -utf-8-validate@^5.0.2: +utf-8-validate@^5.0.2, utf-8-validate@>=5.0.2: version "5.0.10" resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== @@ -1248,31 +1409,31 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@^7.4.5: +ws@*, ws@^7.4.5: version "7.5.9" resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.5.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + version "8.17.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz" + integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== y18n@^5.0.5: version "5.0.8" resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs-unparser@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz"