solana/token_bridge: sollet mints renamed to generic external

Change-Id: Ib9269991d95982dc5cae03844906e1f826a95d6c
This commit is contained in:
Reisen 2021-09-07 13:05:06 +00:00 committed by Hendrik Hofstadt
parent 59e0e586ef
commit 496d2385f5
5 changed files with 14 additions and 14 deletions

View File

@ -242,9 +242,9 @@ pub fn complete_wrapped(
accs.vaa.verify(ctx.program_id)?; accs.vaa.verify(ctx.program_id)?;
accs.vaa.claim(ctx, accs.payer.key)?; accs.vaa.claim(ctx, accs.payer.key)?;
let (_, is_sollet) = let (_, is_external) =
derive_mint_for_token(ctx.program_id, accs.vaa.token_address, accs.vaa.token_chain); derive_mint_for_token(ctx.program_id, accs.vaa.token_address, accs.vaa.token_chain);
let (amount, fee) = if is_sollet && accs.wrapped_meta.original_decimals > 6 { let (amount, fee) = if is_external && accs.wrapped_meta.original_decimals > 6 {
// Sollet assets are truncated to 6 decimals, however Wormhole uses 8 and assumes // Sollet assets are truncated to 6 decimals, however Wormhole uses 8 and assumes
// wire-truncation to 8 decimals. // wire-truncation to 8 decimals.
( (

View File

@ -102,7 +102,7 @@ impl<'b> InstructionContext<'b> for CreateWrapped<'b> {
pub struct CreateWrappedData {} pub struct CreateWrappedData {}
#[cfg(not(feature = "test"))] #[cfg(not(feature = "test"))]
pub static SOLLET_MINTS: phf::Map<&str, (u16, &str)> = phf_map! { pub static EXTERNAL_MINTS: phf::Map<&str, (u16, &str)> = phf_map! {
// "WETH", // "WETH",
"000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" => (2, "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk"), "000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" => (2, "2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk"),
// "YFI", // "YFI",
@ -150,7 +150,7 @@ pub static SOLLET_MINTS: phf::Map<&str, (u16, &str)> = phf_map! {
}; };
#[cfg(feature = "test")] #[cfg(feature = "test")]
pub static SOLLET_MINTS: phf::Map<&str, (u16, &str)> = phf_map! { pub static EXTERNAL_MINTS: phf::Map<&str, (u16, &str)> = phf_map! {
// "TEST", // "TEST",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" => (2, "FDhdMYh3KsF64Jxzh8tnx9rJXQTcN461rguUK9z9zm64"), "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" => (2, "FDhdMYh3KsF64Jxzh8tnx9rJXQTcN461rguUK9z9zm64"),
}; };
@ -160,8 +160,8 @@ pub fn derive_mint_for_token(
token_address: Address, token_address: Address,
token_chain: ChainID, token_chain: ChainID,
) -> (Pubkey, bool) { ) -> (Pubkey, bool) {
let mut sollet_mint = SOLLET_MINTS.get(hex::encode(token_address).as_str()); let mut external_mint = EXTERNAL_MINTS.get(hex::encode(token_address).as_str());
if let Some(mint) = sollet_mint { if let Some(mint) = external_mint {
if mint.0 == token_chain { if mint.0 == token_chain {
return (Pubkey::from_str(mint.1).unwrap(), true); return (Pubkey::from_str(mint.1).unwrap(), true);
} }
@ -184,7 +184,7 @@ pub fn create_wrapped(
accs: &mut CreateWrapped, accs: &mut CreateWrapped,
data: CreateWrappedData, data: CreateWrappedData,
) -> Result<()> { ) -> Result<()> {
let (mint, is_sollet) = let (mint, is_external) =
derive_mint_for_token(ctx.program_id, accs.vaa.token_address, accs.vaa.token_chain); derive_mint_for_token(ctx.program_id, accs.vaa.token_address, accs.vaa.token_chain);
if *accs.mint.info().key != mint { if *accs.mint.info().key != mint {
return Err(InvalidMint.into()); return Err(InvalidMint.into());
@ -201,7 +201,7 @@ pub fn create_wrapped(
accs.vaa.verify(ctx.program_id)?; accs.vaa.verify(ctx.program_id)?;
accs.vaa.claim(ctx, accs.payer.key)?; accs.vaa.claim(ctx, accs.payer.key)?;
if !is_sollet { if !is_external {
// Create mint account // Create mint account
accs.mint accs.mint
.create(&((&*accs).into()), ctx, accs.payer.key, Exempt)?; .create(&((&*accs).into()), ctx, accs.payer.key, Exempt)?;

View File

@ -331,12 +331,12 @@ pub fn transfer_wrapped(
invoke(&transfer_ix, ctx.accounts)?; invoke(&transfer_ix, ctx.accounts)?;
let (_, is_sollet) = derive_mint_for_token( let (_, is_external) = derive_mint_for_token(
ctx.program_id, ctx.program_id,
accs.wrapped_meta.token_address, accs.wrapped_meta.token_address,
accs.wrapped_meta.chain, accs.wrapped_meta.chain,
); );
let (amount, fee) = if is_sollet && accs.wrapped_meta.original_decimals > 6 { let (amount, fee) = if is_external && accs.wrapped_meta.original_decimals > 6 {
// Sollet assets are truncated to 6 decimals, however Wormhole uses 8 and assumes // Sollet assets are truncated to 6 decimals, however Wormhole uses 8 and assumes
// wire-truncation to 8 decimals. // wire-truncation to 8 decimals.
( (

View File

@ -28,7 +28,7 @@ use crate::{
TransferNativeData, TransferNativeData,
TransferWrappedData, TransferWrappedData,
UpgradeContractData, UpgradeContractData,
SOLLET_MINTS, EXTERNAL_MINTS,
}, },
messages::{ messages::{
PayloadAssetMeta, PayloadAssetMeta,

View File

@ -98,7 +98,7 @@ use token_bridge::{
WrappedDerivationData, WrappedDerivationData,
WrappedMint, WrappedMint,
}, },
api::SOLLET_MINTS, api::EXTERNAL_MINTS,
messages::{ messages::{
PayloadAssetMeta, PayloadAssetMeta,
PayloadGovernanceRegisterChain, PayloadGovernanceRegisterChain,
@ -650,8 +650,8 @@ fn test_create_wrapped_preexisting(context: &mut Context) -> (Pubkey) {
let nonce = rand::thread_rng().gen(); let nonce = rand::thread_rng().gen();
println!("{}", hex::encode([0xaau8; 32])); println!("{}", hex::encode([0xaau8; 32]));
println!("{:?}", SOLLET_MINTS); println!("{:?}", EXTERNAL_MINTS);
println!("{:?}", SOLLET_MINTS.get(hex::encode([0xaau8; 32]).as_str())); println!("{:?}", EXTERNAL_MINTS.get(hex::encode([0xaau8; 32]).as_str()));
let payload = PayloadAssetMeta { let payload = PayloadAssetMeta {
token_address: [0xaau8; 32], token_address: [0xaau8; 32],