This commit is contained in:
parent
06b2b9a16b
commit
d6d5ebd07f
@ -16,8 +16,6 @@ steps:
|
|||||||
pull: always
|
pull: always
|
||||||
commands:
|
commands:
|
||||||
- cargo build --release --target x86_64-unknown-linux-musl
|
- cargo build --release --target x86_64-unknown-linux-musl
|
||||||
- cargo clippy
|
|
||||||
- cargo fmt --check
|
|
||||||
- name: docker build & push
|
- name: docker build & push
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
use borsh_derive::BorshDeserialize;
|
use borsh_derive::BorshDeserialize;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use solana_program::clock::Slot;
|
use solana_program::clock::Slot;
|
||||||
use solana_program::program_option::COption;
|
|
||||||
use solana_program::pubkey::Pubkey;
|
use solana_program::pubkey::Pubkey;
|
||||||
use solana_sdk::transaction::TransactionError;
|
use solana_sdk::transaction::TransactionError;
|
||||||
|
|
||||||
|
|||||||
38
src/main.rs
38
src/main.rs
@ -1,33 +1,14 @@
|
|||||||
use std::error::Error;
|
use crate::dto::{AccountKeys, TokenData, Transaction };
|
||||||
use bs58;
|
|
||||||
use chrono;
|
|
||||||
use solana_sdk::message::Message;
|
|
||||||
|
|
||||||
use crate::dto::{AccountKeys, ParsedAccount, TokenData, TokenInfo, Transaction, TokenSocials };
|
|
||||||
use crate::utils::{base58_to_pubkey, get_token_socials};
|
use crate::utils::{base58_to_pubkey, get_token_socials};
|
||||||
use anyhow::Result;
|
|
||||||
use anyhow::anyhow;
|
|
||||||
use base64::prelude::*;
|
use base64::prelude::*;
|
||||||
use borsh::{BorshDeserialize, BorshSerialize};
|
|
||||||
use chrono::Utc;
|
|
||||||
use hex;
|
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
use log::{debug, error, info};
|
use log::{debug, error, info};
|
||||||
use mpl_token_metadata::accounts::Metadata;
|
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use solana_account_decoder::{UiAccountData, UiAccountEncoding};
|
|
||||||
use solana_client::rpc_client::RpcClient;
|
use solana_client::rpc_client::RpcClient;
|
||||||
use solana_client::rpc_config::RpcAccountInfoConfig;
|
use solana_program::pubkey::Pubkey;
|
||||||
use solana_client::rpc_request::TokenAccountsFilter;
|
|
||||||
use solana_program::{program_pack::Pack, pubkey::Pubkey};
|
|
||||||
use solana_sdk::account::Account;
|
|
||||||
use solana_sdk::message::VersionedMessage;
|
|
||||||
use solana_sdk::signature::Signature;
|
use solana_sdk::signature::Signature;
|
||||||
use solana_sdk::transaction::{TransactionError, VersionedTransaction};
|
use solana_sdk::transaction:: VersionedTransaction;
|
||||||
use solana_transaction_status::EncodedTransaction::Binary;
|
use solana_transaction_status::EncodedTransaction::Binary;
|
||||||
use solana_transaction_status::{EncodedConfirmedTransactionWithStatusMeta, UiTransactionEncoding};
|
|
||||||
use solana_transaction_status_client_types::option_serializer;
|
use solana_transaction_status_client_types::option_serializer;
|
||||||
use spl_token::state::Mint;
|
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use utils::sanitize_string;
|
use utils::sanitize_string;
|
||||||
use solana_rpc_calls::*;
|
use solana_rpc_calls::*;
|
||||||
@ -48,7 +29,7 @@ async fn main() {
|
|||||||
// Adresse du programme Token (SPL Token Program) --> pumpfun
|
// Adresse du programme Token (SPL Token Program) --> pumpfun
|
||||||
let token_program_address = "TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM";
|
let token_program_address = "TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM";
|
||||||
|
|
||||||
let buy_router_address = "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P";
|
//let buy_router_address = "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P";
|
||||||
|
|
||||||
match base58_to_pubkey(token_program_address) {
|
match base58_to_pubkey(token_program_address) {
|
||||||
Ok(token_program) => {
|
Ok(token_program) => {
|
||||||
@ -97,7 +78,7 @@ async fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match tx.transaction.transaction {
|
match tx.transaction.transaction {
|
||||||
Binary(data, encoding) => {
|
Binary(data) => {
|
||||||
let decoded = BASE64_STANDARD.decode(data).unwrap();
|
let decoded = BASE64_STANDARD.decode(data).unwrap();
|
||||||
|
|
||||||
if let Ok(versioned_tx) =
|
if let Ok(versioned_tx) =
|
||||||
@ -172,13 +153,7 @@ async fn main() {
|
|||||||
|
|
||||||
dbg!(token_data.clone());
|
dbg!(token_data.clone());
|
||||||
|
|
||||||
|
if is_safe_token(token_data.clone()){
|
||||||
let is_safe_token =
|
|
||||||
is_safe_token(
|
|
||||||
token_data.clone(),
|
|
||||||
);
|
|
||||||
|
|
||||||
if (is_safe_token) {
|
|
||||||
println!("Token OK");
|
println!("Token OK");
|
||||||
|
|
||||||
|
|
||||||
@ -200,7 +175,6 @@ async fn main() {
|
|||||||
\nTwitter: {} \
|
\nTwitter: {} \
|
||||||
\nWebsite: {} \
|
\nWebsite: {} \
|
||||||
\nImage: {} \
|
\nImage: {} \
|
||||||
|
|
||||||
", token_data.name,
|
", token_data.name,
|
||||||
token_data.symbol,
|
token_data.symbol,
|
||||||
token_data.uri,
|
token_data.uri,
|
||||||
|
|||||||
@ -1,20 +1,14 @@
|
|||||||
use anyhow::anyhow;
|
|
||||||
use base64::Engine;
|
|
||||||
use base64::prelude::BASE64_STANDARD;
|
|
||||||
use log::error;
|
use log::error;
|
||||||
use mpl_token_metadata::accounts::Metadata;
|
use mpl_token_metadata::accounts::Metadata;
|
||||||
use solana_account_decoder::{UiAccountData, UiAccountEncoding};
|
use solana_account_decoder::{UiAccountData, UiAccountEncoding};
|
||||||
use solana_client::rpc_client::RpcClient;
|
use solana_client::rpc_client::RpcClient;
|
||||||
use solana_client::rpc_config::RpcAccountInfoConfig;
|
use solana_client::rpc_config::RpcAccountInfoConfig;
|
||||||
use solana_client::rpc_request::TokenAccountsFilter;
|
use solana_client::rpc_request::TokenAccountsFilter;
|
||||||
use solana_program::message::{Message, VersionedMessage};
|
|
||||||
use solana_program::program_pack::Pack;
|
use solana_program::program_pack::Pack;
|
||||||
use solana_program::pubkey::Pubkey;
|
use solana_program::pubkey::Pubkey;
|
||||||
use solana_sdk::account::Account;
|
use solana_sdk::account::Account;
|
||||||
use solana_sdk::signature::Signature;
|
use solana_sdk::signature::Signature;
|
||||||
use solana_sdk::transaction::VersionedTransaction;
|
|
||||||
use solana_transaction_status_client_types::{EncodedConfirmedTransactionWithStatusMeta, UiTransactionEncoding};
|
use solana_transaction_status_client_types::{EncodedConfirmedTransactionWithStatusMeta, UiTransactionEncoding};
|
||||||
use solana_transaction_status_client_types::EncodedTransaction::Binary;
|
|
||||||
use spl_token::state::Mint;
|
use spl_token::state::Mint;
|
||||||
use crate::dto::{ParsedAccount, TokenInfo};
|
use crate::dto::{ParsedAccount, TokenInfo};
|
||||||
use crate::{ find_metadata_account};
|
use crate::{ find_metadata_account};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user